@codingame/monaco-vscode-api 3.2.2 → 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 (773) hide show
  1. package/README.md +22 -17
  2. package/api.js +4 -7
  3. package/debugProtocol.d.ts +14 -39
  4. package/extensions.d.ts +7 -1
  5. package/missing-services.js +122 -38
  6. package/monaco.d.ts +1 -1
  7. package/monaco.js +11 -1
  8. package/override/vs/platform/dialogs/common/dialogs.js +1 -0
  9. package/package.json +8 -8
  10. package/service-override/tools/editor.js +82 -3
  11. package/service-override/tools/views.d.ts +2 -1
  12. package/service-override/tools/views.js +5 -1
  13. package/services.js +7 -6
  14. package/vscode/src/vs/base/browser/dom.js +1 -7
  15. package/vscode/src/vs/base/browser/fonts.js +3 -0
  16. package/vscode/src/vs/base/browser/keyboardEvent.js +1 -1
  17. package/vscode/src/vs/base/browser/markdownRenderer.js +4 -4
  18. package/vscode/src/vs/base/browser/touch.js +13 -2
  19. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -1
  20. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +5 -6
  21. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  22. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +2 -2
  23. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -0
  24. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +4 -2
  25. package/vscode/src/vs/base/browser/ui/button/button.js +16 -9
  26. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/contextview/contextview.d.ts +1 -0
  28. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -4
  30. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -3
  31. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -0
  32. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -0
  33. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -1
  34. package/vscode/src/vs/base/browser/ui/grid/gridview.js +1 -0
  35. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +14 -3
  36. package/vscode/src/vs/base/browser/ui/{iconLabel/iconHoverDelegate.d.ts → hover/hoverDelegate.d.ts} +3 -6
  37. package/vscode/src/vs/base/browser/ui/hover/{hoverDelegate.js → hoverDelegateFactory.js} +5 -5
  38. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +1 -1
  39. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.d.ts → hover/updatableHoverWidget.d.ts} +6 -1
  40. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.js → hover/updatableHoverWidget.js} +27 -7
  41. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +10 -9
  42. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +11 -1
  43. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +19 -1
  44. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +8 -7
  45. package/vscode/src/vs/base/browser/ui/list/listView.js +4 -1
  46. package/vscode/src/vs/base/browser/ui/list/listWidget.js +27 -10
  47. package/vscode/src/vs/base/browser/ui/menu/menu.js +15 -9
  48. package/vscode/src/vs/base/browser/ui/menu/menubar.js +15 -8
  49. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +18 -2
  50. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +1 -0
  51. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +14 -7
  52. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +6 -4
  53. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +7 -6
  54. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  55. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +55 -10
  56. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +4 -1
  57. package/vscode/src/vs/base/browser/window.d.ts +5 -0
  58. package/vscode/src/vs/base/browser/window.js +1 -2
  59. package/vscode/src/vs/base/common/arrays.js +20 -1
  60. package/vscode/src/vs/base/common/cache.js +3 -2
  61. package/vscode/src/vs/base/common/codicons.d.ts +62 -38
  62. package/vscode/src/vs/base/common/codicons.js +19 -571
  63. package/vscode/src/vs/base/common/codiconsLibrary.js +570 -0
  64. package/vscode/src/vs/base/common/codiconsUtil.js +17 -0
  65. package/vscode/src/vs/base/common/event.js +4 -1
  66. package/vscode/src/vs/base/common/glob.js +1 -0
  67. package/vscode/src/vs/base/common/hierarchicalKind.d.ts +13 -0
  68. package/vscode/src/vs/base/common/hierarchicalKind.js +21 -0
  69. package/vscode/src/vs/base/common/labels.js +2 -2
  70. package/vscode/src/vs/base/common/network.js +14 -5
  71. package/vscode/src/vs/base/common/observableInternal/promise.js +1 -0
  72. package/vscode/src/vs/base/common/observableInternal/utils.js +35 -14
  73. package/vscode/src/vs/base/common/platform.js +1 -1
  74. package/vscode/src/vs/base/common/product.d.ts +7 -1
  75. package/vscode/src/vs/base/common/severity.js +2 -1
  76. package/vscode/src/vs/base/common/strings.js +16 -4
  77. package/vscode/src/vs/base/parts/ipc/common/ipc.js +4 -0
  78. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +5 -5
  79. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +55 -43
  80. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +5 -5
  81. package/vscode/src/vs/editor/browser/coreCommands.js +13 -13
  82. package/vscode/src/vs/editor/browser/editorDom.js +11 -1
  83. package/vscode/src/vs/editor/browser/editorExtensions.js +1 -1
  84. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +10 -2
  85. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +31 -0
  86. package/vscode/src/vs/editor/browser/services/{hoverService.js → hoverService/hoverService.js} +38 -27
  87. package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hoverWidget.js +13 -14
  88. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -4
  89. package/vscode/src/vs/editor/browser/view/viewOverlays.js +12 -23
  90. package/vscode/src/vs/editor/browser/view.js +5 -5
  91. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  92. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +3 -3
  93. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css.js +1 -1
  94. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +4 -6
  95. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.css.js +1 -1
  96. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +8 -14
  97. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +2 -2
  98. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +2 -2
  99. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.css.js +1 -1
  100. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +3 -6
  101. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css.js +1 -1
  102. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +5 -1
  103. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  104. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.css.js +1 -1
  105. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +5 -5
  106. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  107. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  108. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +142 -27
  109. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  110. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +34 -16
  111. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  112. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
  113. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +23 -20
  114. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +25 -3
  115. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +21 -13
  116. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  117. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +2 -2
  118. package/vscode/src/vs/editor/browser/widget/{codeEditorContributions.js → codeEditor/codeEditorContributions.js} +3 -3
  119. package/vscode/src/vs/editor/browser/widget/{codeEditorWidget.js → codeEditor/codeEditorWidget.js} +81 -70
  120. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +4 -0
  121. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +44 -0
  122. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +281 -0
  123. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +7 -5
  124. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +4 -1
  125. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +15 -9
  126. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +2 -0
  127. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +9 -8
  128. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +1 -1
  129. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +33 -246
  130. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +22 -7
  131. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +5 -5
  132. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +71 -41
  133. package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js +36 -0
  134. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +227 -0
  135. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +22 -19
  136. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +5 -4
  137. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +15 -4
  138. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +13 -5
  139. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +11 -1
  140. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  141. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +104 -0
  142. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +8 -15
  143. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/colors.js +14 -4
  144. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/diffEditorItemTemplate.js +6 -5
  145. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +14 -0
  146. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorViewModel.js +5 -2
  147. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidget.js +5 -3
  148. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidgetImpl.js +9 -10
  149. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/style.css.js +1 -1
  150. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/utils.js +2 -1
  151. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +14 -3
  152. package/vscode/src/vs/editor/common/config/diffEditor.js +1 -0
  153. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +10 -1
  154. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -0
  155. package/vscode/src/vs/editor/common/config/editorOptions.js +115 -33
  156. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +32 -2
  157. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  158. package/vscode/src/vs/editor/common/core/lineRange.js +12 -0
  159. package/vscode/src/vs/editor/common/core/positionToOffset.js +43 -0
  160. package/vscode/src/vs/editor/common/core/textEdit.js +169 -0
  161. package/vscode/src/vs/editor/common/core/textLength.js +110 -0
  162. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.d.ts +14 -2
  163. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +66 -10
  164. package/vscode/src/vs/editor/common/core/wordHelper.js +1 -0
  165. package/vscode/src/vs/editor/common/cursor/cursor.js +17 -4
  166. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +1 -1
  167. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +22 -3
  168. package/vscode/src/vs/editor/common/cursorCommon.js +7 -5
  169. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +7 -4
  170. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +1 -1
  171. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +2 -0
  172. package/vscode/src/vs/editor/common/diff/rangeMapping.js +10 -0
  173. package/vscode/src/vs/editor/common/editorContextKeys.js +25 -0
  174. package/vscode/src/vs/editor/common/languages.d.ts +43 -11
  175. package/vscode/src/vs/editor/common/languages.js +15 -1
  176. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +1 -1
  177. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +3 -58
  178. package/vscode/src/vs/editor/common/model/textModel.js +2 -0
  179. package/vscode/src/vs/editor/common/model/textModelSearch.js +1 -1
  180. package/vscode/src/vs/editor/common/model/textModelText.js +17 -0
  181. package/vscode/src/vs/editor/common/model/textModelTokens.js +4 -0
  182. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +10 -0
  183. package/vscode/src/vs/editor/common/model.d.ts +17 -2
  184. package/vscode/src/vs/editor/common/model.js +1 -6
  185. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +8 -0
  186. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +2 -0
  187. package/vscode/src/vs/editor/common/services/findSectionHeaders.d.ts +28 -0
  188. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +71 -0
  189. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +15 -5
  190. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +32 -20
  191. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +2 -1
  192. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +5 -5
  193. package/vscode/src/vs/editor/common/viewLayout/viewLinesViewportData.js +1 -0
  194. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  195. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  196. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +10 -7
  197. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +11 -1
  198. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +6 -5
  199. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +5 -4
  200. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +25 -3
  201. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +3 -2
  202. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +3 -2
  203. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +13 -2
  204. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +18 -33
  205. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  206. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  207. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +1 -1
  208. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +11 -1
  209. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +1 -1
  210. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +9 -9
  211. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +5 -3
  212. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +1 -1
  213. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +40 -20
  214. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +83 -47
  215. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +40 -31
  216. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +16 -1
  217. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +8 -8
  218. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +5 -3
  219. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -6
  220. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +14 -4
  221. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  222. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +16 -1
  223. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +23 -3
  224. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -3
  225. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +11 -1
  226. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +3 -3
  227. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +5 -3
  228. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +1 -1
  229. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +12 -2
  230. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +3 -91
  231. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +92 -0
  232. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +14 -4
  233. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +4 -0
  234. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +18 -19
  235. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +5 -4
  236. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +4 -2
  237. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +4 -1
  238. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +6 -5
  239. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -4
  240. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +28 -19
  241. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +7 -4
  242. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +1 -1
  243. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +64 -72
  244. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +11 -5
  245. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +5 -85
  246. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +2 -2
  247. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +6 -4
  248. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +4 -1
  249. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +28 -17
  250. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -4
  251. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  252. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +53 -6
  253. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +1 -1
  254. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +11 -1
  255. package/vscode/src/vs/editor/contrib/links/browser/links.js +2 -2
  256. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +7 -7
  257. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -1
  258. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +12 -2
  259. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  260. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +27 -33
  261. package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.js → renameWidget.js} +282 -194
  262. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +154 -0
  263. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +60 -61
  264. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +23 -14
  265. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
  266. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +12 -2
  267. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +11 -1
  268. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +1 -1
  269. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +16 -6
  270. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +2 -2
  271. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +12 -12
  272. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +2 -2
  273. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +1 -1
  274. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +2 -2
  275. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +1 -1
  276. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +12 -12
  277. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +11 -1
  278. package/vscode/src/vs/editor/standalone/common/themes.js +11 -1
  279. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +16 -9
  280. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +42 -18
  281. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +16 -5
  282. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +11 -1
  283. package/vscode/src/vs/platform/actions/browser/buttonbar.js +13 -5
  284. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -1
  285. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +11 -1
  286. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +11 -1
  287. package/vscode/src/vs/platform/actions/common/actions.d.ts +7 -0
  288. package/vscode/src/vs/platform/actions/common/actions.js +7 -0
  289. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +1 -0
  290. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +12 -15
  291. package/vscode/src/vs/platform/dialogs/common/dialogs.js +4 -2
  292. package/vscode/src/vs/platform/editor/common/editor.d.ts +12 -0
  293. package/vscode/src/vs/platform/environment/common/environmentService.js +6 -0
  294. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +19 -7
  295. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +7 -1
  296. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +333 -0
  297. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +901 -0
  298. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +3 -4
  299. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +16 -16
  300. package/vscode/src/vs/platform/extensions/common/extensions.js +5 -1
  301. package/vscode/src/vs/platform/files/common/files.d.ts +1 -11
  302. package/vscode/src/vs/platform/files/common/files.js +2 -0
  303. package/vscode/src/vs/platform/files/common/watcher.js +2 -0
  304. package/vscode/src/vs/platform/hover/browser/hover.d.ts +1 -1
  305. package/vscode/src/vs/platform/hover/browser/hover.js +21 -6
  306. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.js +1 -0
  307. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +5 -0
  308. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +8 -6
  309. package/vscode/src/vs/platform/log/browser/log.js +1 -0
  310. package/vscode/src/vs/platform/log/common/log.js +13 -1
  311. package/vscode/src/vs/platform/markers/common/markerService.js +1 -1
  312. package/vscode/src/vs/platform/markers/common/markers.js +9 -9
  313. package/vscode/src/vs/platform/opener/browser/link.js +16 -4
  314. package/vscode/src/vs/platform/policy/common/policy.js +2 -0
  315. package/vscode/src/vs/platform/product/common/product.js +2 -1
  316. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  317. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +36 -33
  318. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +5 -0
  319. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +38 -9
  320. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +7 -4
  321. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +22 -12
  322. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +13 -5
  323. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1348 -0
  324. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  325. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +14 -0
  326. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -2
  327. package/vscode/src/vs/platform/remote/common/remoteHosts.js +1 -4
  328. package/vscode/src/vs/platform/secrets/common/secrets.js +5 -0
  329. package/vscode/src/vs/platform/severityIcon/browser/severityIcon.js +5 -5
  330. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -0
  331. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -1
  332. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +3 -9
  333. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -1
  334. package/vscode/src/vs/platform/terminal/common/terminal.js +1 -0
  335. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +4 -1
  336. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -1
  337. package/vscode/src/vs/platform/theme/common/colorUtils.js +187 -0
  338. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +89 -0
  339. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +46 -0
  340. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +469 -0
  341. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +196 -0
  342. package/vscode/src/vs/platform/theme/common/colors/listColors.js +166 -0
  343. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +41 -0
  344. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +61 -0
  345. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +45 -0
  346. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +51 -0
  347. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +19 -0
  348. package/vscode/src/vs/platform/theme/common/iconRegistry.js +2 -1
  349. package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
  350. package/vscode/src/vs/platform/tunnel/common/tunnel.js +2 -0
  351. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +2 -2
  352. package/vscode/src/vs/platform/update/common/update.js +1 -1
  353. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +1 -0
  354. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileIpc.js +2 -0
  355. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +69 -32
  356. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +6 -0
  357. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +3 -1
  358. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +12 -5
  359. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -8
  360. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +58 -88
  361. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +8 -4
  362. package/vscode/src/vs/workbench/api/common/extHostComments.js +49 -13
  363. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +16 -17
  364. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +3 -1
  365. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +1 -1
  366. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +17 -4
  367. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +1 -1
  368. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +57 -40
  369. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +305 -0
  370. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +2 -2
  371. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +1 -1
  372. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +26 -6
  373. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +9 -9
  374. package/vscode/src/vs/workbench/api/common/extHostSCM.js +1 -1
  375. package/vscode/src/vs/workbench/api/common/extHostSearch.js +34 -3
  376. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +1 -1
  377. package/vscode/src/vs/workbench/api/common/extHostTask.js +1 -0
  378. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +32 -18
  379. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +214 -0
  380. package/vscode/src/vs/workbench/api/common/extHostTesting.js +85 -98
  381. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +1 -0
  382. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +5 -2
  383. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +119 -70
  384. package/vscode/src/vs/workbench/api/common/extHostTypes.js +90 -28
  385. package/vscode/src/vs/workbench/browser/actions/developerActions.js +4 -4
  386. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +2 -2
  387. package/vscode/src/vs/workbench/browser/actions/windowActions.js +3 -3
  388. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +3 -3
  389. package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
  390. package/vscode/src/vs/workbench/browser/composite.d.ts +3 -5
  391. package/vscode/src/vs/workbench/browser/composite.js +2 -10
  392. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  393. package/vscode/src/vs/workbench/browser/labels.js +2 -1
  394. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  395. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  396. package/vscode/src/vs/workbench/browser/part.d.ts +25 -3
  397. package/vscode/src/vs/workbench/browser/part.js +84 -9
  398. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +67 -10
  399. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +2 -2
  400. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +92 -14
  401. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +1 -1
  402. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +5 -4
  403. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +13 -3
  404. package/vscode/src/vs/workbench/browser/parts/compositePart.js +13 -5
  405. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +12 -0
  406. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +10 -10
  407. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  408. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +8 -7
  409. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +16 -8
  410. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +217 -0
  411. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +14 -16
  412. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +2 -2
  413. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +8 -7
  414. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +4 -202
  415. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -1
  416. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +11 -1
  417. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +92 -23
  418. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +15 -3
  419. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.d.ts +7 -8
  420. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +7 -6
  421. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +12 -32
  422. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +11 -1
  423. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +1 -0
  424. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +27 -28
  425. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +19 -20
  426. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -2
  427. package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.js +14 -17
  428. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +11 -1
  429. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +12 -12
  430. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -16
  431. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +3 -3
  432. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +17 -17
  433. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +36 -13
  434. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +22 -22
  435. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -21
  436. package/vscode/src/vs/workbench/browser/parts/media/compositepart.css.js +1 -1
  437. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  438. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +13 -2
  439. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +11 -1
  440. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +16 -16
  441. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -0
  442. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +122 -33
  443. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +14 -3
  444. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +15 -2
  445. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +1 -1
  446. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +37 -0
  447. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +36 -18
  448. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +7 -4
  449. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +6 -4
  450. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
  451. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  452. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +3 -3
  453. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -3
  454. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +6 -0
  455. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +28 -11
  456. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +19 -15
  457. package/vscode/src/vs/workbench/browser/quickaccess.js +42 -15
  458. package/vscode/src/vs/workbench/browser/style.js +52 -3
  459. package/vscode/src/vs/workbench/browser/web.api.d.ts +6 -0
  460. package/vscode/src/vs/workbench/browser/window.js +28 -20
  461. package/vscode/src/vs/workbench/browser/workbench.contribution.js +83 -9
  462. package/vscode/src/vs/workbench/common/component.js +0 -1
  463. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  464. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +59 -5
  465. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +10 -0
  466. package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -0
  467. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +1 -0
  468. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +3 -1
  469. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +7 -3
  470. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +3 -3
  471. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +2 -1
  472. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
  473. package/vscode/src/vs/workbench/common/editor.d.ts +33 -13
  474. package/vscode/src/vs/workbench/common/editor.js +6 -7
  475. package/vscode/src/vs/workbench/common/theme.js +45 -5
  476. package/vscode/src/vs/workbench/common/views.d.ts +1 -0
  477. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +59 -184
  478. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +1 -0
  479. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +140 -13
  480. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +1 -1
  481. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +1 -0
  482. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +4 -2
  483. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +35 -36
  484. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +1 -1
  485. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +1 -1
  486. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +4 -5
  487. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +21 -12
  488. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +70 -32
  489. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +4 -1
  490. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +4 -1
  491. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +118 -0
  492. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +11 -6
  493. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +154 -61
  494. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +186 -224
  495. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +6 -75
  496. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +158 -49
  497. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +84 -175
  498. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +38 -5
  499. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  500. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +105 -0
  501. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +137 -43
  502. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +44 -0
  503. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -1
  504. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +82 -34
  505. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +17 -3
  506. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +20 -22
  507. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +68 -9
  508. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +115 -0
  509. package/vscode/src/vs/workbench/contrib/chat/common/{chatProvider.js → languageModels.js} +9 -9
  510. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +5 -4
  511. package/vscode/src/vs/workbench/contrib/codeActions/browser/documentationContribution.js +2 -1
  512. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -5
  513. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +33 -7
  514. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -1
  515. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -3
  516. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +9 -6
  517. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +13 -3
  518. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +1 -1
  519. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -2
  520. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +1 -1
  521. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +1 -1
  522. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -6
  523. package/vscode/src/vs/workbench/contrib/codeEditor/{browser → common}/languageConfigurationExtensionPoint.js +79 -74
  524. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +11 -1
  525. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +11 -1
  526. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +25 -18
  527. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -2
  528. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +80 -52
  529. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -2
  530. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +33 -13
  531. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +129 -57
  532. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +15 -15
  533. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +145 -20
  534. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +61 -95
  535. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +2 -2
  536. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  537. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -2
  538. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +4 -3
  539. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +18 -11
  540. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +6 -0
  541. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +62 -4
  542. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +6 -4
  543. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +34 -5
  544. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +48 -29
  545. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +216 -23
  546. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +11 -1
  547. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -2
  548. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +6 -1
  549. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +23 -5
  550. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  551. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +15 -1
  552. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +30 -6
  553. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +2 -2
  554. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +106 -37
  555. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +1 -1
  556. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +1 -0
  557. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +8 -11
  558. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +5 -3
  559. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +23 -24
  560. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +17 -12
  561. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +3 -3
  562. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +9 -9
  563. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.save.js +1 -1
  564. package/vscode/src/vs/workbench/contrib/files/browser/files.configuration.contribution.js +10 -0
  565. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +11 -1
  566. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +11 -1
  567. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +1 -3
  568. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +1 -1
  569. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +15 -6
  570. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +4 -8
  571. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +674 -0
  572. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +154 -0
  573. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -344
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +223 -0
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +8 -25
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +427 -0
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +45 -160
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +358 -702
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +165 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +4 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +4 -0
  582. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -1
  583. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +16 -27
  584. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +19 -4
  585. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +9 -9
  586. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +1 -1
  587. package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.js +2 -2
  588. package/vscode/src/vs/workbench/contrib/logs/common/defaultLogLevels.js +17 -2
  589. package/vscode/src/vs/workbench/contrib/logs/common/logsActions.js +236 -0
  590. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +2 -2
  591. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +9 -4
  592. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +8 -6
  593. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +8 -0
  594. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +5 -5
  595. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +5 -5
  596. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -0
  597. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +4 -2
  598. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +11 -1
  599. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +5 -3
  600. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +5 -3
  601. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +6 -4
  602. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +5 -4
  603. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +7 -5
  604. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +6 -4
  605. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.js +2 -2
  606. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +23 -19
  607. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +4 -1
  608. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +5 -3
  609. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +9 -0
  610. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +303 -0
  611. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +655 -0
  612. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +101 -0
  613. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +56 -1
  614. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +11 -1
  615. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +11 -4
  616. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +29 -0
  617. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +888 -0
  618. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +2 -1
  619. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +1 -1
  620. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  621. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css.js +1 -1
  622. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css.js +1 -1
  623. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css.js +1 -1
  624. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +88 -0
  625. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +60 -46
  626. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +42 -52
  627. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +18 -7
  628. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  629. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +28 -1
  630. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +2 -2
  631. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +11 -7
  632. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  633. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +48 -4
  634. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  635. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +3 -1
  636. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +13 -2
  637. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +57 -10
  638. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +11 -4
  639. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +161 -15
  640. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +4 -2
  641. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +21 -2
  642. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +1 -1
  643. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +5 -0
  644. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +14 -4
  645. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +14 -8
  646. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +3 -0
  647. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +25 -64
  648. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +27 -22
  649. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  650. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
  651. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  652. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +8 -1
  653. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
  654. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +7 -14
  655. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +4 -4
  656. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +10 -0
  657. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +16 -4
  658. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +17 -4
  659. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +11 -1
  660. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +26 -8
  661. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +16 -6
  662. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +11 -1
  663. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +18 -8
  664. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +235 -0
  665. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +182 -69
  666. package/vscode/src/vs/workbench/contrib/search/common/constants.js +2 -0
  667. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +203 -1
  668. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +3 -0
  669. package/vscode/src/vs/workbench/contrib/tags/common/workspaceTags.js +2 -0
  670. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +11 -3
  671. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +2 -2
  672. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +58 -8
  673. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +3 -1
  674. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -0
  675. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +12 -1
  676. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +11 -1
  677. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +53 -57
  678. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +11 -26
  679. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -3
  680. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +12 -12
  681. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +8 -0
  682. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +2 -0
  683. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +1 -1
  684. package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +30 -7
  685. package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +12 -2
  686. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +50 -41
  687. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -5
  688. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +20 -22
  689. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +4 -1
  690. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +1 -0
  691. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +3 -3
  692. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
  693. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +2 -0
  694. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +6 -0
  695. package/vscode/src/vs/workbench/services/authentication/browser/authenticationAccessService.js +69 -0
  696. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +69 -811
  697. package/vscode/src/vs/workbench/services/authentication/browser/authenticationUsageService.js +50 -0
  698. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  699. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +50 -25
  700. package/vscode/src/vs/workbench/services/banner/browser/bannerService.d.ts +1 -1
  701. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +1 -0
  702. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +1 -0
  703. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +21 -17
  704. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.d.ts +12 -0
  705. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +144 -0
  706. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +10 -6
  707. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +3 -3
  708. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +16 -4
  709. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +12 -1
  710. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +46 -121
  711. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +5 -2
  712. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +6 -3
  713. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +9 -1
  714. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +4 -4
  715. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +2 -1
  716. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +8 -1
  717. package/vscode/src/vs/workbench/services/history/browser/historyService.js +44 -36
  718. package/vscode/src/vs/workbench/services/history/common/history.d.ts +0 -5
  719. package/vscode/src/vs/workbench/services/language/common/languageService.js +4 -3
  720. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  721. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +2 -1
  722. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +8 -6
  723. package/vscode/src/vs/workbench/services/output/common/output.js +4 -1
  724. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +2 -2
  725. package/vscode/src/vs/workbench/services/search/common/search.js +1 -0
  726. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +15 -5
  727. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +6 -1
  728. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  729. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  730. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +11 -1
  731. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +5 -3
  732. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +1 -1
  733. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +1 -0
  734. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +7 -7
  735. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +261 -0
  736. package/vscode-dts/vscode.proposed.authLearnMore.d.ts +16 -0
  737. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +49 -78
  738. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +13 -16
  739. package/vscode-dts/vscode.proposed.chatProvider.d.ts +1 -1
  740. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +32 -0
  741. package/vscode-dts/vscode.proposed.commentingRangeHint.d.ts +16 -0
  742. package/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts +6 -0
  743. package/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts +6 -0
  744. package/vscode-dts/vscode.proposed.debugFocus.d.ts +15 -23
  745. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +10 -0
  746. package/vscode-dts/vscode.proposed.documentPaste.d.ts +115 -30
  747. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +19 -14
  748. package/vscode-dts/vscode.proposed.fileComments.d.ts +2 -4
  749. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +18 -0
  750. package/vscode-dts/vscode.proposed.interactive.d.ts +0 -16
  751. package/vscode-dts/vscode.proposed.languageModels.d.ts +115 -53
  752. package/vscode-dts/vscode.proposed.notebookCellExecution.d.ts +44 -0
  753. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +3 -0
  754. package/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts +22 -0
  755. package/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts +2 -0
  756. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +207 -0
  757. package/vscode/src/vs/editor/browser/services/hoverService.d.ts +0 -30
  758. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +0 -74
  759. package/vscode/src/vs/editor/browser/widget/media/editor.css.js +0 -4
  760. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +0 -881
  761. package/vscode/src/vs/platform/theme/common/colorRegistry.js +0 -1316
  762. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +0 -253
  763. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.css.js +0 -4
  764. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +0 -74
  765. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +0 -4
  766. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +0 -424
  767. package/vscode-dts/vscode.proposed.testCoverage.d.ts +0 -222
  768. /package/vscode/src/vs/base/browser/ui/hover/{hover.css.js → hoverWidget.css.js} +0 -0
  769. /package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hover.css.js +0 -0
  770. /package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/objectPool.js +0 -0
  771. /package/vscode/src/vs/editor/contrib/indentation/{browser → common}/indentUtils.js +0 -0
  772. /package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.css.js → renameWidget.css.js} +0 -0
  773. /package/vscode/src/vs/platform/theme/common/{colorRegistry.d.ts → colorUtils.d.ts} +0 -0
@@ -1,18 +1,15 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { renderMarkdownAsPlaintext } from '../../../../base/browser/markdownRenderer.js';
3
2
  import { alert } from '../../../../base/browser/ui/aria/aria.js';
4
- import { raceCancellationError, raceCancellation, Barrier, Queue } from '../../../../base/common/async.js';
3
+ import { raceCancellation, Barrier, DeferredPromise, Queue } from '../../../../base/common/async.js';
5
4
  import { CancellationTokenSource } from '../../../../base/common/cancellation.js';
6
5
  import { toErrorMessage } from '../../../../base/common/errorMessage.js';
7
6
  import { onUnexpectedError } from '../../../../base/common/errors.js';
8
7
  import { Emitter, Event } from '../../../../base/common/event.js';
9
- import { MarkdownString } from '../../../../base/common/htmlContent.js';
10
8
  import { Lazy } from '../../../../base/common/lazy.js';
11
9
  import { DisposableStore, MutableDisposable, toDisposable } from '../../../../base/common/lifecycle.js';
12
10
  import { MovingAverage } from '../../../../base/common/numbers.js';
13
11
  import { StopWatch } from '../../../../base/common/stopwatch.js';
14
12
  import { assertType } from '../../../../base/common/types.js';
15
- import { generateUuid } from '../../../../base/common/uuid.js';
16
13
  import { IBulkEditService } from '../../../../editor/browser/services/bulkEditService.js';
17
14
  import { Position } from '../../../../editor/common/core/position.js';
18
15
  import { Range } from '../../../../editor/common/core/range.js';
@@ -26,44 +23,44 @@ import { IContextKeyService } from '../../../../platform/contextkey/common/conte
26
23
  import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
27
24
  import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
28
25
  import { ILogService } from '../../../../platform/log/common/log.js';
29
- import { Progress } from '../../../../platform/progress/common/progress.js';
30
- import { IStorageService } from '../../../../platform/storage/common/storage.js';
31
- import { IChatWidgetService, IChatAccessibilityService } from '../../chat/browser/chat.js';
32
- import { IChatAgentService } from '../../chat/common/chatAgents.js';
33
- import { chatSubcommandLeader, chatAgentLeader } from '../../chat/common/chatParserTypes.js';
26
+ import { IChatWidgetService } from '../../chat/browser/chat.js';
27
+ import { ChatAgentLocation, IChatAgentService } from '../../chat/common/chatAgents.js';
28
+ import { ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, chatAgentLeader } from '../../chat/common/chatParserTypes.js';
34
29
  import { IChatService } from '../../chat/common/chatService.js';
35
30
  import { IInlineChatSavingService } from './inlineChatSavingService.js';
36
- import { ReplyResponse, SessionPrompt, SessionExchange, EmptyResponse, ErrorResponse, ExpansionState, Session } from './inlineChatSession.js';
31
+ import { SessionPrompt, ReplyResponse, EmptyResponse, ErrorResponse, Session } from './inlineChatSession.js';
37
32
  import { IInlineChatSessionService } from './inlineChatSessionService.js';
38
- import { LiveStrategy, LivePreviewStrategy, PreviewStrategy } from './inlineChatStrategies.js';
39
- import { InlineChatZoneWidget } from './inlineChatWidget.js';
40
- import { INLINE_CHAT_ID, CTX_INLINE_CHAT_HAS_ACTIVE_REQUEST, CTX_INLINE_CHAT_DID_EDIT, CTX_INLINE_CHAT_USER_DID_EDIT, CTX_INLINE_CHAT_RESPONSE_TYPES, CTX_INLINE_CHAT_LAST_FEEDBACK, CTX_INLINE_CHAT_SUPPORT_ISSUE_REPORTING } from '../common/inlineChat.js';
33
+ import { LiveStrategy, PreviewStrategy } from './inlineChatStrategies.js';
34
+ import { InlineChatZoneWidget } from './inlineChatZoneWidget.js';
35
+ import { INLINE_CHAT_ID, CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_DID_EDIT, CTX_INLINE_CHAT_USER_DID_EDIT, CTX_INLINE_CHAT_RESPONSE_TYPES, CTX_INLINE_CHAT_LAST_FEEDBACK, CTX_INLINE_CHAT_SUPPORT_ISSUE_REPORTING } from '../common/inlineChat.js';
41
36
  import { ICommandService } from '../../../../platform/commands/common/commands.js';
37
+ import { InlineChatContentWidget } from './inlineChatContentWidget.js';
38
+ import { MessageController } from '../../../../editor/contrib/message/browser/messageController.js';
39
+ import { tail } from '../../../../base/common/arrays.js';
40
+ import { InlineChatError } from './inlineChatSessionServiceImpl.js';
41
+ import { ILanguageFeaturesService } from '../../../../editor/common/services/languageFeatures.js';
42
+ import { ChatInputPart } from '../../chat/browser/chatInputPart.js';
43
+ import { OffsetRange } from '../../../../editor/common/core/offsetRange.js';
42
44
  import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
43
- var InlineChatController_1;
44
45
  class InlineChatRunOptions {
45
46
  static isInteractiveEditorOptions(options) {
46
- const { initialSelection, initialRange, message, autoSend, position, existingExchange, existingSession } = options;
47
+ const { initialSelection, initialRange, message, autoSend, position, existingSession } = options;
47
48
  if (typeof message !== 'undefined' && typeof message !== 'string'
48
49
  || typeof autoSend !== 'undefined' && typeof autoSend !== 'boolean'
49
50
  || typeof initialRange !== 'undefined' && !Range.isIRange(initialRange)
50
51
  || typeof initialSelection !== 'undefined' && !Selection.isISelection(initialSelection)
51
52
  || typeof position !== 'undefined' && !Position.isIPosition(position)
52
- || typeof existingSession !== 'undefined' && !(existingSession instanceof Session)
53
- || typeof existingExchange !== 'undefined' && typeof existingExchange !== 'object') {
53
+ || typeof existingSession !== 'undefined' && !(existingSession instanceof Session)) {
54
54
  return false;
55
55
  }
56
56
  return true;
57
57
  }
58
58
  }
59
59
  let InlineChatController = class InlineChatController {
60
- static { InlineChatController_1 = this; }
61
60
  static get(editor) {
62
61
  return editor.getContribution(INLINE_CHAT_ID);
63
62
  }
64
- static { this._storageKey = 'inline-chat-history'; }
65
- static { this._promptHistory = []; }
66
- constructor(_editor, _instaService, _inlineChatSessionService, _inlineChatSavingService, _editorWorkerService, _logService, _configurationService, _dialogService, contextKeyService, _chatAccessibilityService, _chatAgentService, _bulkEditService, _storageService, _commandService) {
63
+ constructor(_editor, _instaService, _inlineChatSessionService, _inlineChatSavingService, _editorWorkerService, _logService, _configurationService, _dialogService, contextKeyService, _chatAgentService, _chatService, _bulkEditService, _commandService, _languageFeatureService, _chatWidgetService) {
67
64
  this._editor = _editor;
68
65
  this._instaService = _instaService;
69
66
  this._inlineChatSessionService = _inlineChatSessionService;
@@ -72,13 +69,12 @@ let InlineChatController = class InlineChatController {
72
69
  this._logService = _logService;
73
70
  this._configurationService = _configurationService;
74
71
  this._dialogService = _dialogService;
75
- this._chatAccessibilityService = _chatAccessibilityService;
76
72
  this._chatAgentService = _chatAgentService;
73
+ this._chatService = _chatService;
77
74
  this._bulkEditService = _bulkEditService;
78
- this._storageService = _storageService;
79
75
  this._commandService = _commandService;
80
- this._historyOffset = -1;
81
- this._historyCandidate = '';
76
+ this._languageFeatureService = _languageFeatureService;
77
+ this._chatWidgetService = _chatWidgetService;
82
78
  this._isDisposed = false;
83
79
  this._store = ( new DisposableStore());
84
80
  this._messages = this._store.add(( new Emitter()));
@@ -88,13 +84,18 @@ let InlineChatController = class InlineChatController {
88
84
  this.onDidCancelInput = Event.filter(this._messages.event, m => m === 16 || m === 2 , this._store);
89
85
  this._sessionStore = this._store.add(( new DisposableStore()));
90
86
  this._stashedSession = this._store.add(( new MutableDisposable()));
87
+ this._nextAttempt = 0;
88
+ this._nextWithIntentDetection = true;
91
89
  this._forcedPlaceholder = undefined;
92
- this._ctxHasActiveRequest = CTX_INLINE_CHAT_HAS_ACTIVE_REQUEST.bindTo(contextKeyService);
90
+ this._ctxVisible = CTX_INLINE_CHAT_VISIBLE.bindTo(contextKeyService);
93
91
  this._ctxDidEdit = CTX_INLINE_CHAT_DID_EDIT.bindTo(contextKeyService);
94
92
  this._ctxUserDidEdit = CTX_INLINE_CHAT_USER_DID_EDIT.bindTo(contextKeyService);
95
93
  this._ctxResponseTypes = CTX_INLINE_CHAT_RESPONSE_TYPES.bindTo(contextKeyService);
96
94
  this._ctxLastFeedbackKind = CTX_INLINE_CHAT_LAST_FEEDBACK.bindTo(contextKeyService);
97
95
  this._ctxSupportIssueReporting = CTX_INLINE_CHAT_SUPPORT_ISSUE_REPORTING.bindTo(contextKeyService);
96
+ this._input = ( new Lazy(
97
+ () => this._store.add(_instaService.createInstance(InlineChatContentWidget, this._editor))
98
+ ));
98
99
  this._zone = ( new Lazy(
99
100
  () => this._store.add(_instaService.createInstance(InlineChatZoneWidget, this._editor))
100
101
  ));
@@ -125,17 +126,6 @@ let InlineChatController = class InlineChatController {
125
126
  }
126
127
  }));
127
128
  this._log('NEW controller');
128
- InlineChatController_1._promptHistory = JSON.parse(_storageService.get(InlineChatController_1._storageKey, 0 , '[]'));
129
- this._historyUpdate = (prompt) => {
130
- const idx = InlineChatController_1._promptHistory.indexOf(prompt);
131
- if (idx >= 0) {
132
- InlineChatController_1._promptHistory.splice(idx, 1);
133
- }
134
- InlineChatController_1._promptHistory.unshift(prompt);
135
- this._historyOffset = -1;
136
- this._historyCandidate = '';
137
- this._storageService.store(InlineChatController_1._storageKey, JSON.stringify(InlineChatController_1._promptHistory), 0 , 0 );
138
- };
139
129
  }
140
130
  dispose() {
141
131
  if (this._currentRun) {
@@ -174,8 +164,6 @@ let InlineChatController = class InlineChatController {
174
164
  if (options.initialSelection) {
175
165
  this._editor.setSelection(options.initialSelection);
176
166
  }
177
- this._historyOffset = -1;
178
- this._historyCandidate = '';
179
167
  this._stashedSession.clear();
180
168
  this._onWillStartSession.fire();
181
169
  this._currentRun = this._nextState("CREATE_SESSION" , options);
@@ -208,8 +196,12 @@ let InlineChatController = class InlineChatController {
208
196
  initPosition = Position.lift(options.position).delta(-1);
209
197
  delete options.position;
210
198
  }
211
- this._showWidget(true, initPosition);
212
- this._updatePlaceholder();
199
+ const widgetPosition = this._showWidget(true, initPosition);
200
+ let errorMessage = ( localizeWithPath(
201
+ 'vs/workbench/contrib/inlineChat/browser/inlineChatController',
202
+ 'create.fail',
203
+ "Failed to start editor chat"
204
+ ));
213
205
  if (!session) {
214
206
  const createSessionCts = ( new CancellationTokenSource());
215
207
  const msgListener = Event.once(this._messages.event)(m => {
@@ -227,7 +219,14 @@ let InlineChatController = class InlineChatController {
227
219
  createSessionCts.cancel();
228
220
  }
229
221
  });
230
- session = await this._inlineChatSessionService.createSession(this._editor, { editMode: this._getMode(), wholeRange: options.initialRange }, createSessionCts.token);
222
+ try {
223
+ session = await this._inlineChatSessionService.createSession(this._editor, { editMode: this._getMode(), wholeRange: options.initialRange }, createSessionCts.token);
224
+ }
225
+ catch (error) {
226
+ if (error instanceof InlineChatError || error?.name === InlineChatError.code) {
227
+ errorMessage = error.message;
228
+ }
229
+ }
231
230
  createSessionCts.dispose();
232
231
  msgListener.dispose();
233
232
  if (createSessionCts.token.isCancellationRequested) {
@@ -240,29 +239,22 @@ let InlineChatController = class InlineChatController {
240
239
  delete options.initialRange;
241
240
  delete options.existingSession;
242
241
  if (!session) {
243
- this._dialogService.info(( localizeWithPath(
244
- 'vs/workbench/contrib/inlineChat/browser/inlineChatController',
245
- 'create.fail',
246
- "Failed to start editor chat"
247
- )), ( localizeWithPath(
248
- 'vs/workbench/contrib/inlineChat/browser/inlineChatController',
249
- 'create.fail.detail',
250
- "Please consult the error log and try again later."
251
- )));
242
+ MessageController.get(this._editor)?.showMessage(errorMessage, widgetPosition);
243
+ this._log('Failed to start editor chat');
252
244
  return "CANCEL" ;
253
245
  }
254
246
  switch (session.editMode) {
255
247
  case "preview" :
256
248
  this._strategy = this._instaService.createInstance(PreviewStrategy, session, this._editor, this._zone.value);
257
249
  break;
258
- case "livePreview" :
259
- this._strategy = this._instaService.createInstance(LivePreviewStrategy, session, this._editor, this._zone.value);
260
- break;
261
250
  case "live" :
262
251
  default:
263
252
  this._strategy = this._instaService.createInstance(LiveStrategy, session, this._editor, this._zone.value);
264
253
  break;
265
254
  }
255
+ if (session.session.input) {
256
+ options.message = session.session.input;
257
+ }
266
258
  this._session = session;
267
259
  return "INIT_UI" ;
268
260
  }
@@ -271,10 +263,6 @@ let InlineChatController = class InlineChatController {
271
263
  assertType(this._strategy);
272
264
  InlineCompletionsController.get(this._editor)?.hide();
273
265
  this._sessionStore.clear();
274
- this._sessionStore.add(this._zone.value.widget.onRequestWithoutIntentDetection(async () => {
275
- options.withIntentDetection = false;
276
- this.regenerate();
277
- }));
278
266
  const wholeRangeDecoration = this._editor.createDecorationsCollection();
279
267
  const updateWholeRangeDecoration = () => {
280
268
  const newDecorations = this._strategy?.getWholeRangeDecoration() ?? [];
@@ -283,19 +271,16 @@ let InlineChatController = class InlineChatController {
283
271
  this._sessionStore.add(toDisposable(() => wholeRangeDecoration.clear()));
284
272
  this._sessionStore.add(this._session.wholeRange.onDidChange(updateWholeRangeDecoration));
285
273
  updateWholeRangeDecoration();
286
- this._zone.value.widget.updateSlashCommands(this._session.session.slashCommands ?? []);
274
+ this._sessionStore.add(this._input.value.onDidBlur(() => this.cancelSession()));
275
+ this._input.value.setSession(this._session);
287
276
  this._updatePlaceholder();
288
- this._zone.value.widget.updateInfo(this._session.session.message ?? ( localizeWithPath(
277
+ const message = this._session.session.message ?? ( localizeWithPath(
289
278
  'vs/workbench/contrib/inlineChat/browser/inlineChatController',
290
279
  'welcome.1',
291
280
  "AI-generated code may be incorrect"
292
- )));
293
- this._zone.value.widget.preferredExpansionState = this._session.lastExpansionState;
294
- this._zone.value.widget.value = this._session.session.input ?? this._session.lastInput?.value ?? this._zone.value.widget.value;
295
- if (this._session.session.input) {
296
- this._zone.value.widget.selectAll();
297
- }
298
- this._showWidget(true);
281
+ ));
282
+ this._zone.value.widget.updateInfo(message);
283
+ this._showWidget(!this._session.lastExchange);
299
284
  this._sessionStore.add(this._editor.onDidChangeModel((e) => {
300
285
  const msg = this._session?.lastExchange
301
286
  ? 4
@@ -324,7 +309,89 @@ let InlineChatController = class InlineChatController {
324
309
  this.finishExistingSession();
325
310
  }
326
311
  }));
312
+ this._sessionStore.add(this._session.chatModel.onDidChange(e => {
313
+ if (e.kind === 'addRequest' && e.request.response) {
314
+ this._zone.value.widget.updateProgress(true);
315
+ const listener = e.request.response.onDidChange(() => {
316
+ if (e.request.response?.isCanceled || e.request.response?.isComplete) {
317
+ this._zone.value.widget.updateProgress(false);
318
+ listener.dispose();
319
+ }
320
+ });
321
+ }
322
+ }));
327
323
  this._ctxSupportIssueReporting.set(this._session.provider.supportIssueReporting ?? false);
324
+ this._sessionStore.add(this._languageFeatureService.completionProvider.register({ scheme: ChatInputPart.INPUT_SCHEME, hasAccessToAllModels: true }, {
325
+ _debugDisplayName: 'inline chat commands',
326
+ triggerCharacters: ['/'],
327
+ provideCompletionItems: (model, position, context, token) => {
328
+ if (position.lineNumber !== 1) {
329
+ return undefined;
330
+ }
331
+ if (!this._session || !this._session.session.slashCommands) {
332
+ return undefined;
333
+ }
334
+ const widget = this._chatWidgetService.getWidgetByInputUri(model.uri);
335
+ if (widget !== this._zone.value.widget.chatWidget && widget !== this._input.value.chatWidget) {
336
+ return undefined;
337
+ }
338
+ const result = { suggestions: [], incomplete: false };
339
+ for (const command of this._session.session.slashCommands) {
340
+ const withSlash = `/${command.command}`;
341
+ result.suggestions.push({
342
+ label: { label: withSlash, description: command.detail ?? '' },
343
+ kind: 18 ,
344
+ insertText: withSlash,
345
+ range: Range.fromPositions(( new Position(1, 1)), position),
346
+ command: command.executeImmediately ? { id: 'workbench.action.chat.acceptInput', title: withSlash } : undefined
347
+ });
348
+ }
349
+ return result;
350
+ }
351
+ }));
352
+ const updateSlashDecorations = (collection, model) => {
353
+ const newDecorations = [];
354
+ for (const command of (this._session?.session.slashCommands ?? []).sort((a, b) => b.command.length - a.command.length)) {
355
+ const withSlash = `/${command.command}`;
356
+ const firstLine = model.getLineContent(1);
357
+ if (firstLine.startsWith(withSlash)) {
358
+ newDecorations.push({
359
+ range: ( new Range(1, 1, 1, withSlash.length + 1)),
360
+ options: {
361
+ description: 'inline-chat-slash-command',
362
+ inlineClassName: 'inline-chat-slash-command',
363
+ after: {
364
+ content: ' '
365
+ }
366
+ }
367
+ });
368
+ if (firstLine.trim() === `/${command.command}`) {
369
+ newDecorations.push({
370
+ range: ( new Range(1, withSlash.length, 1, withSlash.length)),
371
+ options: {
372
+ description: 'inline-chat-slash-command-detail',
373
+ after: {
374
+ content: `${command.detail}`,
375
+ inlineClassName: 'inline-chat-slash-command-detail'
376
+ }
377
+ }
378
+ });
379
+ }
380
+ break;
381
+ }
382
+ }
383
+ collection.set(newDecorations);
384
+ };
385
+ const inputInputEditor = this._input.value.chatWidget.inputEditor;
386
+ const zoneInputEditor = this._zone.value.widget.chatWidget.inputEditor;
387
+ const inputDecorations = inputInputEditor.createDecorationsCollection();
388
+ const zoneDecorations = zoneInputEditor.createDecorationsCollection();
389
+ this._sessionStore.add(inputInputEditor.onDidChangeModelContent(() => updateSlashDecorations(inputDecorations, inputInputEditor.getModel())));
390
+ this._sessionStore.add(zoneInputEditor.onDidChangeModelContent(() => updateSlashDecorations(zoneDecorations, zoneInputEditor.getModel())));
391
+ this._sessionStore.add(toDisposable(() => {
392
+ inputDecorations.clear();
393
+ zoneDecorations.clear();
394
+ }));
328
395
  if (!this._session.lastExchange) {
329
396
  return "WAIT_FOR_INPUT" ;
330
397
  }
@@ -340,33 +407,37 @@ let InlineChatController = class InlineChatController {
340
407
  assertType(this._session);
341
408
  assertType(this._strategy);
342
409
  this._updatePlaceholder();
343
- if (options.existingExchange) {
344
- options.message = options.existingExchange.prompt;
345
- options.autoSend = true;
346
- }
347
410
  if (options.message) {
348
411
  this.updateInput(options.message);
349
412
  alert(options.message);
350
413
  delete options.message;
414
+ this._showWidget(false);
351
415
  }
352
416
  let message = 0 ;
417
+ let request;
418
+ const barrier = ( new Barrier());
419
+ const store = ( new DisposableStore());
420
+ store.add(this._session.chatModel.onDidChange(e => {
421
+ if (e.kind === 'addRequest') {
422
+ request = e.request;
423
+ message = 32 ;
424
+ barrier.open();
425
+ }
426
+ }));
427
+ store.add(this._strategy.onDidAccept(() => this.acceptSession()));
428
+ store.add(this._strategy.onDidDiscard(() => this.cancelSession()));
429
+ store.add(Event.once(this._messages.event)(m => {
430
+ this._log('state=_waitForInput) message received', m);
431
+ message = m;
432
+ barrier.open();
433
+ }));
353
434
  if (options.autoSend) {
354
- message = 32 ;
355
435
  delete options.autoSend;
436
+ this._showWidget(false);
437
+ this._zone.value.widget.chatWidget.acceptInput();
356
438
  }
357
- else {
358
- const barrier = ( new Barrier());
359
- const store = ( new DisposableStore());
360
- store.add(this._strategy.onDidAccept(() => this.acceptSession()));
361
- store.add(this._strategy.onDidDiscard(() => this.cancelSession()));
362
- store.add(Event.once(this._messages.event)(m => {
363
- this._log('state=_waitForInput) message received', m);
364
- message = m;
365
- barrier.open();
366
- }));
367
- await barrier.wait();
368
- store.dispose();
369
- }
439
+ await barrier.wait();
440
+ store.dispose();
370
441
  if (message & ((16 | 2) )) {
371
442
  return "CANCEL" ;
372
443
  }
@@ -377,220 +448,108 @@ let InlineChatController = class InlineChatController {
377
448
  this._zone.value.widget.selectAll(false);
378
449
  return "DONE" ;
379
450
  }
380
- if (message & 64 && this._session.lastExchange) {
381
- const { lastExchange } = this._session;
382
- if (options.withIntentDetection === undefined) {
383
- this._session.addInput(lastExchange.prompt.retry());
384
- }
385
- if (lastExchange.response instanceof ReplyResponse) {
386
- try {
387
- this._session.hunkData.ignoreTextModelNChanges = true;
388
- await this._strategy.undoChanges(lastExchange.response.modelAltVersionId);
451
+ if (!request?.message.text) {
452
+ return "WAIT_FOR_INPUT" ;
453
+ }
454
+ const input = request.message.text;
455
+ this._zone.value.widget.value = input;
456
+ let slashCommandLike = request.message.parts.find(part => part instanceof ChatRequestAgentSubcommandPart || part instanceof ChatRequestSlashCommandPart);
457
+ const refer = this._session.session.slashCommands?.some(value => {
458
+ if (value.refer) {
459
+ if (slashCommandLike?.text === `/${value.command}`) {
460
+ return true;
389
461
  }
390
- finally {
391
- this._session.hunkData.ignoreTextModelNChanges = false;
462
+ if (request?.message.text.startsWith(`/${value.command}`)) {
463
+ slashCommandLike = ( new ChatRequestSlashCommandPart(( new OffsetRange(0, 1)), ( new Range(1, 1, 1, 1)), { command: value.command, detail: value.detail ?? '' }));
464
+ return true;
392
465
  }
393
466
  }
394
- return "MAKE_REQUEST" ;
395
- }
396
- if (!this.getInput()) {
397
- return "WAIT_FOR_INPUT" ;
398
- }
399
- const input = this.getInput();
400
- this._historyUpdate(input);
401
- const refer = this._session.session.slashCommands?.some(value => value.refer && input.startsWith(`/${value.command}`));
402
- if (refer) {
403
- this._log('[IE] seeing refer command, continuing outside editor', this._session.provider.debugName);
467
+ return false;
468
+ });
469
+ if (refer && slashCommandLike && !this._session.lastExchange) {
470
+ this._log('[IE] seeing refer command, continuing outside editor', this._session.provider.extensionId);
471
+ this._chatService.cancelCurrentRequestForSession(request.session.sessionId);
404
472
  this._editor.setSelection(this._session.wholeRange.value);
405
473
  let massagedInput = input;
406
- if (input.startsWith(chatSubcommandLeader)) {
407
- const withoutSubCommandLeader = input.slice(1);
408
- const cts = ( new CancellationTokenSource());
409
- this._sessionStore.add(cts);
410
- for (const agent of this._chatAgentService.getAgents()) {
411
- const commands = await agent.provideSlashCommands(undefined, [], cts.token);
474
+ const withoutSubCommandLeader = slashCommandLike.text.slice(1);
475
+ for (const agent of this._chatAgentService.getActivatedAgents()) {
476
+ if (agent.locations.includes(ChatAgentLocation.Panel)) {
477
+ const commands = agent.slashCommands;
412
478
  if (commands.find((command) => withoutSubCommandLeader.startsWith(command.name))) {
413
- massagedInput = `${chatAgentLeader}${agent.id} ${input}`;
479
+ massagedInput = `${chatAgentLeader}${agent.name} ${slashCommandLike.text}`;
414
480
  break;
415
481
  }
416
482
  }
417
483
  }
418
- this._instaService.invokeFunction(sendRequest, massagedInput);
419
- if (!this._session.lastExchange) {
420
- return "DONE" ;
421
- }
422
- return "WAIT_FOR_INPUT" ;
484
+ await this._instaService.invokeFunction(sendRequest, massagedInput);
485
+ return "DONE" ;
423
486
  }
424
- this._session.addInput(( new SessionPrompt(input)));
425
- return "MAKE_REQUEST" ;
487
+ this._session.addInput(( new SessionPrompt(input, this._nextAttempt, this._nextWithIntentDetection)));
488
+ this._nextAttempt = 0;
489
+ this._nextWithIntentDetection = true;
490
+ return "SHOW_REQUEST" ;
426
491
  }
427
- async ["MAKE_REQUEST" ](options) {
428
- assertType(this._editor.hasModel());
492
+ async ["SHOW_REQUEST" ](options) {
429
493
  assertType(this._session);
430
- assertType(this._strategy);
431
494
  assertType(this._session.lastInput);
432
- const requestCts = ( new CancellationTokenSource());
433
- let message = 0 ;
434
- const msgListener = Event.once(this._messages.event)(m => {
435
- this._log('state=_makeRequest) message received', m);
436
- message = m;
437
- requestCts.cancel();
438
- });
439
- const typeListener = this._zone.value.widget.onDidChangeInput(() => requestCts.cancel());
440
- const requestClock = StopWatch.create();
441
- const request = {
442
- requestId: generateUuid(),
443
- prompt: this._session.lastInput.value,
444
- attempt: this._session.lastInput.attempt,
445
- selection: this._editor.getSelection(),
446
- wholeRange: this._session.wholeRange.trackedInitialRange,
447
- live: this._session.editMode !== "preview" ,
448
- previewDocument: this._session.textModelN.uri,
449
- withIntentDetection: options.withIntentDetection ?? true ,
450
- };
451
- delete options.withIntentDetection;
452
- const modelAltVersionIdNow = this._session.textModelN.getAlternativeVersionId();
453
- const progressEdits = [];
495
+ const request = tail(this._session.chatModel.getRequests());
496
+ assertType(request);
497
+ assertType(request.response);
498
+ this._showWidget(false);
499
+ this._zone.value.widget.value = request.message.text;
500
+ this._zone.value.widget.selectAll(false);
501
+ this._zone.value.widget.updateInfo('');
502
+ const { response } = request;
503
+ const responsePromise = ( new DeferredPromise());
504
+ const store = ( new DisposableStore());
505
+ const progressiveEditsCts = store.add(( new CancellationTokenSource()));
454
506
  const progressiveEditsAvgDuration = ( new MovingAverage());
455
- const progressiveEditsCts = ( new CancellationTokenSource(requestCts.token));
456
507
  const progressiveEditsClock = StopWatch.create();
457
508
  const progressiveEditsQueue = ( new Queue());
458
- let progressiveChatResponse;
459
- const progress = ( new Progress(data => {
460
- this._log('received chunk', data, request);
461
- if (requestCts.token.isCancellationRequested) {
509
+ let lastLength = 0;
510
+ let message = 0 ;
511
+ store.add(Event.once(this._messages.event)(m => {
512
+ this._log('state=_makeRequest) message received', m);
513
+ this._chatService.cancelCurrentRequestForSession(request.session.sessionId);
514
+ message = m;
515
+ }));
516
+ store.add(this._zone.value.widget.chatWidget.inputEditor.onDidChangeModelContent(() => {
517
+ this._chatService.cancelCurrentRequestForSession(request.session.sessionId);
518
+ }));
519
+ store.add(response.onDidChange(() => {
520
+ if (response.isCanceled) {
521
+ progressiveEditsCts.cancel();
522
+ responsePromise.complete();
462
523
  return;
463
524
  }
464
- if (data.message) {
465
- this._zone.value.widget.updateToolbar(false);
466
- this._zone.value.widget.updateInfo(data.message);
467
- }
468
- if (data.slashCommand) {
469
- const valueNow = this.getInput();
470
- if (!valueNow.startsWith('/')) {
471
- this._zone.value.widget.updateSlashCommandUsed(data.slashCommand);
472
- }
525
+ if (response.isComplete) {
526
+ responsePromise.complete();
527
+ return;
473
528
  }
474
- if (data.edits?.length) {
475
- if (!request.live) {
476
- throw new Error('Progress in NOT supported in non-live mode');
477
- }
478
- progressEdits.push(data.edits);
479
- progressiveEditsAvgDuration.update(progressiveEditsClock.elapsed());
480
- progressiveEditsClock.reset();
481
- progressiveEditsQueue.queue(async () => {
482
- const startThen = this._session.wholeRange.value.getStartPosition();
483
- await this._makeChanges(data.edits, data.editsShouldBeInstant
484
- ? undefined
485
- : { duration: progressiveEditsAvgDuration.value, token: progressiveEditsCts.token });
486
- const startNow = this._session.wholeRange.value.getStartPosition();
487
- if (!startNow.equals(startThen) || !this._zone.value.position?.equals(startNow)) {
488
- this._showWidget(false, startNow.delta(-1));
489
- }
490
- });
529
+ const edits = response.edits.get(this._session.textModelN.uri) ?? [];
530
+ const newEdits = edits.slice(lastLength);
531
+ if (newEdits.length === 0) {
532
+ return;
491
533
  }
492
- if (data.markdownFragment) {
493
- if (!progressiveChatResponse) {
494
- const message = {
495
- message: ( new MarkdownString(
496
- data.markdownFragment,
497
- { supportThemeIcons: true, supportHtml: true, isTrusted: false }
498
- )),
499
- providerId: this._session.provider.debugName,
500
- requestId: request.requestId,
501
- };
502
- progressiveChatResponse = this._zone.value.widget.updateChatMessage(message, true);
534
+ lastLength = edits.length;
535
+ progressiveEditsAvgDuration.update(progressiveEditsClock.elapsed());
536
+ progressiveEditsClock.reset();
537
+ progressiveEditsQueue.queue(async () => {
538
+ const startThen = this._session.wholeRange.value.getStartPosition();
539
+ await this._makeChanges(newEdits, { duration: progressiveEditsAvgDuration.value, token: progressiveEditsCts.token });
540
+ const startNow = this._session.wholeRange.value.getStartPosition();
541
+ if (!startNow.equals(startThen) || !this._zone.value.position?.equals(startNow)) {
542
+ this._showWidget(false, startNow.delta(-1));
503
543
  }
504
- else {
505
- progressiveChatResponse.appendContent(data.markdownFragment);
506
- }
507
- }
544
+ });
508
545
  }));
509
- let a11yResponse;
510
- const a11yVerboseInlineChat = this._configurationService.getValue('accessibility.verbosity.inlineChat') === true;
511
- const requestId = this._chatAccessibilityService.acceptRequest();
512
- let task;
513
- if (options.existingExchange) {
514
- task = options.existingExchange.response;
515
- delete options.existingExchange;
516
- this._log('using READY-response', this._session.provider.debugName, this._session.session);
517
- }
518
- else {
519
- task = this._session.provider.provideResponse(this._session.session, request, progress, requestCts.token);
520
- this._log('request started', this._session.provider.debugName, this._session.session, request);
521
- }
522
- let response;
523
- let reply;
524
- try {
525
- this._zone.value.widget.updateChatMessage(undefined);
526
- this._zone.value.widget.updateFollowUps(undefined);
527
- this._zone.value.widget.updateProgress(true);
528
- this._zone.value.widget.updateInfo(!this._session.lastExchange ? ( localizeWithPath(
529
- 'vs/workbench/contrib/inlineChat/browser/inlineChatController',
530
- 'thinking',
531
- "Thinking\u2026"
532
- )) : '');
533
- this._ctxHasActiveRequest.set(true);
534
- reply = await raceCancellationError(Promise.resolve(task), requestCts.token);
535
- await progressiveEditsQueue.whenIdle();
536
- if (progressiveChatResponse) {
537
- progressiveChatResponse.cancel();
538
- }
539
- if (!reply) {
540
- response = ( new EmptyResponse());
541
- a11yResponse = ( localizeWithPath(
542
- 'vs/workbench/contrib/inlineChat/browser/inlineChatController',
543
- 'empty',
544
- "No results, please refine your input and try again"
545
- ));
546
- }
547
- else {
548
- const markdownContents = reply.message ?? ( new MarkdownString('', { supportThemeIcons: true, supportHtml: true, isTrusted: false }));
549
- const replyResponse = response = this._instaService.createInstance(ReplyResponse, reply, markdownContents, this._session.textModelN.uri, modelAltVersionIdNow, progressEdits, request.requestId);
550
- for (let i = progressEdits.length; i < replyResponse.allLocalEdits.length; i++) {
551
- await this._makeChanges(replyResponse.allLocalEdits[i], undefined);
552
- }
553
- const a11yMessageResponse = renderMarkdownAsPlaintext(replyResponse.mdContent);
554
- a11yResponse = a11yVerboseInlineChat
555
- ? a11yMessageResponse ? ( localizeWithPath(
556
- 'vs/workbench/contrib/inlineChat/browser/inlineChatController',
557
- 'editResponseMessage2',
558
- "{0}, also review proposed changes in the diff editor.",
559
- a11yMessageResponse
560
- )) : ( localizeWithPath(
561
- 'vs/workbench/contrib/inlineChat/browser/inlineChatController',
562
- 'editResponseMessage',
563
- "Review proposed changes in the diff editor."
564
- ))
565
- : a11yMessageResponse;
566
- }
567
- }
568
- catch (e) {
569
- progressiveEditsQueue.clear();
570
- response = ( new ErrorResponse(e));
571
- a11yResponse = response.message;
572
- }
573
- finally {
574
- this._ctxHasActiveRequest.set(false);
575
- this._zone.value.widget.updateProgress(false);
576
- this._zone.value.widget.updateInfo('');
577
- this._zone.value.widget.updateToolbar(true);
578
- this._log('request took', requestClock.elapsed(), this._session.provider.debugName);
579
- this._chatAccessibilityService.acceptResponse(a11yResponse, requestId);
580
- }
546
+ await responsePromise.p;
547
+ await progressiveEditsQueue.whenIdle();
548
+ store.dispose();
581
549
  const diff = await this._editorWorkerService.computeDiff(this._session.textModel0.uri, this._session.textModelN.uri, { computeMoves: false, maxComputationTimeMs: Number.MAX_SAFE_INTEGER, ignoreTrimWhitespace: false }, 'advanced');
582
550
  this._session.wholeRange.fixup(diff?.changes ?? []);
583
- progressiveEditsCts.dispose(true);
584
- requestCts.dispose();
585
- msgListener.dispose();
586
- typeListener.dispose();
587
- if (response instanceof ReplyResponse) {
588
- await this._session.hunkData.recompute();
589
- }
590
- else if (request.live) {
591
- this._strategy?.undoChanges(modelAltVersionIdNow);
592
- }
593
- this._session.addExchange(( new SessionExchange(this._session.lastInput, response)));
551
+ await this._session.hunkData.recompute();
552
+ this._zone.value.widget.updateToolbar(true);
594
553
  if (message & 2 ) {
595
554
  return "CANCEL" ;
596
555
  }
@@ -600,9 +559,6 @@ let InlineChatController = class InlineChatController {
600
559
  else if (message & 1 ) {
601
560
  return "DONE" ;
602
561
  }
603
- else if (message & ((32 | 64) )) {
604
- return "MAKE_REQUEST" ;
605
- }
606
562
  else {
607
563
  return "APPLY_RESPONSE" ;
608
564
  }
@@ -653,9 +609,6 @@ let InlineChatController = class InlineChatController {
653
609
  }
654
610
  else if (response instanceof ReplyResponse) {
655
611
  this._zone.value.widget.updateStatus('');
656
- const message = { message: response.mdContent, providerId: this._session.provider.debugName, requestId: response.requestId };
657
- this._zone.value.widget.updateChatMessage(message);
658
- this._session.lastExpansionState = this._zone.value.widget.expansionState;
659
612
  this._zone.value.widget.updateToolbar(true);
660
613
  newPosition = await this._strategy.renderChanges(response);
661
614
  if (this._session.provider.provideFollowups) {
@@ -664,10 +617,10 @@ let InlineChatController = class InlineChatController {
664
617
  followupCts.cancel();
665
618
  });
666
619
  const followupTask = this._session.provider.provideFollowups(this._session.session, response.raw, followupCts.token);
667
- this._log('followup request started', this._session.provider.debugName, this._session.session, response.raw);
620
+ this._log('followup request started', this._session.provider.extensionId, this._session.session, response.raw);
668
621
  raceCancellation(Promise.resolve(followupTask), followupCts.token).then(followupReply => {
669
622
  if (followupReply && this._session) {
670
- this._log('followup request received', this._session.provider.debugName, this._session.session, followupReply);
623
+ this._log('followup request received', this._session.provider.extensionId, this._session.session, followupReply);
671
624
  this._zone.value.widget.updateFollowUps(followupReply, followup => {
672
625
  if (followup.kind === 'reply') {
673
626
  this.updateInput(followup.message);
@@ -753,41 +706,49 @@ let InlineChatController = class InlineChatController {
753
706
  if (position) {
754
707
  widgetPosition = position;
755
708
  }
756
- else if (this._zone.value.position) {
757
- if (this._zone.value.position.lineNumber === 1) {
758
- widgetPosition = this._zone.value.position.delta(-1);
709
+ else if (this._zone.rawValue?.position) {
710
+ if (this._zone.rawValue.position.lineNumber === 1) {
711
+ widgetPosition = this._zone.rawValue.position.delta(-1);
759
712
  }
760
713
  else {
761
- widgetPosition = this._zone.value.position;
714
+ widgetPosition = this._zone.rawValue.position;
762
715
  }
763
716
  }
764
717
  else {
765
718
  widgetPosition = this._editor.getSelection().getStartPosition().delta(-1);
766
719
  }
767
- if (initialRender) {
768
- this._zone.value.setContainerMargins();
769
- }
770
720
  if (this._session && !position && (this._session.hasChangedText || this._session.lastExchange)) {
771
721
  widgetPosition = this._session.wholeRange.value.getStartPosition().delta(-1);
772
722
  }
773
- if (this._session) {
774
- this._zone.value.updateBackgroundColor(widgetPosition, this._session.wholeRange.value);
723
+ if (this._zone.rawValue?.position) {
724
+ this._zone.value.updatePositionAndHeight(widgetPosition);
775
725
  }
776
- if (!this._zone.value.position) {
777
- this._zone.value.setWidgetMargins(widgetPosition);
778
- this._zone.value.show(widgetPosition);
726
+ else if (initialRender) {
727
+ const selection = this._editor.getSelection();
728
+ widgetPosition = selection.getStartPosition();
729
+ this._input.value.show(widgetPosition);
779
730
  }
780
731
  else {
781
- this._zone.value.setWidgetMargins(widgetPosition);
782
- this._zone.value.updatePositionAndHeight(widgetPosition);
732
+ this._input.value.hide();
733
+ this._zone.value.show(widgetPosition);
734
+ if (this._session && this._zone.value.widget.chatWidget.viewModel?.model !== this._session.chatModel) {
735
+ this._zone.value.widget.setChatModel(this._session.chatModel);
736
+ }
737
+ }
738
+ if (this._session && this._zone.rawValue) {
739
+ this._zone.rawValue.updateBackgroundColor(widgetPosition, this._session.wholeRange.value);
783
740
  }
741
+ this._ctxVisible.set(true);
742
+ return widgetPosition;
784
743
  }
785
744
  _resetWidget() {
786
745
  this._sessionStore.clear();
746
+ this._ctxVisible.reset();
787
747
  this._ctxDidEdit.reset();
788
748
  this._ctxUserDidEdit.reset();
789
749
  this._ctxLastFeedbackKind.reset();
790
750
  this._ctxSupportIssueReporting.reset();
751
+ this._input.rawValue?.hide();
791
752
  this._zone.rawValue?.hide();
792
753
  if (this._editor.hasWidgetFocus()) {
793
754
  this._editor.focus();
@@ -797,7 +758,7 @@ let InlineChatController = class InlineChatController {
797
758
  assertType(this._session);
798
759
  assertType(this._strategy);
799
760
  const moreMinimalEdits = await this._editorWorkerService.computeMoreMinimalEdits(this._session.textModelN.uri, edits);
800
- this._log('edits from PROVIDER and after making them MORE MINIMAL', this._session.provider.debugName, edits, moreMinimalEdits);
761
+ this._log('edits from PROVIDER and after making them MORE MINIMAL', this._session.provider.extensionId, edits, moreMinimalEdits);
801
762
  if (moreMinimalEdits?.length === 0) {
802
763
  return;
803
764
  }
@@ -840,19 +801,52 @@ let InlineChatController = class InlineChatController {
840
801
  this._updatePlaceholder();
841
802
  }
842
803
  acceptInput() {
843
- this._messages.fire(32 );
804
+ if (this._input.value.isVisible) {
805
+ this._input.value.chatWidget.acceptInput();
806
+ }
807
+ else {
808
+ this._zone.value.widget.chatWidget.acceptInput();
809
+ }
844
810
  }
845
811
  updateInput(text, selectAll = true) {
846
- this._zone.value.widget.value = text;
812
+ this._input.value.chatWidget.setInput(text);
813
+ this._zone.value.widget.chatWidget.setInput(text);
847
814
  if (selectAll) {
848
- this._zone.value.widget.selectAll();
815
+ const newSelection = ( new Selection(1, 1, Number.MAX_SAFE_INTEGER, 1));
816
+ this._input.value.chatWidget.inputEditor.setSelection(newSelection);
817
+ this._zone.value.widget.chatWidget.inputEditor.setSelection(newSelection);
849
818
  }
850
819
  }
851
820
  getInput() {
852
- return this._zone.value.widget.value;
821
+ return this._input.value.isVisible
822
+ ? this._input.value.value
823
+ : this._zone.value.widget.value;
853
824
  }
854
- regenerate() {
855
- this._messages.fire(64 );
825
+ async rerun(opts) {
826
+ if (this._session?.lastExchange && this._strategy) {
827
+ const { lastExchange } = this._session;
828
+ const request = tail(this._session.chatModel.getRequests());
829
+ if (!request || !request.response?.isComplete) {
830
+ return;
831
+ }
832
+ this._session.chatModel.removeRequest(request.id);
833
+ if (lastExchange.response instanceof ReplyResponse) {
834
+ try {
835
+ this._session.hunkData.ignoreTextModelNChanges = true;
836
+ await this._strategy.undoChanges(lastExchange.response.modelAltVersionId);
837
+ }
838
+ finally {
839
+ this._session.hunkData.ignoreTextModelNChanges = false;
840
+ }
841
+ }
842
+ if (opts.retry) {
843
+ this._nextAttempt = lastExchange.prompt.attempt + 1;
844
+ }
845
+ if (opts.withoutIntentDetection) {
846
+ this._nextWithIntentDetection = false;
847
+ }
848
+ this._zone.value.widget.chatWidget.acceptInput(request.message.text);
849
+ }
856
850
  }
857
851
  cancelCurrentRequest() {
858
852
  this._messages.fire(16 | 8 );
@@ -876,42 +870,11 @@ let InlineChatController = class InlineChatController {
876
870
  this.focus();
877
871
  this._strategy?.move?.(next);
878
872
  }
879
- populateHistory(up) {
880
- const len = InlineChatController_1._promptHistory.length;
881
- if (len === 0) {
882
- return;
883
- }
884
- if (this._historyOffset === -1) {
885
- this._historyCandidate = this._zone.value.widget.value;
886
- }
887
- const newIdx = this._historyOffset + (up ? 1 : -1);
888
- if (newIdx >= len) {
889
- return;
890
- }
891
- let entry;
892
- if (newIdx < 0) {
893
- entry = this._historyCandidate;
894
- this._historyOffset = -1;
895
- }
896
- else {
897
- entry = InlineChatController_1._promptHistory[newIdx];
898
- this._historyOffset = newIdx;
899
- }
900
- this._zone.value.widget.value = entry;
901
- this._zone.value.widget.selectAll();
902
- }
903
873
  viewInChat() {
904
874
  if (this._session?.lastExchange?.response instanceof ReplyResponse) {
905
875
  this._instaService.invokeFunction(showMessageResponse, this._session.lastExchange.prompt.value, this._session.lastExchange.response.mdContent.value);
906
876
  }
907
877
  }
908
- updateExpansionState(expand) {
909
- if (this._session) {
910
- const expansionState = expand ? ExpansionState.EXPANDED : ExpansionState.CROPPED;
911
- this._zone.value.widget.updateChatMessageExpansionState(expansionState);
912
- this._session.lastExpansionState = expansionState;
913
- }
914
- }
915
878
  toggleDiff() {
916
879
  this._strategy?.toggleDiff?.();
917
880
  }
@@ -981,7 +944,7 @@ let InlineChatController = class InlineChatController {
981
944
  return this._currentRun;
982
945
  }
983
946
  };
984
- InlineChatController = InlineChatController_1 = ( __decorate([
947
+ InlineChatController = ( __decorate([
985
948
  ( __param(1, IInstantiationService)),
986
949
  ( __param(2, IInlineChatSessionService)),
987
950
  ( __param(3, IInlineChatSavingService)),
@@ -990,30 +953,39 @@ InlineChatController = InlineChatController_1 = ( __decorate([
990
953
  ( __param(6, IConfigurationService)),
991
954
  ( __param(7, IDialogService)),
992
955
  ( __param(8, IContextKeyService)),
993
- ( __param(9, IChatAccessibilityService)),
994
- ( __param(10, IChatAgentService)),
956
+ ( __param(9, IChatAgentService)),
957
+ ( __param(10, IChatService)),
995
958
  ( __param(11, IBulkEditService)),
996
- ( __param(12, IStorageService)),
997
- ( __param(13, ICommandService))
959
+ ( __param(12, ICommandService)),
960
+ ( __param(13, ILanguageFeaturesService)),
961
+ ( __param(14, IChatWidgetService))
998
962
  ], InlineChatController));
999
963
  async function showMessageResponse(accessor, query, response) {
1000
964
  const chatService = accessor.get(IChatService);
1001
- const providerId = chatService.getProviderInfos()[0]?.id;
965
+ const chatAgentService = accessor.get(IChatAgentService);
966
+ const agent = chatAgentService.getActivatedAgents().find(agent => agent.locations.includes(ChatAgentLocation.Panel) && agent.isDefault);
967
+ if (!agent) {
968
+ return;
969
+ }
1002
970
  const chatWidgetService = accessor.get(IChatWidgetService);
1003
- const widget = await chatWidgetService.revealViewForProvider(providerId);
971
+ const widget = await chatWidgetService.revealViewForProvider(agent.name);
1004
972
  if (widget && widget.viewModel) {
1005
973
  chatService.addCompleteRequest(widget.viewModel.sessionId, query, undefined, { message: response });
1006
974
  widget.focusLastMessage();
1007
975
  }
1008
976
  }
1009
977
  async function sendRequest(accessor, query) {
1010
- const chatService = accessor.get(IChatService);
1011
978
  const widgetService = accessor.get(IChatWidgetService);
1012
- const providerId = chatService.getProviderInfos()[0]?.id;
1013
- const widget = await widgetService.revealViewForProvider(providerId);
979
+ const chatAgentService = accessor.get(IChatAgentService);
980
+ const agent = chatAgentService.getActivatedAgents().find(agent => agent.locations.includes(ChatAgentLocation.Panel) && agent.isDefault);
981
+ if (!agent) {
982
+ return;
983
+ }
984
+ const widget = await widgetService.revealViewForProvider(agent.name);
1014
985
  if (!widget) {
1015
986
  return;
1016
987
  }
988
+ widget.focusInput();
1017
989
  widget.acceptInput(query);
1018
990
  }
1019
991
  export { InlineChatController, InlineChatRunOptions };