@codingame/monaco-vscode-api 5.2.0 → 6.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 (1002) hide show
  1. package/README.md +2 -0
  2. package/api.js +1 -1
  3. package/extensions.d.ts +4 -4
  4. package/localExtensionHost.js +2 -1
  5. package/missing-services.js +77 -22
  6. package/package.json +8 -8
  7. package/service-override/dialogs.d.ts +1 -8
  8. package/service-override/search.d.ts +1 -8
  9. package/service-override/tools/editor.js +11 -2
  10. package/service-override/userDataProfile.d.ts +5 -0
  11. package/services.js +2 -2
  12. package/vscode/src/vs/base/browser/canIUse.js +10 -4
  13. package/vscode/src/vs/base/browser/deviceAccess.js +60 -0
  14. package/vscode/src/vs/base/browser/dom.js +25 -9
  15. package/vscode/src/vs/base/browser/formattedTextRenderer.js +36 -24
  16. package/vscode/src/vs/base/browser/keyboardEvent.js +24 -24
  17. package/vscode/src/vs/base/browser/markdownRenderer.js +130 -30
  18. package/vscode/src/vs/base/browser/performance.js +24 -18
  19. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +22 -16
  20. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +3 -2
  21. package/vscode/src/vs/base/browser/ui/button/button.js +19 -7
  22. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +43 -17
  24. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -6
  25. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -2
  26. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -2
  27. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -4
  28. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +5 -4
  29. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +5 -0
  30. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +1 -0
  31. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +10 -6
  33. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +16 -1
  34. package/vscode/src/vs/base/browser/ui/iconLabel/iconlabel.css.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +2 -1
  36. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +17 -9
  37. package/vscode/src/vs/base/browser/ui/list/list.js +12 -1
  38. package/vscode/src/vs/base/browser/ui/list/listView.js +19 -11
  39. package/vscode/src/vs/base/browser/ui/list/listWidget.js +17 -16
  40. package/vscode/src/vs/base/browser/ui/menu/menu.js +17 -15
  41. package/vscode/src/vs/base/browser/ui/menu/menubar.js +14 -14
  42. package/vscode/src/vs/base/browser/ui/resizable/resizable.js +9 -9
  43. package/vscode/src/vs/base/browser/ui/sash/sash.js +30 -18
  44. package/vscode/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +5 -4
  45. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +3 -3
  46. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +3 -2
  47. package/vscode/src/vs/base/browser/ui/scrollbar/verticalScrollbar.js +3 -2
  48. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +3 -0
  49. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +25 -20
  50. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +6 -2
  51. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +26 -24
  52. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +33 -27
  53. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +5 -3
  54. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  55. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  56. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +30 -24
  57. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +7 -7
  58. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +15 -15
  59. package/vscode/src/vs/base/browser/ui/tree/tree.js +13 -1
  60. package/vscode/src/vs/base/common/actions.js +1 -1
  61. package/vscode/src/vs/base/common/arrays.js +2 -5
  62. package/vscode/src/vs/base/common/assert.js +7 -2
  63. package/vscode/src/vs/base/common/async.js +38 -14
  64. package/vscode/src/vs/base/common/charCode.js +296 -0
  65. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  66. package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
  67. package/vscode/src/vs/base/common/color.js +24 -23
  68. package/vscode/src/vs/base/common/diff/diff.js +15 -10
  69. package/vscode/src/vs/base/common/event.js +83 -26
  70. package/vscode/src/vs/base/common/extpath.js +10 -9
  71. package/vscode/src/vs/base/common/filters.js +40 -32
  72. package/vscode/src/vs/base/common/fuzzyScorer.js +10 -9
  73. package/vscode/src/vs/base/common/glob.js +2 -1
  74. package/vscode/src/vs/base/common/hash.js +15 -10
  75. package/vscode/src/vs/base/common/htmlContent.js +8 -3
  76. package/vscode/src/vs/base/common/json.js +323 -149
  77. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -9
  78. package/vscode/src/vs/base/common/jsonFormatter.js +30 -30
  79. package/vscode/src/vs/base/common/keyCodes.js +591 -249
  80. package/vscode/src/vs/base/common/keybindingLabels.js +4 -3
  81. package/vscode/src/vs/base/common/keybindings.js +30 -17
  82. package/vscode/src/vs/base/common/labels.js +10 -10
  83. package/vscode/src/vs/base/common/lifecycle.js +5 -0
  84. package/vscode/src/vs/base/common/map.js +20 -14
  85. package/vscode/src/vs/base/common/marshalling.js +5 -4
  86. package/vscode/src/vs/base/common/marshallingIds.js +22 -0
  87. package/vscode/src/vs/base/common/naturalLanguage/korean.js +213 -129
  88. package/vscode/src/vs/base/common/network.js +3 -2
  89. package/vscode/src/vs/base/common/objects.js +8 -1
  90. package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -13
  91. package/vscode/src/vs/base/common/observableInternal/base.js +1 -1
  92. package/vscode/src/vs/base/common/observableInternal/derived.js +35 -19
  93. package/vscode/src/vs/base/common/observableInternal/utils.js +9 -1
  94. package/vscode/src/vs/base/common/platform.js +26 -10
  95. package/vscode/src/vs/base/common/prefixTree.js +3 -0
  96. package/vscode/src/vs/base/common/processes.js +32 -0
  97. package/vscode/src/vs/base/common/resources.js +4 -3
  98. package/vscode/src/vs/base/common/scrollable.js +7 -1
  99. package/vscode/src/vs/base/common/strings.d.ts +9 -0
  100. package/vscode/src/vs/base/common/strings.js +94 -47
  101. package/vscode/src/vs/base/common/ternarySearchTree.js +54 -39
  102. package/vscode/src/vs/base/common/uint.js +14 -5
  103. package/vscode/src/vs/base/common/uri.js +41 -39
  104. package/vscode/src/vs/base/common/uriIpc.js +2 -1
  105. package/vscode/src/vs/base/common/worker/simpleWorker.js +20 -12
  106. package/vscode/src/vs/base/parts/ipc/common/ipc.js +77 -55
  107. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +108 -51
  108. package/vscode/src/vs/base/parts/storage/common/storage.js +3 -1
  109. package/vscode/src/vs/editor/browser/config/charWidthReader.js +10 -4
  110. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +4 -3
  111. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +21 -21
  112. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +28 -25
  113. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +68 -50
  114. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +5 -3
  115. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +49 -44
  116. package/vscode/src/vs/editor/browser/controller/textAreaInput.js +8 -6
  117. package/vscode/src/vs/editor/browser/controller/textAreaState.js +8 -7
  118. package/vscode/src/vs/editor/browser/coreCommands.js +215 -198
  119. package/vscode/src/vs/editor/browser/editorBrowser.js +30 -1
  120. package/vscode/src/vs/editor/browser/editorExtensions.js +19 -10
  121. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +28 -18
  122. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +2 -1
  123. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -10
  124. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +70 -62
  125. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +5 -3
  126. package/vscode/src/vs/editor/browser/services/markerDecorations.js +2 -2
  127. package/vscode/src/vs/editor/browser/stableEditorScroll.js +4 -3
  128. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +27 -21
  129. package/vscode/src/vs/editor/browser/view/viewController.js +5 -4
  130. package/vscode/src/vs/editor/browser/view/viewLayer.js +2 -1
  131. package/vscode/src/vs/editor/browser/view/viewOverlays.js +9 -8
  132. package/vscode/src/vs/editor/browser/view/viewPart.js +15 -2
  133. package/vscode/src/vs/editor/browser/view/viewUserInputEvents.js +2 -1
  134. package/vscode/src/vs/editor/browser/view.js +9 -8
  135. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +2 -1
  136. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +47 -20
  137. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +7 -6
  138. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +3 -2
  139. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +19 -17
  140. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +16 -10
  141. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +7 -6
  142. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +9 -8
  143. package/vscode/src/vs/editor/browser/viewParts/lines/rangeUtil.js +4 -3
  144. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +29 -24
  145. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +35 -31
  146. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +3 -2
  147. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +5 -4
  148. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +39 -29
  149. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js +9 -9
  150. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +22 -22
  151. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharSheet.js +20 -7
  152. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +41 -20
  153. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +37 -19
  154. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +7 -6
  155. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +5 -4
  156. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +4 -3
  157. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +33 -26
  158. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +9 -9
  159. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +22 -21
  160. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +6 -5
  161. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +18 -16
  162. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorContributions.js +12 -11
  163. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +195 -149
  164. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +7 -5
  165. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +24 -23
  166. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +47 -35
  167. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +15 -12
  168. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +9 -6
  169. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +10 -10
  170. package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js +19 -18
  171. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +7 -6
  172. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +9 -3
  173. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +26 -9
  174. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +2 -2
  175. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +29 -12
  176. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +13 -10
  177. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +2 -1
  178. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  179. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +4 -7
  180. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +2 -1
  181. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +49 -39
  182. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  183. package/vscode/src/vs/editor/common/commands/replaceCommand.js +2 -2
  184. package/vscode/src/vs/editor/common/commands/shiftCommand.js +6 -5
  185. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +2 -1
  186. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +2 -2
  187. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +4 -0
  188. package/vscode/src/vs/editor/common/config/editorOptions.js +719 -559
  189. package/vscode/src/vs/editor/common/config/fontInfo.js +8 -8
  190. package/vscode/src/vs/editor/common/core/characterClassifier.js +8 -3
  191. package/vscode/src/vs/editor/common/core/cursorColumns.js +3 -2
  192. package/vscode/src/vs/editor/common/core/eolCounter.js +16 -8
  193. package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -9
  194. package/vscode/src/vs/editor/common/core/lineRange.js +0 -28
  195. package/vscode/src/vs/editor/common/core/selection.js +12 -7
  196. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +12 -5
  197. package/vscode/src/vs/editor/common/cursor/cursor.js +34 -31
  198. package/vscode/src/vs/editor/common/cursor/cursorAtomicMoveOperations.js +17 -10
  199. package/vscode/src/vs/editor/common/cursor/cursorColumnSelection.js +3 -3
  200. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +4 -4
  201. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +52 -50
  202. package/vscode/src/vs/editor/common/cursor/cursorMoveOperations.js +14 -12
  203. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +35 -33
  204. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +79 -65
  205. package/vscode/src/vs/editor/common/cursor/oneCursor.js +7 -6
  206. package/vscode/src/vs/editor/common/cursorCommon.js +54 -38
  207. package/vscode/src/vs/editor/common/cursorEvents.js +11 -0
  208. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +1 -1
  209. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js +2 -1
  210. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +43 -30
  211. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +2 -1
  212. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +5 -4
  213. package/vscode/src/vs/editor/common/editorCommon.js +16 -1
  214. package/vscode/src/vs/editor/common/encodedTokenAttributes.js +71 -19
  215. package/vscode/src/vs/editor/common/languages/autoIndent.js +83 -89
  216. package/vscode/src/vs/editor/common/languages/enterAction.js +10 -20
  217. package/vscode/src/vs/editor/common/languages/languageConfiguration.js +9 -7
  218. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +3 -10
  219. package/vscode/src/vs/editor/common/languages/linkComputer.js +94 -69
  220. package/vscode/src/vs/editor/common/languages/nullTokenize.js +6 -5
  221. package/vscode/src/vs/editor/common/languages/supports/indentRules.js +12 -5
  222. package/vscode/src/vs/editor/common/languages/supports/indentationLineProcessor.js +150 -0
  223. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.d.ts +2 -0
  224. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +5 -0
  225. package/vscode/src/vs/editor/common/languages/supports/onEnter.js +4 -3
  226. package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +3 -3
  227. package/vscode/src/vs/editor/common/languages/supports/tokenization.js +25 -24
  228. package/vscode/src/vs/editor/common/languages/supports.d.ts +5 -1
  229. package/vscode/src/vs/editor/common/languages/supports.js +13 -1
  230. package/vscode/src/vs/editor/common/languages/textToHtmlTokenizer.js +14 -12
  231. package/vscode/src/vs/editor/common/languages.d.ts +6 -15
  232. package/vscode/src/vs/editor/common/languages.js +204 -113
  233. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +18 -10
  234. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +18 -16
  235. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +4 -4
  236. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +3 -3
  237. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +8 -7
  238. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +15 -33
  239. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +5 -4
  240. package/vscode/src/vs/editor/common/model/editStack.js +6 -4
  241. package/vscode/src/vs/editor/common/model/indentationGuesser.js +7 -6
  242. package/vscode/src/vs/editor/common/model/intervalTree.js +119 -71
  243. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +17 -16
  244. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +11 -11
  245. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +5 -3
  246. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +46 -41
  247. package/vscode/src/vs/editor/common/model/textModel.js +35 -26
  248. package/vscode/src/vs/editor/common/model/textModelSearch.js +15 -14
  249. package/vscode/src/vs/editor/common/model/textModelTokens.js +8 -3
  250. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +8 -5
  251. package/vscode/src/vs/editor/common/model/utils.js +3 -2
  252. package/vscode/src/vs/editor/common/model.js +46 -1
  253. package/vscode/src/vs/editor/common/modelLineProjectionData.js +10 -10
  254. package/vscode/src/vs/editor/common/services/editorBaseApi.js +5 -5
  255. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +1 -1
  256. package/vscode/src/vs/editor/common/services/getIconClasses.js +6 -1
  257. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +2 -2
  258. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -2
  259. package/vscode/src/vs/editor/common/services/languagesRegistry.js +4 -3
  260. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +19 -18
  261. package/vscode/src/vs/editor/common/services/modelService.js +9 -8
  262. package/vscode/src/vs/editor/common/services/semanticTokensDto.js +8 -3
  263. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +27 -16
  264. package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +2 -2
  265. package/vscode/src/vs/editor/common/services/treeViewsDndService.js +2 -2
  266. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +31 -18
  267. package/vscode/src/vs/editor/common/standaloneStrings.js +18 -39
  268. package/vscode/src/vs/editor/common/textModelEvents.js +14 -6
  269. package/vscode/src/vs/editor/common/tokenizationRegistry.js +3 -2
  270. package/vscode/src/vs/editor/common/tokenizationTextModelPart.js +6 -0
  271. package/vscode/src/vs/editor/common/tokens/contiguousTokensStore.js +7 -7
  272. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +12 -1
  273. package/vscode/src/vs/editor/common/tokens/lineTokens.js +64 -8
  274. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +5 -4
  275. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +7 -6
  276. package/vscode/src/vs/editor/common/viewEventHandler.js +19 -18
  277. package/vscode/src/vs/editor/common/viewEvents.js +50 -19
  278. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +9 -6
  279. package/vscode/src/vs/editor/common/viewLayout/linePart.js +12 -3
  280. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +25 -23
  281. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +97 -72
  282. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +3 -2
  283. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +2 -1
  284. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +30 -19
  285. package/vscode/src/vs/editor/common/viewModel/overviewZoneManager.js +5 -1
  286. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +11 -9
  287. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +42 -38
  288. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +15 -8
  289. package/vscode/src/vs/editor/common/viewModel.js +9 -2
  290. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +30 -14
  291. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +12 -10
  292. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +15 -12
  293. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +4 -2
  294. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +19 -16
  295. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -2
  296. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +21 -19
  297. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +6 -6
  298. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +14 -11
  299. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +2 -2
  300. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +4 -3
  301. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +19 -17
  302. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +21 -12
  303. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +10 -4
  304. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +6 -6
  305. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +14 -13
  306. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +4 -2
  307. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +8 -5
  308. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +9 -8
  309. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +7 -4
  310. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +6 -4
  311. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +8 -5
  312. package/vscode/src/vs/editor/contrib/comment/browser/blockCommentCommand.js +5 -4
  313. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +18 -16
  314. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +20 -12
  315. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +23 -18
  316. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +6 -4
  317. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +17 -12
  318. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +2 -2
  319. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +8 -6
  320. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -9
  321. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +10 -8
  322. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -3
  323. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +76 -34
  324. package/vscode/src/vs/editor/contrib/editorState/browser/editorState.js +16 -9
  325. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +6 -4
  326. package/vscode/src/vs/editor/contrib/find/browser/findController.js +95 -85
  327. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +10 -8
  328. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +31 -25
  329. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +2 -1
  330. package/vscode/src/vs/editor/contrib/find/browser/findState.js +17 -11
  331. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +58 -49
  332. package/vscode/src/vs/editor/contrib/find/browser/replacePattern.js +25 -19
  333. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +68 -64
  334. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +14 -13
  335. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +6 -6
  336. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +20 -14
  337. package/vscode/src/vs/editor/contrib/format/browser/format.js +31 -10
  338. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +18 -16
  339. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +17 -14
  340. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +8 -5
  341. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +2 -2
  342. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -38
  343. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +13 -3
  344. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +9 -7
  345. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +9 -7
  346. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +31 -28
  347. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +8 -4
  348. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +2 -6
  349. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +10 -8
  350. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +4 -2
  351. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +31 -12
  352. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +14 -10
  353. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  354. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +247 -0
  355. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +7 -1
  356. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +38 -34
  357. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +7 -2
  358. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +46 -17
  359. package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +37 -18
  360. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +12 -7
  361. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverWidget.js +9 -7
  362. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +100 -60
  363. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +7 -4
  364. package/vscode/src/vs/editor/contrib/hover/browser/resizableContentWidget.js +6 -4
  365. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +10 -11
  366. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -6
  367. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +25 -20
  368. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js +2 -2
  369. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +26 -20
  370. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +4 -2
  371. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -2
  372. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +9 -7
  373. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +0 -1
  374. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +19 -18
  375. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +9 -7
  376. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +5 -2
  377. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +55 -0
  378. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +10 -8
  379. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +26 -14
  380. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +8 -5
  381. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -1
  382. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +2 -1
  383. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +2 -2
  384. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +12 -10
  385. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +3 -2
  386. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +8 -6
  387. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +2 -2
  388. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +5 -4
  389. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +6 -3
  390. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +7 -4
  391. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +6 -3
  392. package/vscode/src/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +2 -2
  393. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +35 -33
  394. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +4 -2
  395. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +14 -10
  396. package/vscode/src/vs/editor/contrib/links/browser/links.js +13 -10
  397. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +6 -4
  398. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +14 -9
  399. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +53 -51
  400. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +15 -13
  401. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +18 -16
  402. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +19 -6
  403. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +8 -7
  404. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +8 -6
  405. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -3
  406. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +38 -34
  407. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +4 -3
  408. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +22 -20
  409. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +15 -11
  410. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +15 -12
  411. package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +2 -2
  412. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +14 -11
  413. package/vscode/src/vs/editor/contrib/smartSelect/browser/wordSelections.js +3 -2
  414. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +13 -10
  415. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +100 -81
  416. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +10 -7
  417. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  418. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +7 -5
  419. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js +2 -2
  420. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +19 -16
  421. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +2 -1
  422. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +3 -2
  423. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +14 -11
  424. package/vscode/src/vs/editor/contrib/suggest/browser/completionModel.js +18 -10
  425. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +24 -16
  426. package/vscode/src/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js +4 -2
  427. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +83 -69
  428. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +6 -4
  429. package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +6 -6
  430. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +66 -57
  431. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +71 -59
  432. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +6 -5
  433. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +10 -9
  434. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -2
  435. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +4 -2
  436. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -4
  437. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +28 -25
  438. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -6
  439. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +10 -10
  440. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +16 -12
  441. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +54 -50
  442. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +21 -19
  443. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +12 -9
  444. package/vscode/src/vs/editor/editor.api.d.ts +47 -4
  445. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +6 -4
  446. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +5 -3
  447. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditorService.js +5 -4
  448. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +2 -2
  449. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +50 -43
  450. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +5 -5
  451. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +3 -3
  452. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +58 -0
  453. package/vscode/src/vs/{workbench/contrib → platform}/accessibility/browser/accessibleView.service.js +1 -1
  454. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +35 -0
  455. package/vscode/src/vs/platform/accessibility/common/accessibility.js +7 -1
  456. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  457. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +61 -51
  458. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +1 -0
  459. package/vscode/src/vs/platform/action/common/action.d.ts +4 -0
  460. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +13 -8
  461. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +16 -14
  462. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -2
  463. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +6 -4
  464. package/vscode/src/vs/platform/actions/browser/toolbar.js +10 -4
  465. package/vscode/src/vs/platform/actions/common/actions.contribution.js +1 -0
  466. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  467. package/vscode/src/vs/platform/actions/common/actions.js +14 -10
  468. package/vscode/src/vs/platform/actions/common/menuService.js +9 -8
  469. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +5 -5
  470. package/vscode/src/vs/platform/configuration/common/configuration.js +20 -9
  471. package/vscode/src/vs/platform/configuration/common/configurationModels.js +4 -3
  472. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -15
  473. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +4 -2
  474. package/vscode/src/vs/platform/contextkey/common/contextkey.js +98 -78
  475. package/vscode/src/vs/platform/contextkey/common/scanner.js +94 -69
  476. package/vscode/src/vs/platform/contextview/browser/contextMenuHandler.js +2 -2
  477. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +6 -6
  478. package/vscode/src/vs/platform/diagnostics/common/diagnostics.js +4 -1
  479. package/vscode/src/vs/platform/editor/common/editor.js +14 -1
  480. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +9 -8
  481. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  482. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +106 -61
  483. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +5 -3
  484. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +13 -12
  485. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +16 -9
  486. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +26 -26
  487. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +6 -4
  488. package/vscode/src/vs/platform/extensions/common/extensions.js +22 -1
  489. package/vscode/src/vs/platform/externalServices/common/serviceMachineId.js +3 -2
  490. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +4 -4
  491. package/vscode/src/vs/platform/files/common/files.js +53 -25
  492. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +10 -10
  493. package/vscode/src/vs/platform/files/common/watcher.js +26 -10
  494. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +8 -7
  495. package/vscode/src/vs/platform/hover/browser/hover.js +5 -4
  496. package/vscode/src/vs/platform/instantiation/common/extensions.js +6 -1
  497. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +5 -1
  498. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +16 -7
  499. package/vscode/src/vs/platform/issue/common/issue.service.js +3 -0
  500. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +7 -6
  501. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +15 -9
  502. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +3 -0
  503. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +12 -4
  504. package/vscode/src/vs/platform/keybinding/common/resolvedKeybindingItem.js +2 -1
  505. package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +64 -63
  506. package/vscode/src/vs/platform/label/common/label.js +7 -0
  507. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +11 -0
  508. package/vscode/src/vs/platform/list/browser/listService.js +3 -2
  509. package/vscode/src/vs/platform/markers/common/markerService.js +1 -0
  510. package/vscode/src/vs/platform/markers/common/markers.js +6 -1
  511. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +19 -0
  512. package/vscode/src/vs/platform/opener/browser/link.js +2 -1
  513. package/vscode/src/vs/platform/product/common/product.js +1 -1
  514. package/vscode/src/vs/platform/progress/common/progress.js +10 -47
  515. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +7 -0
  516. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +9 -8
  517. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +81 -113
  518. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +145 -0
  519. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +3 -2
  520. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +39 -13
  521. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +1 -0
  522. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +63 -85
  523. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +2 -1
  524. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -2
  525. package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +16 -0
  526. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +76 -1
  527. package/vscode/src/vs/platform/quickinput/common/quickInput.js +19 -1
  528. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +5 -1
  529. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +29 -15
  530. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.js +8 -3
  531. package/vscode/src/vs/platform/request/common/request.js +2 -2
  532. package/vscode/src/vs/platform/storage/common/storage.js +22 -22
  533. package/vscode/src/vs/platform/telemetry/common/telemetry.js +15 -1
  534. package/vscode/src/vs/platform/telemetry/common/telemetry.service.d.ts +1 -0
  535. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +12 -12
  536. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  537. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.js +14 -0
  538. package/vscode/src/vs/platform/terminal/common/terminal.js +151 -1
  539. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -15
  540. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  541. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +66 -64
  542. package/vscode/src/vs/platform/tunnel/common/tunnel.js +3 -1
  543. package/vscode/src/vs/platform/undoRedo/common/undoRedo.js +6 -1
  544. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +29 -24
  545. package/vscode/src/vs/platform/update/common/update.js +37 -10
  546. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +3 -1
  547. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +12 -3
  548. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.service.js +3 -0
  549. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +56 -58
  550. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +75 -8
  551. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +6 -5
  552. package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +49 -48
  553. package/vscode/src/vs/platform/window/common/window.js +24 -7
  554. package/vscode/src/vs/platform/workspace/common/workspace.js +7 -1
  555. package/vscode/src/vs/platform/workspace/common/workspaceTrust.js +7 -0
  556. package/vscode/src/vs/workbench/api/browser/statusBarService.js +12 -6
  557. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +59 -40
  558. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +27 -27
  559. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +68 -3
  560. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +19 -0
  561. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +6 -6
  562. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +115 -45
  563. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +14 -9
  564. package/vscode/src/vs/workbench/api/common/extHostComments.js +14 -12
  565. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +10 -9
  566. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +13 -8
  567. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +5 -3
  568. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +19 -19
  569. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +64 -0
  570. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  571. package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +17 -15
  572. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +2 -2
  573. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +13 -12
  574. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.js +2 -1
  575. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +79 -76
  576. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +121 -87
  577. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +24 -8
  578. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +1 -0
  579. package/vscode/src/vs/workbench/api/common/extHostSCM.js +34 -28
  580. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +38 -2
  581. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -2
  582. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +7 -5
  583. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +8 -6
  584. package/vscode/src/vs/workbench/api/common/extHostTestItem.js +7 -7
  585. package/vscode/src/vs/workbench/api/common/extHostTesting.js +140 -45
  586. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +2 -1
  587. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +259 -278
  588. package/vscode/src/vs/workbench/api/common/extHostTypes.js +83 -22
  589. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +23 -22
  590. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -1
  591. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +2 -2
  592. package/vscode/src/vs/workbench/api/worker/extHost.worker.services.js +3 -3
  593. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +4 -4
  594. package/vscode/src/vs/workbench/browser/actions/developerActions.js +13 -10
  595. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +95 -100
  596. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -6
  597. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +8 -7
  598. package/vscode/src/vs/workbench/browser/actions/windowActions.js +24 -23
  599. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +17 -16
  600. package/vscode/src/vs/workbench/browser/codeeditor.js +12 -9
  601. package/vscode/src/vs/workbench/browser/labels.js +3 -0
  602. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +11 -8
  603. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +29 -28
  604. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +34 -33
  605. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +4 -2
  606. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +37 -33
  607. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution._autosave.js +2 -2
  608. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +2 -0
  609. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +224 -219
  610. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +30 -27
  611. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +204 -161
  612. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +151 -80
  613. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +9 -5
  614. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +4 -3
  615. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -3
  616. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -3
  617. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -6
  618. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +28 -22
  619. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -10
  620. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +3 -0
  621. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +19 -17
  622. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +1 -1
  623. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  624. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +218 -76
  625. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +4 -0
  626. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +1 -0
  627. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -15
  628. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +10 -11
  629. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -1
  630. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +7 -5
  631. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +12 -10
  632. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +7 -4
  633. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +13 -9
  634. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -2
  635. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +10 -8
  636. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +33 -33
  637. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +8 -6
  638. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +12 -8
  639. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +12 -6
  640. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -1
  641. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +32 -36
  642. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +1 -1
  643. package/vscode/src/vs/workbench/browser/parts/titlebar/media/menubarControl.css.js +1 -1
  644. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +22 -16
  645. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +21 -14
  646. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +8 -12
  647. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.d.ts +2 -0
  648. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -6
  649. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +13 -9
  650. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +57 -46
  651. package/vscode/src/vs/workbench/browser/window.js +329 -0
  652. package/vscode/src/vs/workbench/browser/workbench.contribution.js +207 -199
  653. package/vscode/src/vs/workbench/common/configuration.js +94 -20
  654. package/vscode/src/vs/workbench/common/contextkeys.js +50 -40
  655. package/vscode/src/vs/workbench/common/contributions.js +23 -22
  656. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +16 -16
  657. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +125 -63
  658. package/vscode/src/vs/workbench/common/editor/editorInput.js +6 -6
  659. package/vscode/src/vs/workbench/common/editor/editorOptions.js +5 -4
  660. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +9 -6
  661. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +13 -12
  662. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -7
  663. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -2
  664. package/vscode/src/vs/workbench/common/editor.d.ts +13 -11
  665. package/vscode/src/vs/workbench/common/editor.js +49 -1
  666. package/vscode/src/vs/workbench/common/memento.js +10 -9
  667. package/vscode/src/vs/workbench/common/notifications.js +32 -11
  668. package/vscode/src/vs/workbench/common/theme.js +167 -137
  669. package/vscode/src/vs/workbench/common/views.js +5 -6
  670. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +477 -378
  671. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +87 -49
  672. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +19 -29
  673. package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +15 -0
  674. package/vscode/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +6 -1
  675. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +74 -48
  676. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +10 -8
  677. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +5 -3
  678. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +3 -2
  679. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +50 -43
  680. package/vscode/src/vs/workbench/contrib/chat/browser/chatConfirmationWidget.js +47 -0
  681. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -1
  682. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +8 -21
  683. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +101 -47
  684. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +276 -140
  685. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +120 -29
  686. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +65 -0
  687. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +51 -34
  688. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  689. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +55 -34
  690. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +20 -18
  691. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  692. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  693. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatConfirmationWidget.css.js +4 -0
  694. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +7 -7
  695. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +79 -23
  696. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -1
  697. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +189 -103
  698. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +9 -10
  699. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +21 -5
  700. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  701. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +19 -12
  702. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +8 -15
  703. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +11 -2
  704. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +170 -0
  705. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -1
  706. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +2 -2
  707. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +20 -12
  708. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +77 -0
  709. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +9 -89
  710. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +2 -2
  711. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +7 -5
  712. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -7
  713. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +2 -2
  714. package/vscode/src/vs/workbench/contrib/codeEditor/browser/menuPreventer.js +5 -4
  715. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +10 -6
  716. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -12
  717. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +2 -1
  718. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +5 -3
  719. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -1
  720. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +17 -14
  721. package/vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +2 -2
  722. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +2 -1
  723. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +2 -1
  724. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +14 -12
  725. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +23 -15
  726. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +2 -1
  727. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -2
  728. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -1
  729. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -10
  730. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +11 -14
  731. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +49 -76
  732. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +50 -40
  733. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -8
  734. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +4 -2
  735. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +8 -6
  736. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +9 -8
  737. package/vscode/src/vs/workbench/contrib/comments/common/commentCommandIds.js +15 -0
  738. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +2 -1
  739. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +14 -14
  740. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +3 -2
  741. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +19 -17
  742. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +33 -32
  743. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +25 -20
  744. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +4 -3
  745. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +62 -60
  746. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +40 -4
  747. package/vscode/src/vs/workbench/contrib/debug/common/debug.service.d.ts +2 -2
  748. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +4 -1
  749. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +15 -16
  750. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -1
  751. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +118 -109
  752. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  753. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +24 -1
  754. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -1
  755. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +4 -2
  756. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +3 -2
  757. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +23 -16
  758. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -9
  759. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +3 -2
  760. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +14 -12
  761. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +10 -2
  762. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +9 -7
  763. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +12 -9
  764. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +23 -22
  765. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +13 -11
  766. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +25 -25
  767. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +7 -7
  768. package/vscode/src/vs/workbench/contrib/files/browser/files.js +8 -1
  769. package/vscode/src/vs/workbench/contrib/files/browser/media/explorerviewlet.css.js +1 -1
  770. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -2
  771. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +16 -10
  772. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +55 -111
  773. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +42 -35
  774. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -1
  775. package/vscode/src/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +15 -8
  776. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +5 -3
  777. package/vscode/src/vs/workbench/contrib/files/common/files.js +25 -2
  778. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +2 -1
  779. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +8 -6
  780. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +7 -4
  781. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -2
  782. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +6 -4
  783. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +82 -137
  784. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +11 -8
  785. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +292 -328
  786. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +69 -67
  787. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +79 -417
  788. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +50 -61
  789. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +32 -124
  790. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +41 -20
  791. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  792. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +5 -1
  793. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +59 -53
  794. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -4
  795. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +2 -2
  796. package/vscode/src/vs/workbench/contrib/markers/common/markers.js +7 -2
  797. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +3 -3
  798. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +15 -13
  799. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +1 -1
  800. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +3 -2
  801. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +26 -20
  802. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +13 -8
  803. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +22 -10
  804. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +5 -11
  805. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +4 -3
  806. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -57
  807. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +25 -1
  808. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -6
  809. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +103 -23
  810. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +6 -5
  811. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +16 -15
  812. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -2
  813. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +137 -261
  814. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +26 -8
  815. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +25 -23
  816. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +23 -21
  817. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  818. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +4 -2
  819. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +21 -1
  820. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +16 -11
  821. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -18
  822. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +24 -13
  823. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  824. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +8 -7
  825. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +3 -3
  826. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +5 -3
  827. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +1 -1
  828. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +17 -10
  829. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +14 -9
  830. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +3 -2
  831. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellWidgets.js +7 -0
  832. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +11 -1
  833. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  834. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +15 -5
  835. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +7 -4
  836. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +36 -25
  837. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +14 -3
  838. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +20 -10
  839. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2 -1
  840. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +2 -1
  841. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +7 -10
  842. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +3 -2
  843. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +2 -2
  844. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +19 -9
  845. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +5 -3
  846. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +5 -4
  847. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +15 -11
  848. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  849. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +4 -3
  850. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +35 -2
  851. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +14 -12
  852. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +41 -15
  853. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +8 -2
  854. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +5 -3
  855. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +29 -23
  856. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +1 -1
  857. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +31 -24
  858. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +11 -8
  859. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +29 -27
  860. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
  861. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +27 -45
  862. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +13 -1
  863. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +785 -0
  864. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  865. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  866. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +23 -22
  867. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +36 -32
  868. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +222 -0
  869. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +85 -0
  870. package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +3 -2
  871. package/vscode/src/vs/workbench/contrib/search/common/constants.js +49 -1
  872. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +6 -5
  873. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +8 -2
  874. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +16 -13
  875. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +11 -11
  876. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +47 -30
  877. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +1 -0
  878. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +80 -11
  879. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -3
  880. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +27 -1
  881. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +8 -5
  882. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +721 -0
  883. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +9 -8
  884. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +0 -9
  885. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -5
  886. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +166 -71
  887. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +92 -144
  888. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +41 -0
  889. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminal.accessibility.js +12 -0
  890. package/vscode/src/vs/workbench/contrib/terminalContrib/find/common/terminal.find.js +22 -0
  891. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +18 -0
  892. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +103 -0
  893. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +4 -3
  894. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +79 -22
  895. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +46 -18
  896. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +51 -41
  897. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +33 -19
  898. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +108 -38
  899. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +19 -18
  900. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +1 -2
  901. package/vscode/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +6 -1
  902. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.js +77 -0
  903. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.service.js +3 -0
  904. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +119 -0
  905. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +9 -2
  906. package/vscode/src/vs/workbench/contrib/webview/common/webview.js +4 -3
  907. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +3 -2
  908. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +2 -1
  909. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +2 -1
  910. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +22 -10
  911. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +25 -9
  912. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +370 -0
  913. package/vscode/src/vs/workbench/services/configuration/common/configuration.js +8 -7
  914. package/vscode/src/vs/workbench/services/driver/browser/driver.js +187 -0
  915. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +3 -1
  916. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +42 -29
  917. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +1 -0
  918. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.js +5 -5
  919. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +5 -5
  920. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +36 -1
  921. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  922. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +11 -2
  923. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +6 -1
  924. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +3 -0
  925. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +1 -0
  926. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +20 -1
  927. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  928. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +11 -0
  929. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +4 -7
  930. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +8 -2
  931. package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js +16 -10
  932. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.js +18 -7
  933. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +1 -0
  934. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.js +4 -3
  935. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +17 -6
  936. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +4 -4
  937. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.d.ts +2 -1
  938. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +5 -0
  939. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +103 -64
  940. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +31 -15
  941. package/vscode/src/vs/workbench/services/{views/browser/treeViewsService.service.js → integrity/common/integrity.service.js} +2 -2
  942. package/vscode/src/vs/workbench/services/language/common/languageService.js +2 -1
  943. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +71 -24
  944. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +28 -8
  945. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +11 -11
  946. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +1 -0
  947. package/vscode/src/vs/workbench/services/outline/browser/outline.js +22 -0
  948. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +10 -9
  949. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +19 -17
  950. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +4 -2
  951. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +16 -16
  952. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -2
  953. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +9 -9
  954. package/vscode/src/vs/workbench/services/search/common/replace.js +12 -11
  955. package/vscode/src/vs/workbench/services/search/common/search.js +32 -1
  956. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +6 -6
  957. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +6 -1
  958. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +290 -0
  959. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +6 -2
  960. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -0
  961. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +28 -27
  962. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +27 -3
  963. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +2 -2
  964. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  965. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +43 -1
  966. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +2 -2
  967. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +2 -2
  968. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +12 -11
  969. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +7 -2
  970. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +19 -13
  971. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +29 -25
  972. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.js +6 -0
  973. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -2
  974. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +52 -32
  975. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopy.js +7 -1
  976. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +17 -14
  977. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -0
  978. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +90 -97
  979. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +76 -0
  980. package/vscode-dts/vscode.proposed.chatProvider.d.ts +24 -7
  981. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +82 -2
  982. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +0 -5
  983. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +2 -2
  984. package/vscode-dts/vscode.proposed.embeddings.d.ts +33 -0
  985. package/vscode-dts/vscode.proposed.interactive.d.ts +2 -110
  986. package/vscode-dts/vscode.proposed.languageModelSystem.d.ts +17 -0
  987. package/vscode-dts/vscode.proposed.resolvers.d.ts +2 -1
  988. package/vscode-dts/vscode.proposed.speech.d.ts +26 -6
  989. package/vscode-dts/vscode.proposed.testObserver.d.ts +9 -0
  990. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +0 -194
  991. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +0 -876
  992. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewContributions.js +0 -407
  993. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +0 -196
  994. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.service.js +0 -3
  995. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +0 -595
  996. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +0 -102
  997. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +0 -458
  998. package/vscode-dts/vscode.proposed.debugFocus.d.ts +0 -66
  999. package/vscode-dts/vscode.proposed.languageModels.d.ts +0 -291
  1000. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +0 -28
  1001. /package/vscode/src/vs/workbench/{services → contrib}/issue/browser/issueTroubleshoot.service.js +0 -0
  1002. /package/vscode/src/vs/workbench/{services → contrib}/issue/common/issue.service.js +0 -0
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import { alert } from '../../../../base/browser/ui/aria/aria.js';
3
- import { raceCancellation, Barrier, DeferredPromise, Queue } from '../../../../base/common/async.js';
3
+ import { Barrier, DeferredPromise, Queue } from '../../../../base/common/async.js';
4
4
  import { CancellationTokenSource } from '../../../../base/common/cancellation.js';
5
5
  import { toErrorMessage } from '../../../../base/common/errorMessage.js';
6
6
  import { onUnexpectedError } from '../../../../base/common/errors.js';
@@ -13,7 +13,7 @@ import { assertType } from '../../../../base/common/types.js';
13
13
  import { Position } from '../../../../editor/common/core/position.js';
14
14
  import { Range } from '../../../../editor/common/core/range.js';
15
15
  import { Selection } from '../../../../editor/common/core/selection.js';
16
- import { TextEdit } from '../../../../editor/common/languages.js';
16
+ import { CompletionItemKind, TextEdit } from '../../../../editor/common/languages.js';
17
17
  import { IEditorWorkerService } from '../../../../editor/common/services/editorWorker.js';
18
18
  import { InlineCompletionsController } from '../../../../editor/contrib/inlineCompletions/browser/inlineCompletionsController.js';
19
19
  import { localizeWithPath } from '../../../../nls.js';
@@ -24,27 +24,47 @@ import { IInstantiationService } from '../../../../platform/instantiation/common
24
24
  import { ILogService } from '../../../../platform/log/common/log.service.js';
25
25
  import { showChatView } from '../../chat/browser/chat.js';
26
26
  import { IChatWidgetService } from '../../chat/browser/chat.service.js';
27
- import { ChatAgentLocation } from '../../chat/common/chatAgents.js';
28
- import { IChatAgentService } from '../../chat/common/chatAgents.service.js';
29
- import { ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, chatAgentLeader } from '../../chat/common/chatParserTypes.js';
30
27
  import { IChatService } from '../../chat/common/chatService.service.js';
31
28
  import { IInlineChatSavingService } from './inlineChatSavingService.service.js';
32
- import { ReplyResponse, SessionPrompt, EmptyResponse, ErrorResponse, Session } from './inlineChatSession.js';
29
+ import { SessionPrompt, EmptyResponse, ErrorResponse, ReplyResponse, Session } from './inlineChatSession.js';
33
30
  import { IInlineChatSessionService } from './inlineChatSessionService.service.js';
34
31
  import { LiveStrategy, PreviewStrategy } from './inlineChatStrategies.js';
35
32
  import { InlineChatZoneWidget } from './inlineChatZoneWidget.js';
36
- 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';
37
- import { ICommandService } from '../../../../platform/commands/common/commands.service.js';
33
+ import { INLINE_CHAT_ID, CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_USER_DID_EDIT, CTX_INLINE_CHAT_RESPONSE_TYPES, InlineChatConfigKeys, EditMode, InlineChatResponseTypes } from '../common/inlineChat.js';
38
34
  import { InlineChatContentWidget } from './inlineChatContentWidget.js';
39
35
  import { MessageController } from '../../../../editor/contrib/message/browser/messageController.js';
40
- import { tail } from '../../../../base/common/arrays.js';
36
+ import { ChatRequestRemovalReason } from '../../chat/common/chatModel.js';
41
37
  import { InlineChatError } from './inlineChatSessionServiceImpl.js';
42
38
  import { ILanguageFeaturesService } from '../../../../editor/common/services/languageFeatures.js';
43
39
  import { ChatInputPart } from '../../chat/browser/chatInputPart.js';
44
- import { OffsetRange } from '../../../../editor/common/core/offsetRange.js';
45
- import { isEqual } from '../../../../base/common/resources.js';
46
40
  import { IViewsService } from '../../../services/views/common/viewsService.service.js';
41
+ import { DefaultModelSHA1Computer } from '../../../../editor/common/services/modelService.js';
42
+ import { generateUuid } from '../../../../base/common/uuid.js';
43
+ import { isEqual } from '../../../../base/common/resources.js';
44
+ import { ChatAgentLocation } from '../../chat/common/chatAgents.js';
45
+ import { INotebookEditorService } from '../../notebook/browser/services/notebookEditorService.service.js';
47
46
  const _moduleId = "vs/workbench/contrib/inlineChat/browser/inlineChatController";
47
+ var State;
48
+ ( ((function(State) {
49
+ State["CREATE_SESSION"] = "CREATE_SESSION";
50
+ State["INIT_UI"] = "INIT_UI";
51
+ State["WAIT_FOR_INPUT"] = "WAIT_FOR_INPUT";
52
+ State["SHOW_REQUEST"] = "SHOW_REQUEST";
53
+ State["SHOW_RESPONSE"] = "SHOW_RESPONSE";
54
+ State["PAUSE"] = "PAUSE";
55
+ State["CANCEL"] = "CANCEL";
56
+ State["ACCEPT"] = "DONE";
57
+ })(State || (State = {}))));
58
+ var Message;
59
+ ( ((function(Message) {
60
+ Message[Message["NONE"] = 0] = "NONE";
61
+ Message[Message["ACCEPT_SESSION"] = 1] = "ACCEPT_SESSION";
62
+ Message[Message["CANCEL_SESSION"] = 2] = "CANCEL_SESSION";
63
+ Message[Message["PAUSE_SESSION"] = 4] = "PAUSE_SESSION";
64
+ Message[Message["CANCEL_REQUEST"] = 8] = "CANCEL_REQUEST";
65
+ Message[Message["CANCEL_INPUT"] = 16] = "CANCEL_INPUT";
66
+ Message[Message["ACCEPT_INPUT"] = 32] = "ACCEPT_INPUT";
67
+ })(Message || (Message = {}))));
48
68
  class InlineChatRunOptions {
49
69
  static isInteractiveEditorOptions(options) {
50
70
  const { initialSelection, initialRange, message, autoSend, position, existingSession } = options;
@@ -63,7 +83,15 @@ let InlineChatController = class InlineChatController {
63
83
  static get(editor) {
64
84
  return editor.getContribution(INLINE_CHAT_ID);
65
85
  }
66
- constructor(_editor, _instaService, _inlineChatSessionService, _inlineChatSavingService, _editorWorkerService, _logService, _configurationService, _dialogService, contextKeyService, _chatAgentService, _chatService, _commandService, _languageFeatureService, _chatWidgetService) {
86
+ get chatWidget() {
87
+ if (this._ui.value.content.isVisible) {
88
+ return this._ui.value.content.chatWidget;
89
+ }
90
+ else {
91
+ return this._ui.value.zone.widget.chatWidget;
92
+ }
93
+ }
94
+ constructor(_editor, _instaService, _inlineChatSessionService, _inlineChatSavingService, _editorWorkerService, _logService, _configurationService, _dialogService, contextKeyService, _chatService, _languageFeatureService, _chatWidgetService, notebookEditorService) {
67
95
  this._editor = _editor;
68
96
  this._instaService = _instaService;
69
97
  this._inlineChatSessionService = _inlineChatSessionService;
@@ -72,9 +100,7 @@ let InlineChatController = class InlineChatController {
72
100
  this._logService = _logService;
73
101
  this._configurationService = _configurationService;
74
102
  this._dialogService = _dialogService;
75
- this._chatAgentService = _chatAgentService;
76
103
  this._chatService = _chatService;
77
- this._commandService = _commandService;
78
104
  this._languageFeatureService = _languageFeatureService;
79
105
  this._chatWidgetService = _chatWidgetService;
80
106
  this._isDisposed = false;
@@ -82,23 +108,26 @@ let InlineChatController = class InlineChatController {
82
108
  this._messages = this._store.add(( (new Emitter())));
83
109
  this._onWillStartSession = this._store.add(( (new Emitter())));
84
110
  this.onWillStartSession = this._onWillStartSession.event;
85
- this.onDidAcceptInput = Event.filter(this._messages.event, m => m === 32 , this._store);
86
- this.onDidCancelInput = Event.filter(this._messages.event, m => m === 16 || m === 2 , this._store);
87
111
  this._sessionStore = this._store.add(( (new DisposableStore())));
88
112
  this._stashedSession = this._store.add(( (new MutableDisposable())));
89
113
  this._forcedPlaceholder = undefined;
90
114
  this._ctxVisible = CTX_INLINE_CHAT_VISIBLE.bindTo(contextKeyService);
91
- this._ctxDidEdit = CTX_INLINE_CHAT_DID_EDIT.bindTo(contextKeyService);
92
115
  this._ctxUserDidEdit = CTX_INLINE_CHAT_USER_DID_EDIT.bindTo(contextKeyService);
93
116
  this._ctxResponseTypes = CTX_INLINE_CHAT_RESPONSE_TYPES.bindTo(contextKeyService);
94
- this._ctxLastFeedbackKind = CTX_INLINE_CHAT_LAST_FEEDBACK.bindTo(contextKeyService);
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
- )));
99
- this._zone = ( (new Lazy(
100
- () => this._store.add(_instaService.createInstance(InlineChatZoneWidget, this._editor))
101
- )));
117
+ this._ui = ( (new Lazy(() => {
118
+ let location = ChatAgentLocation.Editor;
119
+ for (const notebookEditor of notebookEditorService.listNotebookEditors()) {
120
+ for (const [, codeEditor] of notebookEditor.codeEditors) {
121
+ if (codeEditor === this._editor) {
122
+ location = ChatAgentLocation.Notebook;
123
+ break;
124
+ }
125
+ }
126
+ }
127
+ const content = this._store.add(_instaService.createInstance(InlineChatContentWidget, location, this._editor));
128
+ const zone = this._store.add(_instaService.createInstance(InlineChatZoneWidget, location, this._editor));
129
+ return { content, zone };
130
+ })));
102
131
  this._store.add(this._editor.onDidChangeModel(async (e) => {
103
132
  if (this._session || !e.newModelUrl) {
104
133
  return;
@@ -130,8 +159,8 @@ let InlineChatController = class InlineChatController {
130
159
  dispose() {
131
160
  if (this._currentRun) {
132
161
  this._messages.fire(this._session?.chatModel.hasRequests
133
- ? 4
134
- : 2 );
162
+ ? Message.PAUSE_SESSION
163
+ : Message.CANCEL_SESSION);
135
164
  }
136
165
  this._store.dispose();
137
166
  this._isDisposed = true;
@@ -146,16 +175,16 @@ let InlineChatController = class InlineChatController {
146
175
  }
147
176
  }
148
177
  getMessage() {
149
- return this._zone.value.widget.responseContent;
178
+ return this._ui.value.zone.widget.responseContent;
150
179
  }
151
180
  getId() {
152
181
  return INLINE_CHAT_ID;
153
182
  }
154
183
  _getMode() {
155
- return this._configurationService.getValue("inlineChat.mode" );
184
+ return this._configurationService.getValue(InlineChatConfigKeys.Mode);
156
185
  }
157
186
  getWidgetPosition() {
158
- return this._zone.value.position;
187
+ return this._ui.value.zone.position;
159
188
  }
160
189
  async run(options = {}) {
161
190
  try {
@@ -168,7 +197,7 @@ let InlineChatController = class InlineChatController {
168
197
  }
169
198
  this._stashedSession.clear();
170
199
  this._onWillStartSession.fire();
171
- this._currentRun = this._nextState("CREATE_SESSION" , options);
200
+ this._currentRun = this._nextState(State.CREATE_SESSION, options);
172
201
  await this._currentRun;
173
202
  }
174
203
  catch (error) {
@@ -176,7 +205,7 @@ let InlineChatController = class InlineChatController {
176
205
  if (this._session) {
177
206
  this._inlineChatSessionService.releaseSession(this._session);
178
207
  }
179
- this["PAUSE" ]();
208
+ this[State.PAUSE]();
180
209
  }
181
210
  finally {
182
211
  this._currentRun = undefined;
@@ -189,7 +218,7 @@ let InlineChatController = class InlineChatController {
189
218
  nextState = await this[nextState](options);
190
219
  }
191
220
  }
192
- async ["CREATE_SESSION" ](options) {
221
+ async [State.CREATE_SESSION](options) {
193
222
  assertType(this._session === undefined);
194
223
  assertType(this._editor.hasModel());
195
224
  let session = options.existingSession;
@@ -204,10 +233,10 @@ let InlineChatController = class InlineChatController {
204
233
  const createSessionCts = ( (new CancellationTokenSource()));
205
234
  const msgListener = Event.once(this._messages.event)(m => {
206
235
  this._log('state=_createSession) message received', m);
207
- if (m === 32 ) {
236
+ if (m === Message.ACCEPT_INPUT) {
208
237
  options.autoSend = true;
209
- this._zone.value.widget.updateProgress(true);
210
- this._zone.value.widget.updateInfo(( localizeWithPath(_moduleId, 1, "Getting ready...")));
238
+ this._ui.value.zone.widget.updateProgress(true);
239
+ this._ui.value.zone.widget.updateInfo(( localizeWithPath(_moduleId, 1, "Getting ready...")));
211
240
  }
212
241
  else {
213
242
  createSessionCts.cancel();
@@ -227,7 +256,7 @@ let InlineChatController = class InlineChatController {
227
256
  if (session) {
228
257
  this._inlineChatSessionService.releaseSession(session);
229
258
  }
230
- return "CANCEL" ;
259
+ return State.CANCEL;
231
260
  }
232
261
  }
233
262
  delete options.initialRange;
@@ -235,22 +264,22 @@ let InlineChatController = class InlineChatController {
235
264
  if (!session) {
236
265
  MessageController.get(this._editor)?.showMessage(errorMessage, widgetPosition);
237
266
  this._log('Failed to start editor chat');
238
- return "CANCEL" ;
267
+ return State.CANCEL;
239
268
  }
240
269
  await session.chatModel.waitForInitialization();
241
270
  switch (session.editMode) {
242
- case "preview" :
243
- this._strategy = this._instaService.createInstance(PreviewStrategy, session, this._editor, this._zone.value);
271
+ case EditMode.Preview:
272
+ this._strategy = this._instaService.createInstance(PreviewStrategy, session, this._editor, this._ui.value.zone);
244
273
  break;
245
- case "live" :
274
+ case EditMode.Live:
246
275
  default:
247
- this._strategy = this._instaService.createInstance(LiveStrategy, session, this._editor, this._zone.value);
276
+ this._strategy = this._instaService.createInstance(LiveStrategy, session, this._editor, this._ui.value.zone);
248
277
  break;
249
278
  }
250
279
  this._session = session;
251
- return "INIT_UI" ;
280
+ return State.INIT_UI;
252
281
  }
253
- async ["INIT_UI" ](options) {
282
+ async [State.INIT_UI](options) {
254
283
  assertType(this._session);
255
284
  assertType(this._strategy);
256
285
  InlineCompletionsController.get(this._editor)?.hide();
@@ -263,16 +292,16 @@ let InlineChatController = class InlineChatController {
263
292
  this._sessionStore.add(toDisposable(() => wholeRangeDecoration.clear()));
264
293
  this._sessionStore.add(this._session.wholeRange.onDidChange(updateWholeRangeDecoration));
265
294
  updateWholeRangeDecoration();
266
- this._sessionStore.add(this._input.value.onDidBlur(() => this.cancelSession()));
267
- this._input.value.setSession(this._session);
295
+ this._sessionStore.add(this._ui.value.content.onDidBlur(() => this.cancelSession()));
296
+ this._ui.value.content.setSession(this._session);
268
297
  this._updatePlaceholder();
269
298
  const message = this._session.session.message ?? ( localizeWithPath(_moduleId, 2, "AI-generated code may be incorrect"));
270
- this._zone.value.widget.updateInfo(message);
299
+ this._ui.value.zone.widget.updateInfo(message);
271
300
  this._showWidget(!this._session.chatModel.hasRequests);
272
301
  this._sessionStore.add(this._editor.onDidChangeModel((e) => {
273
302
  const msg = this._session?.chatModel.hasRequests
274
- ? 4
275
- : 2 ;
303
+ ? Message.PAUSE_SESSION
304
+ : Message.CANCEL_SESSION;
276
305
  this._log('model changed, pause or cancel session', msg, e);
277
306
  this._messages.fire(msg);
278
307
  }));
@@ -286,7 +315,7 @@ let InlineChatController = class InlineChatController {
286
315
  }
287
316
  const wholeRange = this._session.wholeRange;
288
317
  let shouldFinishSession = false;
289
- if (this._configurationService.getValue("inlineChat.finishOnType" )) {
318
+ if (this._configurationService.getValue(InlineChatConfigKeys.FinishOnType)) {
290
319
  for (const { range } of e.changes) {
291
320
  shouldFinishSession = !Range.areIntersectingOrTouching(range, wholeRange.value);
292
321
  }
@@ -299,19 +328,24 @@ let InlineChatController = class InlineChatController {
299
328
  }));
300
329
  this._sessionStore.add(this._session.chatModel.onDidChange(async (e) => {
301
330
  if (e.kind === 'addRequest' && e.request.response) {
302
- this._zone.value.widget.updateProgress(true);
331
+ this._ui.value.zone.widget.updateProgress(true);
303
332
  const listener = e.request.response.onDidChange(() => {
304
333
  if (e.request.response?.isCanceled || e.request.response?.isComplete) {
305
- this._zone.value.widget.updateProgress(false);
334
+ this._ui.value.zone.widget.updateProgress(false);
306
335
  listener.dispose();
307
336
  }
308
337
  });
309
338
  }
310
339
  else if (e.kind === 'removeRequest') {
311
- if (this._session.lastExchange?.response instanceof ReplyResponse) {
340
+ const exchange = this._session.exchanges.find(candidate => candidate.prompt.request.id === e.requestId);
341
+ if (exchange && this._editor.hasModel()) {
342
+ this._session.hunkData.ignoreTextModelNChanges = true;
312
343
  try {
313
- this._session.hunkData.ignoreTextModelNChanges = true;
314
- await this._strategy.undoChanges(this._session.lastExchange.response.modelAltVersionId);
344
+ const model = this._editor.getModel();
345
+ const targetAltVersion = exchange.prompt.modelAltVersionId;
346
+ while (targetAltVersion < model.getAlternativeVersionId() && model.canUndo()) {
347
+ await model.undo();
348
+ }
315
349
  }
316
350
  finally {
317
351
  this._session.hunkData.ignoreTextModelNChanges = false;
@@ -319,7 +353,6 @@ let InlineChatController = class InlineChatController {
319
353
  }
320
354
  }
321
355
  }));
322
- this._ctxSupportIssueReporting.set(this._session.provider.supportIssueReporting ?? false);
323
356
  this._sessionStore.add(this._languageFeatureService.completionProvider.register({ scheme: ChatInputPart.INPUT_SCHEME, hasAccessToAllModels: true }, {
324
357
  _debugDisplayName: 'inline chat commands',
325
358
  triggerCharacters: ['/'],
@@ -331,18 +364,17 @@ let InlineChatController = class InlineChatController {
331
364
  return undefined;
332
365
  }
333
366
  const widget = this._chatWidgetService.getWidgetByInputUri(model.uri);
334
- if (widget !== this._zone.value.widget.chatWidget && widget !== this._input.value.chatWidget) {
367
+ if (widget !== this._ui.value.zone.widget.chatWidget && widget !== this._ui.value.content.chatWidget) {
335
368
  return undefined;
336
369
  }
337
370
  const result = { suggestions: [], incomplete: false };
338
371
  for (const command of this._session.session.slashCommands) {
339
- const withSlash = `/${command.command}`;
372
+ const withSlash = `/${command.name}`;
340
373
  result.suggestions.push({
341
- label: { label: withSlash, description: command.detail ?? '' },
342
- kind: 18 ,
374
+ label: { label: withSlash, description: command.description ?? '' },
375
+ kind: CompletionItemKind.Text,
343
376
  insertText: withSlash,
344
377
  range: Range.fromPositions(( (new Position(1, 1))), position),
345
- command: command.executeImmediately ? { id: 'workbench.action.chat.acceptInput', title: withSlash } : undefined
346
378
  });
347
379
  }
348
380
  return result;
@@ -350,8 +382,8 @@ let InlineChatController = class InlineChatController {
350
382
  }));
351
383
  const updateSlashDecorations = (collection, model) => {
352
384
  const newDecorations = [];
353
- for (const command of (this._session?.session.slashCommands ?? []).sort((a, b) => b.command.length - a.command.length)) {
354
- const withSlash = `/${command.command}`;
385
+ for (const command of (this._session?.session.slashCommands ?? []).sort((a, b) => b.name.length - a.name.length)) {
386
+ const withSlash = `/${command.name}`;
355
387
  const firstLine = model.getLineContent(1);
356
388
  if (firstLine.startsWith(withSlash)) {
357
389
  newDecorations.push({
@@ -364,13 +396,13 @@ let InlineChatController = class InlineChatController {
364
396
  }
365
397
  }
366
398
  });
367
- if (firstLine.trim() === `/${command.command}`) {
399
+ if (firstLine.trim() === `/${command.name}`) {
368
400
  newDecorations.push({
369
401
  range: ( (new Range(1, withSlash.length, 1, withSlash.length))),
370
402
  options: {
371
403
  description: 'inline-chat-slash-command-detail',
372
404
  after: {
373
- content: `${command.detail}`,
405
+ content: `${command.description}`,
374
406
  inlineClassName: 'inline-chat-slash-command-detail'
375
407
  }
376
408
  }
@@ -381,8 +413,8 @@ let InlineChatController = class InlineChatController {
381
413
  }
382
414
  collection.set(newDecorations);
383
415
  };
384
- const inputInputEditor = this._input.value.chatWidget.inputEditor;
385
- const zoneInputEditor = this._zone.value.widget.chatWidget.inputEditor;
416
+ const inputInputEditor = this._ui.value.content.chatWidget.inputEditor;
417
+ const zoneInputEditor = this._ui.value.zone.widget.chatWidget.inputEditor;
386
418
  const inputDecorations = inputInputEditor.createDecorationsCollection();
387
419
  const zoneDecorations = zoneInputEditor.createDecorationsCollection();
388
420
  this._sessionStore.add(inputInputEditor.onDidChangeModelContent(() => updateSlashDecorations(inputDecorations, inputInputEditor.getModel())));
@@ -392,17 +424,17 @@ let InlineChatController = class InlineChatController {
392
424
  zoneDecorations.clear();
393
425
  }));
394
426
  if (!this._session.chatModel.hasRequests) {
395
- return "WAIT_FOR_INPUT" ;
427
+ return State.WAIT_FOR_INPUT;
396
428
  }
397
429
  else if (options.isUnstashed) {
398
430
  delete options.isUnstashed;
399
- return "SHOW_RESPONSE" ;
431
+ return State.SHOW_RESPONSE;
400
432
  }
401
433
  else {
402
- return "SHOW_RESPONSE" ;
434
+ return State.SHOW_RESPONSE;
403
435
  }
404
436
  }
405
- async ["WAIT_FOR_INPUT" ](options) {
437
+ async [State.WAIT_FOR_INPUT](options) {
406
438
  assertType(this._session);
407
439
  assertType(this._strategy);
408
440
  this._updatePlaceholder();
@@ -412,14 +444,14 @@ let InlineChatController = class InlineChatController {
412
444
  delete options.message;
413
445
  this._showWidget(false);
414
446
  }
415
- let message = 0 ;
447
+ let message = Message.NONE;
416
448
  let request;
417
449
  const barrier = ( (new Barrier()));
418
450
  const store = ( (new DisposableStore()));
419
451
  store.add(this._session.chatModel.onDidChange(e => {
420
452
  if (e.kind === 'addRequest') {
421
453
  request = e.request;
422
- message = 32 ;
454
+ message = Message.ACCEPT_INPUT;
423
455
  barrier.open();
424
456
  }
425
457
  }));
@@ -433,73 +465,39 @@ let InlineChatController = class InlineChatController {
433
465
  if (options.autoSend) {
434
466
  delete options.autoSend;
435
467
  this._showWidget(false);
436
- this._zone.value.widget.chatWidget.acceptInput();
468
+ this._ui.value.zone.widget.chatWidget.acceptInput();
437
469
  }
438
470
  await barrier.wait();
439
471
  store.dispose();
440
- if (message & ((16 | 2) )) {
441
- return "CANCEL" ;
472
+ if (message & (Message.CANCEL_INPUT | Message.CANCEL_SESSION)) {
473
+ return State.CANCEL;
442
474
  }
443
- if (message & 4 ) {
444
- return "PAUSE" ;
475
+ if (message & Message.PAUSE_SESSION) {
476
+ return State.PAUSE;
445
477
  }
446
- if (message & 1 ) {
447
- this._zone.value.widget.selectAll(false);
448
- return "DONE" ;
478
+ if (message & Message.ACCEPT_SESSION) {
479
+ this._ui.value.zone.widget.selectAll(false);
480
+ return State.ACCEPT;
449
481
  }
450
482
  if (!request?.message.text) {
451
- return "WAIT_FOR_INPUT" ;
483
+ return State.WAIT_FOR_INPUT;
452
484
  }
453
485
  const input = request.message.text;
454
- this._zone.value.widget.value = input;
455
- let slashCommandLike = request.message.parts.find(part => part instanceof ChatRequestAgentSubcommandPart || part instanceof ChatRequestSlashCommandPart);
456
- const refer = this._session.session.slashCommands?.some(value => {
457
- if (value.refer) {
458
- if (slashCommandLike?.text === `/${value.command}`) {
459
- return true;
460
- }
461
- if (request?.message.text.startsWith(`/${value.command}`)) {
462
- slashCommandLike = ( (new ChatRequestSlashCommandPart(
463
- (new OffsetRange(0, 1)),
464
- (new Range(1, 1, 1, 1)),
465
- { command: value.command, detail: value.detail ?? '' }
466
- )));
467
- return true;
468
- }
469
- }
470
- return false;
471
- });
472
- if (refer && slashCommandLike && !this._session.lastExchange) {
473
- this._log('[IE] seeing refer command, continuing outside editor', this._session.provider.extensionId);
474
- this._chatService.cancelCurrentRequestForSession(request.session.sessionId);
475
- this._editor.setSelection(this._session.wholeRange.value);
476
- let massagedInput = input;
477
- const withoutSubCommandLeader = slashCommandLike.text.slice(1);
478
- for (const agent of this._chatAgentService.getActivatedAgents()) {
479
- if (agent.locations.includes(ChatAgentLocation.Panel)) {
480
- const commands = agent.slashCommands;
481
- if (commands.find((command) => withoutSubCommandLeader.startsWith(command.name))) {
482
- massagedInput = `${chatAgentLeader}${agent.name} ${slashCommandLike.text}`;
483
- break;
484
- }
485
- }
486
- }
487
- await this._instaService.invokeFunction(sendRequest, massagedInput);
488
- return "DONE" ;
489
- }
490
- this._session.addInput(( (new SessionPrompt(input))));
491
- return "SHOW_REQUEST" ;
486
+ this._ui.value.zone.widget.value = input;
487
+ this._session.addInput(( (new SessionPrompt(request, this._editor.getModel().getAlternativeVersionId()))));
488
+ return State.SHOW_REQUEST;
492
489
  }
493
- async ["SHOW_REQUEST" ]() {
490
+ async [State.SHOW_REQUEST]() {
494
491
  assertType(this._session);
495
492
  assertType(this._session.chatModel.requestInProgress);
496
- const request = tail(this._session.chatModel.getRequests());
493
+ const { chatModel } = this._session;
494
+ const request = chatModel.getRequests().at(-1);
497
495
  assertType(request);
498
496
  assertType(request.response);
499
497
  this._showWidget(false);
500
- this._zone.value.widget.value = request.message.text;
501
- this._zone.value.widget.selectAll(false);
502
- this._zone.value.widget.updateInfo('');
498
+ this._ui.value.zone.widget.value = request.message.text;
499
+ this._ui.value.zone.widget.selectAll(false);
500
+ this._ui.value.zone.widget.updateInfo('');
503
501
  const { response } = request;
504
502
  const responsePromise = ( (new DeferredPromise()));
505
503
  const store = ( (new DisposableStore()));
@@ -507,73 +505,92 @@ let InlineChatController = class InlineChatController {
507
505
  const progressiveEditsAvgDuration = ( (new MovingAverage()));
508
506
  const progressiveEditsClock = StopWatch.create();
509
507
  const progressiveEditsQueue = ( (new Queue()));
510
- let lastLength = 0;
511
- let message = 0 ;
512
- store.add(Event.once(this._messages.event)(m => {
513
- this._log('state=_makeRequest) message received', m);
514
- this._chatService.cancelCurrentRequestForSession(request.session.sessionId);
515
- message = m;
516
- }));
517
- store.add(this._zone.value.widget.chatWidget.inputEditor.onDidChangeModelContent(() => {
518
- this._chatService.cancelCurrentRequestForSession(request.session.sessionId);
508
+ let next = State.SHOW_RESPONSE;
509
+ store.add(Event.once(this._messages.event)(message => {
510
+ this._log('state=_makeRequest) message received', message);
511
+ this._chatService.cancelCurrentRequestForSession(chatModel.sessionId);
512
+ if (message & Message.CANCEL_SESSION) {
513
+ next = State.CANCEL;
514
+ }
515
+ else if (message & Message.PAUSE_SESSION) {
516
+ next = State.PAUSE;
517
+ }
518
+ else if (message & Message.ACCEPT_SESSION) {
519
+ next = State.ACCEPT;
520
+ }
519
521
  }));
520
- store.add(response.onDidChange(() => {
521
- if (response.isCanceled) {
522
+ store.add(chatModel.onDidChange(e => {
523
+ if (e.kind === 'removeRequest' && e.requestId === request.id) {
522
524
  progressiveEditsCts.cancel();
523
525
  responsePromise.complete();
524
- return;
525
- }
526
- if (response.isComplete) {
527
- responsePromise.complete();
528
- return;
529
- }
530
- const edits = ( (response.response.value.map(part => {
531
- if (part.kind === 'textEditGroup' && isEqual(part.uri, this._session?.textModelN.uri)) {
532
- return part.edits;
526
+ if (e.reason === ChatRequestRemovalReason.Resend) {
527
+ next = State.SHOW_REQUEST;
533
528
  }
534
529
  else {
535
- return [];
530
+ next = State.CANCEL;
536
531
  }
537
- }))).flat();
538
- const newEdits = edits.slice(lastLength);
539
- if (newEdits.length === 0) {
540
- return;
541
532
  }
542
- lastLength = edits.length;
543
- progressiveEditsAvgDuration.update(progressiveEditsClock.elapsed());
544
- progressiveEditsClock.reset();
545
- progressiveEditsQueue.queue(async () => {
546
- const startThen = this._session.wholeRange.value.getStartPosition();
547
- for (const edits of newEdits) {
548
- await this._makeChanges(edits, { duration: progressiveEditsAvgDuration.value, token: progressiveEditsCts.token });
549
- }
550
- const startNow = this._session.wholeRange.value.getStartPosition();
551
- if (!startNow.equals(startThen) || !this._zone.value.position?.equals(startNow)) {
552
- this._showWidget(false, startNow.delta(-1));
553
- }
554
- });
555
533
  }));
534
+ store.add(this._ui.value.zone.widget.chatWidget.inputEditor.onDidChangeModelContent(() => {
535
+ this._chatService.cancelCurrentRequestForSession(chatModel.sessionId);
536
+ }));
537
+ let lastLength = 0;
538
+ let isFirstChange = true;
539
+ const sha1 = ( (new DefaultModelSHA1Computer()));
540
+ const textModel0Sha1 = sha1.canComputeSHA1(this._session.textModel0)
541
+ ? sha1.computeSHA1(this._session.textModel0)
542
+ : generateUuid();
543
+ const editState = { sha1: textModel0Sha1, applied: 0 };
544
+ let localEditGroup;
545
+ const handleResponse = () => {
546
+ if (!localEditGroup) {
547
+ localEditGroup = response.response.value.find(part => part.kind === 'textEditGroup' && isEqual(part.uri, this._session?.textModelN.uri));
548
+ }
549
+ if (localEditGroup) {
550
+ localEditGroup.state ??= editState;
551
+ const edits = localEditGroup.edits;
552
+ const newEdits = edits.slice(lastLength);
553
+ if (newEdits.length > 0) {
554
+ lastLength = edits.length;
555
+ progressiveEditsAvgDuration.update(progressiveEditsClock.elapsed());
556
+ progressiveEditsClock.reset();
557
+ progressiveEditsQueue.queue(async () => {
558
+ const startThen = this._session.wholeRange.value.getStartPosition();
559
+ for (const edits of newEdits) {
560
+ await this._makeChanges(edits, {
561
+ duration: progressiveEditsAvgDuration.value,
562
+ token: progressiveEditsCts.token
563
+ }, isFirstChange);
564
+ isFirstChange = false;
565
+ }
566
+ const startNow = this._session.wholeRange.value.getStartPosition();
567
+ if (!startNow.equals(startThen) || !this._ui.value.zone.position?.equals(startNow)) {
568
+ this._showWidget(false, startNow.delta(-1));
569
+ }
570
+ });
571
+ }
572
+ }
573
+ if (response.isCanceled) {
574
+ progressiveEditsCts.cancel();
575
+ responsePromise.complete();
576
+ }
577
+ else if (response.isComplete) {
578
+ responsePromise.complete();
579
+ }
580
+ };
581
+ store.add(response.onDidChange(handleResponse));
582
+ handleResponse();
556
583
  await responsePromise.p;
557
584
  await progressiveEditsQueue.whenIdle();
558
585
  store.dispose();
559
586
  const diff = await this._editorWorkerService.computeDiff(this._session.textModel0.uri, this._session.textModelN.uri, { computeMoves: false, maxComputationTimeMs: Number.MAX_SAFE_INTEGER, ignoreTrimWhitespace: false }, 'advanced');
560
587
  this._session.wholeRange.fixup(diff?.changes ?? []);
561
- await this._session.hunkData.recompute();
562
- this._zone.value.widget.updateToolbar(true);
563
- if (message & 2 ) {
564
- return "CANCEL" ;
565
- }
566
- else if (message & 4 ) {
567
- return "PAUSE" ;
568
- }
569
- else if (message & 1 ) {
570
- return "DONE" ;
571
- }
572
- else {
573
- return "SHOW_RESPONSE" ;
574
- }
588
+ await this._session.hunkData.recompute(editState);
589
+ this._ui.value.zone.widget.updateToolbar(true);
590
+ this._ui.value.zone.widget.updateProgress(false);
591
+ return next;
575
592
  }
576
- async ["SHOW_RESPONSE" ]() {
593
+ async [State.SHOW_RESPONSE]() {
577
594
  assertType(this._session);
578
595
  assertType(this._strategy);
579
596
  const { response } = this._session.lastExchange;
@@ -587,63 +604,37 @@ let InlineChatController = class InlineChatController {
587
604
  responseTypes = thisType;
588
605
  }
589
606
  else if (responseTypes !== thisType) {
590
- responseTypes = "mixed" ;
607
+ responseTypes = InlineChatResponseTypes.Mixed;
591
608
  break;
592
609
  }
593
610
  }
594
611
  this._ctxResponseTypes.set(responseTypes);
595
- this._ctxDidEdit.set(this._session.hasChangedText);
596
612
  let newPosition;
597
613
  if (response instanceof EmptyResponse) {
598
614
  const status = ( localizeWithPath(_moduleId, 3, "No results, please refine your input and try again"));
599
- this._zone.value.widget.updateStatus(status, { classes: ['warn'] });
600
- return "WAIT_FOR_INPUT" ;
615
+ this._ui.value.zone.widget.updateStatus(status, { classes: ['warn'] });
616
+ return State.WAIT_FOR_INPUT;
601
617
  }
602
618
  else if (response instanceof ErrorResponse) {
603
619
  if (!response.isCancellation) {
604
- this._zone.value.widget.updateStatus(response.message, { classes: ['error'] });
620
+ this._ui.value.zone.widget.updateStatus(response.message, { classes: ['error'] });
605
621
  this._strategy?.cancel();
606
622
  }
607
623
  }
608
624
  else if (response instanceof ReplyResponse) {
609
- this._zone.value.widget.updateStatus('');
610
- this._zone.value.widget.updateToolbar(true);
625
+ this._ui.value.zone.widget.updateStatus('');
626
+ this._ui.value.zone.widget.updateToolbar(true);
611
627
  newPosition = await this._strategy.renderChanges(response);
612
- if (this._session.provider.provideFollowups) {
613
- const followupCts = ( (new CancellationTokenSource()));
614
- const msgListener = Event.once(this._messages.event)(() => {
615
- followupCts.cancel();
616
- });
617
- const followupTask = this._session.provider.provideFollowups(this._session.session, response.raw, followupCts.token);
618
- this._log('followup request started', this._session.provider.extensionId, this._session.session, response.raw);
619
- raceCancellation(Promise.resolve(followupTask), followupCts.token).then(followupReply => {
620
- if (followupReply && this._session) {
621
- this._log('followup request received', this._session.provider.extensionId, this._session.session, followupReply);
622
- this._zone.value.widget.updateFollowUps(followupReply, followup => {
623
- if (followup.kind === 'reply') {
624
- this.updateInput(followup.message);
625
- this.acceptInput();
626
- }
627
- else {
628
- this._commandService.executeCommand(followup.commandId, ...(followup.args ?? []));
629
- }
630
- });
631
- }
632
- }).finally(() => {
633
- msgListener.dispose();
634
- followupCts.dispose();
635
- });
636
- }
637
628
  }
638
629
  this._showWidget(false, newPosition);
639
- return "WAIT_FOR_INPUT" ;
630
+ return State.WAIT_FOR_INPUT;
640
631
  }
641
- async ["PAUSE" ]() {
632
+ async [State.PAUSE]() {
642
633
  this._resetWidget();
643
634
  this._strategy?.dispose?.();
644
635
  this._session = undefined;
645
636
  }
646
- async ["DONE" ]() {
637
+ async [State.ACCEPT]() {
647
638
  assertType(this._session);
648
639
  assertType(this._strategy);
649
640
  this._sessionStore.clear();
@@ -661,7 +652,7 @@ let InlineChatController = class InlineChatController {
661
652
  this._strategy = undefined;
662
653
  this._session = undefined;
663
654
  }
664
- async ["CANCEL" ]() {
655
+ async [State.CANCEL]() {
665
656
  if (this._session) {
666
657
  assertType(this._strategy);
667
658
  this._sessionStore.clear();
@@ -694,12 +685,12 @@ let InlineChatController = class InlineChatController {
694
685
  if (position) {
695
686
  widgetPosition = position;
696
687
  }
697
- else if (this._zone.rawValue?.position) {
698
- if (this._zone.rawValue.position.lineNumber === 1) {
699
- widgetPosition = this._zone.rawValue.position.delta(-1);
688
+ else if (this._ui.rawValue?.zone?.position) {
689
+ if (this._ui.rawValue?.zone.position.lineNumber === 1) {
690
+ widgetPosition = this._ui.rawValue?.zone.position.delta(-1);
700
691
  }
701
692
  else {
702
- widgetPosition = this._zone.rawValue.position;
693
+ widgetPosition = this._ui.rawValue?.zone.position;
703
694
  }
704
695
  }
705
696
  else {
@@ -708,23 +699,23 @@ let InlineChatController = class InlineChatController {
708
699
  if (this._session && !position && (this._session.hasChangedText || this._session.lastExchange)) {
709
700
  widgetPosition = this._session.wholeRange.value.getStartPosition().delta(-1);
710
701
  }
711
- if (this._zone.rawValue?.position) {
712
- this._zone.value.updatePositionAndHeight(widgetPosition);
702
+ if (this._ui.rawValue?.zone?.position) {
703
+ this._ui.value.zone.updatePositionAndHeight(widgetPosition);
713
704
  }
714
705
  else if (initialRender) {
715
706
  const selection = this._editor.getSelection();
716
707
  widgetPosition = selection.getStartPosition();
717
- this._input.value.show(widgetPosition);
708
+ this._ui.value.content.show(widgetPosition);
718
709
  }
719
710
  else {
720
- this._input.value.hide();
721
- this._zone.value.show(widgetPosition);
711
+ this._ui.value.content.hide();
712
+ this._ui.value.zone.show(widgetPosition);
722
713
  if (this._session) {
723
- this._zone.value.widget.setChatModel(this._session.chatModel);
714
+ this._ui.value.zone.widget.setChatModel(this._session.chatModel);
724
715
  }
725
716
  }
726
- if (this._session && this._zone.rawValue) {
727
- this._zone.rawValue.updateBackgroundColor(widgetPosition, this._session.wholeRange.value);
717
+ if (this._session && this._ui.rawValue?.zone) {
718
+ this._ui.rawValue?.zone.updateBackgroundColor(widgetPosition, this._session.wholeRange.value);
728
719
  }
729
720
  this._ctxVisible.set(true);
730
721
  return widgetPosition;
@@ -732,21 +723,18 @@ let InlineChatController = class InlineChatController {
732
723
  _resetWidget() {
733
724
  this._sessionStore.clear();
734
725
  this._ctxVisible.reset();
735
- this._ctxDidEdit.reset();
736
726
  this._ctxUserDidEdit.reset();
737
- this._ctxLastFeedbackKind.reset();
738
- this._ctxSupportIssueReporting.reset();
739
- this._input.rawValue?.hide();
740
- this._zone.rawValue?.hide();
727
+ this._ui.rawValue?.content.hide();
728
+ this._ui.rawValue?.zone?.hide();
741
729
  if (this._editor.hasWidgetFocus()) {
742
730
  this._editor.focus();
743
731
  }
744
732
  }
745
- async _makeChanges(edits, opts) {
733
+ async _makeChanges(edits, opts, undoStopBefore) {
746
734
  assertType(this._session);
747
735
  assertType(this._strategy);
748
736
  const moreMinimalEdits = await this._editorWorkerService.computeMoreMinimalEdits(this._session.textModelN.uri, edits);
749
- this._log('edits from PROVIDER and after making them MORE MINIMAL', this._session.provider.extensionId, edits, moreMinimalEdits);
737
+ this._log('edits from PROVIDER and after making them MORE MINIMAL', this._session.agent.extensionId, edits, moreMinimalEdits);
750
738
  if (moreMinimalEdits?.length === 0) {
751
739
  return;
752
740
  }
@@ -759,93 +747,91 @@ let InlineChatController = class InlineChatController {
759
747
  this._inlineChatSavingService.markChanged(this._session);
760
748
  this._session.wholeRange.trackEdits(editOperations);
761
749
  if (opts) {
762
- await this._strategy.makeProgressiveChanges(editOperations, editsObserver, opts);
750
+ await this._strategy.makeProgressiveChanges(editOperations, editsObserver, opts, undoStopBefore);
763
751
  }
764
752
  else {
765
- await this._strategy.makeChanges(editOperations, editsObserver);
753
+ await this._strategy.makeChanges(editOperations, editsObserver, undoStopBefore);
766
754
  }
767
- this._ctxDidEdit.set(this._session.hasChangedText);
768
755
  }
769
756
  _updatePlaceholder() {
770
- this._zone.value.widget.placeholder = this._getPlaceholderText();
757
+ this._ui.value.zone.widget.placeholder = this._getPlaceholderText();
771
758
  }
772
759
  _getPlaceholderText() {
773
760
  return this._forcedPlaceholder ?? this._session?.session.placeholder ?? '';
774
761
  }
775
762
  showSaveHint() {
776
763
  const status = ( localizeWithPath(_moduleId, 6, "Accept or discard changes to continue saving"));
777
- this._zone.value.widget.updateStatus(status, { classes: ['warn'] });
778
- }
779
- setPlaceholder(text) {
780
- this._forcedPlaceholder = text;
781
- this._updatePlaceholder();
782
- }
783
- resetPlaceholder() {
784
- this._forcedPlaceholder = undefined;
785
- this._updatePlaceholder();
764
+ this._ui.value.zone.widget.updateStatus(status, { classes: ['warn'] });
786
765
  }
787
766
  acceptInput() {
788
- if (this._input.value.isVisible) {
789
- this._input.value.chatWidget.acceptInput();
790
- }
791
- else {
792
- this._zone.value.widget.chatWidget.acceptInput();
793
- }
767
+ return this.chatWidget.acceptInput();
794
768
  }
795
769
  updateInput(text, selectAll = true) {
796
- this._input.value.chatWidget.setInput(text);
797
- this._zone.value.widget.chatWidget.setInput(text);
770
+ this._ui.value.content.chatWidget.setInput(text);
771
+ this._ui.value.zone.widget.chatWidget.setInput(text);
798
772
  if (selectAll) {
799
773
  const newSelection = ( (new Selection(1, 1, Number.MAX_SAFE_INTEGER, 1)));
800
- this._input.value.chatWidget.inputEditor.setSelection(newSelection);
801
- this._zone.value.widget.chatWidget.inputEditor.setSelection(newSelection);
774
+ this._ui.value.content.chatWidget.inputEditor.setSelection(newSelection);
775
+ this._ui.value.zone.widget.chatWidget.inputEditor.setSelection(newSelection);
802
776
  }
803
777
  }
804
- getInput() {
805
- return this._input.value.isVisible
806
- ? this._input.value.value
807
- : this._zone.value.widget.value;
808
- }
809
778
  cancelCurrentRequest() {
810
- this._messages.fire(16 | 8 );
779
+ this._messages.fire(Message.CANCEL_INPUT | Message.CANCEL_REQUEST);
811
780
  }
812
781
  arrowOut(up) {
813
- if (this._zone.value.position && this._editor.hasModel()) {
782
+ if (this._ui.value.zone.position && this._editor.hasModel()) {
814
783
  const { column } = this._editor.getPosition();
815
- const { lineNumber } = this._zone.value.position;
784
+ const { lineNumber } = this._ui.value.zone.position;
816
785
  const newLine = up ? lineNumber : lineNumber + 1;
817
786
  this._editor.setPosition({ lineNumber: newLine, column });
818
787
  this._editor.focus();
819
788
  }
820
789
  }
821
790
  focus() {
822
- this._zone.value.widget.focus();
791
+ this._ui.value.zone.widget.focus();
823
792
  }
824
793
  hasFocus() {
825
- return this._zone.value.widget.hasFocus();
794
+ return this._ui.value.zone.widget.hasFocus();
826
795
  }
827
796
  moveHunk(next) {
828
797
  this.focus();
829
798
  this._strategy?.move?.(next);
830
799
  }
831
- viewInChat() {
832
- if (this._session?.lastExchange?.response instanceof ReplyResponse) {
833
- this._instaService.invokeFunction(showMessageResponse, this._session.lastExchange.prompt.value, this._session.lastExchange.response.mdContent.value);
800
+ async viewInChat() {
801
+ if (!this._strategy || !this._session) {
802
+ return;
803
+ }
804
+ let someApplied = false;
805
+ let lastEdit;
806
+ const uri = this._editor.getModel()?.uri;
807
+ const requests = this._session.chatModel.getRequests();
808
+ for (const request of requests) {
809
+ if (!request.response) {
810
+ continue;
811
+ }
812
+ for (const part of request.response.response.value) {
813
+ if (part.kind === 'textEditGroup' && isEqual(part.uri, uri)) {
814
+ someApplied = someApplied || Boolean(part.state?.applied);
815
+ lastEdit = part;
816
+ }
817
+ }
818
+ }
819
+ const doEdits = this._strategy.cancel();
820
+ if (someApplied) {
821
+ assertType(lastEdit);
822
+ lastEdit.edits = [doEdits];
834
823
  }
824
+ await this._instaService.invokeFunction(moveToPanelChat, this._session?.chatModel);
825
+ this.cancelSession();
835
826
  }
836
827
  toggleDiff() {
837
828
  this._strategy?.toggleDiff?.();
838
829
  }
839
- createSnapshot() {
840
- if (this._session && !this._session.textModel0.equalsTextBuffer(this._session.textModelN.getTextBuffer())) {
841
- this._session.createSnapshot();
842
- }
843
- }
844
830
  acceptSession() {
845
831
  if (this._session?.lastExchange?.response instanceof ReplyResponse && this._session?.lastExchange?.response.chatResponse) {
846
832
  const response = this._session?.lastExchange?.response.chatResponse;
847
833
  this._chatService.notifyUserAction({
848
- sessionId: response.session.sessionId,
834
+ sessionId: this._session.chatModel.sessionId,
849
835
  requestId: response.requestId,
850
836
  agentId: response.agent?.id,
851
837
  result: response.result,
@@ -855,7 +841,7 @@ let InlineChatController = class InlineChatController {
855
841
  }
856
842
  });
857
843
  }
858
- this._messages.fire(1 );
844
+ this._messages.fire(Message.ACCEPT_SESSION);
859
845
  }
860
846
  acceptHunk() {
861
847
  return this._strategy?.acceptHunk();
@@ -864,30 +850,24 @@ let InlineChatController = class InlineChatController {
864
850
  return this._strategy?.discardHunk();
865
851
  }
866
852
  async cancelSession() {
867
- let result;
868
- if (this._session) {
869
- const diff = await this._editorWorkerService.computeDiff(this._session.textModel0.uri, this._session.textModelN.uri, { ignoreTrimWhitespace: false, maxComputationTimeMs: 5000, computeMoves: false }, 'advanced');
870
- result = this._session.asChangedText(diff?.changes ?? []);
871
- if (this._session.lastExchange?.response instanceof ReplyResponse && this._session?.lastExchange?.response.chatResponse) {
872
- const response = this._session?.lastExchange?.response.chatResponse;
873
- this._chatService.notifyUserAction({
874
- sessionId: response.session.sessionId,
875
- requestId: response.requestId,
876
- agentId: response.agent?.id,
877
- result: response.result,
878
- action: {
879
- kind: 'inlineChat',
880
- action: 'discarded'
881
- }
882
- });
883
- }
853
+ if (this._session?.lastExchange?.response instanceof ReplyResponse && this._session?.lastExchange?.response.chatResponse) {
854
+ const response = this._session?.lastExchange?.response.chatResponse;
855
+ this._chatService.notifyUserAction({
856
+ sessionId: this._session.chatModel.sessionId,
857
+ requestId: response.requestId,
858
+ agentId: response.agent?.id,
859
+ result: response.result,
860
+ action: {
861
+ kind: 'inlineChat',
862
+ action: 'discarded'
863
+ }
864
+ });
884
865
  }
885
- this._messages.fire(2 );
886
- return result;
866
+ this._messages.fire(Message.CANCEL_SESSION);
887
867
  }
888
868
  finishExistingSession() {
889
869
  if (this._session) {
890
- if (this._session.editMode === "preview" ) {
870
+ if (this._session.editMode === EditMode.Preview) {
891
871
  this._log('finishing existing session, using CANCEL', this._session.editMode);
892
872
  this.cancelSession();
893
873
  }
@@ -917,58 +897,42 @@ InlineChatController = ( (__decorate([
917
897
  ( (__param(6, IConfigurationService))),
918
898
  ( (__param(7, IDialogService))),
919
899
  ( (__param(8, IContextKeyService))),
920
- ( (__param(9, IChatAgentService))),
921
- ( (__param(10, IChatService))),
922
- ( (__param(11, ICommandService))),
923
- ( (__param(12, ILanguageFeaturesService))),
924
- ( (__param(13, IChatWidgetService)))
900
+ ( (__param(9, IChatService))),
901
+ ( (__param(10, ILanguageFeaturesService))),
902
+ ( (__param(11, IChatWidgetService))),
903
+ ( (__param(12, INotebookEditorService)))
925
904
  ], InlineChatController)));
926
- async function showMessageResponse(accessor, query, response) {
905
+ async function moveToPanelChat(accessor, model) {
906
+ const viewsService = accessor.get(IViewsService);
927
907
  const chatService = accessor.get(IChatService);
928
- const chatAgentService = accessor.get(IChatAgentService);
929
- const agent = chatAgentService.getActivatedAgents().find(agent => agent.locations.includes(ChatAgentLocation.Panel) && agent.isDefault);
930
- if (!agent) {
931
- return;
932
- }
933
- const widget = await showChatView(accessor.get(IViewsService));
934
- if (widget && widget.viewModel) {
935
- chatService.addCompleteRequest(widget.viewModel.sessionId, query, undefined, 0, { message: response });
908
+ const widget = await showChatView(viewsService);
909
+ if (widget && widget.viewModel && model) {
910
+ for (const request of model.getRequests().slice()) {
911
+ await chatService.adoptRequest(widget.viewModel.model.sessionId, request);
912
+ }
936
913
  widget.focusLastMessage();
937
914
  }
938
915
  }
939
- async function sendRequest(accessor, query) {
940
- const chatAgentService = accessor.get(IChatAgentService);
941
- const agent = chatAgentService.getActivatedAgents().find(agent => agent.locations.includes(ChatAgentLocation.Panel) && agent.isDefault);
942
- if (!agent) {
943
- return;
944
- }
945
- const widget = await showChatView(accessor.get(IViewsService));
946
- if (!widget) {
947
- return;
948
- }
949
- widget.focusInput();
950
- widget.acceptInput(query);
951
- }
952
916
  function asInlineChatResponseType(response) {
953
917
  let result;
954
918
  for (const item of response.value) {
955
919
  let thisType;
956
920
  switch (item.kind) {
957
921
  case 'textEditGroup':
958
- thisType = "onlyEdits" ;
922
+ thisType = InlineChatResponseTypes.OnlyEdits;
959
923
  break;
960
924
  case 'markdownContent':
961
925
  default:
962
- thisType = "onlyMessages" ;
926
+ thisType = InlineChatResponseTypes.OnlyMessages;
963
927
  break;
964
928
  }
965
929
  if (result === undefined) {
966
930
  result = thisType;
967
931
  }
968
932
  else if (result !== thisType) {
969
- return "mixed" ;
933
+ return InlineChatResponseTypes.Mixed;
970
934
  }
971
935
  }
972
- return result ?? "empty" ;
936
+ return result ?? InlineChatResponseTypes.Empty;
973
937
  }
974
- export { InlineChatController, InlineChatRunOptions };
938
+ export { InlineChatController, InlineChatRunOptions, State };