@codingame/monaco-vscode-api 1.83.15 → 1.85.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 (361) hide show
  1. package/README.md +430 -0
  2. package/api.js +13 -7
  3. package/assets/clear.mp3 +0 -0
  4. package/assets/format.mp3 +0 -0
  5. package/assets/save.mp3 +0 -0
  6. package/contributions.js +3 -0
  7. package/extensions.d.ts +13 -3
  8. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  9. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  10. package/lifecycle.js +2 -2
  11. package/localExtensionHost.js +6 -3
  12. package/missing-services.js +170 -22
  13. package/monaco-editor-treemending.patch +6884 -18018
  14. package/monaco-treemending.js +2 -2
  15. package/package.json +7 -7
  16. package/service-override/tools/editor.d.ts +8 -8
  17. package/service-override/tools/editor.js +44 -19
  18. package/services.d.ts +2 -2
  19. package/services.js +3 -3
  20. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  21. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  22. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  24. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  25. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  26. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  29. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  30. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  31. package/vscode/src/vs/base/common/async.d.ts +1 -31
  32. package/vscode/src/vs/base/common/event.d.ts +2 -1
  33. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  34. package/vscode/src/vs/base/common/prefixTree.js +140 -0
  35. package/vscode/src/vs/base/common/product.d.ts +16 -2
  36. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  37. package/vscode/src/vs/base/common/skipList.js +1 -0
  38. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  39. package/vscode/src/vs/base/common/types.d.ts +13 -1
  40. package/vscode/src/vs/base/common/verifier.js +62 -0
  41. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  42. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  43. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  44. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  45. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  46. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  47. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  48. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  49. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  50. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  51. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  52. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  53. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +26 -2
  54. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  55. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  56. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  57. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  58. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  59. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  60. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  61. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  62. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  63. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  64. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  65. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  66. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  67. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  68. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  69. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  70. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  71. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  72. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +41 -0
  73. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  74. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  75. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  76. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +651 -0
  77. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +29 -0
  78. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +48 -0
  79. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +94 -0
  80. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +37 -0
  81. package/vscode/src/vs/platform/terminal/common/terminalStrings.js +16 -0
  82. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +319 -0
  83. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  84. package/vscode/src/vs/platform/window/common/window.js +6 -1
  85. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  86. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  87. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  88. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  89. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  90. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  91. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  92. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  93. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  94. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  95. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  96. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  97. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  98. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  99. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  100. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  101. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  102. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  103. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  104. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  105. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  106. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  107. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  108. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  109. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  110. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  111. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  112. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  113. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  114. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  115. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  116. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  117. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  118. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  119. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  120. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  121. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  122. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  123. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  124. package/vscode/src/vs/workbench/browser/part.js +33 -2
  125. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  126. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  127. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  128. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  129. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  130. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  131. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  132. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  133. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  134. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  135. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  136. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  137. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  138. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  139. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  140. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  141. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  142. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  143. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  144. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  145. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  146. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  147. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  148. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  149. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  150. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  151. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  152. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  153. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  154. package/vscode/src/vs/workbench/browser/style.js +2 -1
  155. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  156. package/vscode/src/vs/workbench/browser/window.js +55 -0
  157. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  158. package/vscode/src/vs/workbench/common/activity.js +3 -0
  159. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  160. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  161. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  162. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  163. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  164. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  165. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  166. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  167. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  168. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  169. package/vscode/src/vs/workbench/common/editor.js +11 -3
  170. package/vscode/src/vs/workbench/common/theme.js +2 -2
  171. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  172. package/vscode/src/vs/workbench/common/views.js +3 -1
  173. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  174. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  175. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  176. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  177. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  181. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  183. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  184. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  185. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  186. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  187. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  188. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  189. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +91 -1
  190. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  191. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  192. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  193. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  194. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  195. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  196. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  197. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  199. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  200. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  201. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  202. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  203. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  204. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  205. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  206. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  207. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  208. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  209. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  210. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  211. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +423 -0
  212. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +82 -0
  213. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  215. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  216. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  217. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  218. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  219. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  220. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  221. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  222. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  223. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -0
  225. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +92 -0
  226. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  227. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  228. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +25 -0
  230. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  231. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +64 -0
  232. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +36 -0
  233. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +540 -0
  234. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +104 -0
  235. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +518 -0
  236. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +390 -0
  237. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  238. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +814 -0
  239. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  240. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  241. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  242. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +101 -0
  243. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +30 -0
  244. package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +36 -0
  245. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  246. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  247. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js +116 -0
  248. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +172 -1
  249. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +384 -0
  250. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +156 -1
  251. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +156 -0
  252. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +75 -1
  253. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +72 -1
  254. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +188 -0
  255. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +102 -0
  256. package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +29 -0
  257. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/testing/common/testingPeekOpener.js} +2 -2
  258. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +47 -0
  259. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  260. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  261. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  262. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  263. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  264. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  265. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  266. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  267. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  268. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  269. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  270. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  271. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  272. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  273. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  274. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  275. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  276. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  277. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  278. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  279. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  280. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  281. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  282. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  283. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  284. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  285. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  286. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  287. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  288. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  289. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  290. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  291. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  292. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  293. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  294. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  295. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  296. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  297. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  298. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  299. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
  300. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  301. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  302. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  303. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
  304. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +10 -0
  305. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +98 -0
  306. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
  307. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
  308. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  309. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  310. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  311. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  312. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  313. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  314. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  315. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  316. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  317. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  318. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  319. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  320. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  321. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  322. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  323. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  324. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  325. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  326. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  327. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  328. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  329. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  330. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  331. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  332. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  333. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  334. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  335. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  336. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  337. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  338. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  339. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  340. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  341. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  342. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  343. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  344. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  345. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  346. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  347. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  348. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  349. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  350. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  351. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  352. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  353. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  354. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  355. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  356. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  357. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  358. /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
  359. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  360. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  361. /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
@@ -0,0 +1,80 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ declare module 'vscode' {
7
+
8
+ export interface ChatAgentUserActionEvent {
9
+ readonly result: ChatAgentResult2;
10
+ readonly action: InteractiveSessionCopyAction | InteractiveSessionInsertAction | InteractiveSessionTerminalAction | InteractiveSessionCommandAction | InteractiveSessionFollowupAction | InteractiveSessionBugReportAction;
11
+ }
12
+
13
+ export interface ChatAgent2 {
14
+ onDidPerformAction: Event<ChatAgentUserActionEvent>;
15
+ supportIssueReporting?: boolean;
16
+ }
17
+
18
+ export interface ChatAgentErrorDetails {
19
+ /**
20
+ * If set to true, the message content is completely hidden. Only ChatAgentErrorDetails#message will be shown.
21
+ */
22
+ responseIsRedacted?: boolean;
23
+ }
24
+
25
+ /**
26
+ * This is temporary until inline references are fully supported and adopted
27
+ */
28
+ export interface ChatAgentMarkdownContent {
29
+ markdownContent: MarkdownString;
30
+ }
31
+
32
+ export interface ChatAgentDetectedAgent {
33
+ agentName: string;
34
+ command?: ChatAgentSlashCommand;
35
+ }
36
+
37
+ export interface ChatAgentVulnerability {
38
+ title: string;
39
+ description: string;
40
+ // id: string; // Later we will need to be able to link these across multiple content chunks.
41
+ }
42
+
43
+ export interface ChatAgentContent {
44
+ vulnerabilities?: ChatAgentVulnerability[];
45
+ }
46
+
47
+ export type ChatAgentExtendedProgress = ChatAgentProgress
48
+ | ChatAgentMarkdownContent
49
+ | ChatAgentDetectedAgent;
50
+
51
+ export interface ChatAgent2 {
52
+ /**
53
+ * Provide a set of variables that can only be used with this agent.
54
+ */
55
+ agentVariableProvider?: { provider: ChatAgentCompletionItemProvider; triggerCharacters: string[] };
56
+ }
57
+
58
+ export interface ChatAgentCompletionItemProvider {
59
+ provideCompletionItems(query: string, token: CancellationToken): ProviderResult<ChatAgentCompletionItem[]>;
60
+ }
61
+
62
+ export class ChatAgentCompletionItem {
63
+ label: string | CompletionItemLabel;
64
+ values: ChatVariableValue[];
65
+ insertText?: string;
66
+ detail?: string;
67
+ documentation?: string | MarkdownString;
68
+
69
+ constructor(label: string | CompletionItemLabel, values: ChatVariableValue[]);
70
+ }
71
+
72
+ export type ChatAgentExtendedHandler = (request: ChatAgentRequest, context: ChatAgentContext, progress: Progress<ChatAgentExtendedProgress>, token: CancellationToken) => ProviderResult<ChatAgentResult2>;
73
+
74
+ export namespace chat {
75
+ /**
76
+ * Create a chat agent with the extended progress type
77
+ */
78
+ export function createChatAgent(name: string, handler: ChatAgentExtendedHandler): ChatAgent2;
79
+ }
80
+ }
@@ -18,7 +18,11 @@ declare module 'vscode' {
18
18
  }
19
19
 
20
20
  export interface ChatResponseProviderMetadata {
21
- // TODO: add way to compute token count
21
+ /**
22
+ * The name of the model that is used for this chat access. It is expected that the model name can
23
+ * be used to lookup properties like token limits and ChatML support
24
+ */
25
+ // TODO@API rename to model
22
26
  name: string;
23
27
  }
24
28
 
@@ -5,32 +5,90 @@
5
5
 
6
6
  declare module 'vscode' {
7
7
 
8
- export interface ChatResponseFragment {
9
- index: number;
10
- part: string;
8
+ export interface ChatResponseStream {
9
+
10
+ /**
11
+ * The response stream.
12
+ */
13
+ readonly response: AsyncIterable<string>;
14
+
15
+ /**
16
+ * The variant of multiple responses. This is used to disambiguate between multiple
17
+ * response streams when having asked for multiple response options
18
+ */
19
+ readonly option: number;
20
+ }
21
+
22
+ export interface ChatRequest {
23
+
24
+ /**
25
+ * The overall result of the request which represents failure or success
26
+ * but _not_ the actual response or responses
27
+ */
28
+ result: Thenable<any>;
29
+
30
+ /**
31
+ * The _default response_ stream. This is the stream of the first response option
32
+ * receiving data.
33
+ *
34
+ * Usually there is only one response option and this stream is more convienient to use
35
+ * than the {@link onDidStartResponseStream `onDidStartResponseStream`} event.
36
+ */
37
+ response: AsyncIterable<string>;
38
+
39
+ /**
40
+ * An event that fires whenever a new response option is available. The response
41
+ * itself is a stream of the actual response.
42
+ *
43
+ * *Note* that the first time this event fires, the {@link ChatResponseStream.response response stream}
44
+ * is the same as the {@link response `default response stream`}.
45
+ *
46
+ * *Note* that unless requested there is only one response option, so this event will only fire
47
+ * once.
48
+ */
49
+ onDidStartResponseStream: Event<ChatResponseStream>;
50
+
51
+ /**
52
+ * Cancel this request.
53
+ */
54
+ // TODO@API remove this? We pass a token to makeRequest call already
55
+ cancel(): void;
11
56
  }
12
57
 
13
58
  /**
14
59
  * Represents access to using a chat provider (LLM). Access is granted and temporary, usually only valid
15
- * for the duration of an user interaction.
60
+ * for the duration of an user interaction or specific time frame.
16
61
  */
17
62
  export interface ChatAccess {
18
63
 
19
64
  /**
20
- * Whether the access to chat has been revoked. This happens when the user interaction that allowed for
21
- * chat access is finished.
65
+ * Whether the access to chat has been revoked. This happens when the condition that allowed for
66
+ * chat access doesn't hold anymore, e.g a user interaction has ended.
22
67
  */
23
68
  isRevoked: boolean;
24
69
 
25
70
  /**
26
- * TODO: return an AsyncIterable instead of asking to pass Progress<...>?
71
+ * The name of the model that is used for this chat access. It is expected that the model name can
72
+ * be used to lookup properties like token limits and ChatML support
73
+ */
74
+ model: string;
75
+
76
+ /**
77
+ * Make a chat request.
78
+ *
79
+ * The actual response will be reported back via the `progress` callback. The promise returned by this function
80
+ * returns a overall result which represents failure or success of the request.
81
+ *
82
+ * Chat can be asked for multiple response options. In that case the `progress` callback will be called multiple
83
+ * time with different `ChatResponseStream` objects. Each object represents a different response option and the actual
84
+ * response will be reported back via their `stream` property.
85
+ *
86
+ * *Note:* This will throw an error if access has been revoked.
27
87
  *
28
88
  * @param messages
29
89
  * @param options
30
- * @param progress
31
- * @param token
32
90
  */
33
- makeRequest(messages: ChatMessage[], options: { [name: string]: any }, progress: Progress<ChatResponseFragment>, token: CancellationToken): Thenable<any>;
91
+ makeRequest(messages: ChatMessage[], options: { [name: string]: any }, token: CancellationToken): ChatRequest;
34
92
  }
35
93
 
36
94
  export namespace chat {
@@ -0,0 +1,21 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ declare module 'vscode' {
7
+ /**
8
+ * The tab represents an interactive window.
9
+ */
10
+ export class TabInputChat {
11
+ /**
12
+ * The uri of the history notebook in the interactive window.
13
+ */
14
+ readonly providerId: string;
15
+ constructor(providerId: string);
16
+ }
17
+
18
+ export interface Tab {
19
+ readonly input: TabInputText | TabInputTextDiff | TabInputCustom | TabInputWebview | TabInputNotebook | TabInputNotebookDiff | TabInputTerminal | TabInputChat | unknown;
20
+ }
21
+ }
@@ -17,7 +17,11 @@ declare module 'vscode' {
17
17
 
18
18
  export interface ChatVariableValue {
19
19
  level: ChatVariableLevel;
20
- value: string;
20
+ /**
21
+ * An optional type tag for extensions to communicate the kind of the variable. An extension might use it to interpret the shape of `value`.
22
+ */
23
+ kind?: string;
24
+ value: string | Uri | any;
21
25
  description?: string;
22
26
  }
23
27
 
@@ -0,0 +1,16 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ declare module 'vscode' {
7
+
8
+ export interface CodeAction {
9
+ /**
10
+ * Marks this as an AI action.
11
+ *
12
+ * Ex: A quick fix should be marked AI if it invokes AI.
13
+ */
14
+ isAI?: boolean;
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ // empty placeholder declaration for the `scm/inputBox`-menu contribution point
7
+ // https://github.com/microsoft/vscode/issues/195474
@@ -0,0 +1,51 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ // https://github.com/microsoft/vscode/issues/169724 @bpasero
7
+
8
+ declare module 'vscode' {
9
+
10
+ export interface FileSystemWatcherOptions {
11
+
12
+ /**
13
+ * Ignore when files have been created.
14
+ */
15
+ readonly ignoreCreateEvents?: boolean;
16
+
17
+ /**
18
+ * Ignore when files have been changed.
19
+ */
20
+ readonly ignoreChangeEvents?: boolean;
21
+
22
+ /**
23
+ * Ignore when files have been deleted.
24
+ */
25
+ readonly ignoreDeleteEvents?: boolean;
26
+
27
+ /**
28
+ * An optional set of glob patterns to exclude from watching.
29
+ * Glob patterns are always matched relative to the watched folder.
30
+ */
31
+ readonly excludes?: string[];
32
+ }
33
+
34
+ export namespace workspace {
35
+
36
+ /**
37
+ * A variant of {@link workspace.createFileSystemWatcher} that optionally allows to specify
38
+ * a set of glob patterns to exclude from watching.
39
+ *
40
+ * It provides the following advantages over the other {@link workspace.createFileSystemWatcher}
41
+ * method:
42
+ * - the configured excludes from `files.watcherExclude` setting are NOT applied
43
+ * - requests for recursive file watchers inside the opened workspace are NOT ignored
44
+ * - the watcher is ONLY notified for events from this request and not from any other watcher
45
+ *
46
+ * As such, this method is prefered in cases where you want full control over the watcher behavior
47
+ * without being impacted by settings or other watchers that are installed.
48
+ */
49
+ export function createFileSystemWatcher(pattern: RelativePattern, options?: FileSystemWatcherOptions): FileSystemWatcher;
50
+ }
51
+ }
@@ -0,0 +1,30 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ declare module 'vscode' {
7
+
8
+ export interface ChatAgent2 {
9
+ /**
10
+ * When true, this agent is invoked by default when no other agent is being invoked
11
+ */
12
+ isDefault?: boolean;
13
+
14
+ /**
15
+ * When true, this agent is invoked when the user submits their query using ctrl/cmd+enter
16
+ * TODO@API name
17
+ */
18
+ isSecondary?: boolean;
19
+
20
+ /**
21
+ * A string that will be added before the listing of chat agents in `/help`.
22
+ */
23
+ helpTextPrefix?: string | MarkdownString;
24
+
25
+ /**
26
+ * A string that will be appended after the listing of chat agents in `/help`.
27
+ */
28
+ helpTextPostfix?: string | MarkdownString;
29
+ }
30
+ }
@@ -14,6 +14,18 @@ declare module 'vscode' {
14
14
  handleIssueUrlRequest(): ProviderResult<Uri>;
15
15
  }
16
16
 
17
+ export interface IssueDataProvider {
18
+ /**
19
+ * Provide the data to be used in the issue reporter.
20
+ */
21
+ provideIssueData(token: CancellationToken): ProviderResult<string>;
22
+
23
+ /**
24
+ * Provide the template to be used in the description of issue reporter.
25
+ */
26
+ provideIssueTemplate(token: CancellationToken): ProviderResult<string>;
27
+ }
28
+
17
29
  export namespace env {
18
30
  /**
19
31
  * Register an {@link IssueUriRequestHandler}. By registering an issue uri request handler,
@@ -27,5 +39,19 @@ declare module 'vscode' {
27
39
  * @param handler the issue uri request handler to register for this extension.
28
40
  */
29
41
  export function registerIssueUriRequestHandler(handler: IssueUriRequestHandler): Disposable;
42
+
43
+ /**
44
+ * Register an {@link IssueDataProvider}. By registering an issue data provider,
45
+ * you can provide additional information to the built-in issue reporter.
46
+ * The repo url must be provided by package.json's repository field.
47
+ *
48
+ * Examples:
49
+ * - Provide additional information about the current workspace, current extension, current user, or OS
50
+ * - Provide data in the form of a string to the secondary description/data text box of the issue reporter.
51
+ * - Provide a template for the description of the issue reporter
52
+ *
53
+ * @param provider the issue data provider to register for this extension.
54
+ */
55
+ export function registerIssueDataProvider(provider: IssueDataProvider): Disposable;
30
56
  }
31
57
  }
@@ -20,6 +20,7 @@ declare module 'vscode' {
20
20
  // todo@API make classes
21
21
  export interface InteractiveEditorSession {
22
22
  placeholder?: string;
23
+ input?: string;
23
24
  slashCommands?: InteractiveEditorSlashCommand[];
24
25
  wholeRange?: Range;
25
26
  message?: string;
@@ -37,6 +38,7 @@ declare module 'vscode' {
37
38
  // todo@API make classes
38
39
  export interface InteractiveEditorResponse {
39
40
  edits: TextEdit[] | WorkspaceEdit;
41
+ contents?: MarkdownString;
40
42
  placeholder?: string;
41
43
  wholeRange?: Range;
42
44
  }
@@ -48,11 +50,20 @@ declare module 'vscode' {
48
50
  wholeRange?: Range;
49
51
  }
50
52
 
53
+ export interface InteractiveEditorProgressItem {
54
+ message?: string;
55
+ edits?: TextEdit[];
56
+ editsShouldBeInstant?: boolean;
57
+ slashCommand?: InteractiveEditorSlashCommand;
58
+ content?: string | MarkdownString;
59
+ }
60
+
51
61
  export enum InteractiveEditorResponseFeedbackKind {
52
62
  Unhelpful = 0,
53
63
  Helpful = 1,
54
64
  Undone = 2,
55
- Accepted = 3
65
+ Accepted = 3,
66
+ Bug = 4
56
67
  }
57
68
 
58
69
  export interface TextDocumentContext {
@@ -61,7 +72,14 @@ declare module 'vscode' {
61
72
  }
62
73
 
63
74
  export interface InteractiveEditorSessionProviderMetadata {
64
- label: string;
75
+ label?: string;
76
+ supportReportIssue?: boolean;
77
+ }
78
+
79
+ export interface InteractiveEditorReplyFollowup {
80
+ message: string;
81
+ tooltip?: string;
82
+ title?: string;
65
83
  }
66
84
 
67
85
  export interface InteractiveEditorSessionProvider<S extends InteractiveEditorSession = InteractiveEditorSession, R extends InteractiveEditorResponse | InteractiveEditorMessageResponse = InteractiveEditorResponse | InteractiveEditorMessageResponse> {
@@ -69,15 +87,14 @@ declare module 'vscode' {
69
87
  // Create a session. The lifetime of this session is the duration of the editing session with the input mode widget.
70
88
  prepareInteractiveEditorSession(context: TextDocumentContext, token: CancellationToken): ProviderResult<S>;
71
89
 
72
- provideInteractiveEditorResponse(session: S, request: InteractiveEditorRequest, progress: Progress<{ message: string; edits: TextEdit[] }>, token: CancellationToken): ProviderResult<R>;
90
+ provideInteractiveEditorResponse(session: S, request: InteractiveEditorRequest, progress: Progress<InteractiveEditorProgressItem>, token: CancellationToken): ProviderResult<R>;
91
+
92
+ provideFollowups?(session: S, response: R, token: CancellationToken): ProviderResult<InteractiveEditorReplyFollowup[]>;
73
93
 
74
94
  // eslint-disable-next-line local/vscode-dts-provider-naming
75
95
  handleInteractiveEditorResponseFeedback?(session: S, response: R, kind: InteractiveEditorResponseFeedbackKind): void;
76
96
  }
77
97
 
78
-
79
- export interface InteractiveSessionState { }
80
-
81
98
  export interface InteractiveSessionParticipantInformation {
82
99
  name: string;
83
100
 
@@ -91,70 +108,8 @@ declare module 'vscode' {
91
108
  requester: InteractiveSessionParticipantInformation;
92
109
  responder: InteractiveSessionParticipantInformation;
93
110
  inputPlaceholder?: string;
94
-
95
- saveState?(): InteractiveSessionState;
96
- }
97
-
98
- export interface InteractiveSessionRequestArgs {
99
- command: string;
100
- args: any;
101
- }
102
-
103
- export interface InteractiveRequest {
104
- session: InteractiveSession;
105
- message: string | InteractiveSessionReplyFollowup;
106
- }
107
-
108
- export interface InteractiveResponseErrorDetails {
109
- message: string;
110
- responseIsIncomplete?: boolean;
111
- responseIsFiltered?: boolean;
112
- }
113
-
114
- export interface InteractiveResponseForProgress {
115
- errorDetails?: InteractiveResponseErrorDetails;
116
- }
117
-
118
- export interface InteractiveProgressContent {
119
- content: string | MarkdownString;
120
- }
121
-
122
- export interface InteractiveProgressId {
123
- responseId: string;
124
- }
125
-
126
- export interface InteractiveProgressTask {
127
- placeholder: string;
128
- resolvedContent: Thenable<InteractiveProgressContent | InteractiveProgressFileTree>;
129
- }
130
-
131
- export interface FileTreeData {
132
- label: string;
133
- uri: Uri;
134
- children?: FileTreeData[];
135
- }
136
-
137
- export interface InteractiveProgressFileTree {
138
- treeData: FileTreeData;
139
111
  }
140
112
 
141
- export interface DocumentContext {
142
- uri: Uri;
143
- version: number;
144
- ranges: Range[];
145
- }
146
-
147
- export interface InteractiveProgressUsedContext {
148
- documents: DocumentContext[];
149
- }
150
-
151
- export type InteractiveProgress =
152
- | InteractiveProgressContent
153
- | InteractiveProgressId
154
- | InteractiveProgressTask
155
- | InteractiveProgressFileTree
156
- | InteractiveProgressUsedContext;
157
-
158
113
  export interface InteractiveResponseCommand {
159
114
  commandId: string;
160
115
  args?: any[];
@@ -162,40 +117,18 @@ declare module 'vscode' {
162
117
  when?: string;
163
118
  }
164
119
 
165
- export interface InteractiveSessionSlashCommand {
166
- command: string;
167
- kind: CompletionItemKind;
168
- detail?: string;
169
- shouldRepopulate?: boolean;
170
- followupPlaceholder?: string;
171
- executeImmediately?: boolean;
172
- yieldTo?: ReadonlyArray<{ readonly command: string }>;
173
- }
174
-
175
120
  export interface InteractiveSessionReplyFollowup {
176
121
  message: string;
177
122
  tooltip?: string;
178
123
  title?: string;
179
-
180
- // Extensions can put any serializable data here, such as an ID/version
181
- metadata?: any;
182
124
  }
183
125
 
184
- export type InteractiveSessionFollowup = InteractiveSessionReplyFollowup | InteractiveResponseCommand;
185
-
186
- export type InteractiveWelcomeMessageContent = string | InteractiveSessionReplyFollowup[];
126
+ export type InteractiveWelcomeMessageContent = string | MarkdownString | InteractiveSessionReplyFollowup[];
187
127
 
188
128
  export interface InteractiveSessionProvider<S extends InteractiveSession = InteractiveSession> {
189
129
  provideWelcomeMessage?(token: CancellationToken): ProviderResult<InteractiveWelcomeMessageContent[]>;
190
- provideFollowups?(session: S, token: CancellationToken): ProviderResult<(string | InteractiveSessionFollowup)[]>;
191
- provideSlashCommands?(session: S, token: CancellationToken): ProviderResult<InteractiveSessionSlashCommand[]>;
192
-
193
- prepareSession(initialState: InteractiveSessionState | undefined, token: CancellationToken): ProviderResult<S>;
194
- resolveRequest(session: S, context: InteractiveSessionRequestArgs | string, token: CancellationToken): ProviderResult<InteractiveRequest>;
195
- provideResponseWithProgress(request: InteractiveRequest, progress: Progress<InteractiveProgress>, token: CancellationToken): ProviderResult<InteractiveResponseForProgress>;
196
-
197
- // eslint-disable-next-line local/vscode-dts-provider-naming
198
- removeRequest(session: S, requestId: string): void;
130
+ provideSampleQuestions?(token: CancellationToken): ProviderResult<InteractiveSessionReplyFollowup[]>;
131
+ prepareSession(token: CancellationToken): ProviderResult<S>;
199
132
  }
200
133
 
201
134
  export interface InteractiveSessionDynamicRequest {
@@ -203,12 +136,6 @@ declare module 'vscode' {
203
136
  * The message that will be displayed in the UI
204
137
  */
205
138
  message: string;
206
-
207
- /**
208
- * Any extra metadata/context that will go to the provider.
209
- * NOTE not actually used yet.
210
- */
211
- metadata?: any;
212
139
  }
213
140
 
214
141
  export namespace interactive {
@@ -216,7 +143,6 @@ declare module 'vscode' {
216
143
  export const _version: 1 | number;
217
144
 
218
145
  export function registerInteractiveSessionProvider(id: string, provider: InteractiveSessionProvider): Disposable;
219
- export function addInteractiveRequest(context: InteractiveSessionRequestArgs): void;
220
146
 
221
147
  export function sendInteractiveRequestToProvider(providerId: string, message: InteractiveSessionDynamicRequest): void;
222
148
 
@@ -6,14 +6,13 @@
6
6
  declare module 'vscode' {
7
7
 
8
8
  export enum InteractiveSessionVoteDirection {
9
- Up = 1,
10
- Down = 2
9
+ Down = 0,
10
+ Up = 1
11
11
  }
12
12
 
13
13
  export interface InteractiveSessionVoteAction {
14
14
  // eslint-disable-next-line local/vscode-dts-string-type-literals
15
15
  kind: 'vote';
16
- responseId: string;
17
16
  direction: InteractiveSessionVoteDirection;
18
17
  }
19
18
 
@@ -26,7 +25,6 @@ declare module 'vscode' {
26
25
  export interface InteractiveSessionCopyAction {
27
26
  // eslint-disable-next-line local/vscode-dts-string-type-literals
28
27
  kind: 'copy';
29
- responseId: string;
30
28
  codeBlockIndex: number;
31
29
  copyType: InteractiveSessionCopyKind;
32
30
  copiedCharacters: number;
@@ -37,7 +35,6 @@ declare module 'vscode' {
37
35
  export interface InteractiveSessionInsertAction {
38
36
  // eslint-disable-next-line local/vscode-dts-string-type-literals
39
37
  kind: 'insert';
40
- responseId: string;
41
38
  codeBlockIndex: number;
42
39
  totalCharacters: number;
43
40
  newFile?: boolean;
@@ -46,7 +43,6 @@ declare module 'vscode' {
46
43
  export interface InteractiveSessionTerminalAction {
47
44
  // eslint-disable-next-line local/vscode-dts-string-type-literals
48
45
  kind: 'runInTerminal';
49
- responseId: string;
50
46
  codeBlockIndex: number;
51
47
  languageId?: string;
52
48
  }
@@ -57,7 +53,18 @@ declare module 'vscode' {
57
53
  command: InteractiveResponseCommand;
58
54
  }
59
55
 
60
- export type InteractiveSessionUserAction = InteractiveSessionVoteAction | InteractiveSessionCopyAction | InteractiveSessionInsertAction | InteractiveSessionTerminalAction | InteractiveSessionCommandAction;
56
+ export interface InteractiveSessionFollowupAction {
57
+ // eslint-disable-next-line local/vscode-dts-string-type-literals
58
+ kind: 'followUp';
59
+ followup: InteractiveSessionReplyFollowup;
60
+ }
61
+
62
+ export interface InteractiveSessionBugReportAction {
63
+ // eslint-disable-next-line local/vscode-dts-string-type-literals
64
+ kind: 'bug';
65
+ }
66
+
67
+ export type InteractiveSessionUserAction = InteractiveSessionVoteAction | InteractiveSessionCopyAction | InteractiveSessionInsertAction | InteractiveSessionTerminalAction | InteractiveSessionCommandAction | InteractiveSessionBugReportAction;
61
68
 
62
69
  export interface InteractiveSessionUserActionEvent {
63
70
  action: InteractiveSessionUserAction;
@@ -0,0 +1,12 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ declare module 'vscode' {
7
+
8
+ export interface LanguageStatusItem {
9
+
10
+ text2: string | { value: string; shortValue: string };
11
+ }
12
+ }