@codingame/monaco-vscode-api 6.0.3 → 7.0.1

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 (447) hide show
  1. package/README.md +150 -117
  2. package/api.js +1 -1
  3. package/debugProtocol.d.ts +10 -1
  4. package/extensions.d.ts +2 -0
  5. package/missing-services.js +21 -2
  6. package/package.json +9 -9
  7. package/service-override/extensions.d.ts +1 -2
  8. package/services.js +4 -2
  9. package/vscode/src/vs/base/browser/dnd.js +1 -1
  10. package/vscode/src/vs/base/browser/dom.js +116 -5
  11. package/vscode/src/vs/base/browser/domObservable.js +16 -0
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
  13. package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  15. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  16. package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
  24. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  30. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
  31. package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
  32. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
  34. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
  36. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
  39. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  40. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  41. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
  42. package/vscode/src/vs/base/common/assert.js +1 -1
  43. package/vscode/src/vs/base/common/collections.js +49 -1
  44. package/vscode/src/vs/base/common/equals.js +55 -5
  45. package/vscode/src/vs/base/common/errors.js +14 -1
  46. package/vscode/src/vs/base/common/event.js +2 -1
  47. package/vscode/src/vs/base/common/history.js +7 -4
  48. package/vscode/src/vs/base/common/iterator.js +9 -1
  49. package/vscode/src/vs/base/common/map.d.ts +41 -0
  50. package/vscode/src/vs/base/common/numbers.js +18 -1
  51. package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
  52. package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
  53. package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
  54. package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
  55. package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
  56. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
  57. package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
  58. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
  59. package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
  60. package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
  61. package/vscode/src/vs/base/common/product.d.ts +1 -0
  62. package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
  63. package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  65. package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
  66. package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
  67. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
  68. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
  69. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
  70. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  71. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
  72. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
  73. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  74. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  88. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
  89. package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
  90. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
  91. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
  92. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
  93. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
  94. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
  95. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  96. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
  97. package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
  98. package/vscode/src/vs/editor/common/languages.d.ts +20 -3
  99. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
  100. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
  101. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
  102. package/vscode/src/vs/editor/common/model/textModel.js +6 -2
  103. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
  104. package/vscode/src/vs/editor/common/model.d.ts +4 -0
  105. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  106. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
  107. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
  108. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
  109. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
  110. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
  111. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  112. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
  113. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
  114. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
  116. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
  117. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
  118. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
  119. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
  120. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
  121. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
  122. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
  123. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
  124. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  125. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
  130. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
  131. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
  135. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
  136. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
  137. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
  138. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
  139. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
  140. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
  147. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  148. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
  149. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
  150. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  151. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
  155. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
  156. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
  157. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
  158. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
  159. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
  160. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  161. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  162. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
  163. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
  164. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
  165. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  166. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
  167. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
  168. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
  169. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
  170. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
  171. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
  172. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
  173. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
  174. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
  175. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
  176. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
  177. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
  178. package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
  179. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  180. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  181. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
  182. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
  183. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  184. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  185. package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
  186. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
  187. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
  188. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
  189. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
  191. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
  192. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
  193. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
  194. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
  195. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  196. package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
  197. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
  198. package/vscode/src/vs/platform/files/common/watcher.js +21 -24
  199. package/vscode/src/vs/platform/list/browser/listService.js +2 -1
  200. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  201. package/vscode/src/vs/platform/opener/browser/link.js +1 -1
  202. package/vscode/src/vs/platform/product/common/product.js +1 -1
  203. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  204. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
  205. package/vscode/src/vs/platform/request/common/request.js +18 -8
  206. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
  207. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
  208. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
  209. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
  210. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  211. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
  212. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
  213. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
  214. package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
  215. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
  216. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
  217. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
  218. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
  219. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
  220. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
  221. package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
  222. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
  223. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  224. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  225. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
  226. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
  227. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
  228. package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
  229. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
  230. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  231. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
  232. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
  233. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
  234. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  235. package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
  236. package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
  237. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
  238. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
  239. package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
  240. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
  241. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
  242. package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
  243. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  244. package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
  245. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
  246. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
  247. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
  249. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  250. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
  251. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  252. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
  253. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
  254. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
  255. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
  256. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
  257. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  258. package/vscode/src/vs/workbench/browser/web.api.js +8 -0
  259. package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
  260. package/vscode/src/vs/workbench/common/configuration.js +1 -1
  261. package/vscode/src/vs/workbench/common/contributions.js +8 -1
  262. package/vscode/src/vs/workbench/common/editor.js +5 -1
  263. package/vscode/src/vs/workbench/common/theme.js +79 -454
  264. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
  265. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
  266. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
  271. package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
  282. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
  285. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
  287. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
  288. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
  294. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
  295. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
  296. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
  297. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
  298. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
  300. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
  302. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
  303. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
  304. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
  305. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
  306. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  307. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
  308. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
  309. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
  310. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
  311. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
  312. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  313. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
  315. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
  316. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
  317. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
  318. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
  319. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
  320. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
  321. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
  322. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
  323. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
  324. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
  325. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
  326. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  327. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
  328. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
  329. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
  330. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  331. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
  332. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
  343. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
  344. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  345. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
  346. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
  355. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
  357. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
  358. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
  359. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
  360. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
  361. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
  362. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
  363. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
  364. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
  365. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
  366. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
  380. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
  381. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
  382. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
  383. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
  385. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
  386. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
  387. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
  388. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
  389. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
  390. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  391. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
  392. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
  393. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
  394. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
  395. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
  396. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
  397. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
  398. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
  399. package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
  400. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
  401. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
  402. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
  403. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  404. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
  405. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  406. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
  407. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
  408. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  409. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
  410. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
  411. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
  412. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
  413. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
  414. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
  415. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
  416. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
  417. package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
  418. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  419. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
  420. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  421. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
  422. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
  423. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
  424. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
  425. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
  426. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  427. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
  428. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
  429. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
  430. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
  431. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
  432. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
  433. package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
  434. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
  435. package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
  436. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
  437. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
  438. package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
  439. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
  440. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
  441. package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
  442. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
  443. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
  444. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
  445. package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
  447. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
@@ -30,7 +30,7 @@ import { SessionPrompt, EmptyResponse, ErrorResponse, ReplyResponse, Session } f
30
30
  import { IInlineChatSessionService } from './inlineChatSessionService.service.js';
31
31
  import { LiveStrategy, PreviewStrategy } from './inlineChatStrategies.js';
32
32
  import { InlineChatZoneWidget } from './inlineChatZoneWidget.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';
33
+ import { INLINE_CHAT_ID, CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_USER_DID_EDIT, CTX_INLINE_CHAT_RESPONSE_TYPE, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, InlineChatConfigKeys, EditMode, InlineChatResponseType } from '../common/inlineChat.js';
34
34
  import { InlineChatContentWidget } from './inlineChatContentWidget.js';
35
35
  import { MessageController } from '../../../../editor/contrib/message/browser/messageController.js';
36
36
  import { ChatRequestRemovalReason } from '../../chat/common/chatModel.js';
@@ -43,6 +43,7 @@ import { generateUuid } from '../../../../base/common/uuid.js';
43
43
  import { isEqual } from '../../../../base/common/resources.js';
44
44
  import { ChatAgentLocation } from '../../chat/common/chatAgents.js';
45
45
  import { INotebookEditorService } from '../../notebook/browser/services/notebookEditorService.service.js';
46
+ import { escapeRegExpCharacters } from '../../../../base/common/strings.js';
46
47
  const _moduleId = "vs/workbench/contrib/inlineChat/browser/inlineChatController";
47
48
  var State;
48
49
  ( ((function(State) {
@@ -66,7 +67,7 @@ var Message;
66
67
  Message[Message["ACCEPT_INPUT"] = 32] = "ACCEPT_INPUT";
67
68
  })(Message || (Message = {}))));
68
69
  class InlineChatRunOptions {
69
- static isInteractiveEditorOptions(options) {
70
+ static isInlineChatRunOptions(options) {
70
71
  const { initialSelection, initialRange, message, autoSend, position, existingSession } = options;
71
72
  if (typeof message !== 'undefined' && typeof message !== 'string'
72
73
  || typeof autoSend !== 'undefined' && typeof autoSend !== 'boolean'
@@ -113,7 +114,8 @@ let InlineChatController = class InlineChatController {
113
114
  this._forcedPlaceholder = undefined;
114
115
  this._ctxVisible = CTX_INLINE_CHAT_VISIBLE.bindTo(contextKeyService);
115
116
  this._ctxUserDidEdit = CTX_INLINE_CHAT_USER_DID_EDIT.bindTo(contextKeyService);
116
- this._ctxResponseTypes = CTX_INLINE_CHAT_RESPONSE_TYPES.bindTo(contextKeyService);
117
+ this._ctxResponseType = CTX_INLINE_CHAT_RESPONSE_TYPE.bindTo(contextKeyService);
118
+ this._ctxRequestInProgress = CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.bindTo(contextKeyService);
117
119
  this._ui = ( (new Lazy(() => {
118
120
  let location = ChatAgentLocation.Editor;
119
121
  for (const notebookEditor of notebookEditorService.listNotebookEditors()) {
@@ -235,7 +237,6 @@ let InlineChatController = class InlineChatController {
235
237
  this._log('state=_createSession) message received', m);
236
238
  if (m === Message.ACCEPT_INPUT) {
237
239
  options.autoSend = true;
238
- this._ui.value.zone.widget.updateProgress(true);
239
240
  this._ui.value.zone.widget.updateInfo(( localizeWithPath(_moduleId, 1, "Getting ready...")));
240
241
  }
241
242
  else {
@@ -295,9 +296,8 @@ let InlineChatController = class InlineChatController {
295
296
  this._sessionStore.add(this._ui.value.content.onDidBlur(() => this.cancelSession()));
296
297
  this._ui.value.content.setSession(this._session);
297
298
  this._updatePlaceholder();
298
- const message = this._session.session.message ?? ( localizeWithPath(_moduleId, 2, "AI-generated code may be incorrect"));
299
- this._ui.value.zone.widget.updateInfo(message);
300
299
  this._showWidget(!this._session.chatModel.hasRequests);
300
+ this._ui.value.zone.widget.updateToolbar(true);
301
301
  this._sessionStore.add(this._editor.onDidChangeModel((e) => {
302
302
  const msg = this._session?.chatModel.hasRequests
303
303
  ? Message.PAUSE_SESSION
@@ -327,30 +327,8 @@ let InlineChatController = class InlineChatController {
327
327
  }
328
328
  }));
329
329
  this._sessionStore.add(this._session.chatModel.onDidChange(async (e) => {
330
- if (e.kind === 'addRequest' && e.request.response) {
331
- this._ui.value.zone.widget.updateProgress(true);
332
- const listener = e.request.response.onDidChange(() => {
333
- if (e.request.response?.isCanceled || e.request.response?.isComplete) {
334
- this._ui.value.zone.widget.updateProgress(false);
335
- listener.dispose();
336
- }
337
- });
338
- }
339
- else if (e.kind === 'removeRequest') {
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;
343
- try {
344
- const model = this._editor.getModel();
345
- const targetAltVersion = exchange.prompt.modelAltVersionId;
346
- while (targetAltVersion < model.getAlternativeVersionId() && model.canUndo()) {
347
- await model.undo();
348
- }
349
- }
350
- finally {
351
- this._session.hunkData.ignoreTextModelNChanges = false;
352
- }
353
- }
330
+ if (e.kind === 'removeRequest') {
331
+ await this._session.undoChangesUntil(e.requestId);
354
332
  }
355
333
  }));
356
334
  this._sessionStore.add(this._languageFeatureService.completionProvider.register({ scheme: ChatInputPart.INPUT_SCHEME, hasAccessToAllModels: true }, {
@@ -360,7 +338,7 @@ let InlineChatController = class InlineChatController {
360
338
  if (position.lineNumber !== 1) {
361
339
  return undefined;
362
340
  }
363
- if (!this._session || !this._session.session.slashCommands) {
341
+ if (!this._session || !this._session.agent.slashCommands) {
364
342
  return undefined;
365
343
  }
366
344
  const widget = this._chatWidgetService.getWidgetByInputUri(model.uri);
@@ -368,12 +346,12 @@ let InlineChatController = class InlineChatController {
368
346
  return undefined;
369
347
  }
370
348
  const result = { suggestions: [], incomplete: false };
371
- for (const command of this._session.session.slashCommands) {
349
+ for (const command of this._session.agent.slashCommands) {
372
350
  const withSlash = `/${command.name}`;
373
351
  result.suggestions.push({
374
352
  label: { label: withSlash, description: command.description ?? '' },
375
353
  kind: CompletionItemKind.Text,
376
- insertText: withSlash,
354
+ insertText: `${withSlash} `,
377
355
  range: Range.fromPositions(( (new Position(1, 1))), position),
378
356
  });
379
357
  }
@@ -382,18 +360,15 @@ let InlineChatController = class InlineChatController {
382
360
  }));
383
361
  const updateSlashDecorations = (collection, model) => {
384
362
  const newDecorations = [];
385
- for (const command of (this._session?.session.slashCommands ?? []).sort((a, b) => b.name.length - a.name.length)) {
363
+ for (const command of (this._session?.agent.slashCommands ?? []).sort((a, b) => b.name.length - a.name.length)) {
386
364
  const withSlash = `/${command.name}`;
387
365
  const firstLine = model.getLineContent(1);
388
- if (firstLine.startsWith(withSlash)) {
366
+ if (firstLine.match(( (new RegExp(`^${escapeRegExpCharacters(withSlash)}(\\s|$)`))))) {
389
367
  newDecorations.push({
390
368
  range: ( (new Range(1, 1, 1, withSlash.length + 1))),
391
369
  options: {
392
370
  description: 'inline-chat-slash-command',
393
371
  inlineClassName: 'inline-chat-slash-command',
394
- after: {
395
- content: ' '
396
- }
397
372
  }
398
373
  });
399
374
  if (firstLine.trim() === `/${command.name}`) {
@@ -482,20 +457,18 @@ let InlineChatController = class InlineChatController {
482
457
  if (!request?.message.text) {
483
458
  return State.WAIT_FOR_INPUT;
484
459
  }
485
- const input = request.message.text;
486
- this._ui.value.zone.widget.value = input;
487
460
  this._session.addInput(( (new SessionPrompt(request, this._editor.getModel().getAlternativeVersionId()))));
488
461
  return State.SHOW_REQUEST;
489
462
  }
490
463
  async [State.SHOW_REQUEST]() {
491
464
  assertType(this._session);
492
465
  assertType(this._session.chatModel.requestInProgress);
466
+ this._ctxRequestInProgress.set(true);
493
467
  const { chatModel } = this._session;
494
468
  const request = chatModel.getRequests().at(-1);
495
469
  assertType(request);
496
470
  assertType(request.response);
497
471
  this._showWidget(false);
498
- this._ui.value.zone.widget.value = request.message.text;
499
472
  this._ui.value.zone.widget.selectAll(false);
500
473
  this._ui.value.zone.widget.updateInfo('');
501
474
  const { response } = request;
@@ -543,6 +516,7 @@ let InlineChatController = class InlineChatController {
543
516
  const editState = { sha1: textModel0Sha1, applied: 0 };
544
517
  let localEditGroup;
545
518
  const handleResponse = () => {
519
+ this._updateCtxResponseType();
546
520
  if (!localEditGroup) {
547
521
  localEditGroup = response.response.value.find(part => part.kind === 'textEditGroup' && isEqual(part.uri, this._session?.textModelN.uri));
548
522
  }
@@ -582,36 +556,23 @@ let InlineChatController = class InlineChatController {
582
556
  handleResponse();
583
557
  await responsePromise.p;
584
558
  await progressiveEditsQueue.whenIdle();
559
+ if (response.isCanceled) {
560
+ await this._session.undoChangesUntil(response.requestId);
561
+ }
585
562
  store.dispose();
586
563
  const diff = await this._editorWorkerService.computeDiff(this._session.textModel0.uri, this._session.textModelN.uri, { computeMoves: false, maxComputationTimeMs: Number.MAX_SAFE_INTEGER, ignoreTrimWhitespace: false }, 'advanced');
587
564
  this._session.wholeRange.fixup(diff?.changes ?? []);
588
- await this._session.hunkData.recompute(editState);
589
- this._ui.value.zone.widget.updateToolbar(true);
590
- this._ui.value.zone.widget.updateProgress(false);
565
+ await this._session.hunkData.recompute(editState, diff);
566
+ this._ctxRequestInProgress.set(false);
591
567
  return next;
592
568
  }
593
569
  async [State.SHOW_RESPONSE]() {
594
570
  assertType(this._session);
595
571
  assertType(this._strategy);
596
572
  const { response } = this._session.lastExchange;
597
- let responseTypes;
598
- for (const request of this._session.chatModel.getRequests()) {
599
- if (!request.response) {
600
- continue;
601
- }
602
- const thisType = asInlineChatResponseType(request.response.response);
603
- if (responseTypes === undefined) {
604
- responseTypes = thisType;
605
- }
606
- else if (responseTypes !== thisType) {
607
- responseTypes = InlineChatResponseTypes.Mixed;
608
- break;
609
- }
610
- }
611
- this._ctxResponseTypes.set(responseTypes);
612
573
  let newPosition;
613
574
  if (response instanceof EmptyResponse) {
614
- const status = ( localizeWithPath(_moduleId, 3, "No results, please refine your input and try again"));
575
+ const status = ( localizeWithPath(_moduleId, 2, "No results, please refine your input and try again"));
615
576
  this._ui.value.zone.widget.updateStatus(status, { classes: ['warn'] });
616
577
  return State.WAIT_FOR_INPUT;
617
578
  }
@@ -623,8 +584,18 @@ let InlineChatController = class InlineChatController {
623
584
  }
624
585
  else if (response instanceof ReplyResponse) {
625
586
  this._ui.value.zone.widget.updateStatus('');
626
- this._ui.value.zone.widget.updateToolbar(true);
627
- newPosition = await this._strategy.renderChanges(response);
587
+ const position = await this._strategy.renderChanges();
588
+ if (position) {
589
+ const selection = this._editor.getSelection();
590
+ if (selection?.containsPosition(position)) {
591
+ if (position.lineNumber - selection.startLineNumber > 8) {
592
+ newPosition = position;
593
+ }
594
+ }
595
+ else {
596
+ newPosition = position;
597
+ }
598
+ }
628
599
  }
629
600
  this._showWidget(false, newPosition);
630
601
  return State.WAIT_FOR_INPUT;
@@ -642,7 +613,7 @@ let InlineChatController = class InlineChatController {
642
613
  await this._strategy.apply();
643
614
  }
644
615
  catch (err) {
645
- this._dialogService.error(( localizeWithPath(_moduleId, 4, "Failed to apply changes.", toErrorMessage(err))));
616
+ this._dialogService.error(( localizeWithPath(_moduleId, 3, "Failed to apply changes.", toErrorMessage(err))));
646
617
  this._log('FAILED to apply changes');
647
618
  this._log(err);
648
619
  }
@@ -656,13 +627,13 @@ let InlineChatController = class InlineChatController {
656
627
  if (this._session) {
657
628
  assertType(this._strategy);
658
629
  this._sessionStore.clear();
659
- const shouldStash = !this._session.isUnstashed && !!this._session.lastExchange && this._session.hunkData.size === this._session.hunkData.pending;
630
+ const shouldStash = !this._session.isUnstashed && this._session.chatModel.hasRequests && this._session.hunkData.size === this._session.hunkData.pending;
660
631
  let undoCancelEdits = [];
661
632
  try {
662
633
  undoCancelEdits = this._strategy.cancel();
663
634
  }
664
635
  catch (err) {
665
- this._dialogService.error(( localizeWithPath(_moduleId, 5, "Failed to discard changes.", toErrorMessage(err))));
636
+ this._dialogService.error(( localizeWithPath(_moduleId, 4, "Failed to discard changes.", toErrorMessage(err))));
666
637
  this._log('FAILED to discard changes');
667
638
  this._log(err);
668
639
  }
@@ -681,6 +652,7 @@ let InlineChatController = class InlineChatController {
681
652
  }
682
653
  _showWidget(initialRender = false, position) {
683
654
  assertType(this._editor.hasModel());
655
+ this._ctxVisible.set(true);
684
656
  let widgetPosition;
685
657
  if (position) {
686
658
  widgetPosition = position;
@@ -696,7 +668,7 @@ let InlineChatController = class InlineChatController {
696
668
  else {
697
669
  widgetPosition = this._editor.getSelection().getStartPosition().delta(-1);
698
670
  }
699
- if (this._session && !position && (this._session.hasChangedText || this._session.lastExchange)) {
671
+ if (this._session && !position && (this._session.hasChangedText || this._session.chatModel.hasRequests)) {
700
672
  widgetPosition = this._session.wholeRange.value.getStartPosition().delta(-1);
701
673
  }
702
674
  if (this._ui.rawValue?.zone?.position) {
@@ -714,10 +686,6 @@ let InlineChatController = class InlineChatController {
714
686
  this._ui.value.zone.widget.setChatModel(this._session.chatModel);
715
687
  }
716
688
  }
717
- if (this._session && this._ui.rawValue?.zone) {
718
- this._ui.rawValue?.zone.updateBackgroundColor(widgetPosition, this._session.wholeRange.value);
719
- }
720
- this._ctxVisible.set(true);
721
689
  return widgetPosition;
722
690
  }
723
691
  _resetWidget() {
@@ -730,6 +698,31 @@ let InlineChatController = class InlineChatController {
730
698
  this._editor.focus();
731
699
  }
732
700
  }
701
+ _updateCtxResponseType() {
702
+ if (!this._session) {
703
+ this._ctxResponseType.set(InlineChatResponseType.None);
704
+ return;
705
+ }
706
+ const hasLocalEdit = (response) => {
707
+ return (
708
+ (response.value.some(
709
+ part => part.kind === 'textEditGroup' && isEqual(part.uri, this._session?.textModelN.uri)
710
+ ))
711
+ );
712
+ };
713
+ let responseType = InlineChatResponseType.None;
714
+ for (const request of this._session.chatModel.getRequests()) {
715
+ if (!request.response) {
716
+ continue;
717
+ }
718
+ responseType = InlineChatResponseType.Messages;
719
+ if (hasLocalEdit(request.response.response)) {
720
+ responseType = InlineChatResponseType.MessagesAndEdits;
721
+ break;
722
+ }
723
+ }
724
+ this._ctxResponseType.set(responseType);
725
+ }
733
726
  async _makeChanges(edits, opts, undoStopBefore) {
734
727
  assertType(this._session);
735
728
  assertType(this._strategy);
@@ -745,7 +738,6 @@ let InlineChatController = class InlineChatController {
745
738
  stop: () => this._session.hunkData.ignoreTextModelNChanges = false,
746
739
  };
747
740
  this._inlineChatSavingService.markChanged(this._session);
748
- this._session.wholeRange.trackEdits(editOperations);
749
741
  if (opts) {
750
742
  await this._strategy.makeProgressiveChanges(editOperations, editsObserver, opts, undoStopBefore);
751
743
  }
@@ -757,10 +749,10 @@ let InlineChatController = class InlineChatController {
757
749
  this._ui.value.zone.widget.placeholder = this._getPlaceholderText();
758
750
  }
759
751
  _getPlaceholderText() {
760
- return this._forcedPlaceholder ?? this._session?.session.placeholder ?? '';
752
+ return this._forcedPlaceholder ?? this._session?.agent.description ?? '';
761
753
  }
762
754
  showSaveHint() {
763
- const status = ( localizeWithPath(_moduleId, 6, "Accept or discard changes to continue saving"));
755
+ const status = ( localizeWithPath(_moduleId, 5, "Accept or discard changes to continue saving"));
764
756
  this._ui.value.zone.widget.updateStatus(status, { classes: ['warn'] });
765
757
  }
766
758
  acceptInput() {
@@ -828,10 +820,10 @@ let InlineChatController = class InlineChatController {
828
820
  this._strategy?.toggleDiff?.();
829
821
  }
830
822
  acceptSession() {
831
- if (this._session?.lastExchange?.response instanceof ReplyResponse && this._session?.lastExchange?.response.chatResponse) {
832
- const response = this._session?.lastExchange?.response.chatResponse;
823
+ const response = this._session?.chatModel.getRequests().at(-1)?.response;
824
+ if (response) {
833
825
  this._chatService.notifyUserAction({
834
- sessionId: this._session.chatModel.sessionId,
826
+ sessionId: response.session.sessionId,
835
827
  requestId: response.requestId,
836
828
  agentId: response.agent?.id,
837
829
  result: response.result,
@@ -850,10 +842,10 @@ let InlineChatController = class InlineChatController {
850
842
  return this._strategy?.discardHunk();
851
843
  }
852
844
  async cancelSession() {
853
- if (this._session?.lastExchange?.response instanceof ReplyResponse && this._session?.lastExchange?.response.chatResponse) {
854
- const response = this._session?.lastExchange?.response.chatResponse;
845
+ const response = this._session?.chatModel.getRequests().at(-1)?.response;
846
+ if (response) {
855
847
  this._chatService.notifyUserAction({
856
- sessionId: this._session.chatModel.sessionId,
848
+ sessionId: response.session.sessionId,
857
849
  requestId: response.requestId,
858
850
  agentId: response.agent?.id,
859
851
  result: response.result,
@@ -913,26 +905,4 @@ async function moveToPanelChat(accessor, model) {
913
905
  widget.focusLastMessage();
914
906
  }
915
907
  }
916
- function asInlineChatResponseType(response) {
917
- let result;
918
- for (const item of response.value) {
919
- let thisType;
920
- switch (item.kind) {
921
- case 'textEditGroup':
922
- thisType = InlineChatResponseTypes.OnlyEdits;
923
- break;
924
- case 'markdownContent':
925
- default:
926
- thisType = InlineChatResponseTypes.OnlyMessages;
927
- break;
928
- }
929
- if (result === undefined) {
930
- result = thisType;
931
- }
932
- else if (result !== thisType) {
933
- return InlineChatResponseTypes.Mixed;
934
- }
935
- }
936
- return result ?? InlineChatResponseTypes.Empty;
937
- }
938
908
  export { InlineChatController, InlineChatRunOptions, State };
@@ -1,6 +1,5 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import { Emitter, Event } from '../../../../base/common/event.js';
3
- import { ResourceFileEdit, ResourceTextEdit, ResourceEdit } from '../../../../editor/browser/services/bulkEditService.js';
4
3
  import { TrackedRangeStickiness } from '../../../../editor/common/model.js';
5
4
  import { CTX_INLINE_CHAT_HAS_STASHED_SESSION } from '../common/inlineChat.js';
6
5
  import { Range } from '../../../../editor/common/core/range.js';
@@ -38,14 +37,6 @@ class SessionWholeRange {
38
37
  this._textModel.deltaDecorations(this._decorationIds, []);
39
38
  }
40
39
  }
41
- trackEdits(edits) {
42
- const newDeco = [];
43
- for (const edit of edits) {
44
- newDeco.push({ range: edit.range, options: SessionWholeRange._options });
45
- }
46
- this._decorationIds.push(...this._textModel.deltaDecorations([], newDeco));
47
- this._onDidChange.fire(this);
48
- }
49
40
  fixup(changes) {
50
41
  const newDeco = [];
51
42
  for (const { modified } of changes) {
@@ -93,18 +84,17 @@ class Session {
93
84
  constructor(editMode,
94
85
  targetUri,
95
86
  textModel0,
96
- textModelN, agent, session, wholeRange, hunkData, chatModel) {
87
+ textModelN, agent, wholeRange, hunkData, chatModel) {
97
88
  this.editMode = editMode;
98
89
  this.targetUri = targetUri;
99
90
  this.textModel0 = textModel0;
100
91
  this.textModelN = textModelN;
101
92
  this.agent = agent;
102
- this.session = session;
103
93
  this.wholeRange = wholeRange;
104
94
  this.hunkData = hunkData;
105
95
  this.chatModel = chatModel;
106
96
  this._isUnstashed = false;
107
- this._exchange = [];
97
+ this._exchanges = [];
108
98
  this._startTime = ( new Date());
109
99
  this.textModelNAltVersion = textModelN.getAlternativeVersionId();
110
100
  this._teldata = {
@@ -137,14 +127,28 @@ class Session {
137
127
  }
138
128
  addExchange(exchange) {
139
129
  this._isUnstashed = false;
140
- const newLen = this._exchange.push(exchange);
130
+ const newLen = this._exchanges.push(exchange);
141
131
  this._teldata.rounds += `${newLen}|`;
142
132
  }
143
- get exchanges() {
144
- return this._exchange;
145
- }
146
133
  get lastExchange() {
147
- return this._exchange[this._exchange.length - 1];
134
+ return this._exchanges[this._exchanges.length - 1];
135
+ }
136
+ async undoChangesUntil(requestId) {
137
+ const idx = this._exchanges.findIndex(candidate => candidate.prompt.request.id === requestId);
138
+ if (idx < 0) {
139
+ return false;
140
+ }
141
+ this.hunkData.ignoreTextModelNChanges = true;
142
+ try {
143
+ const targetAltVersion = this._exchanges[idx].prompt.modelAltVersionId;
144
+ while (targetAltVersion < this.textModelN.getAlternativeVersionId() && this.textModelN.canUndo()) {
145
+ await this.textModelN.undo();
146
+ }
147
+ }
148
+ finally {
149
+ this.hunkData.ignoreTextModelNChanges = false;
150
+ }
151
+ return true;
148
152
  }
149
153
  get hasChangedText() {
150
154
  return !this.textModel0.equalsTextBuffer(this.textModelN.getTextBuffer());
@@ -181,14 +185,14 @@ class Session {
181
185
  }
182
186
  asRecording() {
183
187
  const result = {
184
- session: this.session,
188
+ session: this.chatModel.sessionId,
185
189
  when: this._startTime,
186
190
  exchanges: []
187
191
  };
188
- for (const exchange of this._exchange) {
192
+ for (const exchange of this._exchanges) {
189
193
  const response = exchange.response;
190
194
  if (response instanceof ReplyResponse) {
191
- result.exchanges.push({ prompt: exchange.prompt.value, res: response.raw });
195
+ result.exchanges.push({ prompt: exchange.prompt.value, res: response.chatResponse });
192
196
  }
193
197
  }
194
198
  return result;
@@ -217,31 +221,22 @@ class ErrorResponse {
217
221
  }
218
222
  }
219
223
  let ReplyResponse = class ReplyResponse {
220
- constructor(raw, localUri, modelAltVersionId, chatRequest, chatResponse, _textFileService, _languageService) {
221
- this.raw = raw;
222
- this.modelAltVersionId = modelAltVersionId;
224
+ constructor(localUri, chatRequest, chatResponse, _textFileService, _languageService) {
223
225
  this.chatRequest = chatRequest;
224
226
  this.chatResponse = chatResponse;
225
227
  this._textFileService = _textFileService;
226
228
  this._languageService = _languageService;
227
229
  const editsMap = ( new ResourceMap());
228
- const edits = ResourceEdit.convert(raw.edits);
229
- for (const edit of edits) {
230
- if (edit instanceof ResourceFileEdit) {
231
- if (edit.newResource && !edit.oldResource) {
232
- editsMap.set(edit.newResource, []);
233
- if (edit.options.contents) {
234
- console.warn('CONTENT not supported');
230
+ for (const item of chatResponse.response.value) {
231
+ if (item.kind === 'textEditGroup') {
232
+ const array = editsMap.get(item.uri);
233
+ for (const group of item.edits) {
234
+ if (array) {
235
+ array.push(group);
236
+ }
237
+ else {
238
+ editsMap.set(item.uri, [group]);
235
239
  }
236
- }
237
- }
238
- else if (edit instanceof ResourceTextEdit) {
239
- const array = editsMap.get(edit.resource);
240
- if (array) {
241
- array.push([edit.textEdit]);
242
- }
243
- else {
244
- editsMap.set(edit.resource, [[edit.textEdit]]);
245
240
  }
246
241
  }
247
242
  }
@@ -265,8 +260,8 @@ let ReplyResponse = class ReplyResponse {
265
260
  }
266
261
  };
267
262
  ReplyResponse = ( __decorate([
268
- ( __param(5, ITextFileService)),
269
- ( __param(6, ILanguageService))
263
+ ( __param(3, ITextFileService)),
264
+ ( __param(4, ILanguageService))
270
265
  ], ReplyResponse));
271
266
  let StashedSession = class StashedSession {
272
267
  constructor(editor, session, _undoCancelEdits, contextKeyService, _sessionService, _logService) {
@@ -426,8 +421,8 @@ let HunkData = class HunkData {
426
421
  }
427
422
  this._textModel0.pushEditOperations(null, edits, () => null);
428
423
  }
429
- async recompute(editState) {
430
- const diff = await this._editorWorkerService.computeDiff(this._textModel0.uri, this._textModelN.uri, { ignoreTrimWhitespace: false, maxComputationTimeMs: Number.MAX_SAFE_INTEGER, computeMoves: false }, 'advanced');
424
+ async recompute(editState, diff) {
425
+ diff ??= await this._editorWorkerService.computeDiff(this._textModel0.uri, this._textModelN.uri, { ignoreTrimWhitespace: false, maxComputationTimeMs: Number.MAX_SAFE_INTEGER, computeMoves: false }, 'advanced');
431
426
  if (!diff || diff.changes.length === 0) {
432
427
  return;
433
428
  }
@@ -97,17 +97,6 @@ let InlineChatSessionServiceImpl = class InlineChatSessionServiceImpl {
97
97
  this._onWillStartSession.fire(editor);
98
98
  const textModel = editor.getModel();
99
99
  const selection = editor.getSelection();
100
- const rawSession = {
101
- id: Math.random(),
102
- wholeRange: ( new Range(
103
- selection.selectionStartLineNumber,
104
- selection.selectionStartColumn,
105
- selection.positionLineNumber,
106
- selection.positionColumn
107
- )),
108
- placeholder: agent.description,
109
- slashCommands: agent.slashCommands
110
- };
111
100
  const store = ( new DisposableStore());
112
101
  this._logService.trace(`[IE] creating NEW session for ${editor.getId()}, ${agent.extensionId}`);
113
102
  const chatModel = this._chatService.startSession(ChatAgentLocation.Editor, token);
@@ -124,7 +113,6 @@ let InlineChatSessionServiceImpl = class InlineChatSessionServiceImpl {
124
113
  if (e.kind !== 'addRequest' || !e.request.response) {
125
114
  return;
126
115
  }
127
- const modelAltVersionIdNow = textModel.getAlternativeVersionId();
128
116
  const { response } = e.request;
129
117
  lastResponseListener.value = response.onDidChange(() => {
130
118
  if (!response.isComplete) {
@@ -142,23 +130,7 @@ let InlineChatSessionServiceImpl = class InlineChatSessionServiceImpl {
142
130
  inlineResponse = ( new EmptyResponse());
143
131
  }
144
132
  else {
145
- const raw = {
146
- edits: { edits: [] },
147
- };
148
- for (const item of response.response.value) {
149
- if (item.kind === 'textEditGroup') {
150
- for (const group of item.edits) {
151
- for (const edit of group) {
152
- raw.edits.edits.push({
153
- resource: item.uri,
154
- textEdit: edit,
155
- versionId: undefined
156
- });
157
- }
158
- }
159
- }
160
- }
161
- inlineResponse = this._instaService.createInstance(ReplyResponse, raw, session.textModelN.uri, modelAltVersionIdNow, e.request, response);
133
+ inlineResponse = this._instaService.createInstance(ReplyResponse, session.textModelN.uri, e.request, response);
162
134
  }
163
135
  session.addExchange(( new SessionExchange(session.lastInput, inlineResponse)));
164
136
  if (inlineResponse instanceof ReplyResponse && inlineResponse.untitledTextModel) {
@@ -188,7 +160,12 @@ let InlineChatSessionServiceImpl = class InlineChatSessionServiceImpl {
188
160
  }
189
161
  let wholeRange = options.wholeRange;
190
162
  if (!wholeRange) {
191
- wholeRange = rawSession.wholeRange ? Range.lift(rawSession.wholeRange) : editor.getSelection();
163
+ wholeRange = ( new Range(
164
+ selection.selectionStartLineNumber,
165
+ selection.selectionStartColumn,
166
+ selection.positionLineNumber,
167
+ selection.positionColumn
168
+ ));
192
169
  }
193
170
  if (token.isCancellationRequested) {
194
171
  store.dispose();
@@ -200,7 +177,6 @@ let InlineChatSessionServiceImpl = class InlineChatSessionServiceImpl {
200
177
  textModel0,
201
178
  textModelN,
202
179
  agent,
203
- rawSession,
204
180
  store.add(( new SessionWholeRange(textModelN, wholeRange))),
205
181
  store.add(( new HunkData(this._editorWorkerService, textModel0, textModelN))),
206
182
  chatModel
@@ -315,14 +291,16 @@ InlineChatSessionServiceImpl = ( __decorate([
315
291
  let InlineChatEnabler = class InlineChatEnabler {
316
292
  static { this.Id = 'inlineChat.enabler'; }
317
293
  constructor(contextKeyService, chatAgentService) {
294
+ this._store = ( new DisposableStore());
318
295
  this._ctxHasProvider = CTX_INLINE_CHAT_HAS_AGENT.bindTo(contextKeyService);
319
- chatAgentService.onDidChangeAgents(() => {
296
+ this._store.add(chatAgentService.onDidChangeAgents(() => {
320
297
  const hasEditorAgent = Boolean(chatAgentService.getDefaultAgent(ChatAgentLocation.Editor));
321
298
  this._ctxHasProvider.set(hasEditorAgent);
322
- });
299
+ }));
323
300
  }
324
301
  dispose() {
325
302
  this._ctxHasProvider.reset();
303
+ this._store.dispose();
326
304
  }
327
305
  };
328
306
  InlineChatEnabler = ( __decorate([
@@ -128,7 +128,7 @@ let PreviewStrategy = class PreviewStrategy extends EditModeStrategy {
128
128
  }
129
129
  async makeProgressiveChanges() {
130
130
  }
131
- async renderChanges(response) { }
131
+ async renderChanges() { }
132
132
  hasFocus() {
133
133
  return this._zone.widget.hasFocus();
134
134
  }
@@ -239,7 +239,7 @@ let LiveStrategy = class LiveStrategy extends EditModeStrategy {
239
239
  obs.stop();
240
240
  }
241
241
  }
242
- async renderChanges(response) {
242
+ async renderChanges() {
243
243
  this._progressiveEditingDecorations.clear();
244
244
  const renderHunks = () => {
245
245
  let widgetData;
@@ -387,7 +387,6 @@ let LiveStrategy = class LiveStrategy extends EditModeStrategy {
387
387
  });
388
388
  if (widgetData) {
389
389
  this._zone.updatePositionAndHeight(widgetData.position);
390
- this._editor.revealPositionInCenterIfOutsideViewport(widgetData.position);
391
390
  const remainingHunks = this._session.hunkData.pending;
392
391
  this._updateSummaryMessage(remainingHunks, this._session.hunkData.size);
393
392
  const mode = this._configService.getValue(InlineChatConfigKeys.AccessibleDiffView);
@@ -427,7 +426,7 @@ let LiveStrategy = class LiveStrategy extends EditModeStrategy {
427
426
  }
428
427
  else if (remaining === 1) {
429
428
  message = needsReview
430
- ? ( localizeWithPath(_moduleId, 1, "$(info) Accept or discard 1 change"))
429
+ ? ( localizeWithPath(_moduleId, 1, "$(info) Accept or Discard change"))
431
430
  : ( localizeWithPath(_moduleId, 2, "1 change"));
432
431
  }
433
432
  else {