@codingame/monaco-vscode-api 1.81.8-next.2 → 1.82.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (614) hide show
  1. package/README.md +14 -0
  2. package/api.js +12 -8
  3. package/extensions.d.ts +1 -0
  4. package/extensions.js +3 -0
  5. package/missing-services.js +69 -20
  6. package/monaco-editor-treemending.patch +1407 -1026
  7. package/monaco-treemending.js +2 -2
  8. package/monaco.d.ts +1 -1
  9. package/monaco.js +3 -0
  10. package/package.json +3 -3
  11. package/service-override/extensions.d.ts +1 -1
  12. package/service-override/extensions.js +5 -1
  13. package/service-override/keybindings.d.ts +4 -1
  14. package/service-override/keybindings.js +35 -6
  15. package/service-override/quickaccess.d.ts +2 -1
  16. package/service-override/quickaccess.js +5 -2
  17. package/service-override/search.js +2 -2
  18. package/service-override/snippets.d.ts +1 -1
  19. package/service-override/storage.d.ts +1 -1
  20. package/service-override/theme.d.ts +1 -1
  21. package/service-override/tools/editor.d.ts +1 -1
  22. package/service-override/tools/editor.js +4 -3
  23. package/service-override/views.d.ts +1 -1
  24. package/service-override/views.js +4 -2
  25. package/vscode/src/vs/base/browser/contextmenu.d.ts +1 -1
  26. package/vscode/src/vs/base/browser/dom.d.ts +1 -1
  27. package/vscode/src/vs/base/browser/keyboardEvent.d.ts +1 -1
  28. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  29. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -1
  30. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +7 -1
  31. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -1
  32. package/vscode/src/vs/base/browser/ui/contextview/contextview.d.ts +1 -1
  33. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.d.ts +1 -1
  34. package/vscode/src/vs/base/browser/ui/grid/grid.d.ts +1 -1
  35. package/vscode/src/vs/base/browser/ui/grid/gridview.d.ts +1 -1
  36. package/vscode/src/vs/base/browser/ui/grid/gridview.js +1 -0
  37. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -1
  38. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.d.ts +1 -1
  39. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -2
  40. package/vscode/src/vs/base/browser/ui/sash/sash.d.ts +1 -1
  41. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +1 -1
  42. package/vscode/src/vs/base/browser/ui/splitview/splitview.d.ts +1 -1
  43. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +1 -1
  44. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +5 -1
  45. package/vscode/src/vs/base/common/actions.d.ts +1 -1
  46. package/vscode/src/vs/base/common/async.d.ts +1 -1
  47. package/vscode/src/vs/base/common/buffer.d.ts +1 -1
  48. package/vscode/src/vs/base/common/codicons.d.ts +5 -0
  49. package/vscode/src/vs/base/common/collections.d.ts +1 -1
  50. package/vscode/src/vs/base/common/dataTransfer.d.ts +1 -1
  51. package/vscode/src/vs/base/common/errors.d.ts +1 -1
  52. package/vscode/src/vs/base/common/event.d.ts +10 -2
  53. package/vscode/src/vs/base/common/filters.d.ts +1 -1
  54. package/vscode/src/vs/base/common/glob.d.ts +1 -1
  55. package/vscode/src/vs/base/common/htmlContent.d.ts +1 -1
  56. package/vscode/src/vs/base/common/jsonSchema.d.ts +1 -1
  57. package/vscode/src/vs/base/common/keybindings.d.ts +1 -1
  58. package/vscode/src/vs/base/common/lifecycle.d.ts +1 -1
  59. package/vscode/src/vs/base/common/{observableImpl → observableInternal}/base.d.ts +1 -1
  60. package/vscode/src/vs/base/common/path.d.ts +1 -1
  61. package/vscode/src/vs/base/common/performance.d.ts +1 -1
  62. package/vscode/src/vs/base/common/platform.d.ts +1 -1
  63. package/vscode/src/vs/base/common/prefixTree.js +76 -13
  64. package/vscode/src/vs/base/common/processes.d.ts +1 -1
  65. package/vscode/src/vs/base/common/product.d.ts +10 -6
  66. package/vscode/src/vs/base/common/resources.d.ts +1 -1
  67. package/vscode/src/vs/base/common/stream.d.ts +1 -1
  68. package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -1
  69. package/vscode/src/vs/base/common/themables.d.ts +1 -1
  70. package/vscode/src/vs/base/common/types.d.ts +1 -1
  71. package/vscode/src/vs/base/common/uri.d.ts +1 -1
  72. package/vscode/src/vs/base/common/uriIpc.d.ts +1 -1
  73. package/vscode/src/vs/base/parts/ipc/common/ipc.d.ts +1 -1
  74. package/vscode/src/vs/base/parts/ipc/common/ipc.net.d.ts +1 -1
  75. package/vscode/src/vs/base/parts/storage/common/storage.d.ts +1 -1
  76. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +2 -2
  77. package/vscode/src/vs/editor/browser/services/bulkEditService.d.ts +1 -1
  78. package/vscode/src/vs/editor/browser/services/codeEditorService.d.ts +1 -1
  79. package/vscode/src/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.contribution.js +122 -26
  80. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +25 -5
  81. package/vscode/src/vs/editor/common/core/dimension.d.ts +1 -1
  82. package/vscode/src/vs/editor/common/core/editOperation.d.ts +1 -1
  83. package/vscode/src/vs/editor/common/core/lineRange.d.ts +8 -1
  84. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +47 -0
  85. package/vscode/src/vs/editor/common/core/position.d.ts +1 -1
  86. package/vscode/src/vs/editor/common/core/range.d.ts +1 -1
  87. package/vscode/src/vs/editor/common/core/selection.d.ts +1 -1
  88. package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +3 -2
  89. package/vscode/src/vs/editor/common/diff/{smartLinesDiffComputer.d.ts → legacyLinesDiffComputer.d.ts} +1 -1
  90. package/vscode/src/vs/editor/common/diff/linesDiffComputer.d.ts +1 -0
  91. package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -1
  92. package/vscode/src/vs/editor/common/encodedTokenAttributes.d.ts +1 -1
  93. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -1
  94. package/vscode/src/vs/editor/common/languageSelector.d.ts +1 -1
  95. package/vscode/src/vs/editor/common/languages/language.d.ts +1 -1
  96. package/vscode/src/vs/editor/common/languages/languageConfiguration.d.ts +1 -1
  97. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.d.ts +1 -1
  98. package/vscode/src/vs/editor/common/languages/supports/electricCharacter.d.ts +1 -1
  99. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.d.ts +1 -1
  100. package/vscode/src/vs/editor/common/languages.d.ts +37 -7
  101. package/vscode/src/vs/editor/common/model.d.ts +1 -1
  102. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +2 -2
  103. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.d.ts +1 -1
  104. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  105. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +1 -0
  106. package/vscode/src/vs/editor/common/services/resolverService.d.ts +1 -1
  107. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.d.ts +1 -1
  108. package/vscode/src/vs/editor/common/textModelEvents.d.ts +1 -1
  109. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -1
  110. package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
  111. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.d.ts +1 -1
  112. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.d.ts +1 -1
  113. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.d.ts +1 -1
  114. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -1
  115. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +1 -1
  116. package/vscode/src/vs/platform/action/common/action.d.ts +1 -1
  117. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +73 -0
  118. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +1 -1
  119. package/vscode/src/vs/platform/actions/common/actions.d.ts +5 -2
  120. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +10 -3
  121. package/vscode/src/vs/platform/commands/common/commands.d.ts +1 -1
  122. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +1 -1
  123. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +1 -1
  124. package/vscode/src/vs/platform/contextkey/common/contextkey.d.ts +1 -1
  125. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +1 -1
  126. package/vscode/src/vs/platform/credentials/common/credentials.d.ts +1 -1
  127. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +1 -1
  128. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +1 -1
  129. package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -1
  130. package/vscode/src/vs/platform/environment/common/environment.d.ts +1 -1
  131. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -1
  132. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.d.ts +1 -1
  133. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +13 -14
  134. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  135. package/vscode/src/vs/platform/files/common/files.d.ts +1 -1
  136. package/vscode/src/vs/platform/instantiation/common/descriptors.d.ts +1 -1
  137. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +1 -1
  138. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.d.ts +1 -1
  139. package/vscode/src/vs/platform/keybinding/common/keybinding.d.ts +1 -1
  140. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.d.ts +1 -1
  141. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +1 -1
  142. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +1 -1
  143. package/vscode/src/vs/platform/log/common/log.d.ts +1 -1
  144. package/vscode/src/vs/platform/markers/common/markers.d.ts +1 -1
  145. package/vscode/src/vs/platform/notification/common/notification.d.ts +1 -1
  146. package/vscode/src/vs/platform/opener/common/opener.d.ts +1 -1
  147. package/vscode/src/vs/platform/policy/common/policy.d.ts +1 -1
  148. package/vscode/src/vs/platform/progress/common/progress.d.ts +1 -1
  149. package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +1 -1
  150. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +17 -13
  151. package/vscode/src/vs/platform/registry/common/platform.d.ts +1 -1
  152. package/vscode/src/vs/platform/remote/browser/browserSocketFactory.d.ts +1 -1
  153. package/vscode/src/vs/platform/remote/common/managedSocket.js +80 -1
  154. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.d.ts +1 -1
  155. package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -1
  156. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +1 -1
  157. package/vscode/src/vs/platform/remote/common/remoteSocketFactoryService.d.ts +1 -1
  158. package/vscode/src/vs/platform/secrets/common/secrets.d.ts +1 -1
  159. package/vscode/src/vs/platform/storage/common/storage.d.ts +24 -5
  160. package/vscode/src/vs/platform/storage/common/storage.js +4 -2
  161. package/vscode/src/vs/platform/telemetry/common/gdprTypings.d.ts +1 -1
  162. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -1
  163. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +4 -2
  164. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +21 -3
  165. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.d.ts +32 -0
  166. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +14 -9
  167. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +4 -2
  168. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +18 -4
  169. package/vscode/src/vs/platform/terminal/common/environmentVariable.d.ts +1 -1
  170. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +1 -1
  171. package/vscode/src/vs/platform/terminal/common/terminalProcess.d.ts +1 -1
  172. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +6 -3
  173. package/vscode/src/vs/platform/theme/common/colorRegistry.d.ts +1 -1
  174. package/vscode/src/vs/platform/theme/common/iconRegistry.d.ts +1 -1
  175. package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
  176. package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +1 -1
  177. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +1 -1
  178. package/vscode/src/vs/platform/webview/common/webviewPortMapping.js +5 -1
  179. package/vscode/src/vs/platform/window/common/window.d.ts +1 -1
  180. package/vscode/src/vs/platform/workspace/common/workspace.d.ts +1 -1
  181. package/vscode/src/vs/platform/workspace/common/workspaceTrust.d.ts +1 -1
  182. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +1 -1
  183. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +29 -0
  184. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +33 -0
  185. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +13 -16
  186. package/vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js +59 -0
  187. package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +46 -0
  188. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +29 -0
  189. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +5 -4
  190. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +1 -2
  191. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +4 -2
  192. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +2 -1
  193. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +31 -14
  194. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +12 -67
  195. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +7 -6
  196. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  197. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +36 -11
  198. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +21 -17
  199. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +4 -2
  200. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +2 -3
  201. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +10 -1
  202. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +1 -1
  203. package/vscode/src/vs/workbench/api/common/extHost.api.impl.d.ts +1 -1
  204. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +55 -16
  205. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +32 -7
  206. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +10 -2
  207. package/vscode/src/vs/workbench/api/common/extHostAiRelatedInformation.js +34 -0
  208. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +21 -2
  209. package/vscode/src/vs/workbench/api/common/extHostChat.js +12 -31
  210. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +70 -0
  211. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +53 -0
  212. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +37 -0
  213. package/vscode/src/vs/workbench/api/common/extHostCommands.js +11 -0
  214. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -2
  215. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +2 -3
  216. package/vscode/src/vs/workbench/api/common/extHostDecorations.js +6 -4
  217. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +8 -6
  218. package/vscode/src/vs/workbench/api/common/extHostEmbeddingVector.js +34 -0
  219. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +1 -1
  220. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +5 -4
  221. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +11 -10
  222. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +3 -2
  223. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +45 -15
  224. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +5 -3
  225. package/vscode/src/vs/workbench/api/common/extHostSCM.js +4 -2
  226. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +17 -1
  227. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +12 -11
  228. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +66 -53
  229. package/vscode/src/vs/workbench/api/common/extHostTesting.js +32 -18
  230. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +3 -0
  231. package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +1 -1
  232. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +19 -5
  233. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +128 -6
  234. package/vscode/src/vs/workbench/api/common/extHostTypes.js +28 -13
  235. package/vscode/src/vs/workbench/api/common/extHostWindow.js +4 -2
  236. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +1 -1
  237. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -3
  238. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +2 -2
  239. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +5 -3
  240. package/vscode/src/vs/workbench/browser/codeeditor.js +34 -67
  241. package/vscode/src/vs/workbench/browser/dnd.js +3 -2
  242. package/vscode/src/vs/workbench/browser/part.d.ts +1 -1
  243. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarActions.js +37 -20
  244. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.d.ts +1 -1
  245. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +21 -22
  246. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +4 -2
  247. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.d.ts +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -7
  249. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +1 -1
  250. package/vscode/src/vs/workbench/browser/parts/compositePart.js +2 -2
  251. package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +4 -2
  252. package/vscode/src/vs/workbench/browser/parts/editor/accessibilityStatus.js +19 -24
  253. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +11 -9
  254. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +1 -2
  255. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +17 -16
  256. package/vscode/src/vs/workbench/browser/parts/editor/editor.d.ts +1 -1
  257. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +1 -0
  258. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -2
  259. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +25 -16
  260. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +6 -4
  261. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +4 -2
  262. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +12 -12
  263. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +1 -1
  264. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +10 -8
  265. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +13 -9
  266. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +10 -6
  267. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +14 -16
  268. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +6 -4
  269. package/vscode/src/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css.js +1 -1
  270. package/vscode/src/vs/workbench/browser/parts/editor/noTabsTitleControl.js +6 -4
  271. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +7 -5
  272. package/vscode/src/vs/workbench/browser/parts/editor/tabsTitleControl.js +42 -32
  273. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -2
  274. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +13 -6
  275. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -2
  276. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +6 -4
  277. package/vscode/src/vs/workbench/browser/parts/editor/titleControl.js +6 -5
  278. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +1 -1
  279. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -3
  280. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +8 -3
  281. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +9 -7
  282. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +14 -11
  283. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -1
  284. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +1 -1
  285. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +14 -10
  286. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +4 -2
  287. package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +1 -1
  288. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +12 -2
  289. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +21 -23
  290. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +2 -2
  291. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +1 -1
  292. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +10 -4
  293. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.d.ts +1 -1
  294. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +1 -1
  295. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +4 -2
  296. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +1 -1
  297. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +13 -1
  298. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.d.ts +1 -1
  299. package/vscode/src/vs/workbench/browser/web.api.d.ts +1 -1
  300. package/vscode/src/vs/workbench/browser/workbench.contribution.js +37 -7
  301. package/vscode/src/vs/workbench/common/composite.d.ts +1 -1
  302. package/vscode/src/vs/workbench/common/contextkeys.js +12 -10
  303. package/vscode/src/vs/workbench/common/contributions.d.ts +1 -1
  304. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +6 -8
  305. package/vscode/src/vs/workbench/common/editor/editorGroupModel.d.ts +1 -1
  306. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +15 -5
  307. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  308. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -5
  309. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +5 -4
  310. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +5 -3
  311. package/vscode/src/vs/workbench/common/editor.d.ts +3 -1
  312. package/vscode/src/vs/workbench/common/editor.js +18 -1
  313. package/vscode/src/vs/workbench/common/memento.d.ts +1 -1
  314. package/vscode/src/vs/workbench/common/panecomposite.d.ts +1 -1
  315. package/vscode/src/vs/workbench/common/resources.js +11 -9
  316. package/vscode/src/vs/workbench/common/theme.js +118 -10
  317. package/vscode/src/vs/workbench/common/views.d.ts +3 -1
  318. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +5 -241
  319. package/vscode/src/vs/workbench/contrib/accessibility/browser/{accessibilityContribution.js → accessibilityConfiguration.js} +50 -73
  320. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +312 -0
  321. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +376 -81
  322. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +216 -0
  323. package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +63 -0
  324. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueDebuggerContribution.js +1 -1
  325. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueLineFeatureContribution.js +13 -13
  326. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +4 -1
  327. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +8 -3
  328. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +10 -7
  329. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +4 -2
  330. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +2 -0
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  332. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +204 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +3 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +3 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.js +3 -0
  336. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +1 -1
  337. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +1 -1
  338. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +21 -10
  339. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +1 -1
  340. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +45 -1
  341. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +4 -2
  342. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +1 -1
  343. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +4 -2
  344. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +14 -4
  345. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +1 -1
  347. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +0 -5
  348. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +7 -0
  349. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +4 -2
  350. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +15 -0
  351. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +2 -3
  352. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +2 -3
  353. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  354. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -1
  355. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +7 -5
  356. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +4 -3
  357. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +1 -2
  358. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +13 -8
  359. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +10 -6
  360. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +5 -1
  361. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +5 -3
  362. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +0 -1
  363. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +3 -4
  364. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +5 -3
  365. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +1 -2
  366. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +1 -1
  367. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +27 -26
  368. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +1 -2
  369. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +17 -13
  370. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +10 -7
  371. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +10 -6
  372. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +5 -4
  373. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +4 -2
  374. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -1
  375. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +5 -3
  376. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +19 -11
  377. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +25 -1
  378. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +225 -113
  379. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +4 -2
  380. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +4 -2
  381. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +4 -3
  382. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +4 -2
  383. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +29 -5
  385. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -1
  386. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +11 -8
  387. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +1 -1
  388. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -1
  389. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -2
  390. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +11 -6
  391. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +22 -19
  392. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +11 -7
  393. package/vscode/src/vs/workbench/contrib/files/common/files.d.ts +1 -1
  394. package/vscode/src/vs/workbench/contrib/files/common/files.js +6 -5
  395. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +16 -14
  396. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -3
  397. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +7 -5
  398. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +4 -2
  399. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +16 -23
  400. package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +1 -2
  401. package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +10 -6
  402. package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +1 -2
  403. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +7 -5
  404. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +5 -3
  405. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +27 -0
  406. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +0 -24
  407. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +14 -14
  408. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +1 -1
  409. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +1 -6
  410. package/vscode/src/vs/workbench/contrib/output/browser/logViewer.js +7 -4
  411. package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +4 -2
  412. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +16 -11
  413. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +13 -8
  414. package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +77 -62
  415. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +5 -3
  416. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +114 -36
  417. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +92 -73
  418. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +21 -14
  419. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +110 -103
  420. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +0 -4
  421. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.d.ts +1 -1
  422. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +4 -4
  423. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +38 -36
  424. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +6 -2
  425. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +5 -4
  426. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +2 -2
  427. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +66 -36
  428. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -5
  429. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +57 -55
  430. package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +232 -0
  431. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +7 -5
  432. package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +33 -3
  433. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +1 -2
  434. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +3 -3
  435. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +23 -0
  436. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +5 -1
  437. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +162 -90
  438. package/vscode/src/vs/workbench/contrib/search/browser/searchNotebookHelpers.js +57 -23
  439. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +10 -6
  440. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +80 -58
  441. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +7 -5
  442. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +7 -6
  443. package/vscode/src/vs/workbench/contrib/search/common/constants.js +2 -1
  444. package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.js +7 -5
  445. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +10 -7
  446. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +1 -2
  447. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +7 -5
  448. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +9 -6
  449. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.d.ts +1 -1
  450. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -6
  451. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +5 -3
  452. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +1 -1
  453. package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +5 -6
  454. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +54 -0
  455. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +1 -1
  456. package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +3 -1
  457. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +1 -1
  458. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +56 -6
  459. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +44 -31
  460. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +2 -1
  461. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +4 -2
  462. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +1 -1
  463. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -3
  464. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +7 -7
  465. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +47 -0
  466. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +4 -4
  467. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +9 -9
  468. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +13 -18
  469. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +86 -73
  470. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +1 -1
  471. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +15 -103
  472. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +1 -2
  473. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +11 -6
  474. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +4 -2
  475. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +4 -2
  476. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +49 -32
  477. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.d.ts +1 -1
  478. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +3 -0
  479. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +9 -13
  480. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +30 -6
  481. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +2 -2
  482. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +2 -2
  483. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +7 -1
  484. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +91 -25
  485. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +1 -1
  486. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.d.ts +9 -0
  487. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +4 -2
  488. package/vscode/src/vs/workbench/contrib/terminal/common/history.js +6 -6
  489. package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +6 -7
  490. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +35 -2
  491. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +3 -7
  492. package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +62 -10
  493. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +8 -0
  494. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +3 -3
  495. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +7 -0
  496. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +48 -11
  497. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +42 -17
  498. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBuffer.js +23 -17
  499. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleWidget.js +30 -20
  500. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +98 -0
  501. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.js +8 -1
  502. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +12 -0
  503. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +44 -17
  504. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -0
  505. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +10 -7
  506. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +4 -2
  507. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +5 -1
  508. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +4 -2
  509. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +5 -4
  510. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +28 -0
  511. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +1 -1
  512. package/vscode/src/vs/workbench/services/{semanticSimilarity/common/semanticSimilarityService.js → aiEmbeddingVector/common/aiEmbeddingVectorService.js} +18 -13
  513. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.js +10 -0
  514. package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +6 -4
  515. package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +1 -1
  516. package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +5 -6
  517. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +2 -2
  518. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +12 -9
  519. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +6 -6
  520. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.d.ts +1 -1
  521. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -1
  522. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +1 -1
  523. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  524. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +1 -1
  525. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +4 -3
  526. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +8 -6
  527. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +1 -1
  528. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +4 -3
  529. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
  530. package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.d.ts +1 -1
  531. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +1 -1
  532. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -4
  533. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -1
  534. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProxy.d.ts +1 -1
  535. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.d.ts +1 -1
  536. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +1 -1
  537. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +10 -5
  538. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.d.ts +1 -1
  539. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  540. package/vscode/src/vs/workbench/services/extensions/common/proxyIdentifier.d.ts +1 -1
  541. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +1 -1
  542. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +10 -9
  543. package/vscode/src/vs/workbench/services/history/browser/historyService.js +14 -11
  544. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +1 -1
  545. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +2 -2
  546. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +1 -1
  547. package/vscode/src/vs/workbench/services/hover/browser/hoverWidget.js +11 -3
  548. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +6 -5
  549. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +10 -8
  550. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +1 -1
  551. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +1 -1
  552. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.d.ts +1 -1
  553. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +6 -4
  554. package/vscode/src/vs/workbench/services/localization/common/locale.js +3 -0
  555. package/vscode/src/vs/workbench/services/notification/common/notificationService.js +5 -3
  556. package/vscode/src/vs/workbench/services/output/common/output.d.ts +1 -1
  557. package/vscode/src/vs/workbench/services/path/common/pathService.js +4 -3
  558. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +5 -3
  559. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +12 -11
  560. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +4 -3
  561. package/vscode/src/vs/workbench/services/preferences/common/preferences.js +3 -2
  562. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +5 -3
  563. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +4 -2
  564. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.d.ts +1 -1
  565. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +6 -817
  566. package/vscode/src/vs/workbench/services/remote/common/{remoteExplorerService.d.ts → tunnelModel.d.ts} +1 -1
  567. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +860 -0
  568. package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +1 -1
  569. package/vscode/src/vs/workbench/services/search/common/search.d.ts +1 -1
  570. package/vscode/src/vs/workbench/services/search/common/searchService.js +41 -26
  571. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +12 -3
  572. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +2 -1
  573. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +4 -2
  574. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.d.ts +1 -1
  575. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.d.ts +1 -1
  576. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.d.ts +1 -1
  577. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +1 -1
  578. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +9 -7
  579. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +7 -5
  580. package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +1 -1
  581. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +8 -6
  582. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +5 -3
  583. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +19 -17
  584. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +4 -1
  585. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  586. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.d.ts +1 -1
  587. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +5 -3
  588. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.d.ts +1 -1
  589. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +12 -9
  590. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +1 -1
  591. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +4 -2
  592. package/vscode/src/vs/workbench/services/update/browser/updateService.d.ts +1 -1
  593. package/vscode/src/vs/workbench/services/url/browser/urlService.d.ts +1 -1
  594. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.d.ts +1 -1
  595. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.d.ts +1 -1
  596. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +14 -13
  597. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +4 -5
  598. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.d.ts +1 -1
  599. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.d.ts +1 -1
  600. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +1 -1
  601. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +1 -0
  602. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopy.d.ts +1 -1
  603. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +17 -8
  604. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileOperationParticipant.js +1 -0
  605. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +1 -1
  606. package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +8 -11
  607. package/vscode/src/vs/workbench/api/browser/mainThreadSemanticSimilarity.js +0 -29
  608. package/vscode/src/vs/workbench/api/common/extHostSemanticSimilarity.js +0 -31
  609. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +0 -3
  610. package/vscode/src/vs/workbench/contrib/chat/browser/actions/quickQuestionActions/quickQuestionAction.js +0 -47
  611. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +0 -4
  612. package/vscode/src/vs/workbench/contrib/tasks/browser/taskQuickPick.js +0 -386
  613. package/vscode/src/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +0 -109
  614. /package/vscode/src/vs/workbench/contrib/search/{browser → common}/notebookSearch.js +0 -0
@@ -557,7 +557,7 @@ let ViewsExtensionHandler = class ViewsExtensionHandler {
557
557
  name: item.name,
558
558
  when: ContextKeyExpr.deserialize(item.when),
559
559
  containerIcon: icon || viewContainer?.icon,
560
- containerTitle: item.contextualTitle || viewContainer?.title,
560
+ containerTitle: item.contextualTitle || (viewContainer && (typeof viewContainer.title === 'string' ? viewContainer.title : viewContainer.title.value)),
561
561
  canToggleVisibility: true,
562
562
  canMoveView: viewContainer?.id !== VIEWLET_ID,
563
563
  treeView: type === ViewType.Tree ? this.instantiationService.createInstance(CustomTreeView, item.id, item.name, extension.description.identifier.value) : undefined,
@@ -11,4 +11,4 @@ interface IExtensionApiFactory {
11
11
  (extension: IExtensionDescription, extensionInfo: IExtensionRegistries, configProvider: ExtHostConfigProvider): typeof vscode;
12
12
  }
13
13
 
14
- export { IExtensionApiFactory, IExtensionRegistries };
14
+ export type { IExtensionApiFactory, IExtensionRegistries };
@@ -37,7 +37,7 @@ import { IExtHostTerminalService } from './extHostTerminalService.js';
37
37
  import { ExtHostEditors } from './extHostTextEditors.js';
38
38
  import { ExtHostTreeViews } from './extHostTreeViews.js';
39
39
  import { LanguageSelector } from './extHostTypeConverters.js';
40
- import { Breakpoint, TerminalOutputAnchor, CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, CodeAction, CodeActionKind, CodeActionTriggerKind, CodeLens, Color, ColorInformation, ColorPresentation, ColorThemeKind, CommentMode, CommentState, CommentThreadCollapsibleState, CommentThreadState, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionList, CompletionTriggerKind, ConfigurationTarget, CustomExecution, DebugAdapterExecutable, DebugAdapterInlineImplementation, DebugAdapterNamedPipeServer, DebugAdapterServer, DebugConsoleMode, DecorationRangeBehavior, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Disposable, DocumentHighlight, DocumentHighlightKind, DocumentLink, DocumentSymbol, EndOfLine, EnvironmentVariableMutatorType, EvaluatableExpression, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineCompletionTriggerKind, ExtensionKind, ExtensionMode, ExternalUriOpenerPriority, FileChangeType, FileDecoration, FileSystemError, FoldingRange, FoldingRangeKind, FunctionBreakpoint, InlineSuggestion, InlineSuggestionList, Hover, Location, MarkdownString, ParameterInformation, PortAutoForwardAction, Position, ProcessExecution, ProgressLocation, QuickInputButtons, Range, RelativePattern, Selection, SelectionRange, SemanticTokens, SemanticTokensBuilder, SemanticTokensEdit, SemanticTokensEdits, SemanticTokensLegend, ShellExecution, ShellQuoting, SignatureHelp, SignatureHelpTriggerKind, SignatureInformation, SnippetString, SourceBreakpoint, StandardTokenType, StatusBarAlignment, SymbolInformation, SymbolKind, SymbolTag, Task, TaskGroup, TaskPanelKind, TaskRevealKind, TaskScope, TerminalLink, TerminalQuickFixCommand, TerminalQuickFixOpener, TerminalLocation, TerminalProfile, TerminalExitReason, TerminalQuickFixType, TextDocumentSaveReason, TextEdit, SnippetTextEdit, TextEditorLineNumbersStyle, TextEditorRevealType, TextEditorSelectionChangeKind, TextDocumentChangeReason, ThemeColor, ThemeIcon, TreeItem, TreeItemCheckboxState, TreeItemCollapsibleState, TypeHierarchyItem, ViewColumn, WorkspaceEdit, DocumentDropEdit, DocumentPasteEdit, InlayHint, InlayHintLabelPart, InlayHintKind, RemoteAuthorityResolverError, ResolvedAuthority, ManagedResolvedAuthority, SourceControlInputBoxValidationType, ExtensionRuntime, TimelineItem, NotebookRange, NotebookCellKind, NotebookCellExecutionState, NotebookCellData, NotebookData, NotebookRendererScript, NotebookCellStatusBarAlignment, NotebookEditorRevealType, NotebookCellOutput, NotebookCellOutputItem, NotebookCellStatusBarItem, NotebookControllerAffinity, NotebookControllerAffinity2, NotebookEdit, NotebookKernelSourceAction, PortAttributes, LinkedEditingRanges, TestResultState, TestRunRequest, TestRunRequest2, TestMessage, TestTag, TestRunProfileKind, DataTransfer, DataTransferItem, CoveredCount, FileCoverage, StatementCoverage, BranchCoverage, FunctionCoverage, WorkspaceTrustState, LanguageStatusSeverity, QuickPickItemKind, InputBoxValidationSeverity, TextTabInput, TextDiffTabInput, TextMergeTabInput, CustomEditorTabInput, NotebookEditorTabInput, NotebookDiffEditorTabInput, WebviewEditorTabInput, TerminalEditorTabInput, InteractiveWindowInput, InteractiveSessionVoteDirection, InteractiveSessionCopyKind, InteractiveEditorResponseFeedbackKind, StackFrameFocus, ThreadFocus, NotebookCodeActionKind } from './extHostTypes.js';
40
+ import { Breakpoint, TerminalOutputAnchor, ChatMessage, ChatMessageRole, ChatVariableLevel, CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, CodeAction, CodeActionKind, CodeActionTriggerKind, CodeLens, Color, ColorInformation, ColorPresentation, ColorThemeKind, CommentMode, CommentState, CommentThreadCollapsibleState, CommentThreadState, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionList, CompletionTriggerKind, ConfigurationTarget, CustomExecution, DebugAdapterExecutable, DebugAdapterInlineImplementation, DebugAdapterNamedPipeServer, DebugAdapterServer, DebugConsoleMode, DecorationRangeBehavior, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Disposable, DocumentHighlight, DocumentHighlightKind, DocumentLink, DocumentSymbol, EndOfLine, EnvironmentVariableMutatorType, EvaluatableExpression, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineCompletionTriggerKind, ExtensionKind, ExtensionMode, ExternalUriOpenerPriority, FileChangeType, FileDecoration, FileSystemError, FoldingRange, FoldingRangeKind, FunctionBreakpoint, InlineSuggestion, InlineSuggestionList, Hover, Location, MarkdownString, ParameterInformation, PortAutoForwardAction, Position, ProcessExecution, ProgressLocation, QuickInputButtons, Range, RelativePattern, Selection, SelectionRange, SemanticTokens, SemanticTokensBuilder, SemanticTokensEdit, SemanticTokensEdits, SemanticTokensLegend, ShellExecution, ShellQuoting, SignatureHelp, SignatureHelpTriggerKind, SignatureInformation, SnippetString, SourceBreakpoint, StandardTokenType, StatusBarAlignment, SymbolInformation, SymbolKind, SymbolTag, Task, TaskGroup, TaskPanelKind, TaskRevealKind, TaskScope, TerminalLink, TerminalQuickFixCommand, TerminalQuickFixOpener, TerminalLocation, TerminalProfile, TerminalExitReason, TextDocumentSaveReason, TextEdit, SnippetTextEdit, TextEditorLineNumbersStyle, TextEditorRevealType, TextEditorSelectionChangeKind, TextDocumentChangeReason, ThemeColor, ThemeIcon, TreeItem, TreeItemCheckboxState, TreeItemCollapsibleState, TypeHierarchyItem, ViewColumn, WorkspaceEdit, DocumentDropEdit, DocumentPasteEdit, InlayHint, InlayHintLabelPart, InlayHintKind, RemoteAuthorityResolverError, ResolvedAuthority, ManagedResolvedAuthority, SourceControlInputBoxValidationType, ExtensionRuntime, TimelineItem, NotebookRange, NotebookCellKind, NotebookCellExecutionState, NotebookCellData, NotebookData, NotebookRendererScript, NotebookCellStatusBarAlignment, NotebookEditorRevealType, NotebookCellOutput, NotebookCellOutputItem, NotebookCellStatusBarItem, NotebookControllerAffinity, NotebookControllerAffinity2, NotebookEdit, NotebookKernelSourceAction, PortAttributes, LinkedEditingRanges, TestResultState, TestRunRequest, TestMessage, TestTag, TestRunProfileKind, DataTransfer, DataTransferItem, CoveredCount, FileCoverage, StatementCoverage, BranchCoverage, FunctionCoverage, WorkspaceTrustState, LanguageStatusSeverity, QuickPickItemKind, InputBoxValidationSeverity, TextTabInput, TextDiffTabInput, TextMergeTabInput, CustomEditorTabInput, NotebookEditorTabInput, NotebookDiffEditorTabInput, WebviewEditorTabInput, TerminalEditorTabInput, InteractiveWindowInput, InteractiveSessionVoteDirection, InteractiveSessionCopyKind, InteractiveEditorResponseFeedbackKind, StackFrameFocus, ThreadFocus, NotebookCodeActionKind, RelatedInformationType } from './extHostTypes.js';
41
41
  import { TelemetryTrustedValue } from '../../../platform/telemetry/common/telemetryUtils.js';
42
42
  import { ExtHostUrls } from './extHostUrls.js';
43
43
  import { ExtHostWebviews } from './extHostWebview.js';
@@ -91,10 +91,14 @@ import { ExtHostQuickDiff } from './extHostQuickDiff.js';
91
91
  import { ExtHostChat } from './extHostChat.js';
92
92
  import { ExtHostInteractiveEditor } from './extHostInlineChat.js';
93
93
  import { ExtHostNotebookDocumentSaveParticipant } from './extHostNotebookDocumentSaveParticipant.js';
94
- import { ExtHostSemanticSimilarity } from './extHostSemanticSimilarity.js';
95
94
  import { ExtHostIssueReporter } from './extHostIssueReporter.js';
96
95
  import { IExtHostManagedSockets } from './extHostManagedSockets.js';
97
96
  import { ExtHostShare } from './extHostShare.js';
97
+ import { ExtHostChatProvider } from './extHostChatProvider.js';
98
+ import { ExtHostChatSlashCommands } from './extHostChatSlashCommand.js';
99
+ import { ExtHostChatVariables } from './extHostChatVariables.js';
100
+ import { ExtHostRelatedInformation } from './extHostAiRelatedInformation.js';
101
+ import { ExtHostAiEmbeddingVector } from './extHostEmbeddingVector.js';
98
102
  function createApiFactoryAndRegisterActors(accessor) {
99
103
  const initData = accessor.get(IExtHostInitDataService);
100
104
  const extHostFileSystemInfo = accessor.get(IExtHostFileSystemInfo);
@@ -211,8 +215,12 @@ function createApiFactoryAndRegisterActors(accessor) {
211
215
  extHostLogService
212
216
  )));
213
217
  const extHostInteractiveEditor = rpcProtocol.set(ExtHostContext.ExtHostInlineChat, ( new ExtHostInteractiveEditor(rpcProtocol, extHostCommands, extHostDocuments, extHostLogService)));
218
+ const extHostChatProvider = rpcProtocol.set(ExtHostContext.ExtHostChatProvider, ( new ExtHostChatProvider(rpcProtocol, extHostLogService)));
219
+ const extHostChatSlashCommands = rpcProtocol.set(ExtHostContext.ExtHostChatSlashCommands, ( new ExtHostChatSlashCommands(rpcProtocol, extHostChatProvider, extHostLogService)));
220
+ const extHostChatVariables = rpcProtocol.set(ExtHostContext.ExtHostChatVariables, ( new ExtHostChatVariables(rpcProtocol)));
214
221
  const extHostChat = rpcProtocol.set(ExtHostContext.ExtHostChat, ( new ExtHostChat(rpcProtocol, extHostLogService)));
215
- const extHostSemanticSimilarity = rpcProtocol.set(ExtHostContext.ExtHostSemanticSimilarity, ( new ExtHostSemanticSimilarity(rpcProtocol)));
222
+ const extHostAiRelatedInformation = rpcProtocol.set(ExtHostContext.ExtHostAiRelatedInformation, ( new ExtHostRelatedInformation(rpcProtocol)));
223
+ const extHostAiEmbeddingVector = rpcProtocol.set(ExtHostContext.ExtHostAiEmbeddingVector, ( new ExtHostAiEmbeddingVector(rpcProtocol)));
216
224
  const extHostIssueReporter = rpcProtocol.set(ExtHostContext.ExtHostIssueReporter, ( new ExtHostIssueReporter(rpcProtocol)));
217
225
  const extHostStatusBar = rpcProtocol.set(ExtHostContext.ExtHostStatusBar, ( new ExtHostStatusBar(rpcProtocol, extHostCommands.converter)));
218
226
  const extHostBulkEdits = ( new ExtHostBulkEdits(rpcProtocol, extHostDocumentsAndEditors));
@@ -671,6 +679,10 @@ function createApiFactoryAndRegisterActors(accessor) {
671
679
  checkProposedApiEnabled(extension, 'terminalDataWriteEvent');
672
680
  return extHostTerminalService.onDidWriteTerminalData(listener, thisArg, disposables);
673
681
  },
682
+ onDidExecuteTerminalCommand(listener, thisArg, disposables) {
683
+ checkProposedApiEnabled(extension, 'terminalExecuteCommandEvent');
684
+ return extHostTerminalService.onDidExecuteTerminalCommand(listener, thisArg, disposables);
685
+ },
674
686
  get state() {
675
687
  return extHostWindow.getState(extension);
676
688
  },
@@ -1256,16 +1268,40 @@ function createApiFactoryAndRegisterActors(accessor) {
1256
1268
  return extHostChat.transferChatSession(session, toWorkspace);
1257
1269
  }
1258
1270
  };
1259
- const interactiveSlashCommands = {
1260
- registerSlashCommandProvider(chatProviderId, provider) {
1261
- checkProposedApiEnabled(extension, 'interactiveSlashCommands');
1262
- return extHostChat.registerSlashCommandProvider(extension, chatProviderId, provider);
1271
+ const ai = {
1272
+ getRelatedInformation(query, types) {
1273
+ checkProposedApiEnabled(extension, 'aiRelatedInformation');
1274
+ return extHostAiRelatedInformation.getRelatedInformation(extension, query, types);
1275
+ },
1276
+ registerRelatedInformationProvider(type, provider) {
1277
+ checkProposedApiEnabled(extension, 'aiRelatedInformation');
1278
+ return extHostAiRelatedInformation.registerRelatedInformationProvider(extension, type, provider);
1279
+ },
1280
+ registerEmbeddingVectorProvider(model, provider) {
1281
+ checkProposedApiEnabled(extension, 'aiRelatedInformation');
1282
+ return extHostAiEmbeddingVector.registerEmbeddingVectorProvider(extension, model, provider);
1263
1283
  }
1264
1284
  };
1265
- const ai = {
1266
- registerSemanticSimilarityProvider(provider) {
1267
- checkProposedApiEnabled(extension, 'semanticSimilarity');
1268
- return extHostSemanticSimilarity.registerSemanticSimilarityProvider(extension, provider);
1285
+ const chat = {
1286
+ registerChatResponseProvider(id, provider, metadata) {
1287
+ checkProposedApiEnabled(extension, 'chatProvider');
1288
+ return extHostChatProvider.registerProvider(extension.identifier, id, provider, metadata);
1289
+ },
1290
+ registerSlashCommand(name, command, metadata) {
1291
+ checkProposedApiEnabled(extension, 'chatSlashCommands');
1292
+ return extHostChatSlashCommands.registerCommand(extension.identifier, name, command, metadata ?? { description: '' });
1293
+ },
1294
+ requestChatAccess(id) {
1295
+ checkProposedApiEnabled(extension, 'chatRequestAccess');
1296
+ return extHostChatProvider.requestChatResponseProvider(extension.identifier, id);
1297
+ },
1298
+ registerVariable(name, description, resolver) {
1299
+ checkProposedApiEnabled(extension, 'chatVariables');
1300
+ return extHostChatVariables.registerVariableResolver(extension, name, description, resolver);
1301
+ },
1302
+ registerMappedEditsProvider(selector, provider) {
1303
+ checkProposedApiEnabled(extension, 'mappedEditsProvider');
1304
+ return extHostLanguageFeatures.registerMappedEditsProvider(extension, selector, provider);
1269
1305
  }
1270
1306
  };
1271
1307
  return {
@@ -1274,11 +1310,11 @@ function createApiFactoryAndRegisterActors(accessor) {
1274
1310
  authentication,
1275
1311
  commands,
1276
1312
  comments,
1313
+ chat,
1277
1314
  debug,
1278
1315
  env,
1279
1316
  extensions,
1280
1317
  interactive,
1281
- interactiveSlashCommands,
1282
1318
  l10n,
1283
1319
  languages,
1284
1320
  notebooks,
@@ -1289,6 +1325,9 @@ function createApiFactoryAndRegisterActors(accessor) {
1289
1325
  workspace,
1290
1326
  Breakpoint: Breakpoint,
1291
1327
  TerminalOutputAnchor: TerminalOutputAnchor,
1328
+ ChatMessage: ChatMessage,
1329
+ ChatMessageRole: ChatMessageRole,
1330
+ ChatVariableLevel: ChatVariableLevel,
1292
1331
  CallHierarchyIncomingCall: CallHierarchyIncomingCall,
1293
1332
  CallHierarchyItem: CallHierarchyItem,
1294
1333
  CallHierarchyOutgoingCall: CallHierarchyOutgoingCall,
@@ -1390,12 +1429,11 @@ function createApiFactoryAndRegisterActors(accessor) {
1390
1429
  TaskRevealKind: TaskRevealKind,
1391
1430
  TaskScope: TaskScope,
1392
1431
  TerminalLink: TerminalLink,
1393
- TerminalQuickFixCommand: TerminalQuickFixCommand,
1432
+ TerminalQuickFixExecuteTerminalCommand: TerminalQuickFixCommand,
1394
1433
  TerminalQuickFixOpener: TerminalQuickFixOpener,
1395
1434
  TerminalLocation: TerminalLocation,
1396
1435
  TerminalProfile: TerminalProfile,
1397
1436
  TerminalExitReason: TerminalExitReason,
1398
- TerminalQuickFixType: TerminalQuickFixType,
1399
1437
  TextDocumentSaveReason: TextDocumentSaveReason,
1400
1438
  TextEdit: TextEdit,
1401
1439
  SnippetTextEdit: SnippetTextEdit,
@@ -1444,8 +1482,8 @@ function createApiFactoryAndRegisterActors(accessor) {
1444
1482
  LinkedEditingRanges: LinkedEditingRanges,
1445
1483
  TestResultState: TestResultState,
1446
1484
  TestRunRequest: TestRunRequest,
1447
- TestRunRequest2: TestRunRequest2,
1448
1485
  TestMessage: TestMessage,
1486
+ TestMessage2: TestMessage,
1449
1487
  TestTag: TestTag,
1450
1488
  TestRunProfileKind: TestRunProfileKind,
1451
1489
  TextSearchCompleteMessageType: TextSearchCompleteMessageType,
@@ -1477,7 +1515,8 @@ function createApiFactoryAndRegisterActors(accessor) {
1477
1515
  InteractiveEditorResponseFeedbackKind: InteractiveEditorResponseFeedbackKind,
1478
1516
  StackFrameFocus: StackFrameFocus,
1479
1517
  ThreadFocus: ThreadFocus,
1480
- NotebookCodeActionKind: NotebookCodeActionKind
1518
+ NotebookCodeActionKind: NotebookCodeActionKind,
1519
+ RelatedInformationType: RelatedInformationType
1481
1520
  };
1482
1521
  };
1483
1522
  }
@@ -2,13 +2,13 @@ import { Dto } from '../../services/extensions/common/proxyIdentifier.js';
2
2
  import { VSBuffer } from '../../../base/common/buffer.js';
3
3
  import { CancellationToken } from '../../../base/common/cancellation.js';
4
4
  import { UriComponents, URI } from '../../../base/common/uri.js';
5
- import { TerminalCommandMatchResult, TerminalQuickFixCommand, TerminalQuickFixOpener } from 'vscode';
6
5
  import { SerializedError } from '../../../base/common/errors.js';
7
6
  import { IDisposable } from '../../../base/common/lifecycle.js';
8
7
  import { PerformanceMark } from '../../../base/common/performance.js';
9
- import { IExtensionDescription, ExtensionIdentifier } from '../../../platform/extensions/common/extensions.js';
8
+ import { Command } from '../../../editor/common/languages.js';
10
9
  import { IConfigurationData, ConfigurationTarget, IConfigurationOverrides, IConfigurationChange } from '../../../platform/configuration/common/configuration.js';
11
10
  import { ConfigurationScope } from '../../../platform/configuration/common/configurationRegistry.js';
11
+ import { IExtensionDescription, ExtensionIdentifier } from '../../../platform/extensions/common/extensions.js';
12
12
  import { IRemoteConnectionData } from '../../../platform/remote/common/remoteAuthorityResolver.js';
13
13
  import { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from '../../../platform/telemetry/common/gdprTypings.js';
14
14
  import { ISerializableEnvironmentVariableCollection } from '../../../platform/terminal/common/environmentVariable.js';
@@ -20,10 +20,9 @@ import { ExtensionActivationReason, MissingExtensionDependency, ActivationKind }
20
20
  import { IPatternInfo, IRawFileMatch2 } from '../../services/search/common/search.js';
21
21
  import { IExtensionDescriptionDelta, IStaticWorkspaceData } from '../../services/extensions/common/extensionHostProtocol.js';
22
22
  import { IResolveAuthorityResult } from '../../services/extensions/common/extensionHostProxy.js';
23
- import { CandidatePort } from '../../services/remote/common/remoteExplorerService.js';
23
+ import { CandidatePort } from '../../services/remote/common/tunnelModel.js';
24
24
  import { ITextQueryBuilderOptions } from '../../services/search/common/queryBuilder.js';
25
25
 
26
- type TerminalQuickFix = TerminalQuickFixCommand | TerminalQuickFixOpener;
27
26
  interface IWorkspaceData extends IStaticWorkspaceData {
28
27
  folders: {
29
28
  uri: UriComponents;
@@ -130,6 +129,9 @@ interface ExtHostExtensionServiceShape {
130
129
  $test_up(b: VSBuffer): Promise<number>;
131
130
  $test_down(size: number): Promise<VSBuffer>;
132
131
  }
132
+ type ICommandDto = {
133
+ $ident?: string;
134
+ } & Command;
133
135
  interface ITerminalLinkDto {
134
136
  /** The ID of the link to enable activation and disposal. */
135
137
  id: number;
@@ -144,12 +146,35 @@ interface ITerminalDimensionsDto {
144
146
  columns: number;
145
147
  rows: number;
146
148
  }
149
+ type SingleOrMany<T> = T[] | T;
150
+ interface ITerminalQuickFixExecuteTerminalCommandDto {
151
+ terminalCommand: string;
152
+ }
153
+ interface ITerminalQuickFixOpenerDto {
154
+ uri: UriComponents;
155
+ }
156
+ type TerminalQuickFix = ITerminalQuickFixExecuteTerminalCommandDto | ITerminalQuickFixOpenerDto | ICommandDto;
157
+ interface TerminalCommandMatchResultDto {
158
+ commandLine: string;
159
+ commandLineMatch: RegExpMatchArray;
160
+ outputMatch?: {
161
+ regexMatch: RegExpMatchArray;
162
+ outputLines: string[];
163
+ };
164
+ }
165
+ interface ITerminalCommandDto {
166
+ commandLine: string | undefined;
167
+ cwd: URI | string | undefined;
168
+ exitCode: number | undefined;
169
+ output: string | undefined;
170
+ }
147
171
  interface ExtHostTerminalServiceShape {
148
172
  $acceptTerminalClosed(id: number, exitCode: number | undefined, exitReason: TerminalExitReason): void;
149
173
  $acceptTerminalOpened(id: number, extHostTerminalId: string | undefined, name: string, shellLaunchConfig: IShellLaunchConfigDto): void;
150
174
  $acceptActiveTerminalChanged(id: number | null): void;
151
175
  $acceptTerminalProcessId(id: number, processId: number): void;
152
176
  $acceptTerminalProcessData(id: number, data: string): void;
177
+ $acceptDidExecuteCommand(id: number, command: ITerminalCommandDto): void;
153
178
  $acceptTerminalTitleChange(id: number, name: string): void;
154
179
  $acceptTerminalDimensions(id: number, cols: number, rows: number): void;
155
180
  $acceptTerminalMaximumDimensions(id: number, cols: number, rows: number): void;
@@ -168,7 +193,7 @@ interface ExtHostTerminalServiceShape {
168
193
  $initEnvironmentVariableCollections(collections: [string, ISerializableEnvironmentVariableCollection][]): void;
169
194
  $acceptDefaultProfile(profile: ITerminalProfile, automationProfile: ITerminalProfile): void;
170
195
  $createContributedProfileTerminal(id: string, options: ICreateContributedTerminalProfileOptions): Promise<void>;
171
- $provideTerminalQuickFixes(id: string, matchResult: TerminalCommandMatchResult, token: CancellationToken): Promise<TerminalQuickFix[] | TerminalQuickFix | undefined>;
196
+ $provideTerminalQuickFixes(id: string, matchResult: TerminalCommandMatchResultDto, token: CancellationToken): Promise<SingleOrMany<TerminalQuickFix> | undefined>;
172
197
  }
173
198
  interface TunnelDto {
174
199
  remoteAddress: {
@@ -184,7 +209,7 @@ interface TunnelDto {
184
209
  protocol: string | undefined;
185
210
  }
186
211
  interface ExtHostTunnelServiceShape {
187
- $forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<TunnelDto | undefined>;
212
+ $forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<TunnelDto | string | undefined>;
188
213
  $closeTunnel(remote: {
189
214
  host: string;
190
215
  port: number;
@@ -208,4 +233,4 @@ interface IStringDetails {
208
233
  comment?: string | string[];
209
234
  }
210
235
 
211
- export { ExtHostConfigurationShape, ExtHostExtensionServiceShape, ExtHostFileSystemInfoShape, ExtHostLocalizationShape, ExtHostManagedSocketsShape, ExtHostTerminalIdentifier, ExtHostTerminalServiceShape, ExtHostTunnelServiceShape, ExtHostWorkspaceShape, IConfigurationInitData, IStringDetails, ITerminalDimensionsDto, ITerminalLinkDto, ITextSearchComplete, IWorkspaceData, MainThreadConfigurationShape, MainThreadExtensionServiceShape, MainThreadTelemetryShape, MainThreadWorkspaceShape, PortAttributesSelector, TerminalQuickFix, TunnelDto };
236
+ export type { ExtHostConfigurationShape, ExtHostExtensionServiceShape, ExtHostFileSystemInfoShape, ExtHostLocalizationShape, ExtHostManagedSocketsShape, ExtHostTerminalIdentifier, ExtHostTerminalServiceShape, ExtHostTunnelServiceShape, ExtHostWorkspaceShape, ICommandDto, IConfigurationInitData, IStringDetails, ITerminalCommandDto, ITerminalDimensionsDto, ITerminalLinkDto, ITerminalQuickFixExecuteTerminalCommandDto, ITerminalQuickFixOpenerDto, ITextSearchComplete, IWorkspaceData, MainThreadConfigurationShape, MainThreadExtensionServiceShape, MainThreadTelemetryShape, MainThreadWorkspaceShape, PortAttributesSelector, TerminalCommandMatchResultDto, TerminalQuickFix, TunnelDto };
@@ -29,6 +29,9 @@ class IdObject {
29
29
  const MainContext = {
30
30
  MainThreadAuthentication: ( createProxyIdentifier('MainThreadAuthentication')),
31
31
  MainThreadBulkEdits: ( createProxyIdentifier('MainThreadBulkEdits')),
32
+ MainThreadChatProvider: ( createProxyIdentifier('MainThreadChatProvider')),
33
+ MainThreadChatSlashCommands: ( createProxyIdentifier('MainThreadChatSlashCommands')),
34
+ MainThreadChatVariables: ( createProxyIdentifier('MainThreadChatVariables')),
32
35
  MainThreadClipboard: ( createProxyIdentifier('MainThreadClipboard')),
33
36
  MainThreadCommands: ( createProxyIdentifier('MainThreadCommands')),
34
37
  MainThreadComments: ( createProxyIdentifier('MainThreadComments')),
@@ -90,7 +93,8 @@ const MainContext = {
90
93
  MainThreadTimeline: ( createProxyIdentifier('MainThreadTimeline')),
91
94
  MainThreadTesting: ( createProxyIdentifier('MainThreadTesting')),
92
95
  MainThreadLocalization: ( createProxyIdentifier('MainThreadLocalizationShape')),
93
- MainThreadSemanticSimilarity: ( createProxyIdentifier('MainThreadSemanticSimilarity')),
96
+ MainThreadAiRelatedInformation: ( createProxyIdentifier('MainThreadAiRelatedInformation')),
97
+ MainThreadAiEmbeddingVector: ( createProxyIdentifier('MainThreadAiEmbeddingVector')),
94
98
  MainThreadIssueReporter: ( createProxyIdentifier('MainThreadIssueReporter')),
95
99
  };
96
100
  const ExtHostContext = {
@@ -146,7 +150,11 @@ const ExtHostContext = {
146
150
  ExtHostInteractive: ( createProxyIdentifier('ExtHostInteractive')),
147
151
  ExtHostInlineChat: ( createProxyIdentifier('ExtHostInlineChatShape')),
148
152
  ExtHostChat: ( createProxyIdentifier('ExtHostChat')),
149
- ExtHostSemanticSimilarity: ( createProxyIdentifier('ExtHostSemanticSimilarity')),
153
+ ExtHostChatSlashCommands: ( createProxyIdentifier('ExtHostChatSlashCommands')),
154
+ ExtHostChatVariables: ( createProxyIdentifier('ExtHostChatVariables')),
155
+ ExtHostChatProvider: ( createProxyIdentifier('ExtHostChatProvider')),
156
+ ExtHostAiRelatedInformation: ( createProxyIdentifier('ExtHostAiRelatedInformation')),
157
+ ExtHostAiEmbeddingVector: ( createProxyIdentifier('ExtHostAiEmbeddingVector')),
150
158
  ExtHostTheming: ( createProxyIdentifier('ExtHostTheming')),
151
159
  ExtHostTunnelService: ( createProxyIdentifier('ExtHostTunnelService')),
152
160
  ExtHostManagedSockets: ( createProxyIdentifier('ExtHostManagedSockets')),
@@ -0,0 +1,34 @@
1
+ import { MainContext } from './extHost.protocol.js';
2
+ import { Disposable } from './extHostTypes.js';
3
+ class ExtHostRelatedInformation {
4
+ constructor(mainContext) {
5
+ this._relatedInformationProviders = ( new Map());
6
+ this._nextHandle = 0;
7
+ this._proxy = ( mainContext.getProxy(MainContext.MainThreadAiRelatedInformation));
8
+ }
9
+ async $provideAiRelatedInformation(handle, query, token) {
10
+ if (this._relatedInformationProviders.size === 0) {
11
+ throw new Error('No related information providers registered');
12
+ }
13
+ const provider = this._relatedInformationProviders.get(handle);
14
+ if (!provider) {
15
+ throw new Error('related information provider not found');
16
+ }
17
+ const result = (await provider.provideRelatedInformation(query, token)) ?? [];
18
+ return result;
19
+ }
20
+ getRelatedInformation(extension, query, types) {
21
+ return this._proxy.$getAiRelatedInformation(query, types);
22
+ }
23
+ registerRelatedInformationProvider(extension, type, provider) {
24
+ const handle = this._nextHandle;
25
+ this._nextHandle++;
26
+ this._relatedInformationProviders.set(handle, provider);
27
+ this._proxy.$registerAiRelatedInformationProvider(handle, type);
28
+ return ( new Disposable(() => {
29
+ this._proxy.$unregisterAiRelatedInformationProvider(handle);
30
+ this._relatedInformationProviders.delete(handle);
31
+ }));
32
+ }
33
+ }
34
+ export { ExtHostRelatedInformation };
@@ -6,7 +6,7 @@ import { decodeSemanticTokensDto } from 'monaco-editor/esm/vs/editor/common/serv
6
6
  import { validateWhenClauses } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
7
7
  import { matchesSomeScheme } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
8
8
  import { ApiCommand, ApiCommandArgument, ApiCommandResult } from './extHostCommands.js';
9
- import { Position as Position$1, Range, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, WorkspaceEdit, DocumentLink, SignatureHelp, Selection as Selection$1, Color, ColorPresentation, InlayHint, FoldingRange, InlineValue, ViewColumn, TextEditorOpenOptions, TypeHierarchyItem, DefinitionLink, location, DocumentHighlight, SymbolKind, TextEdit, Hover, CompletionItem, NotebookExclusiveDocumentPattern } from './extHostTypeConverters.js';
9
+ import { Position as Position$1, Range, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, WorkspaceEdit, DocumentLink, SignatureHelp, Selection as Selection$1, Color, ColorPresentation, InlayHint, FoldingRange, InlineValue, ViewColumn, TextEditorOpenOptions, TypeHierarchyItem, MappedEditsContext, DefinitionLink, location, DocumentHighlight, SymbolKind, TextEdit, Hover, CompletionItem, NotebookExclusiveDocumentPattern } from './extHostTypeConverters.js';
10
10
  import { Position, SelectionRange, SemanticTokensLegend, SemanticTokens, CompletionList, Range as Range$1, Selection, ColorInformation, Color as Color$1, SymbolInformation, Location, CodeLens, CodeAction, CodeActionKind } from './extHostTypes.js';
11
11
  const newCommands = [
12
12
  (
@@ -619,7 +619,26 @@ const newCommands = [
619
619
  ( new ApiCommandArgument('value', 'The context key value', () => true, v => v)),
620
620
  ],
621
621
  ApiCommandResult.Void
622
- ))
622
+ )),
623
+ (
624
+ new ApiCommand(
625
+ 'vscode.executeMappedEditsProvider',
626
+ '_executeMappedEditsProvider',
627
+ 'Execute Mapped Edits Provider',
628
+ [
629
+ ApiCommandArgument.Uri,
630
+ ApiCommandArgument.StringArray,
631
+ ( new ApiCommandArgument(
632
+ 'MappedEditsContext',
633
+ 'Mapped Edits Context',
634
+ (v) => MappedEditsContext.is(v),
635
+ (v) => MappedEditsContext.from(v)
636
+ ))
637
+ ],
638
+ ( new ApiCommandResult('A promise that resolves to a workspace edit or null', (value) => {
639
+ return value ? WorkspaceEdit.to(value) : null;
640
+ }))
641
+ )),
623
642
  ];
624
643
  class ExtHostApiCommands {
625
644
  static register(commands) {
@@ -3,10 +3,9 @@ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
3
3
  import { Iterable } from 'monaco-editor/esm/vs/base/common/iterator.js';
4
4
  import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
5
  import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
6
- import { withNullAsUndefined } from 'monaco-editor/esm/vs/base/common/types.js';
7
6
  import { localize } from 'monaco-editor/esm/vs/nls.js';
8
7
  import { MainContext } from './extHost.protocol.js';
9
- import { ChatReplyFollowup, ChatFollowup, CompletionItemKind } from './extHostTypeConverters.js';
8
+ import { ChatReplyFollowup, ChatFollowup, CompletionItemKind, ChatVariable, MarkdownString } from './extHostTypeConverters.js';
10
9
  class ChatProviderWrapper {
11
10
  static { this._pool = 0; }
12
11
  constructor(extension, provider) {
@@ -20,7 +19,6 @@ class ExtHostChat {
20
19
  constructor(mainContext, logService) {
21
20
  this.logService = logService;
22
21
  this._chatProvider = ( new Map());
23
- this._slashCommandProvider = ( new Map());
24
22
  this._chatSessions = ( new Map());
25
23
  this._onDidPerformUserAction = ( new Emitter());
26
24
  this.onDidPerformUserAction = this._onDidPerformUserAction.event;
@@ -150,7 +148,13 @@ class ExtHostChat {
150
148
  const requestObj = {
151
149
  session: realSession,
152
150
  message: typeof request.message === 'string' ? request.message : ChatReplyFollowup.to(request.message),
151
+ variables: {}
153
152
  };
153
+ if (request.variables) {
154
+ for (const key of ( Object.keys(request.variables))) {
155
+ requestObj.variables[key] = ( request.variables[key].map(ChatVariable.to));
156
+ }
157
+ }
154
158
  const stopWatch = StopWatch.create(false);
155
159
  let firstProgress;
156
160
  const progressObj = {
@@ -174,6 +178,11 @@ class ExtHostChat {
174
178
  this._proxy.$acceptResponseProgress(handle, sessionId, progressContent, progressHandle ?? undefined);
175
179
  });
176
180
  }
181
+ else if ('content' in progress) {
182
+ this._proxy.$acceptResponseProgress(handle, sessionId, {
183
+ content: typeof progress.content === 'string' ? progress.content : MarkdownString.from(progress.content)
184
+ });
185
+ }
177
186
  else {
178
187
  this._proxy.$acceptResponseProgress(handle, sessionId, progress);
179
188
  }
@@ -226,33 +235,5 @@ class ExtHostChat {
226
235
  async $onDidPerformUserAction(event) {
227
236
  this._onDidPerformUserAction.fire(event);
228
237
  }
229
- registerSlashCommandProvider(extension, chatProviderId, provider) {
230
- const wrapper = ( new ChatProviderWrapper(extension, provider));
231
- this._slashCommandProvider.set(wrapper.handle, wrapper);
232
- this._proxy.$registerSlashCommandProvider(wrapper.handle, chatProviderId);
233
- return toDisposable(() => {
234
- this._proxy.$unregisterSlashCommandProvider(wrapper.handle);
235
- this._slashCommandProvider.delete(wrapper.handle);
236
- });
237
- }
238
- async $provideProviderSlashCommands(handle, token) {
239
- const entry = this._slashCommandProvider.get(handle);
240
- if (!entry) {
241
- return undefined;
242
- }
243
- const slashCommands = await entry.provider.provideSlashCommands(token);
244
- return slashCommands?.map(c => ({
245
- ...c,
246
- kind: CompletionItemKind.from(c.kind)
247
- }));
248
- }
249
- async $resolveSlashCommand(handle, command, token) {
250
- const entry = this._slashCommandProvider.get(handle);
251
- if (!entry) {
252
- return undefined;
253
- }
254
- const resolved = await entry.provider.resolveSlashCommand(command, token);
255
- return withNullAsUndefined(resolved);
256
- }
257
238
  }
258
239
  export { ExtHostChat };
@@ -0,0 +1,70 @@
1
+ import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
2
+ import { MainContext } from './extHost.protocol.js';
3
+ import { ChatMessage } from './extHostTypeConverters.js';
4
+ import { Progress } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
5
+ import { ExtensionIdentifierMap } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
6
+ class ExtHostChatProvider {
7
+ static { this._idPool = 1; }
8
+ constructor(mainContext, _logService) {
9
+ this._logService = _logService;
10
+ this._providers = ( new Map());
11
+ this._pendingRequest = ( new Map());
12
+ this._chatAccessAllowList = ( new ExtensionIdentifierMap());
13
+ this._proxy = ( mainContext.getProxy(MainContext.MainThreadChatProvider));
14
+ }
15
+ registerProvider(extension, identifier, provider, metadata) {
16
+ const handle = ExtHostChatProvider._idPool++;
17
+ this._providers.set(handle, { extension, provider });
18
+ this._proxy.$registerProvider(handle, identifier, { extension, displayName: metadata.name ?? extension.value });
19
+ return toDisposable(() => {
20
+ this._proxy.$unregisterProvider(handle);
21
+ this._providers.delete(handle);
22
+ });
23
+ }
24
+ async $provideChatResponse(handle, requestId, messages, options, token) {
25
+ const data = this._providers.get(handle);
26
+ if (!data) {
27
+ return;
28
+ }
29
+ const progress = ( new Progress(async (fragment) => {
30
+ if (token.isCancellationRequested) {
31
+ this._logService.warn(`[CHAT](${data.extension.value}) CANNOT send progress because the REQUEST IS CANCELLED`);
32
+ return;
33
+ }
34
+ await this._proxy.$handleProgressChunk(requestId, { index: fragment.index, part: fragment.part });
35
+ }, { async: true }));
36
+ return data.provider.provideChatResponse(( messages.map(ChatMessage.to)), options, progress, token);
37
+ }
38
+ allowListExtensionWhile(extension, promise) {
39
+ this._chatAccessAllowList.set(extension, promise);
40
+ promise.finally(() => this._chatAccessAllowList.delete(extension));
41
+ }
42
+ async requestChatResponseProvider(from, identifier) {
43
+ if (!( this._chatAccessAllowList.has(from))) {
44
+ throw new Error('Extension is NOT allowed to make chat requests');
45
+ }
46
+ const that = this;
47
+ return {
48
+ get isRevoked() {
49
+ return !( that._chatAccessAllowList.has(from));
50
+ },
51
+ async makeRequest(messages, options, progress, token) {
52
+ if (!( that._chatAccessAllowList.has(from))) {
53
+ throw new Error('Access to chat has been revoked');
54
+ }
55
+ const requestId = (Math.random() * 1e6) | 0;
56
+ that._pendingRequest.set(requestId, progress);
57
+ try {
58
+ await that._proxy.$fetchResponse(from, identifier, requestId, ( messages.map(ChatMessage.from)), options, token);
59
+ }
60
+ finally {
61
+ that._pendingRequest.delete(requestId);
62
+ }
63
+ },
64
+ };
65
+ }
66
+ async $handleResponseFragment(requestId, chunk) {
67
+ this._pendingRequest.get(requestId)?.report(chunk);
68
+ }
69
+ }
70
+ export { ExtHostChatProvider };
@@ -0,0 +1,53 @@
1
+ import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
2
+ import { MainContext } from './extHost.protocol.js';
3
+ import { ChatMessageRole } from './extHostTypes.js';
4
+ import { ChatMessage } from './extHostTypeConverters.js';
5
+ import { Progress } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
6
+ import { raceCancellation, DeferredPromise } from 'monaco-editor/esm/vs/base/common/async.js';
7
+ class ExtHostChatSlashCommands {
8
+ static { this._idPool = 0; }
9
+ constructor(mainContext, _extHostChatProvider, _logService) {
10
+ this._extHostChatProvider = _extHostChatProvider;
11
+ this._logService = _logService;
12
+ this._commands = ( new Map());
13
+ this._proxy = ( mainContext.getProxy(MainContext.MainThreadChatSlashCommands));
14
+ }
15
+ registerCommand(extension, name, command, metadata) {
16
+ const handle = ExtHostChatSlashCommands._idPool++;
17
+ this._commands.set(handle, { extension, command });
18
+ this._proxy.$registerCommand(handle, name, metadata.description);
19
+ return toDisposable(() => {
20
+ this._proxy.$unregisterCommand(handle);
21
+ this._commands.delete(handle);
22
+ });
23
+ }
24
+ async $executeCommand(handle, requestId, prompt, context, token) {
25
+ const data = this._commands.get(handle);
26
+ if (!data) {
27
+ this._logService.warn(`[CHAT](${handle}) CANNOT execute command because the command is not registered`);
28
+ return;
29
+ }
30
+ let done = false;
31
+ function throwIfDone() {
32
+ if (done) {
33
+ throw new Error('Only valid while executing the command');
34
+ }
35
+ }
36
+ const commandExecution = ( new DeferredPromise());
37
+ token.onCancellationRequested(() => commandExecution.complete());
38
+ setTimeout(() => commandExecution.complete(), 3 * 1000);
39
+ this._extHostChatProvider.allowListExtensionWhile(data.extension, commandExecution.p);
40
+ const task = data.command({ role: ChatMessageRole.User, content: prompt }, { history: ( context.history.map(ChatMessage.to)) }, ( new Progress(p => {
41
+ throwIfDone();
42
+ this._proxy.$handleProgressChunk(requestId, { content: p.message.value });
43
+ })), token);
44
+ try {
45
+ await raceCancellation(Promise.resolve(task), token);
46
+ }
47
+ finally {
48
+ done = true;
49
+ commandExecution.complete();
50
+ }
51
+ }
52
+ }
53
+ export { ExtHostChatSlashCommands };
@@ -0,0 +1,37 @@
1
+ import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
2
+ import { MainContext } from './extHost.protocol.js';
3
+ import { onUnexpectedExternalError } from 'monaco-editor/esm/vs/base/common/errors.js';
4
+ import { ChatVariable } from './extHostTypeConverters.js';
5
+ class ExtHostChatVariables {
6
+ static { this._idPool = 0; }
7
+ constructor(mainContext) {
8
+ this._resolver = ( new Map());
9
+ this._proxy = ( mainContext.getProxy(MainContext.MainThreadChatVariables));
10
+ }
11
+ async $resolveVariable(handle, messageText, token) {
12
+ const item = this._resolver.get(handle);
13
+ if (!item) {
14
+ return undefined;
15
+ }
16
+ try {
17
+ const value = await item.resolver.resolve(item.data.name, { message: messageText }, token);
18
+ if (value) {
19
+ return ( value.map(ChatVariable.from));
20
+ }
21
+ }
22
+ catch (err) {
23
+ onUnexpectedExternalError(err);
24
+ }
25
+ return undefined;
26
+ }
27
+ registerVariableResolver(extension, name, description, resolver) {
28
+ const handle = ExtHostChatVariables._idPool++;
29
+ this._resolver.set(handle, { extension: extension.identifier, data: { name, description }, resolver: resolver });
30
+ this._proxy.$registerVariable(handle, { name, description });
31
+ return toDisposable(() => {
32
+ this._resolver.delete(handle);
33
+ this._proxy.$unregisterVariable(handle);
34
+ });
35
+ }
36
+ }
37
+ export { ExtHostChatVariables };