@codingame/monaco-vscode-api 3.2.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/api.js +4 -7
  2. package/debugProtocol.d.ts +14 -39
  3. package/extensions.d.ts +7 -1
  4. package/missing-services.js +116 -32
  5. package/monaco.d.ts +1 -1
  6. package/monaco.js +11 -1
  7. package/override/vs/platform/dialogs/common/dialogs.js +1 -0
  8. package/package.json +8 -8
  9. package/service-override/tools/editor.js +82 -3
  10. package/service-override/tools/views.d.ts +2 -1
  11. package/service-override/tools/views.js +5 -1
  12. package/services.js +4 -3
  13. package/vscode/src/vs/base/browser/dom.js +1 -7
  14. package/vscode/src/vs/base/browser/fonts.js +3 -0
  15. package/vscode/src/vs/base/browser/keyboardEvent.js +1 -1
  16. package/vscode/src/vs/base/browser/markdownRenderer.js +4 -4
  17. package/vscode/src/vs/base/browser/touch.js +13 -2
  18. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -1
  19. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +5 -6
  20. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  21. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +2 -2
  22. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -0
  23. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +4 -2
  24. package/vscode/src/vs/base/browser/ui/button/button.js +16 -9
  25. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  26. package/vscode/src/vs/base/browser/ui/contextview/contextview.d.ts +1 -0
  27. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -4
  29. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -3
  30. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -0
  31. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -0
  32. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -1
  33. package/vscode/src/vs/base/browser/ui/grid/gridview.js +1 -0
  34. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +14 -3
  35. package/vscode/src/vs/base/browser/ui/{iconLabel/iconHoverDelegate.d.ts → hover/hoverDelegate.d.ts} +3 -6
  36. package/vscode/src/vs/base/browser/ui/hover/{hoverDelegate.js → hoverDelegateFactory.js} +5 -5
  37. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.d.ts → hover/updatableHoverWidget.d.ts} +6 -1
  39. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.js → hover/updatableHoverWidget.js} +27 -7
  40. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +10 -9
  41. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +11 -1
  42. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +19 -1
  43. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +8 -7
  44. package/vscode/src/vs/base/browser/ui/list/listView.js +4 -1
  45. package/vscode/src/vs/base/browser/ui/list/listWidget.js +27 -10
  46. package/vscode/src/vs/base/browser/ui/menu/menu.js +15 -9
  47. package/vscode/src/vs/base/browser/ui/menu/menubar.js +15 -8
  48. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +18 -2
  49. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +1 -0
  50. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +14 -7
  51. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +6 -4
  52. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +7 -6
  53. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  54. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +55 -10
  55. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +4 -1
  56. package/vscode/src/vs/base/browser/window.d.ts +5 -0
  57. package/vscode/src/vs/base/browser/window.js +1 -2
  58. package/vscode/src/vs/base/common/arrays.js +20 -1
  59. package/vscode/src/vs/base/common/cache.js +3 -2
  60. package/vscode/src/vs/base/common/codicons.d.ts +62 -38
  61. package/vscode/src/vs/base/common/codicons.js +19 -571
  62. package/vscode/src/vs/base/common/codiconsLibrary.js +570 -0
  63. package/vscode/src/vs/base/common/codiconsUtil.js +17 -0
  64. package/vscode/src/vs/base/common/event.js +4 -1
  65. package/vscode/src/vs/base/common/glob.js +1 -0
  66. package/vscode/src/vs/base/common/hierarchicalKind.d.ts +13 -0
  67. package/vscode/src/vs/base/common/hierarchicalKind.js +21 -0
  68. package/vscode/src/vs/base/common/labels.js +2 -2
  69. package/vscode/src/vs/base/common/network.js +14 -5
  70. package/vscode/src/vs/base/common/observableInternal/promise.js +1 -0
  71. package/vscode/src/vs/base/common/observableInternal/utils.js +35 -14
  72. package/vscode/src/vs/base/common/platform.js +1 -1
  73. package/vscode/src/vs/base/common/product.d.ts +7 -1
  74. package/vscode/src/vs/base/common/severity.js +2 -1
  75. package/vscode/src/vs/base/common/strings.js +16 -4
  76. package/vscode/src/vs/base/parts/ipc/common/ipc.js +4 -0
  77. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +5 -5
  78. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +55 -43
  79. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +5 -5
  80. package/vscode/src/vs/editor/browser/coreCommands.js +13 -13
  81. package/vscode/src/vs/editor/browser/editorDom.js +11 -1
  82. package/vscode/src/vs/editor/browser/editorExtensions.js +1 -1
  83. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +10 -2
  84. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +31 -0
  85. package/vscode/src/vs/editor/browser/services/{hoverService.js → hoverService/hoverService.js} +38 -27
  86. package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hoverWidget.js +13 -14
  87. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -4
  88. package/vscode/src/vs/editor/browser/view/viewOverlays.js +12 -23
  89. package/vscode/src/vs/editor/browser/view.js +5 -5
  90. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  91. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +3 -3
  92. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css.js +1 -1
  93. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +4 -6
  94. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.css.js +1 -1
  95. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +8 -14
  96. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +2 -2
  97. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +2 -2
  98. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.css.js +1 -1
  99. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +3 -6
  100. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css.js +1 -1
  101. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +5 -1
  102. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  103. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.css.js +1 -1
  104. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +5 -5
  105. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  106. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  107. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +142 -27
  108. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  109. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +34 -16
  110. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  111. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
  112. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +23 -20
  113. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +25 -3
  114. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +21 -13
  115. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  116. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +2 -2
  117. package/vscode/src/vs/editor/browser/widget/{codeEditorContributions.js → codeEditor/codeEditorContributions.js} +3 -3
  118. package/vscode/src/vs/editor/browser/widget/{codeEditorWidget.js → codeEditor/codeEditorWidget.js} +81 -70
  119. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +4 -0
  120. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +44 -0
  121. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +281 -0
  122. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +7 -5
  123. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +4 -1
  124. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +15 -9
  125. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +2 -0
  126. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +9 -8
  127. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +1 -1
  128. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +33 -246
  129. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +22 -7
  130. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +5 -5
  131. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +71 -41
  132. package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js +36 -0
  133. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +227 -0
  134. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +22 -19
  135. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +5 -4
  136. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +15 -4
  137. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +13 -5
  138. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +11 -1
  139. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  140. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +104 -0
  141. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +8 -15
  142. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/colors.js +14 -4
  143. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/diffEditorItemTemplate.js +6 -5
  144. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +14 -0
  145. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorViewModel.js +5 -2
  146. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidget.js +5 -3
  147. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidgetImpl.js +9 -10
  148. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/style.css.js +1 -1
  149. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/utils.js +2 -1
  150. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +14 -3
  151. package/vscode/src/vs/editor/common/config/diffEditor.js +1 -0
  152. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +10 -1
  153. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -0
  154. package/vscode/src/vs/editor/common/config/editorOptions.js +115 -33
  155. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +32 -2
  156. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  157. package/vscode/src/vs/editor/common/core/lineRange.js +12 -0
  158. package/vscode/src/vs/editor/common/core/positionToOffset.js +43 -0
  159. package/vscode/src/vs/editor/common/core/textEdit.js +169 -0
  160. package/vscode/src/vs/editor/common/core/textLength.js +110 -0
  161. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.d.ts +14 -2
  162. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +66 -10
  163. package/vscode/src/vs/editor/common/core/wordHelper.js +1 -0
  164. package/vscode/src/vs/editor/common/cursor/cursor.js +17 -4
  165. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +1 -1
  166. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +22 -3
  167. package/vscode/src/vs/editor/common/cursorCommon.js +7 -5
  168. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +7 -4
  169. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +1 -1
  170. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +2 -0
  171. package/vscode/src/vs/editor/common/diff/rangeMapping.js +10 -0
  172. package/vscode/src/vs/editor/common/editorContextKeys.js +25 -0
  173. package/vscode/src/vs/editor/common/languages.d.ts +43 -11
  174. package/vscode/src/vs/editor/common/languages.js +15 -1
  175. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +1 -1
  176. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +3 -58
  177. package/vscode/src/vs/editor/common/model/textModel.js +2 -0
  178. package/vscode/src/vs/editor/common/model/textModelSearch.js +1 -1
  179. package/vscode/src/vs/editor/common/model/textModelText.js +17 -0
  180. package/vscode/src/vs/editor/common/model/textModelTokens.js +4 -0
  181. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +10 -0
  182. package/vscode/src/vs/editor/common/model.d.ts +17 -2
  183. package/vscode/src/vs/editor/common/model.js +1 -6
  184. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +8 -0
  185. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +2 -0
  186. package/vscode/src/vs/editor/common/services/findSectionHeaders.d.ts +28 -0
  187. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +71 -0
  188. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +15 -5
  189. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +32 -20
  190. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +2 -1
  191. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +5 -5
  192. package/vscode/src/vs/editor/common/viewLayout/viewLinesViewportData.js +1 -0
  193. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  194. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  195. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +10 -7
  196. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +11 -1
  197. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +6 -5
  198. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +5 -4
  199. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +25 -3
  200. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +3 -2
  201. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +3 -2
  202. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +13 -2
  203. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +18 -33
  204. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  205. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  206. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +1 -1
  207. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +11 -1
  208. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +1 -1
  209. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +9 -9
  210. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +5 -3
  211. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +1 -1
  212. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +40 -20
  213. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +83 -47
  214. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +40 -31
  215. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +16 -1
  216. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +8 -8
  217. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +5 -3
  218. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -6
  219. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +14 -4
  220. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  221. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +16 -1
  222. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +23 -3
  223. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -3
  224. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +11 -1
  225. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +3 -3
  226. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +5 -3
  227. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +1 -1
  228. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +12 -2
  229. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +3 -91
  230. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +92 -0
  231. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +14 -4
  232. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +4 -0
  233. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +18 -19
  234. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +5 -4
  235. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +4 -2
  236. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +4 -1
  237. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +6 -5
  238. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -4
  239. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +28 -19
  240. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +7 -4
  241. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +1 -1
  242. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +64 -72
  243. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +11 -5
  244. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +5 -85
  245. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +2 -2
  246. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +6 -4
  247. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +4 -1
  248. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +28 -17
  249. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -4
  250. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  251. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +53 -6
  252. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +1 -1
  253. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +11 -1
  254. package/vscode/src/vs/editor/contrib/links/browser/links.js +2 -2
  255. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +7 -7
  256. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -1
  257. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +12 -2
  258. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  259. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +27 -33
  260. package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.js → renameWidget.js} +282 -194
  261. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +154 -0
  262. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +60 -61
  263. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +23 -14
  264. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
  265. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +12 -2
  266. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +11 -1
  267. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +1 -1
  268. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +16 -6
  269. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +2 -2
  270. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +12 -12
  271. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +2 -2
  272. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +1 -1
  273. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +2 -2
  274. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +1 -1
  275. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +12 -12
  276. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +11 -1
  277. package/vscode/src/vs/editor/standalone/common/themes.js +11 -1
  278. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +16 -9
  279. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +42 -18
  280. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +16 -5
  281. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +11 -1
  282. package/vscode/src/vs/platform/actions/browser/buttonbar.js +13 -5
  283. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -1
  284. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +11 -1
  285. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +11 -1
  286. package/vscode/src/vs/platform/actions/common/actions.d.ts +7 -0
  287. package/vscode/src/vs/platform/actions/common/actions.js +7 -0
  288. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +1 -0
  289. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +12 -15
  290. package/vscode/src/vs/platform/dialogs/common/dialogs.js +4 -2
  291. package/vscode/src/vs/platform/editor/common/editor.d.ts +12 -0
  292. package/vscode/src/vs/platform/environment/common/environmentService.js +6 -0
  293. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +19 -7
  294. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +7 -1
  295. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +333 -0
  296. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +901 -0
  297. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +3 -4
  298. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +16 -16
  299. package/vscode/src/vs/platform/extensions/common/extensions.js +5 -1
  300. package/vscode/src/vs/platform/files/common/files.d.ts +1 -11
  301. package/vscode/src/vs/platform/files/common/files.js +2 -0
  302. package/vscode/src/vs/platform/files/common/watcher.js +2 -0
  303. package/vscode/src/vs/platform/hover/browser/hover.d.ts +1 -1
  304. package/vscode/src/vs/platform/hover/browser/hover.js +21 -6
  305. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.js +1 -0
  306. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +5 -0
  307. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +8 -6
  308. package/vscode/src/vs/platform/log/browser/log.js +1 -0
  309. package/vscode/src/vs/platform/log/common/log.js +13 -1
  310. package/vscode/src/vs/platform/markers/common/markerService.js +1 -1
  311. package/vscode/src/vs/platform/markers/common/markers.js +9 -9
  312. package/vscode/src/vs/platform/opener/browser/link.js +16 -4
  313. package/vscode/src/vs/platform/policy/common/policy.js +2 -0
  314. package/vscode/src/vs/platform/product/common/product.js +2 -1
  315. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  316. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +36 -33
  317. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +5 -0
  318. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +38 -9
  319. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +7 -4
  320. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +22 -12
  321. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +13 -5
  322. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1348 -0
  323. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  324. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +14 -0
  325. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -2
  326. package/vscode/src/vs/platform/remote/common/remoteHosts.js +1 -4
  327. package/vscode/src/vs/platform/secrets/common/secrets.js +5 -0
  328. package/vscode/src/vs/platform/severityIcon/browser/severityIcon.js +5 -5
  329. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -0
  330. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -1
  331. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +3 -9
  332. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -1
  333. package/vscode/src/vs/platform/terminal/common/terminal.js +1 -0
  334. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +4 -1
  335. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -1
  336. package/vscode/src/vs/platform/theme/common/colorUtils.js +187 -0
  337. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +89 -0
  338. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +46 -0
  339. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +469 -0
  340. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +196 -0
  341. package/vscode/src/vs/platform/theme/common/colors/listColors.js +166 -0
  342. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +41 -0
  343. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +61 -0
  344. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +45 -0
  345. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +51 -0
  346. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +19 -0
  347. package/vscode/src/vs/platform/theme/common/iconRegistry.js +2 -1
  348. package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
  349. package/vscode/src/vs/platform/tunnel/common/tunnel.js +2 -0
  350. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +2 -2
  351. package/vscode/src/vs/platform/update/common/update.js +1 -1
  352. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +1 -0
  353. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileIpc.js +2 -0
  354. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +69 -32
  355. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +6 -0
  356. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +3 -1
  357. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +12 -5
  358. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -8
  359. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +58 -88
  360. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +8 -4
  361. package/vscode/src/vs/workbench/api/common/extHostComments.js +49 -13
  362. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +16 -17
  363. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +3 -1
  364. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +1 -1
  365. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +17 -4
  366. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +1 -1
  367. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +57 -40
  368. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +305 -0
  369. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +2 -2
  370. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +1 -1
  371. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +26 -6
  372. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +9 -9
  373. package/vscode/src/vs/workbench/api/common/extHostSCM.js +1 -1
  374. package/vscode/src/vs/workbench/api/common/extHostSearch.js +34 -3
  375. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +1 -1
  376. package/vscode/src/vs/workbench/api/common/extHostTask.js +1 -0
  377. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +32 -18
  378. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +214 -0
  379. package/vscode/src/vs/workbench/api/common/extHostTesting.js +85 -98
  380. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +1 -0
  381. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +5 -2
  382. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +119 -70
  383. package/vscode/src/vs/workbench/api/common/extHostTypes.js +90 -28
  384. package/vscode/src/vs/workbench/browser/actions/developerActions.js +4 -4
  385. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +2 -2
  386. package/vscode/src/vs/workbench/browser/actions/windowActions.js +3 -3
  387. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +3 -3
  388. package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
  389. package/vscode/src/vs/workbench/browser/composite.d.ts +3 -5
  390. package/vscode/src/vs/workbench/browser/composite.js +2 -10
  391. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  392. package/vscode/src/vs/workbench/browser/labels.js +2 -1
  393. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  394. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  395. package/vscode/src/vs/workbench/browser/part.d.ts +25 -3
  396. package/vscode/src/vs/workbench/browser/part.js +84 -9
  397. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +67 -10
  398. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +2 -2
  399. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +92 -14
  400. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +1 -1
  401. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +5 -4
  402. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +13 -3
  403. package/vscode/src/vs/workbench/browser/parts/compositePart.js +13 -5
  404. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +12 -0
  405. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +10 -10
  406. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  407. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +8 -7
  408. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +16 -8
  409. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +217 -0
  410. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +14 -16
  411. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +2 -2
  412. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +8 -7
  413. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +4 -202
  414. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -1
  415. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +11 -1
  416. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +92 -23
  417. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +15 -3
  418. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.d.ts +7 -8
  419. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +7 -6
  420. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +12 -32
  421. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +11 -1
  422. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +1 -0
  423. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +27 -28
  424. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +19 -20
  425. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -2
  426. package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.js +14 -17
  427. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +11 -1
  428. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +12 -12
  429. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -16
  430. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +3 -3
  431. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +17 -17
  432. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +36 -13
  433. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +22 -22
  434. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -21
  435. package/vscode/src/vs/workbench/browser/parts/media/compositepart.css.js +1 -1
  436. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  437. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +13 -2
  438. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +11 -1
  439. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +16 -16
  440. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -0
  441. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +122 -33
  442. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +14 -3
  443. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +15 -2
  444. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +1 -1
  445. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +37 -0
  446. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +36 -18
  447. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +7 -4
  448. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +6 -4
  449. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
  450. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  451. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +3 -3
  452. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -3
  453. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +6 -0
  454. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +28 -11
  455. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +19 -15
  456. package/vscode/src/vs/workbench/browser/quickaccess.js +42 -15
  457. package/vscode/src/vs/workbench/browser/style.js +52 -3
  458. package/vscode/src/vs/workbench/browser/web.api.d.ts +6 -0
  459. package/vscode/src/vs/workbench/browser/window.js +28 -20
  460. package/vscode/src/vs/workbench/browser/workbench.contribution.js +83 -9
  461. package/vscode/src/vs/workbench/common/component.js +0 -1
  462. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  463. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +59 -5
  464. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +10 -0
  465. package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -0
  466. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +1 -0
  467. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +3 -1
  468. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +7 -3
  469. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +3 -3
  470. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +2 -1
  471. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
  472. package/vscode/src/vs/workbench/common/editor.d.ts +33 -13
  473. package/vscode/src/vs/workbench/common/editor.js +6 -7
  474. package/vscode/src/vs/workbench/common/theme.js +45 -5
  475. package/vscode/src/vs/workbench/common/views.d.ts +1 -0
  476. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +59 -184
  477. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +1 -0
  478. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +140 -13
  479. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +1 -1
  480. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +1 -0
  481. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +4 -2
  482. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +35 -36
  483. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +1 -1
  484. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +1 -1
  485. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +4 -5
  486. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +21 -12
  487. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +70 -32
  488. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +4 -1
  489. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +4 -1
  490. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +118 -0
  491. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +11 -6
  492. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +154 -61
  493. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +186 -224
  494. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +6 -75
  495. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +158 -49
  496. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +84 -175
  497. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +38 -5
  498. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  499. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +105 -0
  500. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +137 -43
  501. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +44 -0
  502. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -1
  503. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +82 -34
  504. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +17 -3
  505. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +20 -22
  506. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +68 -9
  507. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +115 -0
  508. package/vscode/src/vs/workbench/contrib/chat/common/{chatProvider.js → languageModels.js} +9 -9
  509. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +5 -4
  510. package/vscode/src/vs/workbench/contrib/codeActions/browser/documentationContribution.js +2 -1
  511. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -5
  512. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +33 -7
  513. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -1
  514. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -3
  515. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +9 -6
  516. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +13 -3
  517. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +1 -1
  518. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -2
  519. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +1 -1
  520. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +1 -1
  521. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -6
  522. package/vscode/src/vs/workbench/contrib/codeEditor/{browser → common}/languageConfigurationExtensionPoint.js +79 -74
  523. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +11 -1
  524. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +11 -1
  525. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +25 -18
  526. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -2
  527. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +80 -52
  528. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -2
  529. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +33 -13
  530. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +129 -57
  531. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +15 -15
  532. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +145 -20
  533. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +61 -95
  534. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +2 -2
  535. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  536. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -2
  537. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +4 -3
  538. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +18 -11
  539. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +6 -0
  540. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +62 -4
  541. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +6 -4
  542. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +34 -5
  543. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +48 -29
  544. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +216 -23
  545. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +11 -1
  546. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -2
  547. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +6 -1
  548. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +23 -5
  549. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  550. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +15 -1
  551. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +30 -6
  552. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +2 -2
  553. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +106 -37
  554. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +1 -1
  555. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +1 -0
  556. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +8 -11
  557. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +5 -3
  558. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +23 -24
  559. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +17 -12
  560. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +3 -3
  561. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +9 -9
  562. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.save.js +1 -1
  563. package/vscode/src/vs/workbench/contrib/files/browser/files.configuration.contribution.js +10 -0
  564. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +11 -1
  565. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +11 -1
  566. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +1 -3
  567. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +1 -1
  568. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +15 -6
  569. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +4 -8
  570. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +674 -0
  571. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +154 -0
  572. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -344
  573. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +223 -0
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +8 -25
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +427 -0
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +45 -160
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +358 -702
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +165 -0
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +4 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +4 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -1
  582. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +16 -27
  583. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +19 -4
  584. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +9 -9
  585. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +1 -1
  586. package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.js +2 -2
  587. package/vscode/src/vs/workbench/contrib/logs/common/defaultLogLevels.js +17 -2
  588. package/vscode/src/vs/workbench/contrib/logs/common/logsActions.js +236 -0
  589. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +2 -2
  590. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +9 -4
  591. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +8 -6
  592. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +8 -0
  593. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +5 -5
  594. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +5 -5
  595. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -0
  596. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +4 -2
  597. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +11 -1
  598. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +5 -3
  599. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +5 -3
  600. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +6 -4
  601. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +5 -4
  602. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +7 -5
  603. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +6 -4
  604. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.js +2 -2
  605. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +23 -19
  606. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +4 -1
  607. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +5 -3
  608. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +9 -0
  609. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +303 -0
  610. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +655 -0
  611. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +101 -0
  612. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +56 -1
  613. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +11 -1
  614. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +11 -4
  615. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +29 -0
  616. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +888 -0
  617. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +2 -1
  618. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +1 -1
  619. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  620. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css.js +1 -1
  621. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css.js +1 -1
  622. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css.js +1 -1
  623. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +88 -0
  624. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +60 -46
  625. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +42 -52
  626. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +18 -7
  627. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  628. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +28 -1
  629. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +2 -2
  630. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +11 -7
  631. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  632. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +48 -4
  633. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  634. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +3 -1
  635. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +13 -2
  636. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +57 -10
  637. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +11 -4
  638. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +161 -15
  639. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +4 -2
  640. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +21 -2
  641. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +1 -1
  642. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +5 -0
  643. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +14 -4
  644. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +14 -8
  645. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +3 -0
  646. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +25 -64
  647. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +27 -22
  648. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  649. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
  650. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  651. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +8 -1
  652. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
  653. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +7 -14
  654. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +4 -4
  655. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +10 -0
  656. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +16 -4
  657. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +17 -4
  658. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +11 -1
  659. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +26 -8
  660. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +16 -6
  661. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +11 -1
  662. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +18 -8
  663. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +235 -0
  664. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +182 -69
  665. package/vscode/src/vs/workbench/contrib/search/common/constants.js +2 -0
  666. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +203 -1
  667. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +3 -0
  668. package/vscode/src/vs/workbench/contrib/tags/common/workspaceTags.js +2 -0
  669. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +11 -3
  670. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +2 -2
  671. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +58 -8
  672. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +3 -1
  673. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -0
  674. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +12 -1
  675. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +11 -1
  676. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +53 -57
  677. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +11 -26
  678. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -3
  679. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +12 -12
  680. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +8 -0
  681. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +2 -0
  682. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +1 -1
  683. package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +30 -7
  684. package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +12 -2
  685. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +50 -41
  686. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -5
  687. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +20 -22
  688. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +4 -1
  689. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +1 -0
  690. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +3 -3
  691. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
  692. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +2 -0
  693. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +6 -0
  694. package/vscode/src/vs/workbench/services/authentication/browser/authenticationAccessService.js +69 -0
  695. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +69 -811
  696. package/vscode/src/vs/workbench/services/authentication/browser/authenticationUsageService.js +50 -0
  697. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  698. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +50 -25
  699. package/vscode/src/vs/workbench/services/banner/browser/bannerService.d.ts +1 -1
  700. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +1 -0
  701. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +1 -0
  702. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +21 -17
  703. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.d.ts +12 -0
  704. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +144 -0
  705. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +10 -6
  706. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +3 -3
  707. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +16 -4
  708. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +12 -1
  709. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +46 -121
  710. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +5 -2
  711. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +6 -3
  712. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +9 -1
  713. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +4 -4
  714. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +2 -1
  715. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +8 -1
  716. package/vscode/src/vs/workbench/services/history/browser/historyService.js +44 -36
  717. package/vscode/src/vs/workbench/services/history/common/history.d.ts +0 -5
  718. package/vscode/src/vs/workbench/services/language/common/languageService.js +4 -3
  719. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  720. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +2 -1
  721. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +8 -6
  722. package/vscode/src/vs/workbench/services/output/common/output.js +4 -1
  723. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +2 -2
  724. package/vscode/src/vs/workbench/services/search/common/search.js +1 -0
  725. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +15 -5
  726. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +6 -1
  727. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  728. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  729. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +11 -1
  730. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +5 -3
  731. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +1 -1
  732. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +1 -0
  733. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +7 -7
  734. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +261 -0
  735. package/vscode-dts/vscode.proposed.authLearnMore.d.ts +16 -0
  736. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +49 -78
  737. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +13 -16
  738. package/vscode-dts/vscode.proposed.chatProvider.d.ts +1 -1
  739. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +32 -0
  740. package/vscode-dts/vscode.proposed.commentingRangeHint.d.ts +16 -0
  741. package/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts +6 -0
  742. package/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts +6 -0
  743. package/vscode-dts/vscode.proposed.debugFocus.d.ts +15 -23
  744. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +10 -0
  745. package/vscode-dts/vscode.proposed.documentPaste.d.ts +115 -30
  746. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +19 -14
  747. package/vscode-dts/vscode.proposed.fileComments.d.ts +2 -4
  748. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +18 -0
  749. package/vscode-dts/vscode.proposed.interactive.d.ts +0 -16
  750. package/vscode-dts/vscode.proposed.languageModels.d.ts +115 -53
  751. package/vscode-dts/vscode.proposed.notebookCellExecution.d.ts +44 -0
  752. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +3 -0
  753. package/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts +22 -0
  754. package/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts +2 -0
  755. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +207 -0
  756. package/vscode/src/vs/editor/browser/services/hoverService.d.ts +0 -30
  757. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +0 -74
  758. package/vscode/src/vs/editor/browser/widget/media/editor.css.js +0 -4
  759. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +0 -881
  760. package/vscode/src/vs/platform/theme/common/colorRegistry.js +0 -1316
  761. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +0 -253
  762. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.css.js +0 -4
  763. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +0 -74
  764. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +0 -4
  765. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +0 -424
  766. package/vscode-dts/vscode.proposed.testCoverage.d.ts +0 -222
  767. /package/vscode/src/vs/base/browser/ui/hover/{hover.css.js → hoverWidget.css.js} +0 -0
  768. /package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hover.css.js +0 -0
  769. /package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/objectPool.js +0 -0
  770. /package/vscode/src/vs/editor/contrib/indentation/{browser → common}/indentUtils.js +0 -0
  771. /package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.css.js → renameWidget.css.js} +0 -0
  772. /package/vscode/src/vs/platform/theme/common/{colorRegistry.d.ts → colorUtils.d.ts} +0 -0
@@ -8,55 +8,106 @@ declare module 'vscode' {
8
8
  // https://github.com/microsoft/vscode/issues/30066/
9
9
 
10
10
  /**
11
- * Provider invoked when the user copies and pastes code.
11
+ * The reason why paste edits were requested.
12
12
  */
13
- interface DocumentPasteEditProvider {
13
+ export enum DocumentPasteTriggerKind {
14
+ /**
15
+ * Pasting was requested as part of a normal paste operation.
16
+ */
17
+ Automatic = 0,
18
+
19
+ /**
20
+ * Pasting was requested by the user with the `paste as` command.
21
+ */
22
+ PasteAs = 1,
23
+ }
24
+
25
+ /**
26
+ * Additional information about the paste operation.
27
+ */
28
+
29
+ export interface DocumentPasteEditContext {
30
+ /**
31
+ * Requested kind of paste edits to return.
32
+ */
33
+ readonly only: DocumentPasteEditKind | undefined;
34
+
35
+ /**
36
+ * The reason why paste edits were requested.
37
+ */
38
+ readonly triggerKind: DocumentPasteTriggerKind;
39
+ }
40
+
41
+ /**
42
+ * Provider invoked when the user copies or pastes in a {@linkcode TextDocument}.
43
+ */
44
+ interface DocumentPasteEditProvider<T extends DocumentPasteEdit = DocumentPasteEdit> {
14
45
 
15
46
  /**
16
47
  * Optional method invoked after the user copies text in a file.
17
48
  *
18
- * During {@link prepareDocumentPaste}, an extension can compute metadata that is attached to
19
- * a {@link DataTransfer} and is passed back to the provider in {@link provideDocumentPasteEdits}.
49
+ * This allows the provider to attach copy metadata to the {@link DataTransfer}
50
+ * which is then passed back to providers in {@linkcode provideDocumentPasteEdits}.
51
+ *
52
+ * Note that currently any changes to the {@linkcode DataTransfer} are isolated to the current editor session.
53
+ * This means that added metadata cannot be seen by other applications.
20
54
  *
21
55
  * @param document Document where the copy took place.
22
- * @param ranges Ranges being copied in the `document`.
23
- * @param dataTransfer The data transfer associated with the copy. You can store additional values on this for later use in {@link provideDocumentPasteEdits}.
56
+ * @param ranges Ranges being copied in {@linkcode document}.
57
+ * @param dataTransfer The data transfer associated with the copy. You can store additional values on this for later use in {@linkcode provideDocumentPasteEdits}.
58
+ * This object is only valid for the duration of this method.
24
59
  * @param token A cancellation token.
60
+ *
61
+ * @return Optional thenable that resolves when all changes to the `dataTransfer` are complete.
25
62
  */
26
63
  prepareDocumentPaste?(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>;
27
64
 
28
65
  /**
29
66
  * Invoked before the user pastes into a document.
30
67
  *
31
- * In this method, extensions can return a workspace edit that replaces the standard pasting behavior.
68
+ * Returned edits can replace the standard pasting behavior.
32
69
  *
33
70
  * @param document Document being pasted into
34
- * @param ranges Currently selected ranges in the document.
35
- * @param dataTransfer The data transfer associated with the paste.
71
+ * @param ranges Range in the {@linkcode document} to paste into.
72
+ * @param dataTransfer The {@link DataTransfer data transfer} associated with the paste. This object is only valid for the duration of the paste operation.
73
+ * @param context Additional context for the paste.
36
74
  * @param token A cancellation token.
37
75
  *
38
- * @return Optional workspace edit that applies the paste. Return undefined to use standard pasting.
76
+ * @return Set of potential {@link DocumentPasteEdit edits} that apply the paste. Return `undefined` to use standard pasting.
39
77
  */
40
- provideDocumentPasteEdits?(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, token: CancellationToken): ProviderResult<DocumentPasteEdit>;
78
+ provideDocumentPasteEdits?(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, context: DocumentPasteEditContext, token: CancellationToken): ProviderResult<T[]>;
79
+
80
+ /**
81
+ * Optional method which fills in the {@linkcode DocumentPasteEdit.additionalEdit} before the edit is applied.
82
+ *
83
+ * This is called once per edit and should be used if generating the complete edit may take a long time.
84
+ * Resolve can only be used to change {@link DocumentPasteEdit.additionalEdit}.
85
+ *
86
+ * @param pasteEdit The {@linkcode DocumentPasteEdit} to resolve.
87
+ * @param token A cancellation token.
88
+ *
89
+ * @returns The resolved paste edit or a thenable that resolves to such. It is OK to return the given
90
+ * `pasteEdit`. If no result is returned, the given `pasteEdit` is used.
91
+ */
92
+ resolveDocumentPasteEdit?(pasteEdit: T, token: CancellationToken): ProviderResult<T>;
41
93
  }
42
94
 
43
95
  /**
44
- * An operation applied on paste
96
+ * An edit applied on paste.
45
97
  */
46
98
  class DocumentPasteEdit {
47
99
 
48
100
  /**
49
101
  * Human readable label that describes the edit.
50
102
  */
51
- label: string;
103
+ title: string;
52
104
 
53
105
  /**
54
- * Controls the ordering or multiple paste edits. If this provider yield to edits, it will be shown lower in the list.
106
+ * {@link DocumentPasteEditKind Kind} of the edit.
107
+ *
108
+ * Used to identify specific types of edits.
55
109
  */
56
- yieldTo?: ReadonlyArray<
57
- | { readonly extensionId: string; readonly providerId: string }
58
- | { readonly mimeType: string }
59
- >;
110
+ kind: DocumentPasteEditKind;
60
111
 
61
112
  /**
62
113
  * The text or snippet to insert at the pasted locations.
@@ -69,43 +120,77 @@ declare module 'vscode' {
69
120
  additionalEdit?: WorkspaceEdit;
70
121
 
71
122
  /**
72
- * @param insertText The text or snippet to insert at the pasted locations.
123
+ * Controls the ordering of paste edits provided by multiple providers.
124
+ *
125
+ * If this edit yields to another, it will be shown lower in the list of paste edit.
126
+ */
127
+ yieldTo?: readonly DocumentPasteEditKind[];
128
+
129
+ /**
130
+ * Create a new paste edit.
73
131
  *
74
- * TODO: Reverse args, but this will break existing consumers :(
132
+ * @param insertText The text or snippet to insert at the pasted locations.
133
+ * @param title Human readable label that describes the edit.
134
+ * @param kind {@link DocumentPasteEditKind Kind} of the edit.
75
135
  */
76
- constructor(insertText: string | SnippetString, label: string);
136
+ constructor(insertText: string | SnippetString, title: string, kind: DocumentPasteEditKind);
137
+ }
138
+
139
+
140
+ /**
141
+ * TODO: Share with code action kind?
142
+ */
143
+ class DocumentPasteEditKind {
144
+ static readonly Empty: DocumentPasteEditKind;
145
+
146
+ // TODO: Add `Text` any others?
147
+
148
+ private constructor(value: string);
149
+
150
+ readonly value: string;
151
+
152
+ append(...parts: string[]): CodeActionKind;
153
+ intersects(other: CodeActionKind): boolean;
154
+ contains(other: CodeActionKind): boolean;
77
155
  }
78
156
 
79
157
  interface DocumentPasteProviderMetadata {
80
158
  /**
81
- * Identifies the provider.
82
- *
83
- * This id is used when users configure the default provider for paste.
159
+ * List of {@link DocumentPasteEditKind kinds} that the provider may return in {@linkcode DocumentPasteEditProvider.provideDocumentPasteEdits provideDocumentPasteEdits}.
84
160
  *
85
- * This id should be unique within the extension but does not need to be unique across extensions.
161
+ * The provider will only be invoked when one of these kinds is being requested. For normal pasting, all providers will be invoked.
86
162
  */
87
- readonly id: string;
163
+ readonly providedPasteEditKinds: readonly DocumentPasteEditKind[];
88
164
 
89
165
  /**
90
- * Mime types that {@link DocumentPasteEditProvider.prepareDocumentPaste provideDocumentPasteEdits} may add on copy.
166
+ * Mime types that {@linkcode DocumentPasteEditProvider.prepareDocumentPaste prepareDocumentPaste} may add on copy.
91
167
  */
92
168
  readonly copyMimeTypes?: readonly string[];
93
169
 
94
170
  /**
95
- * Mime types that {@link DocumentPasteEditProvider.provideDocumentPasteEdits provideDocumentPasteEdits} should be invoked for.
171
+ * Mime types that {@linkcode DocumentPasteEditProvider.provideDocumentPasteEdits provideDocumentPasteEdits} should be invoked for.
96
172
  *
97
173
  * This can either be an exact mime type such as `image/png`, or a wildcard pattern such as `image/*`.
98
174
  *
99
175
  * Use `text/uri-list` for resources dropped from the explorer or other tree views in the workbench.
100
176
  *
101
- * Use `files` to indicate that the provider should be invoked if any {@link DataTransferFile files} are present in the {@link DataTransfer}.
102
- * Note that {@link DataTransferFile} entries are only created when dropping content from outside the editor, such as
177
+ * Use `files` to indicate that the provider should be invoked if any {@link DataTransferFile files} are present in the {@linkcode DataTransfer}.
178
+ * Note that {@linkcode DataTransferFile} entries are only created when dropping content from outside the editor, such as
103
179
  * from the operating system.
104
180
  */
105
181
  readonly pasteMimeTypes?: readonly string[];
106
182
  }
107
183
 
108
184
  namespace languages {
185
+ /**
186
+ * Registers a new {@linkcode DocumentPasteEditProvider}.
187
+ *
188
+ * @param selector A selector that defines the documents this provider applies to.
189
+ * @param provider A paste editor provider.
190
+ * @param metadata Additional metadata about the provider.
191
+ *
192
+ * @returns A {@link Disposable} that unregisters this provider when disposed of.
193
+ */
109
194
  export function registerDocumentPasteEditProvider(selector: DocumentSelector, provider: DocumentPasteEditProvider, metadata: DocumentPasteProviderMetadata): Disposable;
110
195
  }
111
196
  }
@@ -7,11 +7,27 @@ declare module 'vscode' {
7
7
 
8
8
  // https://github.com/microsoft/vscode/issues/179430
9
9
 
10
+
11
+ /**
12
+ * TODO:
13
+ * - Add ctor(insertText: string | SnippetString, title?: string, kind?: DocumentPasteEditKind); Can't be done as this is an extension to an existing class
14
+ * - Update provider to return multiple edits
15
+ */
16
+
10
17
  export interface DocumentDropEdit {
11
18
  /**
12
19
  * Human readable label that describes the edit.
13
20
  */
14
- label?: string;
21
+ title?: string;
22
+
23
+ /**
24
+ * {@link DocumentPasteEditKind Kind} of the edit.
25
+ *
26
+ * Used to identify specific types of edits.
27
+ *
28
+ * TODO: use own type?
29
+ */
30
+ kind: DocumentPasteEditKind;
15
31
 
16
32
  /**
17
33
  * The mime type from the {@link DataTransfer} that this edit applies.
@@ -23,22 +39,11 @@ declare module 'vscode' {
23
39
  /**
24
40
  * Controls the ordering or multiple paste edits. If this provider yield to edits, it will be shown lower in the list.
25
41
  */
26
- yieldTo?: ReadonlyArray<
27
- // TODO: what about built-in providers?
28
- | { readonly extensionId: string; readonly providerId: string }
29
- | { readonly mimeType: string }
30
- >;
42
+ yieldTo?: ReadonlyArray<DocumentPasteEditKind>;
31
43
  }
32
44
 
33
45
  export interface DocumentDropEditProviderMetadata {
34
- /**
35
- * Identifies the provider.
36
- *
37
- * This id is used when users configure the default provider for drop.
38
- *
39
- * This id should be unique within the extension but does not need to be unique across extensions.
40
- */
41
- readonly id: string;
46
+ readonly providedDropEditKinds?: readonly DocumentPasteEditKind[];
42
47
 
43
48
  /**
44
49
  * List of {@link DataTransfer} mime types that the provider can handle.
@@ -59,10 +59,8 @@ declare module 'vscode' {
59
59
  */
60
60
  label?: string;
61
61
 
62
- /**
63
- * The optional state of a comment thread, which may affect how the comment is displayed.
64
- */
65
- state?: CommentThreadState;
62
+ // from the commentThreadRelevance proposal
63
+ state?: CommentThreadState | { resolved?: CommentThreadState; applicability?: CommentThreadApplicability };
66
64
 
67
65
  /**
68
66
  * Dispose this comment thread.
@@ -53,6 +53,24 @@ declare module 'vscode' {
53
53
  */
54
54
  // eslint-disable-next-line local/vscode-dts-provider-naming
55
55
  handleDidPartiallyAcceptCompletionItem?(completionItem: InlineCompletionItem, acceptedLength: number): void;
56
+
57
+ /**
58
+ * Is called when an inline completion item was accepted partially.
59
+ * @param info Additional info for the partial accepted trigger.
60
+ */
61
+ // eslint-disable-next-line local/vscode-dts-provider-naming
62
+ handleDidPartiallyAcceptCompletionItem?(completionItem: InlineCompletionItem, info: PartialAcceptInfo): void;
63
+ }
64
+
65
+ export interface PartialAcceptInfo {
66
+ kind: PartialAcceptTriggerKind;
67
+ }
68
+
69
+ export enum PartialAcceptTriggerKind {
70
+ Unknown = 0,
71
+ Word = 1,
72
+ Line = 2,
73
+ Suggest = 3,
56
74
  }
57
75
 
58
76
  // When finalizing `commands`, make sure to add a corresponding constructor parameter.
@@ -110,23 +110,9 @@ declare module 'vscode' {
110
110
  handleInteractiveEditorResponseFeedback?(session: S, response: R, kind: InteractiveEditorResponseFeedbackKind): void;
111
111
  }
112
112
 
113
- export interface InteractiveSessionParticipantInformation {
114
- name: string;
115
-
116
- /**
117
- * A full URI for the icon of the participant.
118
- */
119
- icon?: Uri;
120
- }
121
-
122
113
  export interface InteractiveSession {
123
- requester: InteractiveSessionParticipantInformation;
124
- responder: InteractiveSessionParticipantInformation;
125
- inputPlaceholder?: string;
126
114
  }
127
115
 
128
- export type InteractiveWelcomeMessageContent = string | MarkdownString | ChatFollowup[];
129
-
130
116
  export interface InteractiveSessionProvider<S extends InteractiveSession = InteractiveSession> {
131
117
  prepareSession(token: CancellationToken): ProviderResult<S>;
132
118
  }
@@ -144,8 +130,6 @@ declare module 'vscode' {
144
130
 
145
131
  export function registerInteractiveSessionProvider(id: string, provider: InteractiveSessionProvider): Disposable;
146
132
 
147
- export function sendInteractiveRequestToProvider(providerId: string, message: InteractiveSessionDynamicRequest): void;
148
-
149
133
  export function registerInteractiveEditorSessionProvider(provider: InteractiveEditorSessionProvider, metadata?: InteractiveEditorSessionProviderMetadata): Disposable;
150
134
 
151
135
  export function transferChatSession(session: InteractiveSession, toWorkspace: Uri): void;
@@ -8,20 +8,14 @@ declare module 'vscode' {
8
8
  /**
9
9
  * Represents a language model response.
10
10
  *
11
- * @see {@link LanguageModelAccess.makeChatRequest}
11
+ * @see {@link LanguageModelAccess.chatRequest}
12
12
  */
13
- export interface LanguageModelResponse {
14
-
15
- /**
16
- * The overall result of the request which represents failure or success
17
- * but. The concrete value is not specified and depends on the selected language model.
18
- *
19
- * *Note* that the actual response represented by the {@link LanguageModelResponse.stream `stream`}-property
20
- */
21
- result: Thenable<unknown>;
13
+ export interface LanguageModelChatResponse {
22
14
 
23
15
  /**
24
16
  * An async iterable that is a stream of text chunks forming the overall response.
17
+ *
18
+ * *Note* that this stream will error when during data receiving an error occurrs.
25
19
  */
26
20
  stream: AsyncIterable<string>;
27
21
  }
@@ -35,7 +29,7 @@ declare module 'vscode' {
35
29
  * *Note* that a language model may choose to add additional system messages to the ones
36
30
  * provided by extensions.
37
31
  */
38
- export class LanguageModelSystemMessage {
32
+ export class LanguageModelChatSystemMessage {
39
33
 
40
34
  /**
41
35
  * The content of this message.
@@ -53,7 +47,7 @@ declare module 'vscode' {
53
47
  /**
54
48
  * A language model message that represents a user message.
55
49
  */
56
- export class LanguageModelUserMessage {
50
+ export class LanguageModelChatUserMessage {
57
51
 
58
52
  /**
59
53
  * The content of this message.
@@ -78,78 +72,100 @@ declare module 'vscode' {
78
72
  * A language model message that represents an assistant message, usually in response to a user message
79
73
  * or as a sample response/reply-pair.
80
74
  */
81
- export class LanguageModelAssistantMessage {
75
+ export class LanguageModelChatAssistantMessage {
82
76
 
83
77
  /**
84
78
  * The content of this message.
85
79
  */
86
80
  content: string;
87
81
 
82
+ /**
83
+ * The optional name of a user for this message.
84
+ */
85
+ name: string | undefined;
86
+
88
87
  /**
89
88
  * Create a new assistant message.
90
89
  *
91
90
  * @param content The content of the message.
91
+ * @param name The optional name of a user for the message.
92
92
  */
93
- constructor(content: string);
93
+ constructor(content: string, name?: string);
94
94
  }
95
95
 
96
- export type LanguageModelMessage = LanguageModelSystemMessage | LanguageModelUserMessage | LanguageModelAssistantMessage;
97
-
98
96
  /**
99
- * Represents access to using a language model. Access can be revoked at any time and extension
100
- * must check if the access is {@link LanguageModelAccess.isRevoked still valid} before using it.
97
+ * Different types of language model messages.
101
98
  */
102
- export interface LanguageModelAccess {
99
+ export type LanguageModelChatMessage = LanguageModelChatSystemMessage | LanguageModelChatUserMessage | LanguageModelChatAssistantMessage;
103
100
 
101
+ /**
102
+ * An event describing the change in the set of available language models.
103
+ */
104
+ export interface LanguageModelChangeEvent {
105
+ /**
106
+ * Added language models.
107
+ */
108
+ readonly added: readonly string[];
104
109
  /**
105
- * Whether the access to the language model has been revoked.
110
+ * Removed language models.
106
111
  */
107
- readonly isRevoked: boolean;
112
+ readonly removed: readonly string[];
113
+ }
114
+
115
+ /**
116
+ * An error type for language model specific errors.
117
+ *
118
+ * Consumers of language models should check the code property to determine specific
119
+ * failure causes, like `if(someError.code === vscode.LanguageModelError.NotFound.name) {...}`
120
+ * for the case of referring to an unknown language model. For unspecified errors the `cause`-property
121
+ * will contain the actual error.
122
+ */
123
+ export class LanguageModelError extends Error {
108
124
 
109
125
  /**
110
- * An event that is fired when the access the language model has has been revoked or re-granted.
126
+ * The language model does not exist.
111
127
  */
112
- // TODO@API NAME?
113
- readonly onDidChangeAccess: Event<void>;
128
+ static NotFound(message?: string): LanguageModelError;
114
129
 
115
130
  /**
116
- * The name of the model.
117
- *
118
- * It is expected that the model name can be used to lookup properties like token limits or what
119
- * `options` are available.
131
+ * The requestor does not have permissions to use this
132
+ * language model
120
133
  */
121
- readonly model: string;
134
+ static NoPermissions(message?: string): LanguageModelError;
122
135
 
123
136
  /**
124
- * Make a request to the language model.
125
- *
126
- * *Note:* This will throw an error if access has been revoked.
137
+ * A code that identifies this error.
127
138
  *
128
- * @param messages
129
- * @param options
139
+ * Possible values are names of errors, like {@linkcode LanguageModelError.NotFound NotFound},
140
+ * or `Unknown` for unspecified errors from the language model itself. In the latter case the
141
+ * `cause`-property will contain the actual error.
130
142
  */
131
- makeChatRequest(messages: LanguageModelMessage[], options: { [name: string]: any }, token: CancellationToken): LanguageModelResponse;
143
+ readonly code: string;
132
144
  }
133
145
 
134
- export interface LanguageModelAccessOptions {
146
+ /**
147
+ * Options for making a chat request using a language model.
148
+ *
149
+ * @see {@link lm.chatRequest}
150
+ */
151
+ export interface LanguageModelChatRequestOptions {
152
+
135
153
  /**
136
154
  * A human-readable message that explains why access to a language model is needed and what feature is enabled by it.
137
155
  */
138
156
  justification?: string;
139
- }
140
157
 
141
- /**
142
- * An event describing the change in the set of available language models.
143
- */
144
- export interface LanguageModelChangeEvent {
145
158
  /**
146
- * Added language models.
159
+ * Do not show the consent UI if the user has not yet granted access to the language model but fail the request instead.
147
160
  */
148
- readonly added: readonly string[];
161
+ // TODO@API Revisit this, how do you do the first request?
162
+ silent?: boolean;
163
+
149
164
  /**
150
- * Removed language models.
165
+ * A set of options that control the behavior of the language model. These options are specific to the language model
166
+ * and need to be lookup in the respective documentation.
151
167
  */
152
- readonly removed: readonly string[];
168
+ modelOptions?: { [name: string]: any };
153
169
  }
154
170
 
155
171
  /**
@@ -158,18 +174,28 @@ declare module 'vscode' {
158
174
  export namespace lm {
159
175
 
160
176
  /**
161
- * Request access to a language model.
177
+ * Make a chat request using a language model.
178
+ *
179
+ * - *Note 1:* language model use may be subject to access restrictions and user consent.
162
180
  *
163
- * - *Note 1:* This function will throw an error when the user didn't grant access or when the
164
- * requested language model is not available.
181
+ * - *Note 2:* language models are contributed by other extensions and as they evolve and change,
182
+ * the set of available language models may change over time. Therefore it is strongly recommend to check
183
+ * {@link languageModels} for aviailable values and handle missing language models gracefully.
165
184
  *
166
- * - *Note 2:* It is OK to hold on to the returned access object and use it later, but extensions
167
- * should check {@link LanguageModelAccess.isRevoked} before using it.
185
+ * This function will return a rejected promise if making a request to the language model is not
186
+ * possible. Reasons for this can be:
168
187
  *
169
- * @param id The id of the language model, see {@link languageModels} for valid values.
170
- * @returns A thenable that resolves to a language model access object, rejects if access wasn't granted
188
+ * - user consent not given, see {@link LanguageModelError.NoPermissions `NoPermissions`}
189
+ * - model does not exist, see {@link LanguageModelError.NotFound `NotFound`}
190
+ * - quota limits exceeded, see {@link LanguageModelError.cause `LanguageModelError.cause`}
191
+ *
192
+ * @param languageModel A language model identifier.
193
+ * @param messages An array of message instances.
194
+ * @param options Options that control the request.
195
+ * @param token A cancellation token which controls the request. See {@link CancellationTokenSource} for how to create one.
196
+ * @returns A thenable that resolves to a {@link LanguageModelChatResponse}. The promise will reject when the request couldn't be made.
171
197
  */
172
- export function requestLanguageModelAccess(id: string, options?: LanguageModelAccessOptions): Thenable<LanguageModelAccess>;
198
+ export function sendChatRequest(languageModel: string, messages: LanguageModelChatMessage[], options: LanguageModelChatRequestOptions, token: CancellationToken): Thenable<LanguageModelChatResponse>;
173
199
 
174
200
  /**
175
201
  * The identifiers of all language models that are currently available.
@@ -181,4 +207,40 @@ declare module 'vscode' {
181
207
  */
182
208
  export const onDidChangeLanguageModels: Event<LanguageModelChangeEvent>;
183
209
  }
210
+
211
+ /**
212
+ * Represents extension specific information about the access to language models.
213
+ */
214
+ export interface LanguageModelAccessInformation {
215
+
216
+ /**
217
+ * An event that fires when access information changes.
218
+ */
219
+ onDidChange: Event<void>;
220
+
221
+ /**
222
+ * Checks if a request can be made to a language model.
223
+ *
224
+ * *Note* that calling this function will not trigger a consent UI but just checks.
225
+ *
226
+ * @param languageModelId A language model identifier.
227
+ * @return `true` if a request can be made, `false` if not, `undefined` if the language
228
+ * model does not exist or consent hasn't been asked for.
229
+ */
230
+ canSendRequest(languageModelId: string): boolean | undefined;
231
+
232
+ // TODO@API SYNC or ASYNC?
233
+ // TODO@API future
234
+ // retrieveQuota(languageModelId: string): { remaining: number; resets: Date };
235
+ }
236
+
237
+ export interface ExtensionContext {
238
+
239
+ /**
240
+ * An object that keeps information about how this extension can use language models.
241
+ *
242
+ * @see {@link lm.sendChatRequest}
243
+ */
244
+ readonly languageModelAccessInformation: LanguageModelAccessInformation;
245
+ }
184
246
  }
@@ -0,0 +1,44 @@
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 NotebookCellExecution {
9
+ /**
10
+ * Signal that execution has ended.
11
+ *
12
+ * @param success If true, a green check is shown on the cell status bar.
13
+ * If false, a red X is shown.
14
+ * If undefined, no check or X icon is shown.
15
+ * @param endTime The time that execution finished, in milliseconds in the Unix epoch.
16
+ * @param error Details about an error that occurred during execution if any.
17
+ */
18
+ end(success: boolean | undefined, endTime?: number, error?: CellExecutionError): void;
19
+ }
20
+
21
+ export interface CellExecutionError {
22
+ /**
23
+ * The error message.
24
+ */
25
+ readonly message: string;
26
+
27
+ /**
28
+ * The error stack trace.
29
+ */
30
+ readonly stack: string | undefined;
31
+
32
+ /**
33
+ * The cell resource which had the error.
34
+ */
35
+ uri: Uri;
36
+
37
+ /**
38
+ * The location within the resource where the error occurred.
39
+ */
40
+ readonly location: Range | undefined;
41
+
42
+
43
+ }
44
+ }
@@ -45,6 +45,9 @@ declare module 'vscode' {
45
45
  /** The type of the variable's value */
46
46
  type?: string;
47
47
 
48
+ /** The interfaces or contracts that the type satisfies */
49
+ interfaces?: string[];
50
+
48
51
  /** The language of the variable's value */
49
52
  language?: string;
50
53
  }
@@ -0,0 +1,22 @@
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/206411
7
+
8
+ declare module 'vscode' {
9
+
10
+ export class TabInputTextMultiDiff {
11
+
12
+ readonly textDiffs: TabInputTextDiff[];
13
+
14
+ constructor(textDiffs: TabInputTextDiff[]);
15
+ }
16
+
17
+ export interface Tab {
18
+
19
+ readonly input: TabInputText | TabInputTextDiff | TabInputTextMultiDiff | TabInputCustom | TabInputWebview | TabInputNotebook | TabInputNotebookDiff | TabInputTerminal | unknown;
20
+
21
+ }
22
+ }