@codingame/monaco-vscode-api 37.2.0 → 37.3.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 (3067) hide show
  1. package/css.d.ts +1 -1
  2. package/css.js +4 -3
  3. package/lifecycle.d.ts +2 -2
  4. package/missing-services.js +884 -35
  5. package/override/vs/sessions/contrib/providers/remoteAgentHost/browser/devTunnelsWebLoader.d.ts +4 -0
  6. package/package.json +8 -8
  7. package/service-override/tools/editor.d.ts +1 -1
  8. package/services.d.ts +49 -1
  9. package/services.js +56 -4
  10. package/vscode/src/vs/base/browser/animationSync.d.ts +45 -0
  11. package/vscode/src/vs/base/browser/animationSync.js +122 -0
  12. package/vscode/src/vs/base/browser/dom.js +4 -4
  13. package/vscode/src/vs/base/browser/domSanitize.js +6 -4
  14. package/vscode/src/vs/base/browser/fonts.js +6 -5
  15. package/vscode/src/vs/base/browser/htmlToMarkdown.d.ts +1 -0
  16. package/vscode/src/vs/base/browser/htmlToMarkdown.js +144 -0
  17. package/vscode/src/vs/base/browser/iframe.js +1 -1
  18. package/vscode/src/vs/base/browser/indexedDB.js +1 -1
  19. package/vscode/src/vs/base/browser/markdownRenderer.js +3 -3
  20. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/aria/aria.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +1 -1
  24. package/vscode/src/vs/base/browser/ui/button/button.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/centered/centeredViewLayout.js +1 -1
  26. package/vscode/src/vs/base/browser/ui/codicons/codiconStyles.js +2 -2
  27. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/countBadge/countBadge.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +10 -10
  30. package/vscode/src/vs/base/browser/ui/dnd/dnd.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +1 -1
  34. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/grid/grid.js +7 -7
  36. package/vscode/src/vs/base/browser/ui/grid/gridview.js +35 -27
  37. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +5 -5
  39. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +1 -1
  40. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  41. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  42. package/vscode/src/vs/base/browser/ui/list/listPaging.js +19 -19
  43. package/vscode/src/vs/base/browser/ui/list/listView.js +16 -16
  44. package/vscode/src/vs/base/browser/ui/list/listWidget.js +32 -29
  45. package/vscode/src/vs/base/browser/ui/list/rangeMap.js +9 -35
  46. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  47. package/vscode/src/vs/base/browser/ui/mouseCursor/mouseCursor.js +1 -1
  48. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.css +169 -0
  49. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.d.ts +32 -0
  50. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +43 -0
  51. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +1 -1
  52. package/vscode/src/vs/base/browser/ui/radio/radio.js +4 -4
  53. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  54. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +1 -1
  55. package/vscode/src/vs/base/browser/ui/segmentedIconToggle/segmentedIconToggle.css +114 -0
  56. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +1 -1
  57. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +10 -3
  58. package/vscode/src/vs/base/browser/ui/severityIcon/severityIcon.js +1 -1
  59. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +5 -5
  60. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +19 -19
  61. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +7 -7
  62. package/vscode/src/vs/base/browser/ui/toggle/switch.js +1 -1
  63. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  64. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +4 -4
  65. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +41 -29
  66. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +50 -38
  67. package/vscode/src/vs/base/browser/ui/tree/compressedObjectTreeModel.js +22 -22
  68. package/vscode/src/vs/base/browser/ui/tree/dataTree.js +2 -2
  69. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +11 -6
  70. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +1 -1
  71. package/vscode/src/vs/base/browser/ui/tree/objectTreeModel.js +4 -4
  72. package/vscode/src/vs/base/common/arrays.js +4 -4
  73. package/vscode/src/vs/base/common/async.js +12 -12
  74. package/vscode/src/vs/base/common/dataTransfer.js +2 -2
  75. package/vscode/src/vs/base/common/equals.js +1 -1
  76. package/vscode/src/vs/base/common/event.js +6 -6
  77. package/vscode/src/vs/base/common/fuzzyScorer.js +3 -3
  78. package/vscode/src/vs/base/common/glob.js +11 -3
  79. package/vscode/src/vs/base/common/htmlContent.js +2 -2
  80. package/vscode/src/vs/base/common/labels.js +2 -2
  81. package/vscode/src/vs/base/common/lifecycle.js +3 -3
  82. package/vscode/src/vs/base/common/linkedText.js +1 -1
  83. package/vscode/src/vs/base/common/markdownLinks.d.ts +37 -0
  84. package/vscode/src/vs/base/common/markdownLinks.js +127 -0
  85. package/vscode/src/vs/base/common/objects.js +1 -1
  86. package/vscode/src/vs/base/common/observableInternal/logging/consoleObservableLogger.js +6 -3
  87. package/vscode/src/vs/base/common/observableInternal/logging/debugger/devToolsLogger.js +8 -8
  88. package/vscode/src/vs/base/common/observableInternal/utils/utilsCancellation.js +2 -2
  89. package/vscode/src/vs/base/common/paging.js +4 -1
  90. package/vscode/src/vs/base/common/uriTemplate.js +8 -8
  91. package/vscode/src/vs/base/common/yaml.js +2 -2
  92. package/vscode/src/vs/base/parts/ipc/common/webSocketFraming.d.ts +57 -0
  93. package/vscode/src/vs/base/parts/ipc/common/webSocketFraming.js +219 -0
  94. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +1 -1
  95. package/vscode/src/vs/editor/browser/controller/editContext/clipboardUtils.js +2 -2
  96. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +1 -1
  97. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +1 -1
  98. package/vscode/src/vs/editor/browser/coreCommands.js +22 -15
  99. package/vscode/src/vs/editor/browser/editorExtensions.js +1 -1
  100. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +2 -2
  101. package/vscode/src/vs/editor/browser/gpu/css/decorationCssRuleExtractor.js +1 -1
  102. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +9 -3
  103. package/vscode/src/vs/editor/browser/observableCodeEditor.js +8 -8
  104. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +3 -3
  105. package/vscode/src/vs/editor/browser/services/bulkEditService.js +2 -2
  106. package/vscode/src/vs/editor/browser/services/codeEditorService.service.d.ts +1 -2
  107. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +5 -5
  108. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +1 -1
  109. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.d.ts +1 -1
  110. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +6 -6
  111. package/vscode/src/vs/editor/browser/view.js +4 -4
  112. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  113. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +1 -1
  114. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +1 -1
  115. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  116. package/vscode/src/vs/editor/browser/viewParts/gpuMark/gpuMark.js +1 -1
  117. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +5 -5
  118. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +1 -1
  119. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +1 -1
  120. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +1 -1
  121. package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js +1 -1
  122. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
  123. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +1 -1
  124. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +1 -1
  125. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
  126. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +4 -4
  127. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +1 -1
  128. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +1 -1
  129. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +2 -2
  130. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -4
  131. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +3 -3
  132. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +27 -66
  133. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  134. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +1 -1
  135. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +3 -3
  136. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +38 -28
  137. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +23 -17
  138. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +10 -10
  139. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +12 -8
  140. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +12 -8
  141. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +12 -4
  142. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +4 -4
  143. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +1 -1
  144. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/editorMarkdownCodeBlockRenderer.js +1 -1
  145. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollView.js +1 -1
  146. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorLogging.js +2 -2
  147. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +5 -3
  148. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +11 -11
  149. package/vscode/src/vs/editor/common/core/2d/point.js +1 -1
  150. package/vscode/src/vs/editor/common/core/2d/size.js +1 -1
  151. package/vscode/src/vs/editor/common/core/edits/edit.js +1 -1
  152. package/vscode/src/vs/editor/common/core/edits/lengthEdit.js +1 -1
  153. package/vscode/src/vs/editor/common/core/edits/lineEdit.js +8 -8
  154. package/vscode/src/vs/editor/common/core/edits/stringEdit.js +5 -5
  155. package/vscode/src/vs/editor/common/core/edits/textEdit.js +5 -5
  156. package/vscode/src/vs/editor/common/core/ranges/lineRange.js +2 -2
  157. package/vscode/src/vs/editor/common/core/ranges/offsetRange.js +1 -1
  158. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +2 -2
  159. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -3
  160. package/vscode/src/vs/editor/common/cursor/cursorCollection.js +5 -5
  161. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +16 -16
  162. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +10 -10
  163. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +5 -3
  164. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +5 -5
  165. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +1 -1
  166. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +2 -2
  167. package/vscode/src/vs/editor/common/diff/linesDiffComputer.js +1 -1
  168. package/vscode/src/vs/editor/common/diff/rangeMapping.js +9 -6
  169. package/vscode/src/vs/editor/common/editorContextKeys.js +64 -64
  170. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +1 -1
  171. package/vscode/src/vs/editor/common/languages/language.service.d.ts +1 -2
  172. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +4 -4
  173. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.service.d.ts +1 -1
  174. package/vscode/src/vs/editor/common/languages/supports/characterPair.js +3 -3
  175. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +2 -2
  176. package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +6 -6
  177. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js +3 -3
  178. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +2 -2
  179. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +1 -1
  180. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +3 -3
  181. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +1 -1
  182. package/vscode/src/vs/editor/common/model/editStack.js +11 -5
  183. package/vscode/src/vs/editor/common/model/textModel.js +16 -16
  184. package/vscode/src/vs/editor/common/model/textModelStringEdit.js +3 -3
  185. package/vscode/src/vs/editor/common/model/textModelTokens.js +1 -1
  186. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +4 -2
  187. package/vscode/src/vs/editor/common/model/tokens/annotations.js +4 -4
  188. package/vscode/src/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js +1 -1
  189. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTokenizationImpl.js +9 -9
  190. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +2 -2
  191. package/vscode/src/vs/editor/common/services/editorWebWorker.js +4 -4
  192. package/vscode/src/vs/editor/common/services/editorWorker.service.d.ts +1 -1
  193. package/vscode/src/vs/editor/common/services/languagesAssociations.js +23 -48
  194. package/vscode/src/vs/editor/common/services/markerDecorations.service.d.ts +1 -2
  195. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +3 -3
  196. package/vscode/src/vs/editor/common/services/model.service.d.ts +1 -2
  197. package/vscode/src/vs/editor/common/services/resolverService.service.d.ts +1 -1
  198. package/vscode/src/vs/editor/common/services/textResourceConfiguration.service.d.ts +1 -2
  199. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +1 -1
  200. package/vscode/src/vs/editor/common/textModelEditSource.js +2 -2
  201. package/vscode/src/vs/editor/common/tokens/lineTokens.js +2 -2
  202. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +2 -2
  203. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +2 -2
  204. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  205. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  206. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +8 -8
  207. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +2 -2
  208. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +3 -3
  209. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +12 -9
  210. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +7 -7
  211. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +2 -2
  212. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +4 -4
  213. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +1 -1
  214. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +1 -1
  215. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +2 -2
  216. package/vscode/src/vs/editor/contrib/codelens/browser/codelens.js +2 -2
  217. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +4 -4
  218. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +1 -1
  219. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +2 -2
  220. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParticipantUtils.js +2 -2
  221. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerBody.js +1 -1
  222. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  223. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  224. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerInsertButton.js +1 -1
  225. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +1 -1
  226. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerStrip.js +1 -1
  227. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +1 -1
  228. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerWidget.js +1 -1
  229. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +2 -2
  230. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +4 -4
  231. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +3 -3
  232. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +4 -4
  233. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +1 -1
  234. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +10 -10
  235. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +4 -4
  236. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  237. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +2 -2
  238. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -3
  239. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +2 -2
  240. package/vscode/src/vs/editor/contrib/find/browser/findController.js +2 -2
  241. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +4 -4
  242. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +15 -12
  243. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +1 -1
  244. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +5 -5
  245. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js +1 -1
  246. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +4 -4
  247. package/vscode/src/vs/editor/contrib/folding/browser/syntaxRangeProvider.js +2 -2
  248. package/vscode/src/vs/editor/contrib/format/browser/format.js +4 -4
  249. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  250. package/vscode/src/vs/editor/contrib/format/browser/formattingEdit.js +7 -6
  251. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +1 -1
  252. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  253. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.service.d.ts +1 -1
  254. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +3 -3
  255. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  256. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +2 -2
  257. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  258. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +2 -2
  259. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +2 -2
  260. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +5 -4
  261. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +1 -1
  262. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +2 -2
  263. package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverComputer.js +3 -3
  264. package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverController.js +1 -1
  265. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +1 -1
  266. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +1 -1
  267. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +2 -2
  268. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +2 -2
  269. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +1 -1
  270. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +2 -2
  271. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +2 -2
  272. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +3 -3
  273. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -1
  274. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +1 -1
  275. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +16 -16
  276. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +11 -9
  277. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +3 -3
  278. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +3 -1
  279. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/editKind.js +3 -1
  280. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.js +4 -4
  281. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +49 -47
  282. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +15 -12
  283. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +6 -6
  284. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +3 -3
  285. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +2 -2
  286. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/typingSpeed.js +14 -33
  287. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +1 -1
  288. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +4 -4
  289. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +14 -11
  290. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +9 -9
  291. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +25 -25
  292. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +62 -41
  293. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +5 -5
  294. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +7 -7
  295. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +8 -8
  296. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +15 -13
  297. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +14 -14
  298. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +6 -6
  299. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +29 -29
  300. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +15 -15
  301. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js +7 -7
  302. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +7 -5
  303. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +1 -1
  304. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js +3 -3
  305. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +7 -3
  306. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +8 -8
  307. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js +5 -11
  308. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +2 -2
  309. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +3 -3
  310. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +1 -1
  311. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +15 -15
  312. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +6 -6
  313. package/vscode/src/vs/editor/contrib/links/browser/getLinks.js +3 -3
  314. package/vscode/src/vs/editor/contrib/links/browser/links.js +1 -1
  315. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +2 -2
  316. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +8 -5
  317. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +8 -8
  318. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  319. package/vscode/src/vs/editor/contrib/parameterHints/browser/provideSignatureHelp.js +13 -17
  320. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  321. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  322. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +3 -3
  323. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +11 -8
  324. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +2 -2
  325. package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +1 -1
  326. package/vscode/src/vs/editor/contrib/semanticTokens/common/getSemanticTokens.js +4 -4
  327. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +21 -15
  328. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
  329. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +14 -14
  330. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +7 -7
  331. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  332. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  333. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +2 -2
  334. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +15 -15
  335. package/vscode/src/vs/editor/contrib/suggest/browser/suggestAlternatives.js +1 -1
  336. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +33 -27
  337. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -19
  338. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -3
  339. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  340. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -3
  341. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +34 -34
  342. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  343. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  344. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +2 -2
  345. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +29 -29
  346. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  347. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +10 -10
  348. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +4 -4
  349. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +8 -8
  350. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +14 -10
  351. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +1 -1
  352. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  353. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -3
  354. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +3 -1
  355. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -2
  356. package/vscode/src/vs/platform/accessibility/common/accessibility.js +6 -5
  357. package/vscode/src/vs/platform/accessibility/common/accessibility.service.d.ts +1 -1
  358. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +72 -70
  359. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +2 -1
  360. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  361. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +13 -13
  362. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +13 -13
  363. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +1 -1
  364. package/vscode/src/vs/platform/actionWidget/browser/tabbedActionListWidget.css +74 -0
  365. package/vscode/src/vs/platform/actionWidget/browser/tabbedActionListWidget.d.ts +149 -0
  366. package/vscode/src/vs/platform/actionWidget/browser/tabbedActionListWidget.js +429 -0
  367. package/vscode/src/vs/platform/actions/browser/actionViewItemService.service.d.ts +1 -1
  368. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +31 -0
  369. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +92 -0
  370. package/vscode/src/vs/platform/actions/browser/buttonbar.css +29 -0
  371. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +66 -0
  372. package/vscode/src/vs/platform/actions/browser/buttonbar.js +253 -0
  373. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +20 -12
  374. package/vscode/src/vs/platform/actions/browser/toolbar.js +3 -3
  375. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  376. package/vscode/src/vs/platform/actions/common/menuService.js +3 -3
  377. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.d.ts +603 -0
  378. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1911 -0
  379. package/vscode/src/vs/platform/agentHost/browser/agentHostSandboxToggle.d.ts +16 -0
  380. package/vscode/src/vs/platform/agentHost/browser/agentHostSandboxToggle.js +48 -0
  381. package/vscode/src/vs/platform/agentHost/browser/codexApprovalsPicker.d.ts +3 -0
  382. package/vscode/src/vs/platform/agentHost/browser/codexApprovalsPicker.js +18 -0
  383. package/vscode/src/vs/platform/agentHost/browser/media/codexApprovalsPicker.css +10 -0
  384. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.d.ts +3 -3
  385. package/vscode/src/vs/platform/agentHost/browser/webPubSubRelayTransport.d.ts +106 -0
  386. package/vscode/src/vs/platform/agentHost/browser/webPubSubRelayTransport.js +207 -0
  387. package/vscode/src/vs/platform/agentHost/common/agent.d.ts +2 -2
  388. package/vscode/src/vs/platform/agentHost/common/agentHostByokLm.d.ts +146 -0
  389. package/vscode/src/vs/platform/agentHost/common/agentHostByokLm.js +13 -0
  390. package/vscode/src/vs/platform/agentHost/common/agentHostByokLm.service.d.ts +31 -0
  391. package/vscode/src/vs/platform/agentHost/common/agentHostByokLm.service.js +6 -0
  392. package/vscode/src/vs/platform/agentHost/common/agentHostChangesetOperationService.d.ts +112 -0
  393. package/vscode/src/vs/platform/agentHost/common/agentHostChangesetOperationService.js +20 -0
  394. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +9 -0
  395. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +20 -0
  396. package/vscode/src/vs/platform/agentHost/common/agentHostConnectionsService.d.ts +1 -1
  397. package/vscode/src/vs/platform/agentHost/common/agentHostConnectionsService.service.d.ts +1 -2
  398. package/vscode/src/vs/platform/agentHost/common/agentHostEnablementService.d.ts +7 -0
  399. package/vscode/src/vs/platform/agentHost/common/agentHostEnablementService.js +92 -0
  400. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +144 -0
  401. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +20 -0
  402. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +204 -0
  403. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +443 -0
  404. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +47 -0
  405. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +75 -0
  406. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +68 -0
  407. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +161 -0
  408. package/vscode/src/vs/platform/agentHost/common/agentHostOperatingSystem.d.ts +6 -0
  409. package/vscode/src/vs/platform/agentHost/common/agentHostOperatingSystem.js +32 -0
  410. package/vscode/src/vs/platform/agentHost/common/agentHostPlanReview.d.ts +20 -0
  411. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.service.d.ts +1 -1
  412. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +104 -104
  413. package/vscode/src/vs/platform/agentHost/common/agentHostTelemetry.d.ts +1 -1
  414. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.d.ts +16 -0
  415. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.js +17 -0
  416. package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +261 -0
  417. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +165 -0
  418. package/vscode/src/vs/platform/agentHost/common/agentMergePrompt.d.ts +1 -1
  419. package/vscode/src/vs/platform/agentHost/common/agentMergePrompt.js +7 -7
  420. package/vscode/src/vs/platform/agentHost/common/agentModelSource.d.ts +27 -0
  421. package/vscode/src/vs/platform/agentHost/common/agentModelSource.js +23 -0
  422. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +3 -3
  423. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +2 -3
  424. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +39 -0
  425. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +169 -0
  426. package/vscode/src/vs/platform/agentHost/common/annotationsUri.d.ts +12 -0
  427. package/vscode/src/vs/platform/agentHost/common/annotationsUri.js +8 -0
  428. package/vscode/src/vs/platform/agentHost/common/automationMigration.d.ts +20 -0
  429. package/vscode/src/vs/platform/agentHost/common/automationMigration.js +58 -0
  430. package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +130 -0
  431. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +42 -0
  432. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.d.ts +30 -0
  433. package/vscode/src/vs/platform/agentHost/common/claudeSessionConfigKeys.js +8 -0
  434. package/vscode/src/vs/platform/agentHost/common/cloudSandboxAgentHost.d.ts +230 -0
  435. package/vscode/src/vs/platform/agentHost/common/cloudSandboxAgentHost.js +53 -0
  436. package/vscode/src/vs/platform/agentHost/common/cloudSandboxAgentHost.service.d.ts +67 -0
  437. package/vscode/src/vs/platform/agentHost/common/cloudSandboxAgentHost.service.js +7 -0
  438. package/vscode/src/vs/platform/agentHost/common/codexSessionConfigKeys.d.ts +72 -0
  439. package/vscode/src/vs/platform/agentHost/common/codexSessionConfigKeys.js +16 -0
  440. package/vscode/src/vs/platform/agentHost/common/copilotCliConfig.d.ts +104 -0
  441. package/vscode/src/vs/platform/agentHost/common/copilotCliConfig.js +237 -0
  442. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +42 -0
  443. package/vscode/src/vs/platform/agentHost/common/customAgents.js +56 -0
  444. package/vscode/src/vs/platform/agentHost/common/customizationEnablement.js +32 -26
  445. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.d.ts +37 -0
  446. package/vscode/src/vs/platform/agentHost/common/fileEditDiff.js +34 -0
  447. package/vscode/src/vs/platform/agentHost/common/githubEndpoints.d.ts +52 -0
  448. package/vscode/src/vs/platform/agentHost/common/githubEndpoints.js +38 -0
  449. package/vscode/src/vs/platform/agentHost/common/githubIssueReferences.d.ts +8 -0
  450. package/vscode/src/vs/platform/agentHost/common/githubIssueReferences.js +13 -0
  451. package/vscode/src/vs/platform/agentHost/common/meta/agentChangesetFileMeta.d.ts +6 -0
  452. package/vscode/src/vs/platform/agentHost/common/meta/agentChangesetFileMeta.js +15 -0
  453. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +110 -0
  454. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +79 -0
  455. package/vscode/src/vs/platform/agentHost/common/meta/agentDevContainerWorktreeMeta.d.ts +9 -0
  456. package/vscode/src/vs/platform/agentHost/common/meta/agentDevContainerWorktreeMeta.js +24 -0
  457. package/vscode/src/vs/platform/agentHost/common/meta/agentElementAttachments.d.ts +9 -0
  458. package/vscode/src/vs/platform/agentHost/common/meta/agentElementAttachments.js +21 -0
  459. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.d.ts +128 -0
  460. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.js +83 -0
  461. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.d.ts +30 -0
  462. package/vscode/src/vs/platform/agentHost/common/meta/agentFeedbackAttachments.js +85 -0
  463. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +4 -0
  464. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.js +8 -0
  465. package/vscode/src/vs/platform/agentHost/common/meta/agentMergeMessageMeta.d.ts +15 -0
  466. package/vscode/src/vs/platform/agentHost/common/meta/agentMergeMessageMeta.js +8 -0
  467. package/vscode/src/vs/platform/agentHost/common/meta/agentMessageDelegationMeta.d.ts +19 -0
  468. package/vscode/src/vs/platform/agentHost/common/meta/agentMessageDelegationMeta.js +27 -0
  469. package/vscode/src/vs/platform/agentHost/common/meta/agentPermissionRequestMeta.d.ts +41 -0
  470. package/vscode/src/vs/platform/agentHost/common/meta/agentPermissionRequestMeta.js +34 -0
  471. package/vscode/src/vs/platform/agentHost/common/meta/agentPullRequestOperationMeta.d.ts +45 -0
  472. package/vscode/src/vs/platform/agentHost/common/meta/agentPullRequestOperationMeta.js +144 -0
  473. package/vscode/src/vs/platform/agentHost/common/meta/agentSystemNotificationMeta.d.ts +49 -0
  474. package/vscode/src/vs/platform/agentHost/common/meta/agentSystemNotificationMeta.js +52 -0
  475. package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.d.ts +81 -0
  476. package/vscode/src/vs/platform/agentHost/common/meta/agentToolCallMeta.js +92 -0
  477. package/vscode/src/vs/platform/agentHost/common/meta/automationMeta.d.ts +15 -0
  478. package/vscode/src/vs/platform/agentHost/common/meta/automationMeta.js +17 -0
  479. package/vscode/src/vs/platform/agentHost/common/meta/browserViewAttachments.d.ts +9 -0
  480. package/vscode/src/vs/platform/agentHost/common/meta/browserViewAttachments.js +31 -0
  481. package/vscode/src/vs/platform/agentHost/common/openSessionLink.d.ts +75 -0
  482. package/vscode/src/vs/platform/agentHost/common/openSessionLink.js +125 -0
  483. package/vscode/src/vs/platform/agentHost/common/partialToolInput.d.ts +2 -0
  484. package/vscode/src/vs/platform/agentHost/common/partialToolInput.js +24 -0
  485. package/vscode/src/vs/platform/agentHost/common/reasoningEffort.d.ts +61 -0
  486. package/vscode/src/vs/platform/agentHost/common/reasoningEffort.js +50 -0
  487. package/vscode/src/vs/platform/agentHost/common/reconnectingTransport.js +81 -0
  488. package/vscode/src/vs/platform/agentHost/common/relayTransport.d.ts +1 -1
  489. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.service.d.ts +18 -0
  490. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.service.js +6 -0
  491. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreferenceDialog.d.ts +40 -0
  492. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreferenceDialog.js +75 -0
  493. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.js +145 -11
  494. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.d.ts +1 -1
  495. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
  496. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
  497. package/vscode/src/vs/platform/agentHost/common/serverToolNames.d.ts +36 -0
  498. package/vscode/src/vs/platform/agentHost/common/serverToolNames.js +22 -0
  499. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +75 -0
  500. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +84 -0
  501. package/vscode/src/vs/platform/agentHost/common/sessionConfigKeys.js +39 -1
  502. package/vscode/src/vs/platform/agentHost/common/sessionDbUri.d.ts +39 -0
  503. package/vscode/src/vs/platform/agentHost/common/sessionDbUri.js +40 -0
  504. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.d.ts +1 -1
  505. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.js +14 -0
  506. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.d.ts +2 -3
  507. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +461 -0
  508. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +803 -0
  509. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +2 -2
  510. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
  511. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
  512. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +4 -0
  513. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +37 -0
  514. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +4 -0
  515. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +45 -0
  516. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +13 -0
  517. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +147 -0
  518. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
  519. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +837 -0
  520. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/reducer.d.ts +21 -0
  521. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
  522. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
  523. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
  524. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +484 -0
  525. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
  526. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +79 -0
  527. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
  528. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
  529. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.d.ts +1 -0
  530. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +7 -0
  531. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -0
  532. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +67 -0
  533. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +117 -0
  534. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +106 -0
  535. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +25 -0
  536. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
  537. package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.d.ts +16 -0
  538. package/vscode/src/vs/platform/agentHost/common/state/sessionReducers.js +23 -0
  539. package/vscode/src/vs/platform/agentHost/common/state/sessionState.js +219 -5
  540. package/vscode/src/vs/platform/agentHost/common/taskEventReplay.d.ts +51 -0
  541. package/vscode/src/vs/platform/agentHost/common/taskEventReplay.js +184 -0
  542. package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
  543. package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
  544. package/vscode/src/vs/platform/agentHost/common/tunnelAgentHost.js +169 -1
  545. package/vscode/src/vs/platform/agentHost/common/tunnelAgentHost.service.d.ts +158 -0
  546. package/vscode/src/vs/platform/agentHost/common/tunnelAgentHost.service.js +6 -0
  547. package/vscode/src/vs/platform/agentHost/common/tunnelAgentHostConnector.d.ts +115 -0
  548. package/vscode/src/vs/platform/agentHost/common/tunnelAgentHostConnector.js +459 -0
  549. package/vscode/src/vs/platform/agentHost/common/tunnelGatewaySelection.d.ts +101 -0
  550. package/vscode/src/vs/platform/agentHost/common/tunnelGatewaySelection.js +82 -0
  551. package/vscode/src/vs/platform/agentHost/common/tunnelMessageSocket.d.ts +33 -0
  552. package/vscode/src/vs/platform/agentHost/common/webPubSub/chunking.d.ts +100 -0
  553. package/vscode/src/vs/platform/agentHost/common/webPubSub/chunking.js +256 -0
  554. package/vscode/src/vs/platform/agentHost/common/webPubSub/framing.d.ts +86 -0
  555. package/vscode/src/vs/platform/agentHost/common/webPubSub/framing.js +64 -0
  556. package/vscode/src/vs/platform/agentHost/common/webPubSub/groups.d.ts +46 -0
  557. package/vscode/src/vs/platform/agentHost/common/webPubSub/groups.js +92 -0
  558. package/vscode/src/vs/platform/agentHost/common/webSocketOverDuplex.d.ts +18 -0
  559. package/vscode/src/vs/platform/agentHost/common/webSocketOverDuplex.js +443 -0
  560. package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +24 -0
  561. package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +15 -0
  562. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +13 -11
  563. package/vscode/src/vs/platform/browserView/common/browserPermissions.js +16 -16
  564. package/vscode/src/vs/platform/chat/common/sessionArchiveActions.d.ts +26 -0
  565. package/vscode/src/vs/platform/chat/common/sessionArchiveActions.js +58 -0
  566. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +2 -2
  567. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +1 -1
  568. package/vscode/src/vs/platform/commands/common/commands.service.d.ts +1 -1
  569. package/vscode/src/vs/platform/configuration/common/configuration.service.d.ts +1 -1
  570. package/vscode/src/vs/platform/configuration/common/configurationModels.js +2 -2
  571. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +14 -14
  572. package/vscode/src/vs/platform/configuration/common/configurations.js +1 -1
  573. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +2 -2
  574. package/vscode/src/vs/platform/contextkey/common/contextkey.js +23 -23
  575. package/vscode/src/vs/platform/contextkey/common/contextkey.service.d.ts +1 -1
  576. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +11 -11
  577. package/vscode/src/vs/platform/contextkey/common/scanner.js +6 -6
  578. package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +1 -1
  579. package/vscode/src/vs/platform/dataChannel/common/dataChannel.service.d.ts +1 -2
  580. package/vscode/src/vs/platform/debug/common/extensionHostDebug.service.d.ts +1 -1
  581. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +1 -1
  582. package/vscode/src/vs/platform/dialogs/common/dialogs.js +12 -12
  583. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -2
  584. package/vscode/src/vs/platform/dnd/browser/dnd.js +7 -4
  585. package/vscode/src/vs/platform/domWidget/browser/domWidget.d.ts +52 -0
  586. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +53 -0
  587. package/vscode/src/vs/platform/download/common/download.service.d.ts +1 -1
  588. package/vscode/src/vs/platform/editor/browser/editor.d.ts +12 -0
  589. package/vscode/src/vs/platform/editor/browser/editor.js +61 -0
  590. package/vscode/src/vs/platform/endpoint/common/licenseAgreement.d.ts +7 -0
  591. package/vscode/src/vs/platform/endpoint/common/licenseAgreement.js +5 -0
  592. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -1
  593. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +2 -2
  594. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.service.d.ts +1 -1
  595. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +15 -15
  596. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +1 -2
  597. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  598. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.service.d.ts +1 -1
  599. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +2 -2
  600. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.service.d.ts +1 -2
  601. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +40 -35
  602. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.service.d.ts +1 -2
  603. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  604. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.service.d.ts +1 -1
  605. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +19 -19
  606. package/vscode/src/vs/platform/extensions/common/extensions.js +1 -1
  607. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +3 -3
  608. package/vscode/src/vs/platform/files/common/files.js +9 -9
  609. package/vscode/src/vs/platform/files/common/files.service.d.ts +1 -2
  610. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +1 -1
  611. package/vscode/src/vs/platform/files/common/watcher.js +2 -2
  612. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +4 -4
  613. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +3 -3
  614. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  615. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +18 -16
  616. package/vscode/src/vs/platform/keybinding/common/baseResolvedKeybinding.js +3 -3
  617. package/vscode/src/vs/platform/keybinding/common/keybinding.service.d.ts +1 -1
  618. package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +1 -1
  619. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.service.d.ts +1 -1
  620. package/vscode/src/vs/platform/label/common/label.service.d.ts +1 -2
  621. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +3 -3
  622. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  623. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  624. package/vscode/src/vs/platform/layout/browser/layoutService.service.d.ts +1 -1
  625. package/vscode/src/vs/platform/layout/browser/zIndexRegistry.d.ts +12 -0
  626. package/vscode/src/vs/platform/layout/browser/zIndexRegistry.js +64 -0
  627. package/vscode/src/vs/platform/list/browser/listService.js +39 -39
  628. package/vscode/src/vs/platform/localTranscription/common/localTranscription.service.d.ts +1 -1
  629. package/vscode/src/vs/platform/log/common/log.js +7 -7
  630. package/vscode/src/vs/platform/log/common/log.service.d.ts +1 -2
  631. package/vscode/src/vs/platform/markers/common/markerService.js +3 -3
  632. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  633. package/vscode/src/vs/platform/markers/common/markers.service.d.ts +1 -2
  634. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifest.service.d.ts +1 -1
  635. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +1 -2
  636. package/vscode/src/vs/platform/mcp/common/mcpManagementIpc.js +5 -5
  637. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +11 -9
  638. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.d.ts +1 -1
  639. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +576 -0
  640. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.js +24 -0
  641. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.service.d.ts +1 -1
  642. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +54 -0
  643. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +210 -0
  644. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.d.ts +1 -2
  645. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +8 -0
  646. package/vscode/src/vs/platform/networkFilter/common/settings.js +10 -0
  647. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  648. package/vscode/src/vs/platform/notification/common/notification.service.d.ts +1 -1
  649. package/vscode/src/vs/platform/opener/browser/link.js +2 -2
  650. package/vscode/src/vs/platform/opener/common/opener.service.d.ts +1 -1
  651. package/vscode/src/vs/platform/policy/common/copilotManagedSettings.service.d.ts +1 -1
  652. package/vscode/src/vs/platform/policy/common/policy.service.d.ts +1 -1
  653. package/vscode/src/vs/platform/product/common/product.js +1 -1
  654. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +15 -15
  655. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  656. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +2 -2
  657. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +1 -1
  658. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +6 -6
  659. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +17 -13
  660. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +1 -1
  661. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +2 -2
  662. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +8 -3
  663. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +2 -2
  664. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +2 -2
  665. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  666. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +1 -1
  667. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.service.d.ts +1 -2
  668. package/vscode/src/vs/platform/remoteTunnel/common/remoteTunnel.service.d.ts +1 -1
  669. package/vscode/src/vs/platform/request/common/request.js +20 -20
  670. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  671. package/vscode/src/vs/platform/sandbox/common/terminalSandboxMxcRuntime.service.d.ts +1 -1
  672. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.service.d.ts +1 -1
  673. package/vscode/src/vs/platform/secrets/common/secrets.service.d.ts +1 -1
  674. package/vscode/src/vs/platform/storage/common/storage.service.d.ts +1 -1
  675. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  676. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.js +1 -1
  677. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +1 -1
  678. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.d.ts +11 -0
  679. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +26 -0
  680. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +28 -28
  681. package/vscode/src/vs/platform/terminal/common/environmentVariable.d.ts +86 -0
  682. package/vscode/src/vs/platform/terminal/common/environmentVariable.js +10 -0
  683. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.d.ts +17 -0
  684. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.js +218 -0
  685. package/vscode/src/vs/platform/terminal/common/environmentVariableShared.d.ts +1 -1
  686. package/vscode/src/vs/platform/terminal/common/environmentVariableShared.js +4 -4
  687. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +1 -1
  688. package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +1 -1
  689. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +34 -34
  690. package/vscode/src/vs/platform/terminal/common/terminalProcess.d.ts +1 -1
  691. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +7 -7
  692. package/vscode/src/vs/platform/terminal/common/terminalRecorder.d.ts +14 -0
  693. package/vscode/src/vs/platform/terminal/common/terminalRecorder.js +73 -0
  694. package/vscode/src/vs/platform/theme/common/colorUtils.js +4 -4
  695. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +19 -19
  696. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +9 -9
  697. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  698. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +48 -48
  699. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  700. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  701. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  702. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
  703. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +10 -10
  704. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  705. package/vscode/src/vs/platform/theme/common/iconRegistry.js +12 -12
  706. package/vscode/src/vs/platform/theme/common/sizeUtils.js +2 -2
  707. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +37 -37
  708. package/vscode/src/vs/platform/theme/common/themeService.service.d.ts +1 -1
  709. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +45 -45
  710. package/vscode/src/vs/platform/tunnel/common/tunnel.js +1 -1
  711. package/vscode/src/vs/platform/tunnel/common/tunnel.service.d.ts +1 -2
  712. package/vscode/src/vs/platform/undoRedo/common/undoRedo.service.d.ts +1 -1
  713. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  714. package/vscode/src/vs/platform/update/common/update.service.d.ts +1 -1
  715. package/vscode/src/vs/platform/uriIdentity/common/uriIdentity.service.d.ts +1 -1
  716. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +1 -1
  717. package/vscode/src/vs/platform/url/common/trustedDomains.js +1 -1
  718. package/vscode/src/vs/platform/url/common/url.service.d.ts +2 -1
  719. package/vscode/src/vs/platform/url/common/urlGlob.js +3 -3
  720. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +4 -4
  721. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.service.d.ts +1 -2
  722. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.service.d.ts +1 -1
  723. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +8 -3
  724. package/vscode/src/vs/platform/userDataSync/common/extensionsMerge.js +6 -6
  725. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +8 -8
  726. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +4 -1
  727. package/vscode/src/vs/platform/userDataSync/common/keybindingsMerge.js +9 -9
  728. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
  729. package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +1 -1
  730. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +5 -3
  731. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +2 -2
  732. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +6 -6
  733. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +1 -2
  734. package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.service.d.ts +1 -1
  735. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +3 -3
  736. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.service.d.ts +1 -1
  737. package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +2 -2
  738. package/vscode/src/vs/platform/webContentExtractor/common/webContentExtractor.service.d.ts +1 -1
  739. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  740. package/vscode/src/vs/platform/workspace/common/workspace.service.d.ts +1 -2
  741. package/vscode/src/vs/platform/workspace/common/workspaceTrust.service.d.ts +1 -2
  742. package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +1 -2
  743. package/vscode/src/vs/sessions/browser/accountTitleBarState.d.ts +55 -0
  744. package/vscode/src/vs/sessions/browser/accountTitleBarState.js +178 -0
  745. package/vscode/src/vs/sessions/browser/chatDashboardService.service.d.ts +10 -0
  746. package/vscode/src/vs/sessions/browser/chatDashboardService.service.js +6 -0
  747. package/vscode/src/vs/sessions/browser/dnd.d.ts +79 -0
  748. package/vscode/src/vs/sessions/browser/dnd.js +61 -0
  749. package/vscode/src/vs/sessions/browser/layoutPolicy.d.ts +71 -0
  750. package/vscode/src/vs/sessions/browser/layoutPolicy.js +82 -0
  751. package/vscode/src/vs/sessions/browser/media/phoneLayout.css +220 -0
  752. package/vscode/src/vs/sessions/browser/media/sessions-logo-dark.svg +6 -0
  753. package/vscode/src/vs/sessions/browser/media/sessions-logo-light.svg +6 -0
  754. package/vscode/src/vs/sessions/browser/media/sidebarActionButton.css +50 -0
  755. package/vscode/src/vs/sessions/browser/media/style.css +106 -0
  756. package/vscode/src/vs/sessions/browser/media/workbench.css +381 -0
  757. package/vscode/src/vs/sessions/browser/menus.d.ts +76 -0
  758. package/vscode/src/vs/sessions/browser/menus.js +56 -0
  759. package/vscode/src/vs/sessions/browser/mobileNavigationStack.d.ts +35 -0
  760. package/vscode/src/vs/sessions/browser/mobileNavigationStack.js +72 -0
  761. package/vscode/src/vs/sessions/browser/parts/agentsPartCard.d.ts +28 -0
  762. package/vscode/src/vs/sessions/browser/parts/agentsPartCard.js +35 -0
  763. package/vscode/src/vs/sessions/browser/parts/auxiliaryBarPart.d.ts +62 -0
  764. package/vscode/src/vs/sessions/browser/parts/auxiliaryBarPart.js +286 -0
  765. package/vscode/src/vs/sessions/browser/parts/chatView.d.ts +135 -0
  766. package/vscode/src/vs/sessions/browser/parts/chatView.js +56 -0
  767. package/vscode/src/vs/sessions/browser/parts/editorPartSizing.d.ts +9 -0
  768. package/vscode/src/vs/sessions/browser/parts/editorPartSizing.js +6 -0
  769. package/vscode/src/vs/sessions/browser/parts/media/auxiliaryBarPart.css +17 -0
  770. package/vscode/src/vs/sessions/browser/parts/media/sessionsEmptyState.css +31 -0
  771. package/vscode/src/vs/sessions/browser/parts/media/sidebarPart.css +127 -0
  772. package/vscode/src/vs/sessions/browser/parts/media/titlebarpart.css +231 -0
  773. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/media/mobileOverlayViews.css +582 -0
  774. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileChangesView.d.ts +87 -0
  775. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileChangesView.js +46 -0
  776. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffColors.d.ts +3 -0
  777. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffColors.js +31 -0
  778. package/vscode/src/vs/sessions/browser/parts/mobile/media/mobilePickerSheet.css +581 -0
  779. package/vscode/src/vs/sessions/browser/parts/mobile/media/mobileSessionFilterChips.css +84 -0
  780. package/vscode/src/vs/sessions/browser/parts/mobile/media/mobileSortGroupSheet.css +216 -0
  781. package/vscode/src/vs/sessions/browser/parts/mobile/mobileChatShell.css +973 -0
  782. package/vscode/src/vs/sessions/browser/parts/mobile/mobileChipLaneScroll.d.ts +26 -0
  783. package/vscode/src/vs/sessions/browser/parts/mobile/mobileChipLaneScroll.js +66 -0
  784. package/vscode/src/vs/sessions/browser/parts/mobile/mobileLayout.d.ts +18 -0
  785. package/vscode/src/vs/sessions/browser/parts/mobile/mobileLayout.js +8 -0
  786. package/vscode/src/vs/sessions/browser/parts/mobile/mobilePickerSheet.d.ts +253 -0
  787. package/vscode/src/vs/sessions/browser/parts/mobile/mobilePickerSheet.js +441 -0
  788. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionFilterChips.d.ts +73 -0
  789. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionFilterChips.js +190 -0
  790. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSortGroupSheet.d.ts +40 -0
  791. package/vscode/src/vs/sessions/browser/parts/mobile/mobileSortGroupSheet.js +117 -0
  792. package/vscode/src/vs/sessions/browser/parts/mobile/mobileTitlebarPart.d.ts +104 -0
  793. package/vscode/src/vs/sessions/browser/parts/mobile/mobileTitlebarPart.js +457 -0
  794. package/vscode/src/vs/sessions/browser/parts/mobile/mobileVisualViewport.d.ts +67 -0
  795. package/vscode/src/vs/sessions/browser/parts/mobile/mobileVisualViewport.js +61 -0
  796. package/vscode/src/vs/sessions/browser/parts/mobile/mobileVisualViewport.service.d.ts +30 -0
  797. package/vscode/src/vs/sessions/browser/parts/mobile/mobileVisualViewport.service.js +6 -0
  798. package/vscode/src/vs/sessions/browser/parts/sessionsEmptyState.d.ts +4 -0
  799. package/vscode/src/vs/sessions/browser/parts/sessionsEmptyState.js +16 -0
  800. package/vscode/src/vs/sessions/browser/parts/sidebarPart.d.ts +65 -0
  801. package/vscode/src/vs/sessions/browser/parts/sidebarPart.js +289 -0
  802. package/vscode/src/vs/sessions/browser/parts/titlebarPart.d.ts +110 -0
  803. package/vscode/src/vs/sessions/browser/parts/titlebarPart.js +481 -0
  804. package/vscode/src/vs/sessions/browser/sessionActionRunner.d.ts +10 -0
  805. package/vscode/src/vs/sessions/browser/sessionActionRunner.js +19 -0
  806. package/vscode/src/vs/sessions/browser/sessionActionViewItem.d.ts +7 -0
  807. package/vscode/src/vs/sessions/browser/sessionActionViewItem.js +27 -0
  808. package/vscode/src/vs/sessions/browser/sessionAgentMerge.d.ts +26 -0
  809. package/vscode/src/vs/sessions/browser/sessionAgentMerge.js +92 -0
  810. package/vscode/src/vs/sessions/browser/sessionConversationGroups.d.ts +8 -0
  811. package/vscode/src/vs/sessions/browser/sessionConversationGroups.js +31 -0
  812. package/vscode/src/vs/sessions/browser/sessionStatusIcon.d.ts +54 -0
  813. package/vscode/src/vs/sessions/browser/sessionStatusIcon.js +153 -0
  814. package/vscode/src/vs/sessions/browser/sessionsAuthGate.d.ts +77 -0
  815. package/vscode/src/vs/sessions/browser/sessionsAuthGate.js +49 -0
  816. package/vscode/src/vs/sessions/browser/sessionsSetUpService.service.d.ts +11 -0
  817. package/vscode/src/vs/sessions/browser/sessionsSetUpService.service.js +6 -0
  818. package/vscode/src/vs/sessions/browser/web.factory.d.ts +6 -0
  819. package/vscode/src/vs/sessions/browser/workbench.d.ts +456 -0
  820. package/vscode/src/vs/sessions/browser/workbench.js +2106 -0
  821. package/vscode/src/vs/sessions/browser/workbench.service.d.ts +48 -0
  822. package/vscode/src/vs/sessions/browser/workbench.service.js +7 -0
  823. package/vscode/src/vs/sessions/common/agentHostSessionWorkspace.d.ts +46 -0
  824. package/vscode/src/vs/sessions/common/agentHostSessionWorkspace.js +111 -0
  825. package/vscode/src/vs/sessions/common/agentHostSessionsProvider.d.ts +343 -0
  826. package/vscode/src/vs/sessions/common/agentHostSessionsProvider.js +88 -0
  827. package/vscode/src/vs/sessions/common/categories.d.ts +3 -0
  828. package/vscode/src/vs/sessions/common/categories.js +8 -0
  829. package/vscode/src/vs/sessions/common/contextkeys.d.ts +89 -0
  830. package/vscode/src/vs/sessions/common/contextkeys.js +196 -0
  831. package/vscode/src/vs/sessions/common/devContainerAgentHostService.d.ts +34 -0
  832. package/vscode/src/vs/sessions/common/devContainerAgentHostService.js +5 -0
  833. package/vscode/src/vs/sessions/common/devContainerAgentHostService.service.d.ts +15 -0
  834. package/vscode/src/vs/sessions/common/devContainerAgentHostService.service.js +6 -0
  835. package/vscode/src/vs/sessions/common/dockedEditorInput.d.ts +13 -0
  836. package/vscode/src/vs/sessions/common/dockedEditorInput.js +11 -0
  837. package/vscode/src/vs/sessions/common/layoutConstants.d.ts +2 -0
  838. package/vscode/src/vs/sessions/common/layoutConstants.js +6 -0
  839. package/vscode/src/vs/sessions/common/sessionCommands.d.ts +42 -0
  840. package/vscode/src/vs/sessions/common/sessionCommands.js +23 -0
  841. package/vscode/src/vs/sessions/common/sessionConfig.d.ts +11 -0
  842. package/vscode/src/vs/sessions/common/sessionConfig.js +10 -0
  843. package/vscode/src/vs/sessions/common/sessionLinks.d.ts +2 -0
  844. package/vscode/src/vs/sessions/common/sessionLinks.js +7 -0
  845. package/vscode/src/vs/sessions/common/sessionsTelemetry.d.ts +96 -0
  846. package/vscode/src/vs/sessions/common/sessionsTelemetry.js +117 -0
  847. package/vscode/src/vs/sessions/common/theme.d.ts +29 -0
  848. package/vscode/src/vs/sessions/common/theme.js +162 -0
  849. package/vscode/src/vs/sessions/common/workspaceSelection.d.ts +28 -0
  850. package/vscode/src/vs/sessions/common/workspaceSelection.js +19 -0
  851. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackAttachmentEntry.d.ts +29 -0
  852. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackAttachmentEntry.js +37 -0
  853. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackEditorUtils.d.ts +30 -0
  854. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackItemsBackend.d.ts +132 -0
  855. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackItemsBackend.js +394 -0
  856. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackModel.d.ts +93 -0
  857. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackModel.js +17 -0
  858. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +212 -0
  859. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +29 -0
  860. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.service.d.ts +158 -0
  861. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.service.js +6 -0
  862. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/feedbackInputWidget.d.ts +73 -0
  863. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/feedbackInputWidget.js +210 -0
  864. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/media/agentFeedbackEditorInput.css +137 -0
  865. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/sessionEditorComments.d.ts +49 -0
  866. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/sessionEditorComments.js +11 -0
  867. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.d.ts +23 -0
  868. package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.js +10 -0
  869. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.service.d.ts +31 -0
  870. package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.service.js +6 -0
  871. package/vscode/src/vs/sessions/contrib/automations/browser/automationModelConfiguration.d.ts +21 -0
  872. package/vscode/src/vs/sessions/contrib/automations/browser/automationModelConfiguration.js +88 -0
  873. package/vscode/src/vs/sessions/contrib/automations/browser/automationService.d.ts +53 -0
  874. package/vscode/src/vs/sessions/contrib/automations/browser/automationService.js +893 -0
  875. package/vscode/src/vs/sessions/contrib/automations/common/automationStorageService.d.ts +6 -0
  876. package/vscode/src/vs/sessions/contrib/automations/common/automationStorageService.js +8 -0
  877. package/vscode/src/vs/sessions/contrib/automations/common/automationStorageService.service.d.ts +10 -0
  878. package/vscode/src/vs/sessions/contrib/automations/common/automationStorageService.service.js +6 -0
  879. package/vscode/src/vs/sessions/contrib/changes/browser/changesEditorLabels.d.ts +14 -0
  880. package/vscode/src/vs/sessions/contrib/changes/browser/changesEditorLabels.js +34 -0
  881. package/vscode/src/vs/sessions/contrib/changes/browser/changesSummaryWidget.d.ts +12 -0
  882. package/vscode/src/vs/sessions/contrib/changes/browser/changesSummaryWidget.js +74 -0
  883. package/vscode/src/vs/sessions/contrib/changes/browser/changesView.d.ts +198 -0
  884. package/vscode/src/vs/sessions/contrib/changes/browser/changesView.js +1969 -0
  885. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewRenderer.d.ts +79 -0
  886. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewRenderer.js +344 -0
  887. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewService.d.ts +63 -0
  888. package/vscode/src/vs/sessions/contrib/changes/browser/changesViewService.js +426 -0
  889. package/vscode/src/vs/sessions/contrib/changes/browser/checksActions.d.ts +50 -0
  890. package/vscode/src/vs/sessions/contrib/changes/browser/checksActions.js +196 -0
  891. package/vscode/src/vs/sessions/contrib/changes/browser/checksViewModel.d.ts +8 -0
  892. package/vscode/src/vs/sessions/contrib/changes/browser/checksViewModel.js +18 -0
  893. package/vscode/src/vs/sessions/contrib/changes/browser/checksWidget.d.ts +63 -0
  894. package/vscode/src/vs/sessions/contrib/changes/browser/checksWidget.js +377 -0
  895. package/vscode/src/vs/sessions/contrib/changes/browser/createPullRequestChatRequest.d.ts +9 -0
  896. package/vscode/src/vs/sessions/contrib/changes/browser/createPullRequestChatRequest.js +59 -0
  897. package/vscode/src/vs/sessions/contrib/changes/browser/createPullRequestContextView.d.ts +27 -0
  898. package/vscode/src/vs/sessions/contrib/changes/browser/createPullRequestContextView.js +117 -0
  899. package/vscode/src/vs/sessions/contrib/changes/browser/createPullRequestWidget.d.ts +86 -0
  900. package/vscode/src/vs/sessions/contrib/changes/browser/createPullRequestWidget.js +682 -0
  901. package/vscode/src/vs/sessions/contrib/changes/browser/media/changesSummaryWidget.css +17 -0
  902. package/vscode/src/vs/sessions/contrib/changes/browser/media/changesView.css +358 -0
  903. package/vscode/src/vs/sessions/contrib/changes/browser/media/checksWidget.css +263 -0
  904. package/vscode/src/vs/sessions/contrib/changes/browser/media/createPullRequest.css +301 -0
  905. package/vscode/src/vs/sessions/contrib/changes/browser/media/sessionChangesEditor.css +349 -0
  906. package/vscode/src/vs/sessions/contrib/changes/browser/media/sessionChangesEditorInput.css +22 -0
  907. package/vscode/src/vs/sessions/contrib/changes/browser/sessionChangesEditor.d.ts +88 -0
  908. package/vscode/src/vs/sessions/contrib/changes/browser/sessionChangesEditor.js +418 -0
  909. package/vscode/src/vs/sessions/contrib/changes/browser/sessionChangesEditorInput.d.ts +49 -0
  910. package/vscode/src/vs/sessions/contrib/changes/browser/sessionChangesEditorInput.js +135 -0
  911. package/vscode/src/vs/sessions/contrib/changes/browser/sessionChangesService.d.ts +31 -0
  912. package/vscode/src/vs/sessions/contrib/changes/browser/sessionChangesService.js +155 -0
  913. package/vscode/src/vs/sessions/contrib/changes/common/changes.d.ts +48 -0
  914. package/vscode/src/vs/sessions/contrib/changes/common/changes.js +45 -0
  915. package/vscode/src/vs/sessions/contrib/changes/common/changesViewService.d.ts +32 -0
  916. package/vscode/src/vs/sessions/contrib/changes/common/changesViewService.service.d.ts +33 -0
  917. package/vscode/src/vs/sessions/contrib/changes/common/changesViewService.service.js +6 -0
  918. package/vscode/src/vs/sessions/contrib/changes/common/createPullRequestPreferences.d.ts +22 -0
  919. package/vscode/src/vs/sessions/contrib/changes/common/createPullRequestPreferences.js +47 -0
  920. package/vscode/src/vs/sessions/contrib/changes/common/pullRequestCreation.d.ts +56 -0
  921. package/vscode/src/vs/sessions/contrib/changes/common/pullRequestCreation.js +7 -0
  922. package/vscode/src/vs/sessions/contrib/changes/common/sessionChangesService.d.ts +12 -0
  923. package/vscode/src/vs/sessions/contrib/changes/common/sessionChangesService.service.d.ts +17 -0
  924. package/vscode/src/vs/sessions/contrib/changes/common/sessionChangesService.service.js +6 -0
  925. package/vscode/src/vs/sessions/contrib/chat/browser/agentHostInputCompletions.d.ts +125 -0
  926. package/vscode/src/vs/sessions/contrib/chat/browser/agentHostInputCompletions.js +520 -0
  927. package/vscode/src/vs/sessions/contrib/chat/browser/branchPicker.d.ts +71 -0
  928. package/vscode/src/vs/sessions/contrib/chat/browser/branchPicker.js +254 -0
  929. package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.service.d.ts +8 -0
  930. package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.service.js +6 -0
  931. package/vscode/src/vs/sessions/contrib/chat/browser/chatWidgetUtils.d.ts +7 -0
  932. package/vscode/src/vs/sessions/contrib/chat/browser/chatWidgetUtils.js +38 -0
  933. package/vscode/src/vs/sessions/contrib/chat/browser/checkboxChip.d.ts +38 -0
  934. package/vscode/src/vs/sessions/contrib/chat/browser/checkboxChip.js +100 -0
  935. package/vscode/src/vs/sessions/contrib/chat/browser/customizationHarnessService.d.ts +12 -0
  936. package/vscode/src/vs/sessions/contrib/chat/browser/customizationHarnessService.js +20 -0
  937. package/vscode/src/vs/sessions/contrib/chat/browser/externalSessionBanner.d.ts +48 -0
  938. package/vscode/src/vs/sessions/contrib/chat/browser/externalSessionBanner.js +321 -0
  939. package/vscode/src/vs/sessions/contrib/chat/browser/media/branchPicker.css +23 -0
  940. package/vscode/src/vs/sessions/contrib/chat/browser/media/chatInput.css +764 -0
  941. package/vscode/src/vs/sessions/contrib/chat/browser/media/chatInputMobile.css +52 -0
  942. package/vscode/src/vs/sessions/contrib/chat/browser/media/chatView.css +327 -0
  943. package/vscode/src/vs/sessions/contrib/chat/browser/media/chatWidget.css +547 -0
  944. package/vscode/src/vs/sessions/contrib/chat/browser/media/checkboxChip.css +30 -0
  945. package/vscode/src/vs/sessions/contrib/chat/browser/media/externalSessionBanner.css +78 -0
  946. package/vscode/src/vs/sessions/contrib/chat/browser/media/newChatInSession.css +130 -0
  947. package/vscode/src/vs/sessions/contrib/chat/browser/media/newSessionPromptOptions.css +218 -0
  948. package/vscode/src/vs/sessions/contrib/chat/browser/media/noAgentHostEmptyState.css +98 -0
  949. package/vscode/src/vs/sessions/contrib/chat/browser/media/voiceChatView.css +33 -0
  950. package/vscode/src/vs/sessions/contrib/chat/browser/mobile/mobileSessionTypePicker.d.ts +36 -0
  951. package/vscode/src/vs/sessions/contrib/chat/browser/mobile/mobileSessionTypePicker.js +137 -0
  952. package/vscode/src/vs/sessions/contrib/chat/browser/mobile/mobileWorkspacePickerSheet.d.ts +47 -0
  953. package/vscode/src/vs/sessions/contrib/chat/browser/mobile/mobileWorkspacePickerSheet.js +305 -0
  954. package/vscode/src/vs/sessions/contrib/chat/browser/modelPicker.d.ts +53 -0
  955. package/vscode/src/vs/sessions/contrib/chat/browser/modelPicker.js +189 -0
  956. package/vscode/src/vs/sessions/contrib/chat/browser/newChatContextAttachments.d.ts +81 -0
  957. package/vscode/src/vs/sessions/contrib/chat/browser/newChatContextAttachments.js +555 -0
  958. package/vscode/src/vs/sessions/contrib/chat/browser/newChatInSessionWidget.d.ts +37 -0
  959. package/vscode/src/vs/sessions/contrib/chat/browser/newChatInSessionWidget.js +195 -0
  960. package/vscode/src/vs/sessions/contrib/chat/browser/newChatInput.d.ts +247 -0
  961. package/vscode/src/vs/sessions/contrib/chat/browser/newChatInput.js +1806 -0
  962. package/vscode/src/vs/sessions/contrib/chat/browser/newChatInputPasteTarget.d.ts +31 -0
  963. package/vscode/src/vs/sessions/contrib/chat/browser/newChatInputPasteTarget.js +69 -0
  964. package/vscode/src/vs/sessions/contrib/chat/browser/newChatModelPicker.d.ts +14 -0
  965. package/vscode/src/vs/sessions/contrib/chat/browser/newChatModelPicker.js +27 -0
  966. package/vscode/src/vs/sessions/contrib/chat/browser/newChatModelPicker.service.d.ts +9 -0
  967. package/vscode/src/vs/sessions/contrib/chat/browser/newChatModelPicker.service.js +6 -0
  968. package/vscode/src/vs/sessions/contrib/chat/browser/newChatPickerTelemetry.d.ts +30 -0
  969. package/vscode/src/vs/sessions/contrib/chat/browser/newChatPickerTelemetry.js +15 -0
  970. package/vscode/src/vs/sessions/contrib/chat/browser/newChatVoice.d.ts +87 -0
  971. package/vscode/src/vs/sessions/contrib/chat/browser/newChatVoice.js +293 -0
  972. package/vscode/src/vs/sessions/contrib/chat/browser/newChatVoice.service.d.ts +23 -0
  973. package/vscode/src/vs/sessions/contrib/chat/browser/newChatVoice.service.js +6 -0
  974. package/vscode/src/vs/sessions/contrib/chat/browser/newChatWidget.d.ts +165 -0
  975. package/vscode/src/vs/sessions/contrib/chat/browser/newChatWidget.js +1006 -0
  976. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionComposerService.d.ts +84 -0
  977. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionComposerService.js +69 -0
  978. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionComposerService.service.d.ts +22 -0
  979. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionComposerService.service.js +6 -0
  980. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionConfigToolbars.d.ts +7 -0
  981. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionConfigToolbars.js +26 -0
  982. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionPromptOptions.d.ts +36 -0
  983. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionPromptOptions.js +217 -0
  984. package/vscode/src/vs/sessions/contrib/chat/browser/noAgentHostEmptyState.d.ts +20 -0
  985. package/vscode/src/vs/sessions/contrib/chat/browser/noAgentHostEmptyState.js +66 -0
  986. package/vscode/src/vs/sessions/contrib/chat/browser/promptTemplatePlaceholder.d.ts +21 -0
  987. package/vscode/src/vs/sessions/contrib/chat/browser/promptTemplatePlaceholder.js +134 -0
  988. package/vscode/src/vs/sessions/contrib/chat/browser/promptTypingAnimation.d.ts +22 -0
  989. package/vscode/src/vs/sessions/contrib/chat/browser/promptTypingAnimation.js +76 -0
  990. package/vscode/src/vs/sessions/contrib/chat/browser/responseSelectionResolver.d.ts +16 -0
  991. package/vscode/src/vs/sessions/contrib/chat/browser/responseSelectionResolver.js +84 -0
  992. package/vscode/src/vs/sessions/contrib/chat/browser/responseSelectionSideChatController.d.ts +79 -0
  993. package/vscode/src/vs/sessions/contrib/chat/browser/responseSelectionSideChatController.js +323 -0
  994. package/vscode/src/vs/sessions/contrib/chat/browser/sessionArchiveNudge.d.ts +55 -0
  995. package/vscode/src/vs/sessions/contrib/chat/browser/sessionArchiveNudge.js +333 -0
  996. package/vscode/src/vs/sessions/contrib/chat/browser/sessionArchiveNudge.service.d.ts +12 -0
  997. package/vscode/src/vs/sessions/contrib/chat/browser/sessionArchiveNudge.service.js +6 -0
  998. package/vscode/src/vs/sessions/contrib/chat/browser/sessionArtifacts.d.ts +64 -0
  999. package/vscode/src/vs/sessions/contrib/chat/browser/sessionArtifacts.js +347 -0
  1000. package/vscode/src/vs/sessions/contrib/chat/browser/sessionBackgroundActivitiesControl.d.ts +26 -0
  1001. package/vscode/src/vs/sessions/contrib/chat/browser/sessionBackgroundActivitiesControl.js +59 -0
  1002. package/vscode/src/vs/sessions/contrib/chat/browser/sessionBrowsersControl.d.ts +30 -0
  1003. package/vscode/src/vs/sessions/contrib/chat/browser/sessionBrowsersControl.js +141 -0
  1004. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbar.d.ts +95 -0
  1005. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbar.js +501 -0
  1006. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.service.d.ts +11 -0
  1007. package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.service.js +6 -0
  1008. package/vscode/src/vs/sessions/contrib/chat/browser/sessionCustomizations.d.ts +17 -0
  1009. package/vscode/src/vs/sessions/contrib/chat/browser/sessionCustomizations.js +148 -0
  1010. package/vscode/src/vs/sessions/contrib/chat/browser/sessionModelPickerState.d.ts +26 -0
  1011. package/vscode/src/vs/sessions/contrib/chat/browser/sessionModelPickerState.js +41 -0
  1012. package/vscode/src/vs/sessions/contrib/chat/browser/sessionModelSelection.d.ts +84 -0
  1013. package/vscode/src/vs/sessions/contrib/chat/browser/sessionModelSelection.js +410 -0
  1014. package/vscode/src/vs/sessions/contrib/chat/browser/sessionModelSelection.service.d.ts +10 -0
  1015. package/vscode/src/vs/sessions/contrib/chat/browser/sessionModelSelection.service.js +6 -0
  1016. package/vscode/src/vs/sessions/contrib/chat/browser/sessionReferenceCompletions.d.ts +34 -0
  1017. package/vscode/src/vs/sessions/contrib/chat/browser/sessionReferenceCompletions.js +182 -0
  1018. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.service.d.ts +24 -0
  1019. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.service.js +6 -0
  1020. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTypePicker.d.ts +212 -0
  1021. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTypePicker.js +558 -0
  1022. package/vscode/src/vs/sessions/contrib/chat/browser/sessionWorkspaceFallback.d.ts +34 -0
  1023. package/vscode/src/vs/sessions/contrib/chat/browser/sessionWorkspaceFallback.js +81 -0
  1024. package/vscode/src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.d.ts +423 -0
  1025. package/vscode/src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.js +1926 -0
  1026. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsChatHistory.d.ts +1 -0
  1027. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsChatHistory.js +5 -0
  1028. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsTasksService.d.ts +126 -0
  1029. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsTasksService.js +454 -0
  1030. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsTasksService.service.d.ts +101 -0
  1031. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsTasksService.service.js +6 -0
  1032. package/vscode/src/vs/sessions/contrib/chat/browser/sideChatOrchestration.d.ts +13 -0
  1033. package/vscode/src/vs/sessions/contrib/chat/browser/sideChatOrchestration.js +14 -0
  1034. package/vscode/src/vs/sessions/contrib/chat/browser/slashCommands.d.ts +50 -0
  1035. package/vscode/src/vs/sessions/contrib/chat/browser/slashCommands.js +353 -0
  1036. package/vscode/src/vs/sessions/contrib/chat/browser/variableCompletions.d.ts +49 -0
  1037. package/vscode/src/vs/sessions/contrib/chat/browser/variableCompletions.js +326 -0
  1038. package/vscode/src/vs/sessions/contrib/chat/browser/voiceInputDecorations.d.ts +2 -0
  1039. package/vscode/src/vs/sessions/contrib/chat/browser/voiceInputDecorations.js +6 -0
  1040. package/vscode/src/vs/sessions/contrib/chat/browser/webWorkspacePicker.d.ts +47 -0
  1041. package/vscode/src/vs/sessions/contrib/chat/browser/webWorkspacePicker.js +197 -0
  1042. package/vscode/src/vs/sessions/contrib/chat/common/constants.d.ts +3 -0
  1043. package/vscode/src/vs/sessions/contrib/chat/common/constants.js +7 -0
  1044. package/vscode/src/vs/sessions/contrib/chat/common/newChatContextIds.d.ts +12 -0
  1045. package/vscode/src/vs/sessions/contrib/chat/common/newChatContextIds.js +21 -0
  1046. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReviewService.d.ts +73 -0
  1047. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReviewService.js +216 -0
  1048. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReviewService.service.d.ts +32 -0
  1049. package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReviewService.service.js +6 -0
  1050. package/vscode/src/vs/sessions/contrib/editor/browser/diffEditor.sessions.contribution.d.ts +54 -0
  1051. package/vscode/src/vs/sessions/contrib/editor/browser/diffEditor.sessions.contribution.js +211 -0
  1052. package/vscode/src/vs/sessions/contrib/editor/browser/diffEditorOptionsService.d.ts +23 -0
  1053. package/vscode/src/vs/sessions/contrib/editor/browser/diffEditorOptionsService.js +62 -0
  1054. package/vscode/src/vs/sessions/contrib/editor/common/diffEditorOptionsService.d.ts +6 -0
  1055. package/vscode/src/vs/sessions/contrib/editor/common/diffEditorOptionsService.js +9 -0
  1056. package/vscode/src/vs/sessions/contrib/editor/common/diffEditorOptionsService.service.d.ts +15 -0
  1057. package/vscode/src/vs/sessions/contrib/editor/common/diffEditorOptionsService.service.js +6 -0
  1058. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubChangesFetcher.d.ts +10 -0
  1059. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubChangesFetcher.js +20 -0
  1060. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubIssueFetcher.d.ts +7 -0
  1061. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubIssueFetcher.js +39 -0
  1062. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPRCIFetcher.d.ts +29 -0
  1063. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPRCIFetcher.js +113 -0
  1064. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPRFetcher.d.ts +21 -0
  1065. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPRFetcher.js +276 -0
  1066. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPullRequestContextFetcher.d.ts +8 -0
  1067. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPullRequestContextFetcher.js +80 -0
  1068. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPullRequestsFetcher.d.ts +10 -0
  1069. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubPullRequestsFetcher.js +109 -0
  1070. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubRecentUserWorkFetcher.d.ts +34 -0
  1071. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubRecentUserWorkFetcher.js +160 -0
  1072. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubRepositoryFetcher.d.ts +11 -0
  1073. package/vscode/src/vs/sessions/contrib/github/browser/fetchers/githubRepositoryFetcher.js +25 -0
  1074. package/vscode/src/vs/sessions/contrib/github/browser/githubApiClient.d.ts +45 -0
  1075. package/vscode/src/vs/sessions/contrib/github/browser/githubApiClient.js +189 -0
  1076. package/vscode/src/vs/sessions/contrib/github/browser/githubService.d.ts +57 -0
  1077. package/vscode/src/vs/sessions/contrib/github/browser/githubService.js +200 -0
  1078. package/vscode/src/vs/sessions/contrib/github/browser/githubService.service.d.ts +61 -0
  1079. package/vscode/src/vs/sessions/contrib/github/browser/githubService.service.js +6 -0
  1080. package/vscode/src/vs/sessions/contrib/github/browser/issueHover.d.ts +10 -0
  1081. package/vscode/src/vs/sessions/contrib/github/browser/issueHover.js +57 -0
  1082. package/vscode/src/vs/sessions/contrib/github/browser/media/issueHover.css +59 -0
  1083. package/vscode/src/vs/sessions/contrib/github/browser/media/pullRequestHover.css +88 -0
  1084. package/vscode/src/vs/sessions/contrib/github/browser/models/githubIssueModel.d.ts +77 -0
  1085. package/vscode/src/vs/sessions/contrib/github/browser/models/githubIssueModel.js +119 -0
  1086. package/vscode/src/vs/sessions/contrib/github/browser/models/githubPullRequestCIModel.d.ts +78 -0
  1087. package/vscode/src/vs/sessions/contrib/github/browser/models/githubPullRequestCIModel.js +188 -0
  1088. package/vscode/src/vs/sessions/contrib/github/browser/models/githubPullRequestModel.d.ts +51 -0
  1089. package/vscode/src/vs/sessions/contrib/github/browser/models/githubPullRequestModel.js +133 -0
  1090. package/vscode/src/vs/sessions/contrib/github/browser/models/githubPullRequestReviewThreadsModel.d.ts +54 -0
  1091. package/vscode/src/vs/sessions/contrib/github/browser/models/githubPullRequestReviewThreadsModel.js +128 -0
  1092. package/vscode/src/vs/sessions/contrib/github/browser/models/githubRepositoryModel.d.ts +30 -0
  1093. package/vscode/src/vs/sessions/contrib/github/browser/models/githubRepositoryModel.js +66 -0
  1094. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestHover.d.ts +10 -0
  1095. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestHover.js +62 -0
  1096. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestIconCache.d.ts +18 -0
  1097. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestIconCache.js +72 -0
  1098. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestIconCache.service.d.ts +26 -0
  1099. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestIconCache.service.js +6 -0
  1100. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestIconStatus.d.ts +38 -0
  1101. package/vscode/src/vs/sessions/contrib/github/browser/pullRequestIconStatus.js +82 -0
  1102. package/vscode/src/vs/sessions/contrib/github/common/sessionLifecycleSettings.d.ts +5 -0
  1103. package/vscode/src/vs/sessions/contrib/github/common/sessionLifecycleSettings.js +7 -0
  1104. package/vscode/src/vs/sessions/contrib/github/common/types.d.ts +215 -0
  1105. package/vscode/src/vs/sessions/contrib/github/common/types.js +105 -0
  1106. package/vscode/src/vs/sessions/contrib/github/common/utils.d.ts +23 -0
  1107. package/vscode/src/vs/sessions/contrib/github/common/utils.js +46 -0
  1108. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/sessionArchiveTour.d.ts +5 -0
  1109. package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/sessionArchiveTour.js +43 -0
  1110. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostAutomationStore.d.ts +104 -0
  1111. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostAutomationStore.js +1413 -0
  1112. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostDiffs.d.ts +51 -0
  1113. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostDiffs.js +59 -0
  1114. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPullRequestCreation.d.ts +19 -0
  1115. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPullRequestCreation.js +70 -0
  1116. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionArtifacts.d.ts +25 -0
  1117. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionArtifacts.js +123 -0
  1118. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionChangesets.d.ts +32 -0
  1119. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionChangesets.js +470 -0
  1120. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionCustomizations.d.ts +65 -0
  1121. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionCustomizations.js +240 -0
  1122. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionFiles.d.ts +127 -0
  1123. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionFiles.js +315 -0
  1124. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSkillButtons.d.ts +33 -0
  1125. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSkillButtons.js +151 -0
  1126. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/baseAgentHostSessionsProvider.d.ts +1416 -0
  1127. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/baseAgentHostSessionsProvider.js +5017 -0
  1128. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/reconnectableAgentHostAutomationStore.d.ts +56 -0
  1129. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/reconnectableAgentHostAutomationStore.js +300 -0
  1130. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/browserTunnelAgentHostService.d.ts +102 -0
  1131. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/browserTunnelAgentHostService.js +543 -0
  1132. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostService.d.ts +43 -0
  1133. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostService.js +264 -0
  1134. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxApiService.d.ts +114 -0
  1135. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxApiService.js +593 -0
  1136. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxCredentialRefresh.d.ts +71 -0
  1137. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxCredentialRefresh.js +147 -0
  1138. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxTelemetry.d.ts +43 -0
  1139. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxTelemetry.js +91 -0
  1140. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxTelemetry.service.d.ts +28 -0
  1141. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxTelemetry.service.js +6 -0
  1142. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devTunnelsModule.js +27377 -0
  1143. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devTunnelsWebLoader.js +10 -0
  1144. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.service.d.ts +20 -0
  1145. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.service.js +6 -0
  1146. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostSessionsProvider.d.ts +290 -0
  1147. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostSessionsProvider.js +700 -0
  1148. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteHostOptions.d.ts +156 -0
  1149. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteHostOptions.js +421 -0
  1150. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/tunnelAgentHostStorage.d.ts +29 -0
  1151. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/tunnelAgentHostStorage.js +117 -0
  1152. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/webTunnelAgentHostService.contribution.d.ts +45 -0
  1153. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/webTunnelAgentHostService.contribution.js +104 -0
  1154. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/webTunnelAgentHostService.d.ts +61 -0
  1155. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/webTunnelAgentHostService.js +351 -0
  1156. package/vscode/src/vs/sessions/contrib/sessionInputBanners/browser/media/sessionInputBanners.css +269 -0
  1157. package/vscode/src/vs/sessions/contrib/sessionInputBanners/browser/sessionInputBannerWidget.d.ts +73 -0
  1158. package/vscode/src/vs/sessions/contrib/sessionInputBanners/browser/sessionInputBannerWidget.js +356 -0
  1159. package/vscode/src/vs/sessions/contrib/sessionInputBanners/browser/sessionInputBanners.d.ts +63 -0
  1160. package/vscode/src/vs/sessions/contrib/sessionInputBanners/browser/sessionInputBanners.js +550 -0
  1161. package/vscode/src/vs/sessions/contrib/sessions/browser/agentHostShortcutsWidget.d.ts +18 -0
  1162. package/vscode/src/vs/sessions/contrib/sessions/browser/agentHostShortcutsWidget.js +39 -0
  1163. package/vscode/src/vs/sessions/contrib/sessions/browser/aiCustomizationShortcutsWidget.d.ts +47 -0
  1164. package/vscode/src/vs/sessions/contrib/sessions/browser/aiCustomizationShortcutsWidget.js +237 -0
  1165. package/vscode/src/vs/sessions/contrib/sessions/browser/automationsConstants.d.ts +1 -0
  1166. package/vscode/src/vs/sessions/contrib/sessions/browser/automationsConstants.js +5 -0
  1167. package/vscode/src/vs/sessions/contrib/sessions/browser/automationsNewBadge.d.ts +42 -0
  1168. package/vscode/src/vs/sessions/contrib/sessions/browser/automationsNewBadge.js +196 -0
  1169. package/vscode/src/vs/sessions/contrib/sessions/browser/customizationsToolbar.contribution.d.ts +85 -0
  1170. package/vscode/src/vs/sessions/contrib/sessions/browser/customizationsToolbar.contribution.js +335 -0
  1171. package/vscode/src/vs/sessions/contrib/sessions/browser/media/agentHostToolbar.css +42 -0
  1172. package/vscode/src/vs/sessions/contrib/sessions/browser/media/customizationsToolbar.css +192 -0
  1173. package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsList.css +1111 -0
  1174. package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsViewPane.css +242 -0
  1175. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionHoverContent.d.ts +23 -0
  1176. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionHoverContent.js +76 -0
  1177. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.d.ts +191 -0
  1178. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.js +514 -0
  1179. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsList.d.ts +641 -0
  1180. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsList.js +3939 -0
  1181. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsView.d.ts +88 -0
  1182. package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsView.js +721 -0
  1183. package/vscode/src/vs/sessions/services/agentHostFilter/common/agentHostFilter.d.ts +47 -0
  1184. package/vscode/src/vs/sessions/services/agentHostFilter/common/agentHostFilter.js +10 -0
  1185. package/vscode/src/vs/sessions/services/agentHostFilter/common/agentHostFilter.service.d.ts +71 -0
  1186. package/vscode/src/vs/sessions/services/agentHostFilter/common/agentHostFilter.service.js +6 -0
  1187. package/vscode/src/vs/sessions/services/chatBackground/browser/chatBackgroundRenderer.d.ts +23 -0
  1188. package/vscode/src/vs/sessions/services/chatBackground/browser/chatBackgroundRenderer.js +192 -0
  1189. package/vscode/src/vs/sessions/services/chatBackground/browser/chatBackgroundService.d.ts +108 -0
  1190. package/vscode/src/vs/sessions/services/chatBackground/browser/chatBackgroundService.js +258 -0
  1191. package/vscode/src/vs/sessions/services/chatBackground/browser/chatBackgroundService.service.d.ts +14 -0
  1192. package/vscode/src/vs/sessions/services/chatBackground/browser/chatBackgroundService.service.js +6 -0
  1193. package/vscode/src/vs/sessions/services/chatBackground/browser/media/chatBackground.css +47 -0
  1194. package/vscode/src/vs/sessions/services/chatView/browser/chatViewFactory.service.d.ts +21 -0
  1195. package/vscode/src/vs/sessions/services/chatView/browser/chatViewFactory.service.js +6 -0
  1196. package/vscode/src/vs/sessions/services/customView/browser/customViewGridPartService.service.d.ts +14 -0
  1197. package/vscode/src/vs/sessions/services/customView/browser/customViewGridPartService.service.js +6 -0
  1198. package/vscode/src/vs/sessions/services/customView/browser/customViewService.service.d.ts +21 -0
  1199. package/vscode/src/vs/sessions/services/customView/browser/customViewService.service.js +6 -0
  1200. package/vscode/src/vs/sessions/services/sessions/browser/gitHubRepositoryResolver.d.ts +9 -0
  1201. package/vscode/src/vs/sessions/services/sessions/browser/gitHubRepositoryResolver.js +115 -0
  1202. package/vscode/src/vs/sessions/services/sessions/browser/sessionContext.d.ts +23 -0
  1203. package/vscode/src/vs/sessions/services/sessions/browser/sessionContext.js +19 -0
  1204. package/vscode/src/vs/sessions/services/sessions/browser/sessionContext.service.d.ts +26 -0
  1205. package/vscode/src/vs/sessions/services/sessions/browser/sessionContext.service.js +6 -0
  1206. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.service.d.ts +51 -0
  1207. package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.service.js +6 -0
  1208. package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.service.d.ts +14 -0
  1209. package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.service.js +6 -0
  1210. package/vscode/src/vs/sessions/services/sessions/browser/sessionReference.d.ts +20 -0
  1211. package/vscode/src/vs/sessions/services/sessions/browser/sessionReference.js +30 -0
  1212. package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.service.d.ts +48 -0
  1213. package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.service.js +6 -0
  1214. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.service.d.ts +56 -0
  1215. package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.service.js +6 -0
  1216. package/vscode/src/vs/sessions/services/sessions/browser/sessionsPartService.d.ts +9 -0
  1217. package/vscode/src/vs/sessions/services/sessions/browser/sessionsPartService.service.d.ts +58 -0
  1218. package/vscode/src/vs/sessions/services/sessions/browser/sessionsPartService.service.js +6 -0
  1219. package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.service.d.ts +17 -0
  1220. package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.service.js +6 -0
  1221. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecentWorkspacesService.d.ts +53 -0
  1222. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecentWorkspacesService.js +411 -0
  1223. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecentWorkspacesService.service.d.ts +32 -0
  1224. package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecentWorkspacesService.service.js +6 -0
  1225. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.service.d.ts +184 -0
  1226. package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.service.js +6 -0
  1227. package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.service.d.ts +6 -0
  1228. package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.service.js +6 -0
  1229. package/vscode/src/vs/sessions/services/sessions/common/session.d.ts +868 -0
  1230. package/vscode/src/vs/sessions/services/sessions/common/session.js +265 -0
  1231. package/vscode/src/vs/sessions/services/sessions/common/sessionChangesStatsCache.d.ts +36 -0
  1232. package/vscode/src/vs/sessions/services/sessions/common/sessionChangesStatsCache.js +130 -0
  1233. package/vscode/src/vs/sessions/services/sessions/common/sessionChangesStatsCache.service.d.ts +22 -0
  1234. package/vscode/src/vs/sessions/services/sessions/common/sessionChangesStatsCache.service.js +6 -0
  1235. package/vscode/src/vs/sessions/services/sessions/common/sessionsManagement.d.ts +208 -0
  1236. package/vscode/src/vs/sessions/services/sessions/common/sessionsManagement.js +17 -0
  1237. package/vscode/src/vs/sessions/services/sessions/common/sessionsManagement.service.d.ts +316 -0
  1238. package/vscode/src/vs/sessions/services/sessions/common/sessionsManagement.service.js +6 -0
  1239. package/vscode/src/vs/sessions/services/sessions/common/sessionsProvider.d.ts +471 -0
  1240. package/vscode/src/vs/sessions/sessions.web.main.internal.d.ts +6 -0
  1241. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +1 -1
  1242. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.d.ts +17 -0
  1243. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +131 -0
  1244. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
  1245. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +9 -7
  1246. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +3 -3
  1247. package/vscode/src/vs/workbench/api/common/extHostAgentEditorComments.js +2 -2
  1248. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +24 -24
  1249. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +17 -14
  1250. package/vscode/src/vs/workbench/api/common/extHostBrowsers.js +1 -1
  1251. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +24 -22
  1252. package/vscode/src/vs/workbench/api/common/extHostChatDebug.js +14 -14
  1253. package/vscode/src/vs/workbench/api/common/extHostChatInputNotification.js +2 -2
  1254. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +20 -20
  1255. package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +4 -4
  1256. package/vscode/src/vs/workbench/api/common/extHostCommands.js +6 -6
  1257. package/vscode/src/vs/workbench/api/common/extHostComments.js +7 -7
  1258. package/vscode/src/vs/workbench/api/common/extHostDataChannels.js +2 -2
  1259. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +7 -7
  1260. package/vscode/src/vs/workbench/api/common/extHostDecorations.js +4 -4
  1261. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +5 -5
  1262. package/vscode/src/vs/workbench/api/common/extHostDialogs.js +1 -1
  1263. package/vscode/src/vs/workbench/api/common/extHostDocuments.js +4 -4
  1264. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +3 -3
  1265. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +10 -10
  1266. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +5 -5
  1267. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +15 -13
  1268. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +11 -11
  1269. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.js +10 -10
  1270. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +67 -62
  1271. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +2 -2
  1272. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +22 -15
  1273. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  1274. package/vscode/src/vs/workbench/api/common/extHostLoggerService.js +5 -1
  1275. package/vscode/src/vs/workbench/api/common/extHostMcp.js +5 -5
  1276. package/vscode/src/vs/workbench/api/common/extHostMemento.js +1 -1
  1277. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +64 -54
  1278. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +8 -8
  1279. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +1 -1
  1280. package/vscode/src/vs/workbench/api/common/extHostNotebookEditors.js +2 -2
  1281. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +12 -12
  1282. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +2 -2
  1283. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +7 -7
  1284. package/vscode/src/vs/workbench/api/common/extHostSCM.js +16 -16
  1285. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -3
  1286. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +2 -2
  1287. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  1288. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  1289. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +1 -1
  1290. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +4 -4
  1291. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +2 -2
  1292. package/vscode/src/vs/workbench/api/common/extHostTestItem.js +4 -4
  1293. package/vscode/src/vs/workbench/api/common/extHostTesting.js +28 -25
  1294. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +5 -5
  1295. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +9 -9
  1296. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +1 -1
  1297. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +21 -19
  1298. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +11 -9
  1299. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +112 -111
  1300. package/vscode/src/vs/workbench/api/common/extHostTypes/snippetString.js +1 -1
  1301. package/vscode/src/vs/workbench/api/common/extHostTypes.js +5 -5
  1302. package/vscode/src/vs/workbench/api/common/extHostWebview.js +4 -1
  1303. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +4 -4
  1304. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +11 -11
  1305. package/vscode/src/vs/workbench/api/common/extHostXaaAuthProvider.js +1 -1
  1306. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +2 -2
  1307. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +20 -20
  1308. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +4 -2
  1309. package/vscode/src/vs/workbench/browser/actions/developerActions.js +69 -60
  1310. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +144 -144
  1311. package/vscode/src/vs/workbench/browser/actions/policyDiagnosticsMarkdown.js +5 -1
  1312. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  1313. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +16 -14
  1314. package/vscode/src/vs/workbench/browser/actions/windowActions.js +31 -31
  1315. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +23 -23
  1316. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +10 -10
  1317. package/vscode/src/vs/workbench/browser/animatedCounterWidget.d.ts +31 -0
  1318. package/vscode/src/vs/workbench/browser/animatedCounterWidget.js +102 -0
  1319. package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +29 -0
  1320. package/vscode/src/vs/workbench/browser/chatChangesPill.js +84 -0
  1321. package/vscode/src/vs/workbench/browser/chatDropdownPill.d.ts +95 -0
  1322. package/vscode/src/vs/workbench/browser/chatDropdownPill.js +315 -0
  1323. package/vscode/src/vs/workbench/browser/chatPills.d.ts +167 -0
  1324. package/vscode/src/vs/workbench/browser/chatPills.js +450 -0
  1325. package/vscode/src/vs/workbench/browser/chatResourcePill.d.ts +21 -0
  1326. package/vscode/src/vs/workbench/browser/chatResourcePill.js +67 -0
  1327. package/vscode/src/vs/workbench/browser/dnd.js +20 -18
  1328. package/vscode/src/vs/workbench/browser/editor.js +5 -5
  1329. package/vscode/src/vs/workbench/browser/labels.js +4 -4
  1330. package/vscode/src/vs/workbench/browser/media/animatedCounterWidget.css +21 -0
  1331. package/vscode/src/vs/workbench/browser/media/chatPills.css +268 -0
  1332. package/vscode/src/vs/workbench/browser/part.js +2 -2
  1333. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +25 -25
  1334. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +25 -25
  1335. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +5 -5
  1336. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +13 -13
  1337. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +14 -14
  1338. package/vscode/src/vs/workbench/browser/parts/compositePart.js +4 -4
  1339. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +2 -2
  1340. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +3 -3
  1341. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  1342. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  1343. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +38 -38
  1344. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +18 -18
  1345. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +2 -2
  1346. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -7
  1347. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +157 -151
  1348. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +35 -35
  1349. package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +4 -4
  1350. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +6 -6
  1351. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +15 -15
  1352. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +12 -12
  1353. package/vscode/src/vs/workbench/browser/parts/editor/editorHeaderControl.js +3 -3
  1354. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  1355. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +9 -9
  1356. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +15 -15
  1357. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +13 -13
  1358. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +11 -11
  1359. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +78 -76
  1360. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +8 -8
  1361. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +1 -1
  1362. package/vscode/src/vs/workbench/browser/parts/editor/editorTypePicker.js +12 -12
  1363. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +10 -6
  1364. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +6 -6
  1365. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +10 -10
  1366. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +1 -1
  1367. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +6 -3
  1368. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +1 -1
  1369. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  1370. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  1371. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  1372. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +21 -21
  1373. package/vscode/src/vs/workbench/browser/parts/notifications/notificationAccessibleView.js +3 -3
  1374. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +23 -23
  1375. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  1376. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +11 -9
  1377. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +15 -15
  1378. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +7 -7
  1379. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
  1380. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +4 -4
  1381. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
  1382. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +20 -20
  1383. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +5 -5
  1384. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +28 -28
  1385. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +4 -4
  1386. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +3 -3
  1387. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +2 -2
  1388. package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css +541 -0
  1389. package/vscode/src/vs/workbench/browser/parts/titlebar/menubar.contribution.js +78 -0
  1390. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +12 -12
  1391. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +15 -15
  1392. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
  1393. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  1394. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +25 -23
  1395. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +5 -5
  1396. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +7 -7
  1397. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +17 -17
  1398. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  1399. package/vscode/src/vs/workbench/browser/style.js +1 -1
  1400. package/vscode/src/vs/workbench/browser/window.js +14 -14
  1401. package/vscode/src/vs/workbench/browser/workbench.contribution.js +232 -232
  1402. package/vscode/src/vs/workbench/browser/workbench.zenMode.contribution.d.ts +1 -0
  1403. package/vscode/src/vs/workbench/browser/workbench.zenMode.contribution.js +140 -0
  1404. package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +19 -0
  1405. package/vscode/src/vs/workbench/common/chatPullRequest.js +65 -0
  1406. package/vscode/src/vs/workbench/common/configuration.js +17 -14
  1407. package/vscode/src/vs/workbench/common/contextkeys.js +140 -139
  1408. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  1409. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +4 -4
  1410. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  1411. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  1412. package/vscode/src/vs/workbench/common/editor.js +6 -6
  1413. package/vscode/src/vs/workbench/common/notifications.js +1 -1
  1414. package/vscode/src/vs/workbench/common/resources.js +1 -1
  1415. package/vscode/src/vs/workbench/common/theme.js +199 -199
  1416. package/vscode/src/vs/workbench/common/views.js +4 -4
  1417. package/vscode/src/vs/workbench/common/views.service.d.ts +1 -1
  1418. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +232 -228
  1419. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  1420. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.service.d.ts +1 -1
  1421. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +5 -5
  1422. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.service.d.ts +1 -1
  1423. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +2 -2
  1424. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.js +1 -1
  1425. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.js +11 -11
  1426. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.service.d.ts +1 -1
  1427. package/vscode/src/vs/workbench/contrib/browserView/common/browserZoomService.service.d.ts +1 -1
  1428. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +3 -3
  1429. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/conflicts.d.ts +16 -0
  1430. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/conflicts.js +73 -0
  1431. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.d.ts +1 -0
  1432. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.js +311 -0
  1433. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.css +104 -0
  1434. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.d.ts +64 -0
  1435. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.js +391 -0
  1436. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.d.ts +88 -0
  1437. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.js +393 -0
  1438. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.d.ts +132 -0
  1439. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.js +630 -0
  1440. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.d.ts +17 -0
  1441. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +220 -0
  1442. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +65 -65
  1443. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +59 -0
  1444. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +482 -0
  1445. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +86 -0
  1446. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +600 -0
  1447. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.d.ts +2 -0
  1448. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +60 -0
  1449. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +89 -0
  1450. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +928 -0
  1451. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +20 -0
  1452. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +246 -0
  1453. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatModelFeedbackSurveyActions.d.ts +22 -0
  1454. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatModelFeedbackSurveyActions.js +119 -0
  1455. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSpeechToTextActions.d.ts +58 -0
  1456. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSpeechToTextActions.js +341 -0
  1457. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +3 -0
  1458. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +368 -0
  1459. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +15 -0
  1460. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +211 -0
  1461. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +22 -0
  1462. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +712 -0
  1463. package/vscode/src/vs/workbench/contrib/chat/browser/actions/configureVoiceInstructionsAction.d.ts +3 -0
  1464. package/vscode/src/vs/workbench/contrib/chat/browser/actions/configureVoiceInstructionsAction.js +89 -0
  1465. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.service.d.ts +1 -1
  1466. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +30 -0
  1467. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +37 -0
  1468. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +3 -3
  1469. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +12 -12
  1470. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +30 -0
  1471. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  1472. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.service.d.ts +2 -2
  1473. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostByokLmHandler.d.ts +50 -0
  1474. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostByokLmHandler.js +479 -0
  1475. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +45 -0
  1476. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +137 -0
  1477. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +156 -0
  1478. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +1053 -0
  1479. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatReferenceAttachment.d.ts +20 -0
  1480. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatReferenceAttachment.js +35 -0
  1481. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service.d.ts +2 -3
  1482. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.d.ts +35 -0
  1483. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.js +73 -0
  1484. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.d.ts +50 -0
  1485. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerActionItem.js +189 -0
  1486. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerTip.d.ts +7 -0
  1487. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostFolderPickerTip.js +55 -0
  1488. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +47 -0
  1489. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +183 -0
  1490. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.service.d.ts +1 -1
  1491. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModePickerPresentation.d.ts +37 -0
  1492. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModePickerPresentation.js +230 -0
  1493. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +101 -0
  1494. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +164 -0
  1495. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.service.d.ts +1 -2
  1496. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.service.d.ts +1 -1
  1497. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSdkSetupNotification.d.ts +110 -0
  1498. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSdkSetupNotification.js +279 -0
  1499. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.d.ts +12 -0
  1500. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionReferenceAttachment.js +76 -0
  1501. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.d.ts +2 -0
  1502. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.js +21 -0
  1503. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service.d.ts +1 -1
  1504. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.service.d.ts +1 -1
  1505. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.service.d.ts +2 -2
  1506. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.d.ts +116 -0
  1507. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSnapshotController.js +348 -0
  1508. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +51 -0
  1509. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +167 -0
  1510. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.service.d.ts +1 -1
  1511. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service.d.ts +1 -2
  1512. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/importLocalConversationToAgentSession.d.ts +14 -0
  1513. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/importLocalConversationToAgentSession.js +218 -0
  1514. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +171 -0
  1515. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostModePicker.css +193 -0
  1516. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.d.ts +273 -0
  1517. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.js +2478 -0
  1518. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +45 -0
  1519. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +122 -0
  1520. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +15 -15
  1521. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsBanner.js +1 -1
  1522. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +72 -0
  1523. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +393 -0
  1524. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.d.ts +262 -0
  1525. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +865 -0
  1526. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +23 -0
  1527. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +160 -0
  1528. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service.d.ts +2 -3
  1529. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.service.d.ts +2 -2
  1530. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service.d.ts +1 -2
  1531. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.d.ts +3 -0
  1532. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +62 -0
  1533. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentSessionHoverWidget.css +98 -0
  1534. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +471 -0
  1535. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +104 -0
  1536. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +115 -0
  1537. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +168 -0
  1538. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.service.d.ts +1 -1
  1539. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.d.ts +83 -0
  1540. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionTypeAvailability.js +134 -0
  1541. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +35 -0
  1542. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +294 -0
  1543. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +66 -0
  1544. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +39 -0
  1545. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +147 -0
  1546. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +349 -0
  1547. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +83 -0
  1548. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +264 -0
  1549. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.service.d.ts +2 -2
  1550. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +278 -0
  1551. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +2036 -0
  1552. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +22 -0
  1553. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
  1554. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +1 -1
  1555. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +7 -7
  1556. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +397 -0
  1557. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +4132 -0
  1558. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +37 -0
  1559. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +93 -0
  1560. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +26 -0
  1561. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +34 -0
  1562. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +2 -0
  1563. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +23 -0
  1564. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +57 -0
  1565. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +48 -0
  1566. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +40 -0
  1567. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +369 -0
  1568. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +40 -0
  1569. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +302 -0
  1570. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +70 -0
  1571. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +220 -0
  1572. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
  1573. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
  1574. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +38 -0
  1575. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +240 -0
  1576. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +82 -0
  1577. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +765 -0
  1578. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +80 -0
  1579. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +279 -0
  1580. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +109 -0
  1581. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +743 -0
  1582. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
  1583. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
  1584. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +62 -0
  1585. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +217 -0
  1586. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
  1587. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +91 -0
  1588. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +357 -0
  1589. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +2661 -0
  1590. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +3742 -0
  1591. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +301 -0
  1592. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +354 -0
  1593. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +197 -0
  1594. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +2205 -0
  1595. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +27 -0
  1596. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +317 -0
  1597. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +132 -0
  1598. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +1216 -0
  1599. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.d.ts +37 -0
  1600. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +197 -0
  1601. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service.d.ts +1 -1
  1602. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +275 -0
  1603. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +2252 -0
  1604. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.js +2 -2
  1605. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.d.ts +57 -0
  1606. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.js +311 -0
  1607. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +76 -0
  1608. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +485 -0
  1609. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  1610. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +15 -0
  1611. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +80 -0
  1612. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatWidgetPasteTarget.d.ts +18 -0
  1613. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatWidgetPasteTarget.js +40 -0
  1614. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +53 -0
  1615. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +363 -0
  1616. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +4 -4
  1617. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +9 -9
  1618. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +1 -2
  1619. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +52 -0
  1620. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +788 -0
  1621. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +11 -11
  1622. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.service.d.ts +1 -1
  1623. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +28 -0
  1624. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +98 -0
  1625. package/vscode/src/vs/workbench/contrib/chat/browser/chatIcons.d.ts +9 -0
  1626. package/vscode/src/vs/workbench/contrib/chat/browser/chatIcons.js +36 -0
  1627. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.service.d.ts +1 -1
  1628. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageUtils.js +3 -3
  1629. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +86 -0
  1630. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +289 -0
  1631. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +118 -0
  1632. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +543 -0
  1633. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +82 -0
  1634. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +1452 -0
  1635. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +329 -0
  1636. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutline.js +6 -6
  1637. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +7 -0
  1638. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +114 -0
  1639. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.d.ts +99 -0
  1640. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.js +329 -0
  1641. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetService.d.ts +66 -0
  1642. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetService.js +504 -0
  1643. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetService.service.d.ts +3 -3
  1644. package/vscode/src/vs/workbench/contrib/chat/browser/chatRequestText.d.ts +9 -0
  1645. package/vscode/src/vs/workbench/contrib/chat/browser/chatRequestText.js +12 -0
  1646. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +55 -0
  1647. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +37 -0
  1648. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service.d.ts +2 -2
  1649. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +60 -0
  1650. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +259 -0
  1651. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +231 -0
  1652. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +1852 -0
  1653. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +58 -0
  1654. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +109 -0
  1655. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +85 -0
  1656. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +2 -0
  1657. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +9 -0
  1658. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +99 -0
  1659. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +1268 -0
  1660. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service.d.ts +1 -1
  1661. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +552 -0
  1662. package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalCommandPaste.d.ts +35 -0
  1663. package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalCommandPaste.js +94 -0
  1664. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.service.d.ts +1 -1
  1665. package/vscode/src/vs/workbench/contrib/chat/browser/editorChatResponseFileChangesService.d.ts +21 -0
  1666. package/vscode/src/vs/workbench/contrib/chat/browser/editorChatResponseFileChangesService.js +45 -0
  1667. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  1668. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyService.d.ts +123 -0
  1669. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyService.js +484 -0
  1670. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyService.service.d.ts +2 -3
  1671. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyWidget.d.ts +39 -0
  1672. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyWidget.js +230 -0
  1673. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/media/chatModelFeedbackSurvey.css +108 -0
  1674. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.service.d.ts +1 -2
  1675. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +25 -0
  1676. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +95 -0
  1677. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +31 -0
  1678. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +676 -0
  1679. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +68 -0
  1680. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +225 -0
  1681. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.d.ts +24 -0
  1682. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +355 -0
  1683. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +7 -0
  1684. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +81 -0
  1685. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +15 -0
  1686. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +181 -0
  1687. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +75 -0
  1688. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +632 -0
  1689. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +1 -1
  1690. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +13 -0
  1691. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +52 -0
  1692. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +22 -0
  1693. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +58 -0
  1694. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  1695. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/chatSpeechToTextService.js +19 -19
  1696. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/chatSpeechToTextService.service.d.ts +1 -1
  1697. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationActionViewItem.d.ts +32 -0
  1698. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationActionViewItem.js +77 -0
  1699. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationDownloadActionViewItem.d.ts +30 -0
  1700. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationDownloadActionViewItem.js +91 -0
  1701. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationDownloadRing.js +7 -7
  1702. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationMicGlow.d.ts +36 -0
  1703. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationMicGlow.js +121 -0
  1704. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationOnboarding.d.ts +124 -0
  1705. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationOnboarding.js +622 -0
  1706. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationOnboarding.service.d.ts +2 -2
  1707. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/dictationSession.js +3 -3
  1708. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/media/dictationMicGlow.css +99 -0
  1709. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/media/dictationOnboarding.css +128 -0
  1710. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/micButtonHovers.d.ts +9 -0
  1711. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/micButtonHovers.js +60 -0
  1712. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/micButtonMenuActions.d.ts +27 -0
  1713. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/micButtonMenuActions.js +161 -0
  1714. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.service.d.ts +1 -1
  1715. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +35 -0
  1716. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +321 -0
  1717. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service.d.ts +1 -1
  1718. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +45 -0
  1719. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +509 -0
  1720. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +58 -0
  1721. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +177 -0
  1722. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.d.ts +28 -0
  1723. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.js +31 -0
  1724. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/media/voiceGlow.css +264 -0
  1725. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/media/voiceInputDecorations.css +50 -0
  1726. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +2 -2
  1727. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.service.d.ts +1 -1
  1728. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.service.d.ts +1 -1
  1729. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceGlow.d.ts +82 -0
  1730. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceGlow.js +101 -0
  1731. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceGlowController.d.ts +36 -0
  1732. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceGlowController.js +459 -0
  1733. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputDecorations.d.ts +47 -0
  1734. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputDecorations.js +193 -0
  1735. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +11 -0
  1736. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +13 -0
  1737. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceModeActionViewItem.d.ts +27 -0
  1738. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceModeActionViewItem.js +59 -0
  1739. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +1174 -0
  1740. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +5599 -0
  1741. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.service.d.ts +2 -2
  1742. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +99 -0
  1743. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +691 -0
  1744. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.service.d.ts +2 -2
  1745. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/media/voiceInputMode.css +201 -0
  1746. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputModeActionViewItem.d.ts +137 -0
  1747. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputModeActionViewItem.js +777 -0
  1748. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputModeContextKeys.d.ts +13 -0
  1749. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputModeContextKeys.js +14 -0
  1750. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.d.ts +24 -0
  1751. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +112 -0
  1752. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +41 -0
  1753. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +533 -0
  1754. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatCard.d.ts +37 -0
  1755. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatCard.js +44 -0
  1756. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatCardListbox.d.ts +35 -0
  1757. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatCardListbox.js +55 -0
  1758. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatClipboard.d.ts +15 -0
  1759. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatClipboard.js +92 -0
  1760. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.d.ts +22 -0
  1761. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +175 -0
  1762. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +12 -0
  1763. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +51 -0
  1764. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentMergeContentPart.d.ts +72 -0
  1765. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentMergeContentPart.js +418 -0
  1766. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.d.ts +13 -0
  1767. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +51 -0
  1768. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +51 -0
  1769. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +321 -0
  1770. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.d.ts +21 -0
  1771. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAutoModeResolutionContentPart.js +48 -0
  1772. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +52 -0
  1773. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +354 -0
  1774. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.d.ts +13 -0
  1775. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +50 -0
  1776. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +69 -0
  1777. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +272 -0
  1778. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +21 -0
  1779. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +52 -0
  1780. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +61 -0
  1781. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +186 -0
  1782. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +12 -0
  1783. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +45 -0
  1784. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +22 -0
  1785. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +97 -0
  1786. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +70 -0
  1787. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
  1788. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +40 -0
  1789. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +155 -0
  1790. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +13 -0
  1791. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +56 -0
  1792. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +104 -0
  1793. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +153 -0
  1794. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +18 -0
  1795. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +92 -0
  1796. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +16 -0
  1797. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.js +46 -0
  1798. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +16 -0
  1799. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +63 -0
  1800. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +49 -0
  1801. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +149 -0
  1802. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +15 -0
  1803. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +67 -0
  1804. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animation.d.ts +18 -0
  1805. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.d.ts +15 -0
  1806. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.js +16 -0
  1807. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.d.ts +13 -0
  1808. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.js +33 -0
  1809. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/buffer.d.ts +46 -0
  1810. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.d.ts +11 -0
  1811. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.js +12 -0
  1812. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.d.ts +9 -0
  1813. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.js +12 -0
  1814. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +23 -0
  1815. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +37 -0
  1816. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.d.ts +34 -0
  1817. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.js +68 -0
  1818. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +84 -0
  1819. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +187 -0
  1820. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/media/chatIncrementalRendering.css +112 -0
  1821. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +63 -0
  1822. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +584 -0
  1823. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
  1824. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer.d.ts +48 -0
  1825. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer.js +257 -0
  1826. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
  1827. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
  1828. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.d.ts +35 -0
  1829. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpAuthenticationContentPart.js +143 -0
  1830. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +32 -0
  1831. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +228 -0
  1832. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.d.ts +32 -0
  1833. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersStartingContentPart.js +67 -0
  1834. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +31 -0
  1835. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +302 -0
  1836. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +101 -0
  1837. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +904 -0
  1838. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +55 -0
  1839. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +291 -0
  1840. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +14 -0
  1841. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +46 -0
  1842. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +212 -0
  1843. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +1656 -0
  1844. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +14 -0
  1845. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +75 -0
  1846. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +69 -0
  1847. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +586 -0
  1848. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatRequestOriginPart.d.ts +28 -0
  1849. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatRequestOriginPart.js +192 -0
  1850. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +27 -0
  1851. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +280 -0
  1852. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatRichLink.d.ts +35 -0
  1853. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatRichLink.js +364 -0
  1854. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +37 -0
  1855. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +250 -0
  1856. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.d.ts +18 -0
  1857. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSystemNotificationContentPart.js +141 -0
  1858. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +15 -0
  1859. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +61 -0
  1860. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +32 -0
  1861. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +163 -0
  1862. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +251 -0
  1863. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +2187 -0
  1864. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.d.ts +18 -0
  1865. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.js +70 -0
  1866. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingStyleContentPart.d.ts +50 -0
  1867. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingStyleContentPart.js +78 -0
  1868. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +36 -0
  1869. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +267 -0
  1870. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +47 -0
  1871. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +388 -0
  1872. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +27 -0
  1873. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +113 -0
  1874. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +37 -0
  1875. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +190 -0
  1876. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.d.ts +29 -0
  1877. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTurnPillsPart.js +156 -0
  1878. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +18 -0
  1879. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +83 -0
  1880. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +180 -0
  1881. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +945 -0
  1882. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentFeedbackReviewConfirmation.css +140 -0
  1883. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatAgentMergeContent.css +385 -0
  1884. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +158 -0
  1885. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCollapsibleContentPart.css +62 -0
  1886. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +602 -0
  1887. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatDisabledClaudeHooksContent.css +18 -0
  1888. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatExtensionsContent.css +31 -0
  1889. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +47 -0
  1890. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +87 -0
  1891. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatMarkdownPart.css +23 -0
  1892. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatMcpServersInteractionContent.css +18 -0
  1893. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +384 -0
  1894. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPullRequestContent.css +39 -0
  1895. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +618 -0
  1896. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatRequestOrigin.css +80 -0
  1897. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatRichLink.css +471 -0
  1898. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSessionCreatedResult.css +18 -0
  1899. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +124 -0
  1900. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSystemNotificationContentPart.css +145 -0
  1901. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +310 -0
  1902. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +567 -0
  1903. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +70 -0
  1904. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +244 -0
  1905. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +204 -0
  1906. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAutomationConfiguredResultSubPart.d.ts +16 -0
  1907. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatAutomationConfiguredResultSubPart.js +36 -0
  1908. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatGeneratedImageResultSubPart.d.ts +20 -0
  1909. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatGeneratedImageResultSubPart.js +102 -0
  1910. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +159 -0
  1911. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +752 -0
  1912. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +51 -0
  1913. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +148 -0
  1914. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatOtherClientToolProgressPart.d.ts +11 -0
  1915. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatOtherClientToolProgressPart.js +55 -0
  1916. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +14 -0
  1917. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.js +32 -0
  1918. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSessionCreatedResultSubPart.d.ts +20 -0
  1919. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSessionCreatedResultSubPart.js +70 -0
  1920. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +71 -0
  1921. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +533 -0
  1922. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.d.ts +22 -0
  1923. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.js +37 -0
  1924. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +21 -0
  1925. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +125 -0
  1926. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.d.ts +20 -0
  1927. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +65 -0
  1928. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +24 -0
  1929. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +137 -0
  1930. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +19 -0
  1931. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +69 -0
  1932. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +76 -0
  1933. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +60 -0
  1934. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +66 -0
  1935. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.d.ts +21 -0
  1936. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeHelper.js +78 -0
  1937. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
  1938. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +142 -0
  1939. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.d.ts +84 -0
  1940. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +470 -0
  1941. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatEditorAssociations.d.ts +6 -0
  1942. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatEditorAssociations.js +16 -0
  1943. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindCommandIds.d.ts +9 -0
  1944. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindCommandIds.js +14 -0
  1945. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindContent.d.ts +23 -0
  1946. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindContent.js +92 -0
  1947. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindHighlights.d.ts +25 -0
  1948. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindHighlights.js +77 -0
  1949. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindWidget.css +23 -0
  1950. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatForkActionViewItem.d.ts +16 -0
  1951. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatForkActionViewItem.js +87 -0
  1952. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.d.ts +51 -0
  1953. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +100 -0
  1954. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.d.ts +27 -0
  1955. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPendingDragAndDrop.js +148 -0
  1956. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetAccessoryRenderer.d.ts +34 -0
  1957. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetAccessoryRenderer.js +278 -0
  1958. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetAccessoryRig.d.ts +26 -0
  1959. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetAccessoryRig.js +183 -0
  1960. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidget.d.ts +372 -0
  1961. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidget.js +3435 -0
  1962. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.service.d.ts +2 -2
  1963. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatReadOnlyBanner.d.ts +10 -0
  1964. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatReadOnlyBanner.js +44 -0
  1965. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatReferenceDrop.d.ts +56 -0
  1966. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatReferenceDrop.js +43 -0
  1967. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.d.ts +30 -0
  1968. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatRestoreCheckpointActionViewItem.js +138 -0
  1969. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.d.ts +79 -0
  1970. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatTurnPills.js +56 -0
  1971. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.d.ts +13 -0
  1972. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +57 -0
  1973. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.d.ts +26 -0
  1974. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +74 -0
  1975. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputModelSelectionController.d.ts +130 -0
  1976. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputModelSelectionController.js +432 -0
  1977. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputModelUtils.d.ts +156 -0
  1978. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputModelUtils.js +159 -0
  1979. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHost.d.ts +115 -0
  1980. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHost.js +146 -0
  1981. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.service.d.ts +1 -1
  1982. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeWidget.d.ts +115 -0
  1983. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeWidget.js +130 -0
  1984. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +140 -0
  1985. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +186 -0
  1986. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service.d.ts +2 -2
  1987. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +96 -0
  1988. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +364 -0
  1989. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputOnboarding.d.ts +83 -0
  1990. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputOnboarding.js +178 -0
  1991. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputOnboardingHosts.d.ts +17 -0
  1992. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputOnboardingHosts.js +30 -0
  1993. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +895 -0
  1994. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +4571 -0
  1995. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +42 -0
  1996. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +97 -0
  1997. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerResponsiveLayout.d.ts +38 -0
  1998. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerResponsiveLayout.js +212 -0
  1999. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStack.d.ts +63 -0
  2000. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStack.js +62 -0
  2001. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.d.ts +6 -0
  2002. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatePersistence.js +18 -0
  2003. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputTipPresenter.d.ts +51 -0
  2004. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputTipPresenter.js +102 -0
  2005. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.d.ts +52 -0
  2006. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationLogic.js +118 -0
  2007. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.d.ts +79 -0
  2008. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelConfigurationStore.js +127 -0
  2009. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionDiagnostics.d.ts +26 -0
  2010. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionDiagnostics.js +60 -0
  2011. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +76 -0
  2012. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +126 -0
  2013. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service.d.ts +1 -1
  2014. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +36 -0
  2015. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +192 -0
  2016. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSessionArchiveNudge.d.ts +49 -0
  2017. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSessionArchiveNudge.js +238 -0
  2018. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +44 -0
  2019. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +193 -0
  2020. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +73 -0
  2021. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +65 -0
  2022. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatDynamicVariablesConstant.d.ts +1 -0
  2023. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatDynamicVariablesConstant.js +5 -0
  2024. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +31 -0
  2025. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +110 -0
  2026. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +11 -0
  2027. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js +28 -0
  2028. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +3 -0
  2029. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +16 -0
  2030. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders.d.ts +71 -0
  2031. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders.js +800 -0
  2032. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +72 -0
  2033. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotice.css +245 -0
  2034. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +162 -0
  2035. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputStack.css +86 -0
  2036. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
  2037. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatSessionArchiveNudge.css +128 -0
  2038. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +41 -0
  2039. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +337 -0
  2040. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/media/modelPicker.css +1120 -0
  2041. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerActionItem.d.ts +82 -0
  2042. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerActionItem.js +130 -0
  2043. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerAutoRow.d.ts +30 -0
  2044. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerAutoRow.js +140 -0
  2045. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerBadges.d.ts +29 -0
  2046. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerBadges.js +44 -0
  2047. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerCard.d.ts +91 -0
  2048. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerCard.js +428 -0
  2049. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerConfiguration.d.ts +23 -0
  2050. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerConfiguration.js +175 -0
  2051. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerDetails.d.ts +19 -0
  2052. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerDetails.js +51 -0
  2053. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerHover.d.ts +14 -0
  2054. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerHover.js +226 -0
  2055. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerItemPrimitives.d.ts +29 -0
  2056. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerItemPrimitives.js +251 -0
  2057. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerItemSections.d.ts +11 -0
  2058. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerItemSections.js +580 -0
  2059. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerItemTypes.d.ts +38 -0
  2060. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerItems.d.ts +22 -0
  2061. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerItems.js +101 -0
  2062. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerLineage.d.ts +22 -0
  2063. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerLineage.js +52 -0
  2064. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerModelConfig.d.ts +36 -0
  2065. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerModelConfig.js +45 -0
  2066. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerPresentation.d.ts +30 -0
  2067. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerPresentation.js +79 -0
  2068. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabbedWidget.d.ts +102 -0
  2069. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabbedWidget.js +501 -0
  2070. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabs.d.ts +95 -0
  2071. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabs.js +193 -0
  2072. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTelemetry.d.ts +7 -0
  2073. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTelemetry.js +27 -0
  2074. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerVariants.d.ts +16 -0
  2075. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerVariants.js +47 -0
  2076. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerWelcome.d.ts +10 -0
  2077. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerWelcome.js +40 -0
  2078. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerWidget.d.ts +140 -0
  2079. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerWidget.js +615 -0
  2080. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelProviderIcons.d.ts +10 -0
  2081. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelProviderIcons.js +67 -0
  2082. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +99 -0
  2083. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +371 -0
  2084. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +79 -0
  2085. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +375 -0
  2086. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.d.ts +20 -0
  2087. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +115 -0
  2088. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +4959 -0
  2089. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatAgentHover.css +87 -0
  2090. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatCard.css +117 -0
  2091. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatPet.css +573 -0
  2092. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatReadOnlyBanner.css +47 -0
  2093. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +233 -0
  2094. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +10 -10
  2095. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +50 -0
  2096. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +213 -0
  2097. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +144 -0
  2098. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +362 -0
  2099. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +242 -0
  2100. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +87 -0
  2101. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +325 -325
  2102. package/vscode/src/vs/workbench/contrib/chat/common/agentHostConfigPolicy.d.ts +9 -0
  2103. package/vscode/src/vs/workbench/contrib/chat/common/agentHostConfigPolicy.js +28 -0
  2104. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service.d.ts +1 -1
  2105. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +2 -2
  2106. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +20 -6
  2107. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariables.d.ts +46 -0
  2108. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariables.js +17 -0
  2109. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariables.service.d.ts +2 -2
  2110. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.js +20 -0
  2111. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +22 -0
  2112. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +251 -0
  2113. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +20 -0
  2114. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  2115. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  2116. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.d.ts +37 -0
  2117. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +17 -0
  2118. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  2119. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +137 -0
  2120. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.js +77 -0
  2121. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +14 -0
  2122. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  2123. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  2124. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +12 -0
  2125. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  2126. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +83 -0
  2127. package/vscode/src/vs/workbench/contrib/chat/common/chat.js +1 -1
  2128. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +16 -0
  2129. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +236 -0
  2130. package/vscode/src/vs/workbench/contrib/chat/common/chatAutoModeExplainability.d.ts +10 -0
  2131. package/vscode/src/vs/workbench/contrib/chat/common/chatAutoModeExplainability.js +9 -0
  2132. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.service.d.ts +1 -2
  2133. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.d.ts +110 -0
  2134. package/vscode/src/vs/workbench/contrib/chat/common/chatErrorMessages.js +511 -0
  2135. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +35 -0
  2136. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +170 -0
  2137. package/vscode/src/vs/workbench/contrib/chat/common/chatModeTelemetry.d.ts +3 -0
  2138. package/vscode/src/vs/workbench/contrib/chat/common/chatModeTelemetry.js +24 -0
  2139. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +7 -7
  2140. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.service.d.ts +1 -1
  2141. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +6 -0
  2142. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +12 -0
  2143. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +3 -0
  2144. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +7 -0
  2145. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +35 -0
  2146. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +141 -0
  2147. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressFormatting.d.ts +14 -0
  2148. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressFormatting.js +52 -0
  2149. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +87 -0
  2150. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +69 -0
  2151. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatQuestionCarouselHelpers.d.ts +42 -0
  2152. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatQuestionCarouselHelpers.js +99 -0
  2153. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +2 -2
  2154. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +1 -1
  2155. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +2 -3
  2156. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +1 -2
  2157. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.service.d.ts +1 -1
  2158. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +2 -2
  2159. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +300 -0
  2160. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +272 -0
  2161. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.service.d.ts +2 -3
  2162. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +10 -10
  2163. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.service.d.ts +1 -1
  2164. package/vscode/src/vs/workbench/contrib/chat/common/expPayload.d.ts +27 -0
  2165. package/vscode/src/vs/workbench/contrib/chat/common/expPayload.js +86 -0
  2166. package/vscode/src/vs/workbench/contrib/chat/common/feedbackSurvey/chatModelFeedbackSurveyConfig.d.ts +115 -0
  2167. package/vscode/src/vs/workbench/contrib/chat/common/feedbackSurvey/chatModelFeedbackSurveyConfig.js +334 -0
  2168. package/vscode/src/vs/workbench/contrib/chat/common/feedbackSurvey/chatModelFeedbackSurveyTelemetry.d.ts +42 -0
  2169. package/vscode/src/vs/workbench/contrib/chat/common/feedbackSurvey/chatModelFeedbackSurveyTelemetry.js +5 -0
  2170. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.service.d.ts +1 -1
  2171. package/vscode/src/vs/workbench/contrib/chat/common/languageModelSourcePresentation.d.ts +21 -0
  2172. package/vscode/src/vs/workbench/contrib/chat/common/languageModelSourcePresentation.js +41 -0
  2173. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  2174. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +44 -42
  2175. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +1 -1
  2176. package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.service.d.ts +1 -2
  2177. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +1 -1
  2178. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +42 -42
  2179. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelIdle.d.ts +16 -0
  2180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelIdle.js +39 -0
  2181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +1 -1
  2182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.service.d.ts +1 -1
  2183. package/vscode/src/vs/workbench/contrib/chat/common/modelSelection.d.ts +94 -0
  2184. package/vscode/src/vs/workbench/contrib/chat/common/modelSelection.js +139 -0
  2185. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +5 -5
  2186. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +1 -1
  2187. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service.d.ts +1 -2
  2188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +25 -0
  2189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +178 -0
  2190. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.d.ts +1 -1
  2191. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service.d.ts +3 -3
  2192. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +78 -0
  2193. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +51 -0
  2194. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.service.d.ts +1 -1
  2195. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +67 -0
  2196. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +195 -0
  2197. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +67 -0
  2198. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +294 -0
  2199. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginGitService.service.d.ts +1 -1
  2200. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginInstallService.d.ts +1 -1
  2201. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service.d.ts +2 -2
  2202. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +212 -0
  2203. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +955 -0
  2204. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service.d.ts +3 -4
  2205. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginSource.d.ts +1 -1
  2206. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  2207. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  2208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +150 -0
  2209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +142 -0
  2210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +50 -0
  2211. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +77 -0
  2212. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +77 -0
  2213. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +120 -0
  2214. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +10 -0
  2215. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +23 -0
  2216. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +21 -21
  2217. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +21 -21
  2218. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +80 -80
  2219. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +5 -5
  2220. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +10 -10
  2221. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +115 -0
  2222. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +69 -0
  2223. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.service.d.ts +2 -2
  2224. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.d.ts +92 -0
  2225. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.js +335 -0
  2226. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +1 -2
  2227. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +235 -0
  2228. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +1675 -0
  2229. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +202 -0
  2230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +874 -0
  2231. package/vscode/src/vs/workbench/contrib/chat/common/promptTimeline.d.ts +17 -0
  2232. package/vscode/src/vs/workbench/contrib/chat/common/promptTimeline.js +9 -0
  2233. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.d.ts +1 -1
  2234. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.js +3 -3
  2235. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.d.ts +35 -0
  2236. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +289 -0
  2237. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +60 -0
  2238. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +139 -0
  2239. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.service.d.ts +2 -2
  2240. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.d.ts +72 -0
  2241. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +602 -0
  2242. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.service.d.ts +1 -1
  2243. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.service.d.ts +1 -2
  2244. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.js +1 -1
  2245. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +6 -6
  2246. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts +1 -2
  2247. package/vscode/src/vs/workbench/contrib/chat/common/tools/terminalToolIds.d.ts +20 -0
  2248. package/vscode/src/vs/workbench/contrib/chat/common/tools/terminalToolIds.js +17 -0
  2249. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceClientService.d.ts +305 -0
  2250. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceClientService.js +227 -0
  2251. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceClientService.service.d.ts +2 -2
  2252. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceCloseCodes.d.ts +25 -0
  2253. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceCloseCodes.js +46 -0
  2254. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceConfirmation.d.ts +6 -0
  2255. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceConfirmation.js +50 -0
  2256. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voicePendingNarration.d.ts +13 -0
  2257. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voicePendingNarration.js +22 -0
  2258. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceQuestionAnswers.d.ts +24 -0
  2259. package/vscode/src/vs/workbench/contrib/chat/common/voiceClient/voiceQuestionAnswers.js +74 -0
  2260. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.service.d.ts +1 -1
  2261. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +34 -0
  2262. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +316 -0
  2263. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +28 -0
  2264. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +202 -0
  2265. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.d.ts +65 -0
  2266. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +211 -0
  2267. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.service.d.ts +2 -2
  2268. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  2269. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +6 -6
  2270. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +6 -6
  2271. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +4 -4
  2272. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +1 -1
  2273. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorSettingsMigration.d.ts +1 -0
  2274. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorSettingsMigration.js +16 -0
  2275. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -11
  2276. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +12 -10
  2277. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectKeybindings.d.ts +1 -0
  2278. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectKeybindings.js +51 -0
  2279. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  2280. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +12 -11
  2281. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +8 -8
  2282. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +3 -3
  2283. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleColumnSelection.d.ts +8 -0
  2284. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleColumnSelection.js +92 -0
  2285. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  2286. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  2287. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleOvertype.d.ts +6 -0
  2288. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleOvertype.js +39 -0
  2289. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  2290. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +12 -12
  2291. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -6
  2292. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +74 -74
  2293. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  2294. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  2295. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +32 -4
  2296. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  2297. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -2
  2298. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  2299. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  2300. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +4 -4
  2301. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  2302. package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +1 -1
  2303. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  2304. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +12 -12
  2305. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +5 -5
  2306. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +11 -11
  2307. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.d.ts +1 -1
  2308. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +20 -20
  2309. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +19 -19
  2310. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  2311. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +1 -1
  2312. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +36 -36
  2313. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +3 -3
  2314. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.js +3 -3
  2315. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  2316. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.service.d.ts +1 -1
  2317. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +3 -3
  2318. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +57 -47
  2319. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +21 -21
  2320. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +85 -85
  2321. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +3 -3
  2322. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +4 -4
  2323. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +13 -13
  2324. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  2325. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +43 -43
  2326. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +18 -18
  2327. package/vscode/src/vs/workbench/contrib/debug/browser/debugExpressionRenderer.js +2 -2
  2328. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +10 -5
  2329. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  2330. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  2331. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +8 -8
  2332. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +4 -4
  2333. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +19 -19
  2334. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +1 -1
  2335. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  2336. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +18 -16
  2337. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  2338. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +191 -191
  2339. package/vscode/src/vs/workbench/contrib/debug/common/debug.service.d.ts +1 -2
  2340. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +15 -15
  2341. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  2342. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +2 -2
  2343. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  2344. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +3 -3
  2345. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +3 -3
  2346. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  2347. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +6 -6
  2348. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.service.d.ts +1 -1
  2349. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +3 -3
  2350. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +5 -5
  2351. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +48 -46
  2352. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  2353. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +26 -22
  2354. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +25 -23
  2355. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +2 -2
  2356. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +227 -174
  2357. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +212 -207
  2358. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  2359. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +3 -3
  2360. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +10 -8
  2361. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -25
  2362. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +2 -2
  2363. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  2364. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +11 -11
  2365. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +82 -80
  2366. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +22 -22
  2367. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +31 -31
  2368. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +121 -118
  2369. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +8 -3
  2370. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +2 -2
  2371. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +2 -2
  2372. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +2 -2
  2373. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +3 -3
  2374. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +3 -3
  2375. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +2 -2
  2376. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +8 -8
  2377. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -2
  2378. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  2379. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  2380. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +17 -14
  2381. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +6 -6
  2382. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  2383. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +10 -10
  2384. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.service.d.ts +1 -1
  2385. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  2386. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  2387. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +4 -4
  2388. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +19 -19
  2389. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +2 -2
  2390. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +15 -15
  2391. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  2392. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +113 -110
  2393. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +10 -10
  2394. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +13 -13
  2395. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +11 -11
  2396. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +48 -44
  2397. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +53 -53
  2398. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  2399. package/vscode/src/vs/workbench/contrib/files/browser/files.js +5 -3
  2400. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +1 -1
  2401. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  2402. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +12 -12
  2403. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +37 -33
  2404. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +12 -12
  2405. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  2406. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  2407. package/vscode/src/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +8 -6
  2408. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +9 -8
  2409. package/vscode/src/vs/workbench/contrib/files/common/files.js +49 -49
  2410. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  2411. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +24 -24
  2412. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  2413. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  2414. package/vscode/src/vs/workbench/contrib/git/common/gitService.service.d.ts +1 -1
  2415. package/vscode/src/vs/workbench/contrib/git/common/utils.d.ts +8 -0
  2416. package/vscode/src/vs/workbench/contrib/git/common/utils.js +105 -0
  2417. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +6 -6
  2418. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +13 -0
  2419. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +133 -0
  2420. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordanceWidget.d.ts +23 -0
  2421. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordanceWidget.js +312 -0
  2422. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.service.d.ts +1 -1
  2423. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +23 -0
  2424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +44 -0
  2425. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +2 -3
  2426. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +424 -0
  2427. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +46 -0
  2428. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +44 -0
  2429. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +143 -0
  2430. package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletionLanguageStatusBarContribution.js +6 -6
  2431. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
  2432. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
  2433. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveDocumentService.service.d.ts +1 -2
  2434. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.service.d.ts +1 -1
  2435. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
  2436. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
  2437. package/vscode/src/vs/workbench/contrib/issue/browser/recordingService.service.d.ts +1 -1
  2438. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.d.ts +1 -0
  2439. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +7 -0
  2440. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.d.ts +15 -0
  2441. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.js +444 -0
  2442. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css +125 -0
  2443. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  2444. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  2445. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownSettingRenderer.d.ts +43 -0
  2446. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownSettingRenderer.js +330 -0
  2447. package/vscode/src/vs/workbench/contrib/markdown/common/markdownColors.d.ts +5 -0
  2448. package/vscode/src/vs/workbench/contrib/markdown/common/markdownColors.js +23 -0
  2449. package/vscode/src/vs/workbench/contrib/markers/common/markers.js +29 -29
  2450. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +73 -73
  2451. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +44 -42
  2452. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +96 -0
  2453. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +316 -0
  2454. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/pluginMcpDiscovery.js +3 -1
  2455. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +47 -47
  2456. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.d.ts +1 -1
  2457. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.js +116 -13
  2458. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.service.d.ts +6 -0
  2459. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.service.js +6 -0
  2460. package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayService.service.d.ts +1 -1
  2461. package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.js +2 -2
  2462. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +1 -1
  2463. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSandboxService.service.d.ts +1 -1
  2464. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +39 -37
  2465. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +6 -6
  2466. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +1 -2
  2467. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -0
  2468. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +5 -5
  2469. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +25 -25
  2470. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +3 -3
  2471. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +4 -4
  2472. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +8 -8
  2473. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +19 -13
  2474. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +7 -7
  2475. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +24 -24
  2476. package/vscode/src/vs/workbench/contrib/modernUI/browser/media/tabs.css +1044 -0
  2477. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/actions.d.ts +28 -0
  2478. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/actions.js +274 -0
  2479. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  2480. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +6 -6
  2481. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorLayoutDebug.d.ts +24 -0
  2482. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorLayoutDebug.js +128 -0
  2483. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  2484. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +8 -5
  2485. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
  2486. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
  2487. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
  2488. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
  2489. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +5 -5
  2490. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +5 -2
  2491. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -1
  2492. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -18
  2493. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
  2494. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
  2495. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
  2496. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
  2497. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.d.ts +6 -0
  2498. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +283 -0
  2499. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.d.ts +91 -0
  2500. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +340 -0
  2501. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.d.ts +17 -0
  2502. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +272 -0
  2503. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
  2504. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
  2505. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
  2506. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
  2507. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
  2508. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
  2509. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
  2510. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
  2511. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
  2512. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
  2513. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
  2514. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +122 -0
  2515. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
  2516. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
  2517. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
  2518. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
  2519. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
  2520. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
  2521. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
  2522. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
  2523. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
  2524. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
  2525. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
  2526. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
  2527. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
  2528. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
  2529. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
  2530. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
  2531. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.service.d.ts +1 -1
  2532. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
  2533. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
  2534. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
  2535. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
  2536. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +933 -0
  2537. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
  2538. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +32 -0
  2539. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
  2540. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
  2541. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
  2542. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
  2543. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
  2544. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
  2545. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
  2546. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
  2547. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css +686 -0
  2548. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css +348 -0
  2549. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellEditorHint.css +8 -0
  2550. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellInsertToolbar.css +92 -0
  2551. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellOutput.css +119 -0
  2552. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellStatusBar.css +79 -0
  2553. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellTitleToolbar.css +61 -0
  2554. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookChatEditController.css +55 -0
  2555. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookChatEditorOverlay.css +63 -0
  2556. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookDnd.css +79 -0
  2557. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css +63 -0
  2558. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFocusIndicator.css +92 -0
  2559. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css +79 -0
  2560. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookKernelActionViewItem.css +24 -0
  2561. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css +61 -0
  2562. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css +102 -0
  2563. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.d.ts +27 -0
  2564. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +131 -0
  2565. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.d.ts +3 -3
  2566. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookCellLayoutManager.d.ts +18 -0
  2567. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookCellLayoutManager.js +92 -0
  2568. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.d.ts +105 -0
  2569. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +673 -0
  2570. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorExtensions.d.ts +9 -0
  2571. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorExtensions.js +37 -0
  2572. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.d.ts +354 -0
  2573. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +2932 -0
  2574. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.d.ts +29 -0
  2575. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +36 -0
  2576. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookLogger.d.ts +1 -0
  2577. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookLogger.js +19 -0
  2578. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.d.ts +200 -0
  2579. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +591 -0
  2580. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookViewEvents.d.ts +56 -0
  2581. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookViewEvents.js +30 -0
  2582. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +2 -3
  2583. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.d.ts +99 -0
  2584. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +131 -0
  2585. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.d.ts +30 -0
  2586. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +115 -0
  2587. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.d.ts +28 -0
  2588. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +158 -0
  2589. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.d.ts +40 -0
  2590. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +183 -0
  2591. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDecorations.d.ts +10 -0
  2592. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDecorations.js +66 -0
  2593. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.d.ts +52 -0
  2594. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +429 -0
  2595. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.d.ts +6 -0
  2596. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +108 -0
  2597. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.d.ts +36 -0
  2598. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +221 -0
  2599. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.d.ts +17 -0
  2600. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +142 -0
  2601. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocus.d.ts +5 -0
  2602. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocus.js +23 -0
  2603. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.d.ts +18 -0
  2604. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +104 -0
  2605. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.d.ts +92 -0
  2606. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +767 -0
  2607. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.d.ts +15 -0
  2608. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.js +58 -0
  2609. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.d.ts +36 -0
  2610. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +357 -0
  2611. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.d.ts +6 -0
  2612. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +32 -0
  2613. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.d.ts +47 -0
  2614. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +260 -0
  2615. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellWidgets.d.ts +9 -0
  2616. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellWidgets.js +10 -0
  2617. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.d.ts +10 -0
  2618. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +24 -0
  2619. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.d.ts +182 -0
  2620. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +796 -0
  2621. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.d.ts +13 -0
  2622. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +79 -0
  2623. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.d.ts +30 -0
  2624. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +126 -0
  2625. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellInput.d.ts +6 -0
  2626. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellInput.js +32 -0
  2627. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.d.ts +8 -0
  2628. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +50 -0
  2629. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.d.ts +18 -0
  2630. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +119 -0
  2631. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.d.ts +57 -0
  2632. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +443 -0
  2633. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.d.ts +20 -0
  2634. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +56 -0
  2635. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellEditorPool.d.ts +24 -0
  2636. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellEditorPool.js +121 -0
  2637. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.d.ts +152 -0
  2638. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +1288 -0
  2639. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.d.ts +59 -0
  2640. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +287 -0
  2641. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookRenderingCommon.d.ts +117 -0
  2642. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookRenderingCommon.js +6 -0
  2643. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.d.ts +222 -0
  2644. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1847 -0
  2645. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.d.ts +63 -0
  2646. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +449 -0
  2647. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewMessages.d.ts +432 -0
  2648. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.d.ts +18 -0
  2649. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2548 -0
  2650. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping.d.ts +8 -0
  2651. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping.js +105 -0
  2652. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.d.ts +137 -0
  2653. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +646 -0
  2654. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.d.ts +21 -0
  2655. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +101 -0
  2656. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputTextHelper.d.ts +13 -0
  2657. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputTextHelper.js +111 -0
  2658. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.d.ts +30 -0
  2659. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +65 -0
  2660. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.d.ts +13 -0
  2661. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.js +49 -0
  2662. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.d.ts +89 -0
  2663. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +474 -0
  2664. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.d.ts +11 -0
  2665. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.js +34 -0
  2666. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.d.ts +33 -0
  2667. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +275 -0
  2668. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.d.ts +69 -0
  2669. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +269 -0
  2670. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.d.ts +125 -0
  2671. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +960 -0
  2672. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/viewContext.d.ts +9 -0
  2673. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/viewContext.js +11 -0
  2674. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookCellOverlays.d.ts +20 -0
  2675. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookCellOverlays.js +101 -0
  2676. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.d.ts +65 -0
  2677. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +458 -0
  2678. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.d.ts +80 -0
  2679. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +708 -0
  2680. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.d.ts +37 -0
  2681. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.js +193 -0
  2682. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookHorizontalTracker.d.ts +7 -0
  2683. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookHorizontalTracker.js +62 -0
  2684. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.d.ts +108 -0
  2685. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +719 -0
  2686. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.d.ts +23 -0
  2687. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +183 -0
  2688. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.d.ts +11 -0
  2689. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +134 -0
  2690. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.d.ts +20 -0
  2691. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +135 -0
  2692. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.d.ts +27 -0
  2693. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +213 -0
  2694. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.d.ts +27 -0
  2695. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.js +104 -0
  2696. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.d.ts +115 -0
  2697. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +480 -0
  2698. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
  2699. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
  2700. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCellStatusBarService.service.d.ts +1 -2
  2701. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +1 -1
  2702. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +10 -10
  2703. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +43 -42
  2704. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
  2705. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
  2706. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.d.ts +1 -1
  2707. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +4 -4
  2708. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service.d.ts +1 -2
  2709. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
  2710. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
  2711. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.d.ts +81 -0
  2712. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.js +9 -0
  2713. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +2 -3
  2714. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.service.d.ts +1 -2
  2715. package/vscode/src/vs/workbench/contrib/notebook/common/notebookPerformance.d.ts +10 -0
  2716. package/vscode/src/vs/workbench/contrib/notebook/common/notebookPerformance.js +19 -0
  2717. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +9 -9
  2718. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRendererMessagingService.service.d.ts +1 -1
  2719. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -3
  2720. package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service.d.ts +1 -1
  2721. package/vscode/src/vs/workbench/contrib/onboarding/browser/media/onboardingTarget.css +28 -0
  2722. package/vscode/src/vs/workbench/contrib/onboarding/browser/sequence/runOnboardingStep.d.ts +17 -0
  2723. package/vscode/src/vs/workbench/contrib/onboarding/browser/sequence/runOnboardingStep.js +32 -0
  2724. package/vscode/src/vs/workbench/contrib/onboarding/browser/spotlight/onboardingTarget.d.ts +37 -0
  2725. package/vscode/src/vs/workbench/contrib/onboarding/browser/spotlight/onboardingTarget.js +48 -0
  2726. package/vscode/src/vs/workbench/contrib/onboarding/browser/spotlight/spotlightTypes.d.ts +67 -0
  2727. package/vscode/src/vs/workbench/contrib/onboarding/browser/spotlight/spotlightTypes.js +5 -0
  2728. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingRegistry.d.ts +21 -0
  2729. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingRegistry.js +35 -0
  2730. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingScenario.d.ts +172 -0
  2731. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingScenario.js +20 -0
  2732. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingScenarioService.d.ts +48 -0
  2733. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingScenarioService.js +19 -0
  2734. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingScenarioService.service.d.ts +1 -1
  2735. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingSequence.d.ts +45 -0
  2736. package/vscode/src/vs/workbench/contrib/onboarding/common/onboardingSequence.js +29 -0
  2737. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +8 -8
  2738. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +6 -6
  2739. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  2740. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +12 -12
  2741. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +60 -60
  2742. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +10 -8
  2743. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +16 -16
  2744. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  2745. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +17 -17
  2746. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  2747. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +83 -81
  2748. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
  2749. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
  2750. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
  2751. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
  2752. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
  2753. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
  2754. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.service.d.ts +1 -1
  2755. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +20 -20
  2756. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +10 -10
  2757. package/vscode/src/vs/workbench/contrib/scm/browser/util.js +2 -2
  2758. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  2759. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +1 -2
  2760. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +2 -2
  2761. package/vscode/src/vs/workbench/contrib/scm/common/scm.service.d.ts +1 -2
  2762. package/vscode/src/vs/workbench/contrib/search/browser/AISearch/aiSearchModel.d.ts +1 -1
  2763. package/vscode/src/vs/workbench/contrib/search/browser/AISearch/aiSearchModel.js +1 -1
  2764. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +36 -34
  2765. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchContributions.d.ts +1 -0
  2766. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchModel.d.ts +1 -1
  2767. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchModel.js +22 -11
  2768. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchModelBase.d.ts +1 -1
  2769. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +9 -9
  2770. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +2 -2
  2771. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +4 -4
  2772. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.d.ts +1 -0
  2773. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.js +15 -0
  2774. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.d.ts +40 -0
  2775. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +264 -0
  2776. package/vscode/src/vs/workbench/contrib/search/browser/search.common.contribution.d.ts +1 -0
  2777. package/vscode/src/vs/workbench/contrib/search/browser/search.common.contribution.js +148 -0
  2778. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  2779. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.d.ts +1 -0
  2780. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +41 -0
  2781. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  2782. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +11 -11
  2783. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  2784. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  2785. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  2786. package/vscode/src/vs/workbench/contrib/search/browser/searchQuickAccess.contribution.js +38 -0
  2787. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +15 -15
  2788. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/fileMatch.js +2 -2
  2789. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/folderMatch.d.ts +1 -1
  2790. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/match.js +2 -2
  2791. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/searchTreeCommon.d.ts +1 -1
  2792. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/searchTreeCommon.js +43 -24
  2793. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/textSearchHeading.js +1 -1
  2794. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +67 -67
  2795. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
  2796. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  2797. package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +4 -4
  2798. package/vscode/src/vs/workbench/contrib/search/common/constants.js +29 -29
  2799. package/vscode/src/vs/workbench/contrib/search/common/search.js +7 -7
  2800. package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.service.d.ts +1 -1
  2801. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +4 -4
  2802. package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +9 -9
  2803. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +1 -1
  2804. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +9 -9
  2805. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +15 -13
  2806. package/vscode/src/vs/workbench/contrib/share/common/share.service.d.ts +1 -1
  2807. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  2808. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.service.d.ts +1 -1
  2809. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -4
  2810. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +11 -11
  2811. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +3 -3
  2812. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +35 -35
  2813. package/vscode/src/vs/workbench/contrib/speech/common/speechService.service.d.ts +1 -1
  2814. package/vscode/src/vs/workbench/contrib/splash/browser/splash.service.d.ts +6 -0
  2815. package/vscode/src/vs/workbench/contrib/splash/browser/splash.service.js +6 -0
  2816. package/vscode/src/vs/workbench/contrib/tags/common/workspaceTags.service.d.ts +1 -1
  2817. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  2818. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +7 -7
  2819. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +12 -12
  2820. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.service.d.ts +1 -2
  2821. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  2822. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostOutputChannel.d.ts +22 -0
  2823. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostOutputChannel.js +48 -0
  2824. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostPty.d.ts +129 -0
  2825. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostPty.js +439 -0
  2826. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.d.ts +77 -0
  2827. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.js +345 -0
  2828. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service.d.ts +2 -2
  2829. package/vscode/src/vs/workbench/contrib/terminal/browser/ahpTerminalCommandSource.d.ts +111 -0
  2830. package/vscode/src/vs/workbench/contrib/terminal/browser/ahpTerminalCommandSource.js +138 -0
  2831. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +195 -0
  2832. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +788 -0
  2833. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.d.ts +1 -1
  2834. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.d.ts +28 -0
  2835. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +119 -0
  2836. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -3
  2837. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +2 -2
  2838. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.d.ts +104 -0
  2839. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +1643 -0
  2840. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.d.ts +19 -0
  2841. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +54 -0
  2842. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  2843. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIconPicker.d.ts +12 -0
  2844. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIconPicker.js +78 -0
  2845. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  2846. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +43 -43
  2847. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.d.ts +144 -0
  2848. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +806 -0
  2849. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalResizeDebouncer.d.ts +17 -0
  2850. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalResizeDebouncer.js +83 -0
  2851. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.d.ts +57 -0
  2852. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.js +139 -0
  2853. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.d.ts +45 -0
  2854. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +807 -0
  2855. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.d.ts +9 -0
  2856. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +75 -0
  2857. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.d.ts +18 -0
  2858. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.js +51 -0
  2859. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.d.ts +79 -0
  2860. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +652 -0
  2861. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  2862. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.d.ts +17 -0
  2863. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +61 -0
  2864. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.d.ts +64 -0
  2865. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +566 -0
  2866. package/vscode/src/vs/workbench/contrib/terminal/common/basePty.d.ts +38 -0
  2867. package/vscode/src/vs/workbench/contrib/terminal/common/basePty.js +127 -0
  2868. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.d.ts +1 -1
  2869. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.service.d.ts +2 -2
  2870. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -1
  2871. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +10 -10
  2872. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.d.ts +1 -1
  2873. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  2874. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +39 -39
  2875. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.d.ts +38 -0
  2876. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +321 -0
  2877. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.service.d.ts +1 -1
  2878. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStorageKeys.d.ts +12 -0
  2879. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStorageKeys.js +17 -0
  2880. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  2881. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +5 -5
  2882. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  2883. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +77 -77
  2884. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  2885. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  2886. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +1 -1
  2887. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/links.service.d.ts +1 -1
  2888. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
  2889. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service.d.ts +1 -1
  2890. package/vscode/src/vs/workbench/contrib/terminalContrib/resizeDimensionsOverlay/common/terminalResizeDimensionsOverlayConfiguration.js +1 -1
  2891. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/media/stickyScroll.css +49 -0
  2892. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.d.ts +2 -0
  2893. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.js +25 -0
  2894. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  2895. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.d.ts +1 -1
  2896. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +31 -31
  2897. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  2898. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  2899. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  2900. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.service.d.ts +1 -1
  2901. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +2 -2
  2902. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.service.d.ts +1 -1
  2903. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +12 -12
  2904. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.service.d.ts +1 -1
  2905. package/vscode/src/vs/workbench/contrib/testing/common/testService.service.d.ts +1 -2
  2906. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +9 -9
  2907. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.service.d.ts +1 -1
  2908. package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.service.d.ts +1 -2
  2909. package/vscode/src/vs/workbench/contrib/testing/common/testingPeekOpener.service.d.ts +1 -1
  2910. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +1 -1
  2911. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.service.d.ts +1 -2
  2912. package/vscode/src/vs/workbench/contrib/update/browser/media/updateTitleBarEntry.css +91 -0
  2913. package/vscode/src/vs/workbench/contrib/update/browser/media/updateTooltip.css +165 -0
  2914. package/vscode/src/vs/workbench/contrib/update/browser/releaseNotesEditor.d.ts +67 -0
  2915. package/vscode/src/vs/workbench/contrib/update/browser/releaseNotesEditor.js +646 -0
  2916. package/vscode/src/vs/workbench/contrib/update/browser/update.d.ts +65 -0
  2917. package/vscode/src/vs/workbench/contrib/update/browser/update.js +498 -0
  2918. package/vscode/src/vs/workbench/contrib/update/browser/updateTitleBarEntry.d.ts +64 -0
  2919. package/vscode/src/vs/workbench/contrib/update/browser/updateTitleBarEntry.js +396 -0
  2920. package/vscode/src/vs/workbench/contrib/update/browser/updateTooltip.d.ts +61 -0
  2921. package/vscode/src/vs/workbench/contrib/update/browser/updateTooltip.js +395 -0
  2922. package/vscode/src/vs/workbench/contrib/update/common/update.js +2 -2
  2923. package/vscode/src/vs/workbench/contrib/update/common/updateUtils.d.ts +61 -0
  2924. package/vscode/src/vs/workbench/contrib/update/common/updateUtils.js +129 -0
  2925. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  2926. package/vscode/src/vs/workbench/contrib/url/common/trustedDomainService.service.d.ts +1 -2
  2927. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  2928. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +3 -3
  2929. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  2930. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
  2931. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +3 -3
  2932. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +1 -1
  2933. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.service.d.ts +1 -1
  2934. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.js +1 -1
  2935. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +2 -2
  2936. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.service.d.ts +1 -1
  2937. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingService.service.d.ts +1 -1
  2938. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.js +12 -12
  2939. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  2940. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +2 -2
  2941. package/vscode/src/vs/workbench/services/activity/common/activity.service.d.ts +1 -1
  2942. package/vscode/src/vs/workbench/services/agentEditorComments/common/agentEditorComments.service.d.ts +1 -2
  2943. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.service.d.ts +1 -1
  2944. package/vscode/src/vs/workbench/services/agentHost/browser/codexAccountService.js +8 -5
  2945. package/vscode/src/vs/workbench/services/agentHost/browser/codexAccountService.service.d.ts +1 -1
  2946. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.service.d.ts +1 -1
  2947. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +1 -1
  2948. package/vscode/src/vs/workbench/services/authentication/browser/authenticationAccessService.service.d.ts +1 -1
  2949. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service.d.ts +1 -1
  2950. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.service.d.ts +1 -1
  2951. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
  2952. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +1 -2
  2953. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.d.ts +1 -1
  2954. package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service.d.ts +1 -1
  2955. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +7 -7
  2956. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.service.d.ts +1 -1
  2957. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +45 -45
  2958. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +1 -1
  2959. package/vscode/src/vs/workbench/services/configuration/common/configuration.service.d.ts +1 -1
  2960. package/vscode/src/vs/workbench/services/configuration/common/jsonEditing.service.d.ts +1 -1
  2961. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +1 -1
  2962. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  2963. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  2964. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  2965. package/vscode/src/vs/workbench/services/dataChannel/browser/dataChannelService.js +15 -15
  2966. package/vscode/src/vs/workbench/services/decorations/common/decorations.service.d.ts +1 -2
  2967. package/vscode/src/vs/workbench/services/driver/browser/driver.js +1 -1
  2968. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +17 -17
  2969. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.service.d.ts +1 -2
  2970. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +1 -1
  2971. package/vscode/src/vs/workbench/services/editor/common/editorPaneService.service.d.ts +1 -1
  2972. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +6 -6
  2973. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.service.d.ts +1 -2
  2974. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +1 -2
  2975. package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +1 -1
  2976. package/vscode/src/vs/workbench/services/environment/common/environmentService.service.d.ts +1 -1
  2977. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.service.d.ts +1 -1
  2978. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionGalleryAccount.service.d.ts +1 -1
  2979. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -2
  2980. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  2981. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -2
  2982. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +25 -19
  2983. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
  2984. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +13 -13
  2985. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +2 -2
  2986. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +1 -1
  2987. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +93 -93
  2988. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +2 -2
  2989. package/vscode/src/vs/workbench/services/files/common/elevatedFileService.service.d.ts +1 -1
  2990. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +6 -6
  2991. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -2
  2992. package/vscode/src/vs/workbench/services/history/common/history.service.d.ts +1 -1
  2993. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -1
  2994. package/vscode/src/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service.d.ts +1 -1
  2995. package/vscode/src/vs/workbench/services/language/common/languageService.js +27 -27
  2996. package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.service.d.ts +1 -1
  2997. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.service.d.ts +1 -1
  2998. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +1 -1
  2999. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.service.d.ts +1 -1
  3000. package/vscode/src/vs/workbench/services/log/common/defaultLogLevels.service.d.ts +1 -2
  3001. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  3002. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.js +6 -6
  3003. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.d.ts +1 -2
  3004. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.service.d.ts +1 -1
  3005. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  3006. package/vscode/src/vs/workbench/services/output/common/output.js +15 -15
  3007. package/vscode/src/vs/workbench/services/output/common/output.service.d.ts +1 -3
  3008. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.service.d.ts +1 -1
  3009. package/vscode/src/vs/workbench/services/path/common/pathService.service.d.ts +1 -1
  3010. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.js +3 -3
  3011. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.service.d.ts +1 -1
  3012. package/vscode/src/vs/workbench/services/power/common/powerService.service.d.ts +1 -1
  3013. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  3014. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +12 -12
  3015. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -2
  3016. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  3017. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +15 -15
  3018. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +38 -34
  3019. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  3020. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.service.d.ts +1 -1
  3021. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +20 -16
  3022. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -3
  3023. package/vscode/src/vs/workbench/services/search/common/ignoreFile.js +31 -33
  3024. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +21 -19
  3025. package/vscode/src/vs/workbench/services/search/common/search.js +5 -5
  3026. package/vscode/src/vs/workbench/services/search/common/searchExtConversionTypes.js +15 -13
  3027. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +5 -5
  3028. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +3 -3
  3029. package/vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.service.d.ts +1 -1
  3030. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  3031. package/vscode/src/vs/workbench/services/textMate/common/TMHelper.js +1 -1
  3032. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +1 -1
  3033. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  3034. package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +1 -1
  3035. package/vscode/src/vs/workbench/services/themes/browser/modernTabColorCustomizations.d.ts +1 -0
  3036. package/vscode/src/vs/workbench/services/themes/browser/modernTabColorCustomizations.js +255 -0
  3037. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +20 -20
  3038. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +14 -14
  3039. package/vscode/src/vs/workbench/services/themes/common/hostColorSchemeService.service.d.ts +1 -1
  3040. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  3041. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +26 -26
  3042. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.service.d.ts +1 -1
  3043. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.service.d.ts +1 -2
  3044. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.service.d.ts +1 -1
  3045. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +3 -3
  3046. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +5 -5
  3047. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.service.d.ts +1 -2
  3048. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  3049. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +19 -19
  3050. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.service.d.ts +1 -2
  3051. package/vscode/src/vs/workbench/services/views/common/viewsService.service.d.ts +1 -1
  3052. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  3053. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
  3054. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +1 -2
  3055. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistory.service.d.ts +1 -2
  3056. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -2
  3057. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -2
  3058. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +13 -13
  3059. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.d.ts +0 -7
  3060. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +0 -32
  3061. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.d.ts +0 -44
  3062. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.js +0 -62
  3063. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +0 -55
  3064. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.d.ts +0 -13
  3065. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +0 -63
  3066. /package/vscode/src/vs/{platform/meteredConnection/common/meteredConnection.config.contribution.d.ts → workbench/browser/parts/titlebar/menubar.contribution.d.ts} +0 -0
  3067. /package/vscode/src/vs/workbench/contrib/{meteredConnection/browser/meteredConnection.contribution.d.ts → search/browser/searchQuickAccess.contribution.d.ts} +0 -0
@@ -0,0 +1,4571 @@
1
+
2
+ import { __decorate, __param } from '../../../../../../../../../external/tslib/tslib.es6.js';
3
+ import { $ as $$1, isAncestorOfActiveElement, clearNode, h, hide, append, addDisposableListener, EventType, getWindow, addStandardDisposableListener, isHTMLElement, AnimationFrameScheduler, DisposableResizeObserver, setVisibility, isKeyboardEvent, getActiveElement, show, scheduleAtNextAnimationFrame, getTotalWidth } from '../../../../../../base/browser/dom.js';
4
+ import { DEFAULT_FONT_FAMILY } from '../../../../../../base/browser/fonts.js';
5
+ import { hasModifierKeys } from '../../../../../../base/browser/keyboardEvent.js';
6
+ import { ActionViewItem, BaseActionViewItem } from '../../../../../../base/browser/ui/actionbar/actionViewItems.js';
7
+ import { status } from '../../../../../../base/browser/ui/aria/aria.js';
8
+ import { ButtonWithIcon } from '../../../../../../base/browser/ui/button/button.js';
9
+ import { createInstantHoverDelegate } from '../../../../../../base/browser/ui/hover/hoverDelegateFactory.js';
10
+ import { equals } from '../../../../../../base/common/arrays.js';
11
+ import { RunOnceScheduler, DeferredPromise } from '../../../../../../base/common/async.js';
12
+ import { isDefined } from '../../../../../../base/common/types.js';
13
+ import { CancellationToken } from '../../../../../../base/common/cancellation.js';
14
+ import { Codicon } from '../../../../../../base/common/codicons.js';
15
+ import { Emitter, Event } from '../../../../../../base/common/event.js';
16
+ import { onUnexpectedError } from '../../../../../../base/common/errors.js';
17
+ import { Iterable } from '../../../../../../base/common/iterator.js';
18
+ import { KeyCode } from '../../../../../../base/common/keyCodes.js';
19
+ import { Lazy } from '../../../../../../base/common/lazy.js';
20
+ import { Disposable, DisposableStore, toDisposable, MutableDisposable, DisposableMap } from '../../../../../../base/common/lifecycle.js';
21
+ import { ResourceSet } from '../../../../../../base/common/map.js';
22
+ import { MarshalledId } from '../../../../../../base/common/marshallingIds.js';
23
+ import { Schemas } from '../../../../../../base/common/network.js';
24
+ import { mixin } from '../../../../../../base/common/objects.js';
25
+ import '../../../../../../base/common/observableInternal/index.js';
26
+ import { isMacintosh } from '../../../../../../base/common/platform.js';
27
+ import { isEqual } from '../../../../../../base/common/resources.js';
28
+ import { ScrollbarVisibility } from '../../../../../../base/common/scrollable.js';
29
+ import { ThemeIcon } from '../../../../../../base/common/themables.js';
30
+ import { URI } from '../../../../../../base/common/uri.js';
31
+ import { EditorExtensionsRegistry } from '../../../../../../editor/browser/editorExtensions.js';
32
+ import { CodeEditorWidget } from '../../../../../../editor/browser/widget/codeEditor/codeEditorWidget.js';
33
+ import { EditorOptions } from '../../../../../../editor/common/config/editorOptions.js';
34
+ import { EDITOR_FONT_DEFAULTS } from '../../../../../../editor/common/config/fontInfo.js';
35
+ import { Range } from '../../../../../../editor/common/core/range.js';
36
+ import { isLocation } from '../../../../../../editor/common/languages.js';
37
+ import { IModelService } from '../../../../../../editor/common/services/model.service.js';
38
+ import { ITextModelService } from '../../../../../../editor/common/services/resolverService.service.js';
39
+ import { CopyPasteController } from '../../../../../../editor/contrib/dropOrPasteInto/browser/copyPasteController.js';
40
+ import { DropIntoEditorController } from '../../../../../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js';
41
+ import { ContentHoverController } from '../../../../../../editor/contrib/hover/browser/contentHoverController.js';
42
+ import { GlyphHoverController } from '../../../../../../editor/contrib/hover/browser/glyphHoverController.js';
43
+ import { LinkDetector } from '../../../../../../editor/contrib/links/browser/links.js';
44
+ import { SuggestController } from '../../../../../../editor/contrib/suggest/browser/suggestController.js';
45
+ import { localize } from '../../../../../../nls.js';
46
+ import { IAccessibilityService } from '../../../../../../platform/accessibility/common/accessibility.service.js';
47
+ import { MenuWorkbenchButtonBar } from '../../../../../../platform/actions/browser/buttonbar.js';
48
+ import { IActionViewItemService } from '../../../../../../platform/actions/browser/actionViewItemService.service.js';
49
+ import { MenuEntryActionViewItem } from '../../../../../../platform/actions/browser/menuEntryActionViewItem.js';
50
+ import { MenuWorkbenchToolBar, HiddenItemStrategy } from '../../../../../../platform/actions/browser/toolbar.js';
51
+ import { MenuId, MenuItemAction } from '../../../../../../platform/actions/common/actions.js';
52
+ import { IConfigurationService } from '../../../../../../platform/configuration/common/configuration.service.js';
53
+ import { RawContextKey, ContextKeyExpr } from '../../../../../../platform/contextkey/common/contextkey.js';
54
+ import { IContextKeyService } from '../../../../../../platform/contextkey/common/contextkey.service.js';
55
+ import { IDialogService } from '../../../../../../platform/dialogs/common/dialogs.service.js';
56
+ import { IFileService } from '../../../../../../platform/files/common/files.service.js';
57
+ import { registerAndCreateHistoryNavigationContext } from '../../../../../../platform/history/browser/contextScopedHistoryWidget.js';
58
+ import { IInstantiationService } from '../../../../../../platform/instantiation/common/instantiation.js';
59
+ import { ServiceCollection } from '../../../../../../platform/instantiation/common/serviceCollection.js';
60
+ import { IKeybindingService } from '../../../../../../platform/keybinding/common/keybinding.service.js';
61
+ import { canLog, LogLevel } from '../../../../../../platform/log/common/log.js';
62
+ import { ILogService } from '../../../../../../platform/log/common/log.service.js';
63
+ import { observableMemento } from '../../../../../../platform/observable/common/observableMemento.js';
64
+ import { bindContextKey } from '../../../../../../platform/observable/common/platformObservableUtils.js';
65
+ import { IVoiceModeOnboardingService } from '../../../../agentsVoice/browser/voiceModeOnboarding.service.js';
66
+ import { StorageScope, StorageTarget } from '../../../../../../platform/storage/common/storage.js';
67
+ import { IStorageService } from '../../../../../../platform/storage/common/storage.service.js';
68
+ import { IThemeService } from '../../../../../../platform/theme/common/themeService.service.js';
69
+ import { ISharedWebContentExtractorService } from '../../../../../../platform/webContentExtractor/common/webContentExtractor.service.js';
70
+ import { WorkbenchState } from '../../../../../../platform/workspace/common/workspace.js';
71
+ import { IWorkspaceContextService } from '../../../../../../platform/workspace/common/workspace.service.js';
72
+ import { ISCMService } from '../../../../scm/common/scm.service.js';
73
+ import { Position } from '../../../../../services/layout/browser/layoutService.js';
74
+ import { IWorkbenchLayoutService } from '../../../../../services/layout/browser/layoutService.service.js';
75
+ import { ViewContainerLocation } from '../../../../../common/views.js';
76
+ import { IViewDescriptorService } from '../../../../../common/views.service.js';
77
+ import { ResourceLabels } from '../../../../../browser/labels.js';
78
+ import { IChatEntitlementService } from '../../../../../services/chat/common/chatEntitlementService.service.js';
79
+ import { SIDE_GROUP, ACTIVE_GROUP } from '../../../../../services/editor/common/editorService.js';
80
+ import { IEditorService } from '../../../../../services/editor/common/editorService.service.js';
81
+ import { IWorkbenchEnvironmentService } from '../../../../../services/environment/common/environmentService.service.js';
82
+ import { AccessibilityVerbositySettingId } from '../../../../accessibility/browser/accessibilityConfiguration.js';
83
+ import { AccessibilityCommandId } from '../../../../accessibility/common/accessibilityCommands.js';
84
+ import { getSimpleEditorOptions, getSimpleCodeEditorWidgetOptions, setupSimpleEditorSelectionStyling } from '../../../../codeEditor/browser/simpleEditorOptions.js';
85
+ import { ChatContextKeys } from '../../../common/actions/chatContextKeys.js';
86
+ import { ChatRequestVariableSet, isImageVariableEntry, isExplicitFileOrImageVariableEntry, getImageAttachmentLimit, OmittedState, isNotebookOutputVariableEntry, isPromptFileVariableEntry, isPromptTextVariableEntry, isElementVariableEntry, isPasteVariableEntry, isSCMHistoryItemVariableEntry, isSCMHistoryItemChangeVariableEntry, isSCMHistoryItemChangeRangeVariableEntry, isBrowserViewVariableEntry, isPastedTextArtifact, isAgentHostCompletionVariableEntry } from '../../../common/attachments/chatVariableEntries.js';
87
+ import { getModeNameForTelemetry, ChatMode } from '../../../common/chatModes.js';
88
+ import { IChatModeService } from '../../../common/chatModes.service.js';
89
+ import { IChatService } from '../../../common/chatService/chatService.service.js';
90
+ import { SessionType, localChatSessionType, isAgentHostTarget, isIChatSessionFileChange2 } from '../../../common/chatSessionsService.js';
91
+ import { IChatSessionsService } from '../../../common/chatSessionsService.service.js';
92
+ import { getStoredSelectedModel, storeSelectedModel } from '../../../common/chatSelectedModel.js';
93
+ import { ChatAgentLocation, ChatModeKind, ChatConfiguration, ChatPermissionLevel, isChatPermissionLevel } from '../../../common/constants.js';
94
+ import { isAutoApproveValuePolicyRestricted, isAutoApprovePolicyRestricted } from '../../../common/agentHostConfigPolicy.js';
95
+ import { ModifiedFileEntryState } from '../../../common/editing/chatEditingService.js';
96
+ import { ILanguageModelChatMetadata } from '../../../common/languageModels.js';
97
+ import { ILanguageModelsService } from '../../../common/languageModels.service.js';
98
+ import { ChatInputModelSelectionController } from './chatInputModelSelectionController.js';
99
+ import { ChatModelConfigurationStore } from './chatModelConfigurationStore.js';
100
+ import { ChatModelSelectionDiagnostics } from './chatModelSelectionDiagnostics.js';
101
+ import { deserializeUntitledInputState, serializeUntitledInputState, deserializeUntitledInputAttachments, serializeUntitledInputAttachments } from './chatInputStatePersistence.js';
102
+ import { IntendedModelSlot, logChangesToStateModel, ChatInputStateOrigin } from '../../../common/model/chatModel.js';
103
+ import { ModelSelectionReason, isInConversationModelChoice, resolveConfiguredModel } from '../../../common/modelSelection.js';
104
+ import { isSessionStarted, isModelSupportedForMode, isModelSupportedForInlineChat, hasModelsTargetingSession, filterModelsForSession, shouldResetOnModelListChange, isNewConversation, shouldRestorePerTypeModelOnSessionSwitch, mergeModelsWithCache, isModelHiddenInPicker, shouldDropAgnosticDraftModel } from './chatInputModelUtils.js';
105
+ import { LocalChatSessionUri, getChatSessionType, isUntitledChatSession } from '../../../common/model/chatUri.js';
106
+ import { isResponseVM } from '../../../common/model/chatViewModel.js';
107
+ import { IChatAgentService } from '../../../common/participants/chatAgents.service.js';
108
+ import { ILanguageModelToolsService } from '../../../common/tools/languageModelToolsService.service.js';
109
+ import { ChatHistoryNavigator } from '../../../common/widget/chatWidgetHistoryService.js';
110
+ import { OpenModelPickerAction, ChatSubmitAction, OpenModePickerAction, OpenSessionTargetPickerAction, OpenDelegationPickerAction, ChatSessionPrimaryPickerAction, ChatEditingSessionSubmitAction, OpenWorkspacePickerAction, OpenPermissionPickerAction } from '../../actions/chatExecuteActions.js';
111
+ import { ChatVoiceInputModeAction, VoiceInputModeActionViewItem } from '../../voiceInputMode/voiceInputModeActionViewItem.js';
112
+ import { ChatSpeechToTextPreparingAction, ChatSpeechToTextConnectingAction, ToggleChatSpeechToTextAction } from '../../actions/chatSpeechToTextActions.js';
113
+ import { DictationActionViewItem } from '../../speechToText/dictationActionViewItem.js';
114
+ import { DictationDownloadActionViewItem } from '../../speechToText/dictationDownloadActionViewItem.js';
115
+ import { ChatSpeechToTextState } from '../../speechToText/chatSpeechToTextService.js';
116
+ import { IChatSpeechToTextService } from '../../speechToText/chatSpeechToTextService.service.js';
117
+ import { IDictationOnboardingService } from '../../speechToText/dictationOnboarding.service.js';
118
+ import { notifyDictationSubmitted, onDidChangeDictationEditor, isDictationActiveForEditor } from '../../speechToText/dictationSession.js';
119
+ import { VoiceModeActionViewItem } from '../../voiceClient/voiceModeActionViewItem.js';
120
+ import { isVoiceSessionActiveForInput } from '../../voiceClient/voiceSessionController.js';
121
+ import { IVoiceSessionController } from '../../voiceClient/voiceSessionController.service.js';
122
+ import { getAgentSessionProvider, AgentSessionProviders } from '../../agentSessions/agentSessions.js';
123
+ import { getAgentSessionPullRequestContextValue } from '../../agentSessions/agentSessionsModel.js';
124
+ import { IAgentSessionsService } from '../../agentSessions/agentSessionsService.service.js';
125
+ import { ChatAttachmentModel } from '../../attachments/chatAttachmentModel.js';
126
+ import { IChatAttachmentWidgetRegistry } from '../../attachments/chatAttachmentWidgetRegistry.service.js';
127
+ import { ToolSetOrToolItemAttachmentWidget, NotebookCellOutputChatAttachmentWidget, PromptFileAttachmentWidget, PromptTextAttachmentWidget, FileAttachmentWidget, TerminalCommandAttachmentWidget, ImageAttachmentWidget, ElementChatAttachmentWidget, PasteAttachmentWidget, SCMHistoryItemAttachmentWidget, SCMHistoryItemChangeAttachmentWidget, SCMHistoryItemChangeRangeAttachmentWidget, BrowserViewAttachmentWidget, DefaultChatAttachmentWidget } from '../../attachments/chatAttachmentWidgets.js';
128
+ import { ChatImplicitContexts } from '../../attachments/chatImplicitContext.js';
129
+ import { isImplicitContextAlreadyAttached, ImplicitContextAttachmentWidget } from '../../attachments/implicitContextAttachment.js';
130
+ import { isIChatResourceViewContext, isIChatViewViewContext } from '../../chat.js';
131
+ import { IChatWidgetService } from '../../chat.service.js';
132
+ import { ChatEditingShowChangesAction, ViewPreviousEditsAction } from '../../chatEditing/chatEditingActions.js';
133
+ import { resizeImage } from '../../chatImageUtils.js';
134
+ import { ChatSessionPickerActionItem } from '../../chatSessions/chatSessionPickerActionItem.js';
135
+ import { AgentHostChatInputPicker, AgentHostChatInputPickerActionViewItem } from '../../agentSessions/agentHost/agentHostChatInputPicker.js';
136
+ import { OpenAgentHostModePickerAction, OpenAgentHostAutoApprovePickerAction, OpenAgentHostPermissionModePickerAction, OpenAgentHostCodexApprovalsPickerAction, OpenAgentHostFolderPickerAction, getAgentHostPickerProperty } from '../../agentSessions/agentHost/agentHostChatInputPicker.contribution.js';
137
+ import { AgentHostGenericConfigChips } from '../../agentSessions/agentHost/agentHostGenericConfigChips.js';
138
+ import { AgentHostFolderPickerActionItem } from '../../agentSessions/agentHost/agentHostFolderPickerActionItem.js';
139
+ import { MobileChatInputCombinedPickerActionItem } from './chatPhoneInputPresenter.js';
140
+ import { IChatPhoneInputPresenter } from './chatPhoneInputPresenter.service.js';
141
+ import { IChatContextService } from '../../contextContrib/chatContextService.service.js';
142
+ import { ChatPlanReviewPart } from '../chatContentParts/chatPlanReviewPart.js';
143
+ import { ChatQuestionCarouselPart } from '../chatContentParts/chatQuestionCarouselPart.js';
144
+ import { ChatToolConfirmationCarouselPart } from '../chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js';
145
+ import { CollapsibleListPool } from '../chatContentParts/chatReferencesContentPart.js';
146
+ import { ChatTodoListWidget } from '../chatContentParts/chatTodoListWidget.js';
147
+ import { ChatArtifactsWidget } from '../chatArtifactsWidget.js';
148
+ import { isTerminalCommandPaste, isTerminalCommandInput, handleTerminalCommandPaste } from '../../chatTerminalCommandPaste.js';
149
+ import { ChatDynamicVariableModel } from '../../attachments/chatDynamicVariables.js';
150
+ import { ChatDragAndDrop } from '../chatDragAndDrop.js';
151
+ import { getChatPetPillPlatformTop, getChatPetStackPlatformTop } from '../chatPetWidget.js';
152
+ import { ChatFollowups } from './chatFollowups.js';
153
+ import { IChatInputNotificationService } from './chatInputNotificationService.service.js';
154
+ import { ChatGoalBannerWidget } from './chatGoalBannerWidget.js';
155
+ import { ChatInputNotificationWidget } from './chatInputNotificationWidget.js';
156
+ import { ChatInputNoticeHost, ChatInputNoticeLane } from './chatInputNoticeHost.js';
157
+ import { registerChatInputOnboardingHosts } from './chatInputOnboardingHosts.js';
158
+ import { IChatInputNoticeHubService } from './chatInputNoticeHub.service.js';
159
+ import { isChatInputPickerResponsiveState, ChatInputPickerResponsiveLayout } from './chatInputPickerResponsiveLayout.js';
160
+ import { chatInputSurfaceStackClass, chatInputSurfaceStackSlotClass, chatInputStackClass, chatInputStackSlotClass, setChatInputStackInputFocused, setChatInputStackSlot, ChatInputStackSlot } from './chatInputStack.js';
161
+ import { ChatSessionArchiveNudge } from './chatSessionArchiveNudge.js';
162
+ import { ChatSelectedTools } from './chatSelectedTools.js';
163
+ import { didExplicitlySwitchChatPetModel, ChatPetAchievementIds } from '../../chatPetAchievements.js';
164
+ import { IChatPetService } from '../../chatPetService.service.js';
165
+ import { DelegationSessionPickerActionItem } from './delegationSessionPickerActionItem.js';
166
+ import { ModelPickerActionItem } from './modelPicker/modelPickerActionItem.js';
167
+ import { ModePickerActionItem } from './modePickerActionItem.js';
168
+ import { PermissionPickerActionItem } from './permissionPickerActionItem.js';
169
+ import { SessionTypePickerActionItem } from './sessionTargetPickerActionItem.js';
170
+ import { WorkspacePickerActionItem } from './workspacePickerActionItem.js';
171
+ import { ChatContextUsageWidget } from '../../widgetHosts/viewPane/chatContextUsageWidget.js';
172
+ import { Target } from '../../../common/promptSyntax/promptTypes.js';
173
+ import { ConfigureToolsAction } from '../../actions/chatToolActions.js';
174
+ import { InlineCompletionsController } from '../../../../../../editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js';
175
+ import { PlaceholderTextContribution } from '../../../../../../editor/contrib/placeholderText/browser/placeholderTextContribution.js';
176
+ import { observableValue } from '../../../../../../base/common/observableInternal/observables/observableValue.js';
177
+ import { derived, derivedOpts } from '../../../../../../base/common/observableInternal/observables/derived.js';
178
+ import { observableSignalFromEvent } from '../../../../../../base/common/observableInternal/observables/observableSignalFromEvent.js';
179
+ import { autorun } from '../../../../../../base/common/observableInternal/reactions/autorun.js';
180
+ import { constObservable } from '../../../../../../base/common/observableInternal/observables/constObservable.js';
181
+ import { transaction } from '../../../../../../base/common/observableInternal/transaction.js';
182
+ import { observableFromEvent } from '../../../../../../base/common/observableInternal/observables/observableFromEvent.js';
183
+
184
+ var ChatInputPart_1;
185
+ const $ = $$1;
186
+ const INPUT_EDITOR_MAX_HEIGHT = 250;
187
+ const INPUT_EDITOR_LINE_HEIGHT = 20;
188
+ const INPUT_EDITOR_PADDING = {
189
+ compact: {
190
+ top: 2,
191
+ bottom: 2
192
+ },
193
+ default: {
194
+ top: 12,
195
+ bottom: 12
196
+ }
197
+ };
198
+ const CachedLanguageModelsKey = "chat.cachedLanguageModels.v2";
199
+ const PERMISSION_LEVEL_OPTION_ID = "permissionLevel";
200
+ const CHAT_INPUT_COMPACT_PICKER_WIDTH = 22;
201
+ function getToolbarPickerResponsiveItems(toolbar, compactStates, minimalStates) {
202
+ const items = [];
203
+ const visibleActionIds = ( new Set());
204
+ for (let index = 0; index < toolbar.getItemsLength(); index++) {
205
+ const action = toolbar.getItemAction(index);
206
+ const state = action && compactStates.get(action.id);
207
+ const minimalState = action && minimalStates?.get(action.id);
208
+ const viewItem = toolbar.getItemViewItem(index);
209
+ const viewItemState = isChatInputPickerResponsiveState(viewItem) ? viewItem : undefined;
210
+ if (!action || (!state && !viewItemState)) {
211
+ continue;
212
+ }
213
+ visibleActionIds.add(action.id);
214
+ const element = toolbar.getItemElement(index);
215
+ items.push({
216
+ element,
217
+ canShrink: action.id === OpenModelPickerAction.ID,
218
+ isCompact: () => viewItemState?.isCompact() ?? state.get(),
219
+ isMinimal: minimalState ? () => minimalState.get() : undefined,
220
+ setCompact: compact => {
221
+ state?.set(compact, undefined);
222
+ viewItemState?.setCompact(compact);
223
+ element?.classList.toggle("compact-picker", compact);
224
+ },
225
+ setMinimal: minimalState ? minimal => minimalState.set(minimal, undefined) : undefined
226
+ });
227
+ }
228
+ for (const [actionId, state] of compactStates) {
229
+ if (!( visibleActionIds.has(actionId))) {
230
+ const minimalState = minimalStates?.get(actionId);
231
+ items.push({
232
+ element: undefined,
233
+ isCompact: () => state.get(),
234
+ isMinimal: minimalState ? () => minimalState.get() : undefined,
235
+ setCompact: compact => state.set(compact, undefined),
236
+ setMinimal: minimalState ? minimal => minimalState.set(minimal, undefined) : undefined
237
+ });
238
+ }
239
+ }
240
+ return items;
241
+ }
242
+ function isShowableActionViewItem(item) {
243
+ return !!item && "show" in item && typeof item.show === "function";
244
+ }
245
+ function createOverflowAction(action, run) {
246
+ return {
247
+ id: action.id,
248
+ label: action.label,
249
+ tooltip: action.tooltip,
250
+ class: action.class,
251
+ enabled: action.enabled,
252
+ checked: action.checked,
253
+ run
254
+ };
255
+ }
256
+ var ChatWidgetLocation;
257
+ (function(ChatWidgetLocation) {
258
+ ChatWidgetLocation["SidebarLeft"] = "sidebarLeft";
259
+ ChatWidgetLocation["SidebarRight"] = "sidebarRight";
260
+ ChatWidgetLocation["Panel"] = "panel";
261
+ ChatWidgetLocation["Editor"] = "editor";
262
+ })(ChatWidgetLocation || (ChatWidgetLocation = {}));
263
+ const LEGACY_SHARED_INPUT_STATE_TAGS = ( new Set(["view", "editor", "quick"]));
264
+ function getInputStateStorageKey(widgetViewKindTag) {
265
+ if (( LEGACY_SHARED_INPUT_STATE_TAGS.has(widgetViewKindTag))) {
266
+ return "chat.untitledInputState";
267
+ }
268
+ return `chat.untitledInputState.${widgetViewKindTag}`;
269
+ }
270
+ function createEmptyInputStateMemento(widgetViewKindTag) {
271
+ return observableMemento({
272
+ defaultValue: undefined,
273
+ key: getInputStateStorageKey(widgetViewKindTag),
274
+ toStorage: serializeUntitledInputState,
275
+ fromStorage(value) {
276
+ const obj = deserializeUntitledInputState(value);
277
+ if (obj.selectedModel && !obj.selectedModel.metadata.isDefaultForLocation) {
278
+ const oldIsDefault = obj.selectedModel.metadata.isDefault;
279
+ const isDefaultForLocation = {
280
+ [ChatAgentLocation.Chat]: Boolean(oldIsDefault)
281
+ };
282
+ mixin(obj.selectedModel.metadata, {
283
+ isDefaultForLocation: isDefaultForLocation
284
+ });
285
+ delete obj.selectedModel.metadata.isDefault;
286
+ }
287
+ return obj;
288
+ }
289
+ });
290
+ }
291
+ const emptyInputAttachments = observableMemento({
292
+ defaultValue: [],
293
+ key: "chat.untitledInputAttachments",
294
+ toStorage: serializeUntitledInputAttachments,
295
+ fromStorage: deserializeUntitledInputAttachments
296
+ });
297
+ let ChatInputPart = class ChatInputPart extends Disposable {
298
+ static {
299
+ ChatInputPart_1 = this;
300
+ }
301
+ static {
302
+ this._counter = 0;
303
+ }
304
+ get attachmentModel() {
305
+ return this._attachmentModel;
306
+ }
307
+ getAttachedContext() {
308
+ const contextArr = ( new ChatRequestVariableSet());
309
+ contextArr.add(
310
+ ...this.attachmentModel.attachments,
311
+ ...this.chatContextService.getWorkspaceContextItems()
312
+ );
313
+ return contextArr;
314
+ }
315
+ getAttachedAndImplicitContext() {
316
+ const contextArr = this.getAttachedContext();
317
+ if (this.implicitContext) {
318
+ const implicitChatVariables = this.implicitContext.enabledBaseEntries(
319
+ this.configurationService.getValue("chat.implicitContext.suggestedContext")
320
+ );
321
+ contextArr.add(...implicitChatVariables);
322
+ }
323
+ return contextArr;
324
+ }
325
+ get implicitContext() {
326
+ return this._implicitContext;
327
+ }
328
+ get inputContainerElement() {
329
+ return this.inputContainer;
330
+ }
331
+ get inputRowHeight() {
332
+ return this.inputAndSideToolbar.offsetHeight;
333
+ }
334
+ get persistentContentContainerElement() {
335
+ return this.persistentContentContainer;
336
+ }
337
+ get hasSessionArchiveNudge() {
338
+ return !!this.sessionArchiveNudgeWidget.value;
339
+ }
340
+ setSessionArchiveNudge(options) {
341
+ this.sessionArchiveNudgeOptions = options;
342
+ if (!this.sessionArchiveNudgeContainer) {
343
+ return;
344
+ }
345
+ if (!options) {
346
+ const restoreFocus = this.sessionArchiveNudgeWidget.value && isAncestorOfActiveElement(this.sessionArchiveNudgeWidget.value.domNode);
347
+ this.sessionArchiveNudgeWidget.clear();
348
+ if (restoreFocus) {
349
+ this.focus();
350
+ }
351
+ return;
352
+ }
353
+ const widgetOptions = {
354
+ ...options,
355
+ onDismiss: () => {
356
+ this.focus();
357
+ this.setSessionArchiveNudge(undefined);
358
+ options.onDismiss();
359
+ }
360
+ };
361
+ if (this.sessionArchiveNudgeWidget.value) {
362
+ this.sessionArchiveNudgeWidget.value.setOptions(widgetOptions);
363
+ } else {
364
+ const widget = this.sessionArchiveNudgeWidget.value = this.instantiationService.createInstance(ChatSessionArchiveNudge, widgetOptions);
365
+ this.sessionArchiveNudgeContainer.appendChild(widget.domNode);
366
+ }
367
+ }
368
+ get gettingStartedTipContainerElement() {
369
+ return this.chatGettingStartedTipContainer;
370
+ }
371
+ registerChatPetHorizontalPlatformProvider(provider) {
372
+ this._chatPetHorizontalPlatformProviders.add(provider);
373
+ const store = ( new DisposableStore());
374
+ store.add(
375
+ provider.onDidChange(() => this._onDidChangeChatPetHorizontalPlatforms.fire())
376
+ );
377
+ store.add(toDisposable(() => {
378
+ this._chatPetHorizontalPlatformProviders.delete(provider);
379
+ this._onDidChangeChatPetHorizontalPlatforms.fire();
380
+ }));
381
+ this._onDidChangeChatPetHorizontalPlatforms.fire();
382
+ return store;
383
+ }
384
+ getChatPetPlatformTop(petCenterX) {
385
+ if (petCenterX !== undefined) {
386
+ const pillBounds = [];
387
+ for (const provider of this._chatPetHorizontalPlatformProviders) {
388
+ for (const element of provider.getElements()) {
389
+ pillBounds.push(element.getBoundingClientRect());
390
+ }
391
+ }
392
+ const pillTop = getChatPetPillPlatformTop(petCenterX, pillBounds);
393
+ if (pillTop !== undefined) {
394
+ return pillTop;
395
+ }
396
+ }
397
+ return getChatPetStackPlatformTop(this.container, this.inputContainer, this.persistentContentContainer);
398
+ }
399
+ get _intentHolder() {
400
+ return this._inputModel ?? this._unboundIntent;
401
+ }
402
+ _restoreReasonFor(model) {
403
+ const intended = this._intentHolder.intendedModel;
404
+ return intended?.modelId === model.identifier && isInConversationModelChoice(intended.reason) ? ModelSelectionReason.RestoredChoice : ModelSelectionReason.SessionRestore;
405
+ }
406
+ get inputEditor() {
407
+ return this._inputEditor;
408
+ }
409
+ setHistoryKey(historyKey) {
410
+ this.history.setHistoryKey(historyKey);
411
+ }
412
+ get currentLanguageModel() {
413
+ return this._currentLanguageModel.get()?.identifier;
414
+ }
415
+ get selectedLanguageModel() {
416
+ return this._currentLanguageModel;
417
+ }
418
+ get availableLanguageModels() {
419
+ return this.getModels();
420
+ }
421
+ get currentModeKind() {
422
+ const mode = this._currentModeObservable.get();
423
+ return mode.kind === ChatModeKind.Agent && !this.agentService.hasToolsAgent ? ChatModeKind.Edit : mode.kind;
424
+ }
425
+ get currentModeObs() {
426
+ return this._currentModeObservable;
427
+ }
428
+ get currentChatModesObs() {
429
+ return this._currentChatModesObservable;
430
+ }
431
+ get currentPermissionLevelObs() {
432
+ return this._currentPermissionLevel;
433
+ }
434
+ get currentModeInfo() {
435
+ const mode = this._currentModeObservable.get();
436
+ const modeId = mode.isBuiltin ? this.currentModeKind : "custom";
437
+ const modeInstructions = mode.modeInstructions?.get();
438
+ return {
439
+ kind: this.currentModeKind,
440
+ isBuiltin: mode.isBuiltin,
441
+ modeInstructions: modeInstructions ? {
442
+ uri: mode.uri?.get(),
443
+ name: mode.name.get(),
444
+ content: modeInstructions.content,
445
+ toolReferences: this.toolService.toToolReferences(modeInstructions.toolReferences),
446
+ allowedSubagents: mode.agents?.get(),
447
+ metadata: modeInstructions.metadata,
448
+ isBuiltin: mode.isBuiltin
449
+ } : undefined,
450
+ telemetryModeId: modeId,
451
+ telemetryModeName: getModeNameForTelemetry(mode),
452
+ applyCodeBlockSuggestionId: undefined,
453
+ permissionLevel: this._currentPermissionLevel.get()
454
+ };
455
+ }
456
+ get selectedElements() {
457
+ const edits = [];
458
+ const editsList = this._chatEditList?.object;
459
+ const selectedElements = editsList?.getSelectedElements() ?? [];
460
+ for (const element of selectedElements) {
461
+ if (element.kind === "reference" && URI.isUri(element.reference)) {
462
+ edits.push(element.reference);
463
+ }
464
+ }
465
+ return edits;
466
+ }
467
+ get attemptedWorkingSetEntriesCount() {
468
+ return this._attemptedWorkingSetEntriesCount;
469
+ }
470
+ get pendingDelegationTarget() {
471
+ return this._pendingDelegationTarget;
472
+ }
473
+ get _pendingDelegationTarget() {
474
+ return this._pendingDelegationTargetObservable.get();
475
+ }
476
+ set _pendingDelegationTarget(value) {
477
+ this._pendingDelegationTargetObservable.set(value, undefined);
478
+ }
479
+ get _currentSessionType() {
480
+ return this._currentSessionTypeObservable.get();
481
+ }
482
+ set _currentSessionType(value) {
483
+ this._currentSessionTypeObservable.set(value, undefined);
484
+ }
485
+ constructor(
486
+ location,
487
+ options,
488
+ styles,
489
+ inline,
490
+ modelService,
491
+ instantiationService,
492
+ contextKeyService,
493
+ configurationService,
494
+ keybindingService,
495
+ accessibilityService,
496
+ languageModelsService,
497
+ logService,
498
+ fileService,
499
+ editorService,
500
+ themeService,
501
+ textModelResolverService,
502
+ storageService,
503
+ dialogService,
504
+ agentService,
505
+ sharedWebExtracterService,
506
+ entitlementService,
507
+ chatModeService,
508
+ toolService,
509
+ chatSessionsService,
510
+ chatContextService,
511
+ agentSessionsService,
512
+ speechToTextService,
513
+ dictationOnboardingService,
514
+ chatInputNoticeHubService,
515
+ workspaceContextService,
516
+ scmService,
517
+ layoutService,
518
+ viewDescriptorService,
519
+ _chatAttachmentWidgetRegistry,
520
+ chatInputNotificationService,
521
+ chatPhoneInputPresenter,
522
+ voiceModeOnboardingService,
523
+ chatWidgetService,
524
+ voiceSessionController,
525
+ chatService,
526
+ environmentService,
527
+ chatPetService,
528
+ actionViewItemService
529
+ ) {
530
+ super();
531
+ this.location = location;
532
+ this.options = options;
533
+ this.inline = inline;
534
+ this.modelService = modelService;
535
+ this.instantiationService = instantiationService;
536
+ this.contextKeyService = contextKeyService;
537
+ this.configurationService = configurationService;
538
+ this.keybindingService = keybindingService;
539
+ this.accessibilityService = accessibilityService;
540
+ this.languageModelsService = languageModelsService;
541
+ this.logService = logService;
542
+ this.fileService = fileService;
543
+ this.editorService = editorService;
544
+ this.themeService = themeService;
545
+ this.textModelResolverService = textModelResolverService;
546
+ this.storageService = storageService;
547
+ this.dialogService = dialogService;
548
+ this.agentService = agentService;
549
+ this.sharedWebExtracterService = sharedWebExtracterService;
550
+ this.entitlementService = entitlementService;
551
+ this.chatModeService = chatModeService;
552
+ this.toolService = toolService;
553
+ this.chatSessionsService = chatSessionsService;
554
+ this.chatContextService = chatContextService;
555
+ this.agentSessionsService = agentSessionsService;
556
+ this.speechToTextService = speechToTextService;
557
+ this.dictationOnboardingService = dictationOnboardingService;
558
+ this.chatInputNoticeHubService = chatInputNoticeHubService;
559
+ this.workspaceContextService = workspaceContextService;
560
+ this.scmService = scmService;
561
+ this.layoutService = layoutService;
562
+ this.viewDescriptorService = viewDescriptorService;
563
+ this._chatAttachmentWidgetRegistry = _chatAttachmentWidgetRegistry;
564
+ this.chatInputNotificationService = chatInputNotificationService;
565
+ this.chatPhoneInputPresenter = chatPhoneInputPresenter;
566
+ this.voiceModeOnboardingService = voiceModeOnboardingService;
567
+ this.chatWidgetService = chatWidgetService;
568
+ this.voiceSessionController = voiceSessionController;
569
+ this.chatService = chatService;
570
+ this.environmentService = environmentService;
571
+ this.chatPetService = chatPetService;
572
+ this.actionViewItemService = actionViewItemService;
573
+ this._workingSetCollapsed = observableValue("chatInputPart.workingSetCollapsed", true);
574
+ this._chatInputTodoListWidget = this._register(( new MutableDisposable()));
575
+ this._chatArtifactsWidget = this._register(( new MutableDisposable()));
576
+ this._chatQuestionCarouselWidgets = this._register(( new DisposableMap()));
577
+ this._questionCarouselResponseIds = ( new Map());
578
+ this._questionCarouselSessionResources = ( new Map());
579
+ this._chatPlanReviewWidgets = this._register(( new DisposableMap()));
580
+ this._planReviewResponseIds = ( new Map());
581
+ this._planReviewSessionResources = ( new Map());
582
+ this._chatToolConfirmationCarousels = this._register(( new DisposableMap()));
583
+ this._onDidChangeActiveConfirmationSubagent = this._register(( new Emitter()));
584
+ this.onDidChangeActiveConfirmationSubagent = this._onDidChangeActiveConfirmationSubagent.event;
585
+ this._chatEditingTodosDisposables = this._register(( new DisposableStore()));
586
+ this._onDidLoadInputState = this._register(( new Emitter()));
587
+ this.onDidLoadInputState = this._onDidLoadInputState.event;
588
+ this._toolbarRelayoutScheduler = this._register(( new RunOnceScheduler(() => {
589
+ this.layoutForToolbarChange();
590
+ }, 0)));
591
+ this._onDidFocus = this._register(( new Emitter()));
592
+ this.onDidFocus = this._onDidFocus.event;
593
+ this._onDidBlur = this._register(( new Emitter()));
594
+ this.onDidBlur = this._onDidBlur.event;
595
+ this._onDidChangeContext = this._register(( new Emitter()));
596
+ this.onDidChangeContext = this._onDidChangeContext.event;
597
+ this._onDidAcceptFollowup = this._register(( new Emitter()));
598
+ this.onDidAcceptFollowup = this._onDidAcceptFollowup.event;
599
+ this._onDidClickOverlay = this._register(( new Emitter()));
600
+ this.onDidClickOverlay = this._onDidClickOverlay.event;
601
+ this._indexOfLastAttachedContextDeletedWithKeyboard = -1;
602
+ this._indexOfLastOpenedContext = -1;
603
+ this._onDidChangeVisibility = this._register(( new Emitter()));
604
+ this.inputEditorHeight = 0;
605
+ this.ignoreInputEditorContentSizeChanges = false;
606
+ this.followupsDisposables = this._register(( new DisposableStore()));
607
+ this.overlayClickListener = this._register(( new MutableDisposable()));
608
+ this.attachedContextDisposables = this._register(( new MutableDisposable()));
609
+ this.sessionArchiveNudgeWidget = this._register(( new MutableDisposable()));
610
+ this._chatPetHorizontalPlatformProviders = ( new Set());
611
+ this._onDidChangeChatPetHorizontalPlatforms = this._register(( new Emitter()));
612
+ this.onDidChangeChatPetHorizontalPlatforms = this._onDidChangeChatPetHorizontalPlatforms.event;
613
+ this._notificationWidget = this._register(( new MutableDisposable()));
614
+ this._goalBannerWidget = this._register(( new MutableDisposable()));
615
+ this._onDidDismissGoalBanner = this._register(( new Emitter()));
616
+ this.onDidDismissGoalBanner = this._onDidDismissGoalBanner.event;
617
+ this._contextUsageDisposables = this._register(( new MutableDisposable()));
618
+ this.noticeHost = this._register(( new ChatInputNoticeHost(() => this.focus())));
619
+ this.height = observableValue(this, 0);
620
+ this._forceVisibleScrollbarUntilAccept = false;
621
+ this._unboundIntent = ( new IntendedModelSlot());
622
+ this._restorePerTypeModel = false;
623
+ this._modelSyncDisposables = this._register(( new DisposableStore()));
624
+ this._currentChatModes = this._register(( new MutableDisposable()));
625
+ this._isSyncingToOrFromInputModel = false;
626
+ this.permissionWidgetDisposeListener = this._register(( new MutableDisposable()));
627
+ this.overflowPickerWidget = this._register(( new MutableDisposable()));
628
+ this.chatSessionPickerWidgets = this._register(( new DisposableMap()));
629
+ this._chatSessionOptionEmitters = this._register(( new DisposableMap()));
630
+ this._optionContextKeys = ( new Map());
631
+ this._onDidChangeCurrentChatMode = this._register(( new Emitter()));
632
+ this.onDidChangeCurrentChatMode = this._onDidChangeCurrentChatMode.event;
633
+ this.inputUri = ( URI.parse(`${Schemas.vscodeChatInput}:input-${ChatInputPart_1._counter++}`));
634
+ this._workingSetLinesAddedSpan = ( new Lazy(() => $$1(".working-set-lines-added")));
635
+ this._workingSetLinesRemovedSpan = ( new Lazy(() => $$1(".working-set-lines-removed")));
636
+ this._chatEditsActionsDisposables = this._register(( new DisposableStore()));
637
+ this._chatEditsDisposables = this._register(( new DisposableStore()));
638
+ this._renderingChatEdits = this._register(( new MutableDisposable()));
639
+ this._attemptedWorkingSetEntriesCount = 0;
640
+ this._chatSessionIsEmpty = false;
641
+ this._pendingDelegationTargetObservable = observableValue(this, undefined);
642
+ this._currentSessionTypeObservable = observableValue(this, undefined);
643
+ this._currentSessionResourceObservable = observableValue(this, undefined);
644
+ this._currentSessionModelObservable = observableValue(this, undefined);
645
+ this._deferredNotificationsEnabled = observableValue(this, true);
646
+ this._notificationAvailableLanguageModels = observableValue(this, []);
647
+ this._notificationModelState = derived(this, reader => {
648
+ const models = this._notificationAvailableLanguageModels.read(reader);
649
+ const currentModel = this.selectedLanguageModel.read(reader);
650
+ return {
651
+ currentModel: models.find(model => model.identifier === currentModel?.identifier),
652
+ models
653
+ };
654
+ });
655
+ this._sessionStarted = derived(this, reader => {
656
+ const model = this._currentSessionModelObservable.read(reader);
657
+ return isSessionStarted(!!model, !!model?.lastRequestObs.read(reader));
658
+ });
659
+ this._notificationModelTargetChatSessionType = derived(
660
+ this,
661
+ reader => this._pendingDelegationTargetObservable.read(reader) ?? this._currentSessionTypeObservable.read(reader) ?? this.getCurrentSessionType()
662
+ );
663
+ this._modelSelectionDiagnostics = ( new ChatModelSelectionDiagnostics(this.logService, this.storageService, () => ({
664
+ surface: "workbench",
665
+ location: this.location,
666
+ modelTarget: this.getSelectedModelTarget(),
667
+ sessionKey: this.getCurrentSessionType(),
668
+ conversationKey: this._inputModelSessionResource?.toString(),
669
+ metadata: {
670
+ widgetViewKind: this.options.widgetViewKindTag
671
+ }
672
+ })));
673
+ this._modelSelectionRuntime = {
674
+ getCurrentSessionType: () => this._currentSessionType ?? this.getCurrentSessionType(),
675
+ isEmpty: () => !this._inputModel || this._chatSessionIsEmpty,
676
+ getModels: sessionType => this.getModelsForSessionType(sessionType),
677
+ getAllModels: () => this.getAllMergedModels(),
678
+ isAwaitingSessionModels: sessionType => this.chatSessionsService.requiresCustomModelsForSessionType(sessionType) && !hasModelsTargetingSession(this.getAllMergedModels(), sessionType),
679
+ getConfiguredModelValue: () => this.getConfiguredModelValue(),
680
+ isModelSupportedHere: model => isModelSupportedForMode(model, this.currentModeKind) && isModelSupportedForInlineChat(model, this.location),
681
+ getDeclaredDefaultModel: models => models.find(model => model.metadata.isDefaultForLocation[this.location]),
682
+ subscribeToModelChanges: listener => this.languageModelsService.onDidChangeLanguageModels(listener),
683
+ getBoundConversationKey: () => this._inputModelSessionResource?.toString(),
684
+ getIntentHolder: () => this._intentHolder,
685
+ restoreModelConfiguration: (modelId, configuration) => this.restoreModelConfiguration(modelId, configuration),
686
+ applyModel: () => {
687
+ if (this.cachedWidth) {
688
+ this.layout(this.cachedWidth);
689
+ }
690
+ this._syncInputStateToModel();
691
+ }
692
+ };
693
+ this._modelSelectionController = this._register(( new ChatInputModelSelectionController(this._modelSelectionRuntime, this._modelSelectionDiagnostics)));
694
+ this._currentLanguageModel = this._modelSelectionController.currentModel;
695
+ this._register(
696
+ this.storageService.onDidChangeValue(StorageScope.PROFILE, undefined, this._store)(event => {
697
+ this._modelSelectionDiagnostics.logStorageChange(event, this._currentLanguageModel.get()?.identifier);
698
+ })
699
+ );
700
+ this._modelConfigStore = this._register(( new ChatModelConfigurationStore(
701
+ () => this.getModelConfigurationStorageKey(),
702
+ this.languageModelsService,
703
+ this.storageService
704
+ )));
705
+ this._syncTextDebounced = this._register(( new RunOnceScheduler(() => {
706
+ logChangesToStateModel(
707
+ this._inputModel,
708
+ `[DEBOUNCE] _syncTextDebounced fired -> _syncInputStateToModel in ${this._currentSessionKey}`,
709
+ undefined,
710
+ this._inputModel?.state.get(),
711
+ this.logService
712
+ );
713
+ this._syncInputStateToModel();
714
+ }, 150)));
715
+ this._emptyInputState = this._register(
716
+ createEmptyInputStateMemento(this.options.widgetViewKindTag)(StorageScope.WORKSPACE, StorageTarget.USER, this.storageService)
717
+ );
718
+ this._emptyInputAttachments = this._register(
719
+ emptyInputAttachments(StorageScope.WORKSPACE, StorageTarget.USER, this.storageService)
720
+ );
721
+ this._contextResourceLabels = this._register(this.instantiationService.createInstance(ResourceLabels, {
722
+ onDidChangeVisibility: this._onDidChangeVisibility.event
723
+ }));
724
+ this._currentModeObservable = observableValue("currentMode", this.options.defaultMode ?? ChatMode.Agent);
725
+ const localModes = this.chatModeService.createModes(LocalChatSessionUri.getNewSessionUri());
726
+ this._currentChatModes.value = localModes;
727
+ this._currentChatModesObservable = observableValue("currentChatModes", localModes);
728
+ this._currentPermissionLevel = observableValue("permissionLevel", this.getDefaultPermissionLevel());
729
+ const languageModelListChanged = observableSignalFromEvent(this, Event.any(
730
+ this.languageModelsService.onDidChangeLanguageModels,
731
+ this.languageModelsService.onDidChangeModelVisibility
732
+ ));
733
+ this._register(autorun(reader => {
734
+ languageModelListChanged.read(reader);
735
+ const sessionType = this._notificationModelTargetChatSessionType.read(reader);
736
+ this._currentModeObservable.read(reader);
737
+ this._notificationAvailableLanguageModels.set(this.getModelsForSessionType(sessionType), undefined);
738
+ }));
739
+ this._register(this.editorService.onDidActiveEditorChange(() => {
740
+ this._indexOfLastOpenedContext = -1;
741
+ this.refreshChatSessionPickers();
742
+ }));
743
+ this._register(this.chatSessionsService.onDidChangeSessionOptions(e => {
744
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
745
+ if (sessionResource && isEqual(sessionResource, e.sessionResource)) {
746
+ this.refreshChatSessionPickers();
747
+ }
748
+ }));
749
+ this._register(this.chatSessionsService.onDidChangeOptionGroups(chatSessionType => {
750
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
751
+ if (sessionResource) {
752
+ const delegateSessionType = this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.();
753
+ if (getChatSessionType(sessionResource) === chatSessionType || delegateSessionType === chatSessionType) {
754
+ this.refreshChatSessionPickers();
755
+ }
756
+ }
757
+ }));
758
+ if (this.options.sessionTypePickerDelegate?.onDidChangeActiveSessionProvider) {
759
+ this._register(
760
+ this.options.sessionTypePickerDelegate.onDidChangeActiveSessionProvider(async newSessionType => {
761
+ this._currentSessionType = newSessionType;
762
+ this.getVisibleOptionGroupsModeAndUpdateContextKeys(this.getCurrentSessionResource());
763
+ this.agentSessionTypeKey.set(newSessionType);
764
+ this.chatSessionSupportsDelegationKey.set(this.chatSessionsService.supportsDelegationForSessionType(newSessionType));
765
+ this.updateWidgetLockStateFromSessionType(newSessionType);
766
+ this.checkModeInSessionPool(newSessionType);
767
+ this._modelSelectionController.revalidateForSessionType(() => this.initSelectedModel());
768
+ this.refreshChatSessionPickers();
769
+ })
770
+ );
771
+ }
772
+ this._attachmentModel = this._register(this.instantiationService.createInstance(ChatAttachmentModel));
773
+ const attachmentModel = this._attachmentModel;
774
+ this._register(this._attachmentModel.onDidChange(() => {
775
+ if (this._chatSessionIsEmpty) {
776
+ this._emptyInputAttachments.set(this._attachmentModel.attachments, undefined);
777
+ }
778
+ this._syncInputStateToModel();
779
+ }));
780
+ this._register(this._modelConfigStore.onDidChange(() => this._syncInputStateToModel()));
781
+ this.selectedToolsModel = this._register(
782
+ this.instantiationService.createInstance(ChatSelectedTools, this.currentModeObs, this._currentLanguageModel)
783
+ );
784
+ this.dnd = this._register(
785
+ this.instantiationService.createInstance(ChatDragAndDrop, () => this._widget, {
786
+ get attachments() {
787
+ return attachmentModel.attachments;
788
+ },
789
+ addAttachments: entries => attachmentModel.addContext(...entries)
790
+ }, styles)
791
+ );
792
+ this.inputEditorMaxHeight = this.options.renderStyle === "compact" ? INPUT_EDITOR_MAX_HEIGHT / 3 : INPUT_EDITOR_MAX_HEIGHT;
793
+ const padding = this.options.renderStyle === "compact" ? INPUT_EDITOR_PADDING.compact : INPUT_EDITOR_PADDING.default;
794
+ this.singleLineInputEditorHeight = INPUT_EDITOR_LINE_HEIGHT + padding.top + padding.bottom;
795
+ this.inputEditorMinHeight = this.options.inputEditorMinLines ? this.options.inputEditorMinLines * INPUT_EDITOR_LINE_HEIGHT + padding.top + padding.bottom : undefined;
796
+ this.inputEditorHasText = ChatContextKeys.inputHasText.bindTo(contextKeyService);
797
+ this.inputEditorHasSendableContent = ChatContextKeys.inputHasSendableContent.bindTo(contextKeyService);
798
+ this.chatCursorAtTop = ChatContextKeys.inputCursorAtTop.bindTo(contextKeyService);
799
+ this.inputEditorHasFocus = ChatContextKeys.inputHasFocus.bindTo(contextKeyService);
800
+ this._hasQuestionCarouselContextKey = ChatContextKeys.Editing.hasQuestionCarousel.bindTo(contextKeyService);
801
+ this.chatModeKindKey = ChatContextKeys.chatModeKind.bindTo(contextKeyService);
802
+ this.chatModeNameKey = ChatContextKeys.chatModeName.bindTo(contextKeyService);
803
+ this.chatModelIdKey = ChatContextKeys.chatModelId.bindTo(contextKeyService);
804
+ this.permissionLevelKey = ChatContextKeys.chatPermissionLevel.bindTo(contextKeyService);
805
+ this.permissionLevelKey.set(this._currentPermissionLevel.get());
806
+ this.withinEditSessionKey = ChatContextKeys.withinEditSessionDiff.bindTo(contextKeyService);
807
+ this.filePartOfEditSessionKey = ChatContextKeys.filePartOfEditSession.bindTo(contextKeyService);
808
+ this.chatSessionHasOptions = ChatContextKeys.chatSessionHasModels.bindTo(contextKeyService);
809
+ this.chatSessionOptionsValid = ChatContextKeys.chatSessionOptionsValid.bindTo(contextKeyService);
810
+ this.agentSessionTypeKey = ChatContextKeys.agentSessionType.bindTo(contextKeyService);
811
+ this.chatSessionSupportsDelegationKey = ChatContextKeys.chatSessionSupportsDelegation.bindTo(contextKeyService);
812
+ this.chatHasPendingDelegationTargetKey = ChatContextKeys.hasPendingDelegationTarget.bindTo(contextKeyService);
813
+ if (this.options.sessionTypePickerDelegate?.getActiveSessionProvider) {
814
+ const initialSessionType = this.options.sessionTypePickerDelegate.getActiveSessionProvider();
815
+ if (initialSessionType) {
816
+ this.agentSessionTypeKey.set(initialSessionType);
817
+ this.chatSessionSupportsDelegationKey.set(
818
+ this.chatSessionsService.supportsDelegationForSessionType(initialSessionType)
819
+ );
820
+ }
821
+ }
822
+ this.chatSessionHasCustomAgentTarget = ChatContextKeys.chatSessionHasCustomAgentTarget.bindTo(contextKeyService);
823
+ this.chatSessionHasTargetedModels = ChatContextKeys.chatSessionHasTargetedModels.bindTo(contextKeyService);
824
+ this.history = this._register(
825
+ this.instantiationService.createInstance(ChatHistoryNavigator, this.location)
826
+ );
827
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
828
+ const newOptions = {};
829
+ if (e.affectsConfiguration(ChatConfiguration.GlobalAutoApprove)) {
830
+ this.setPermissionLevel(this._currentPermissionLevel.get());
831
+ }
832
+ if (e.affectsConfiguration(ChatConfiguration.DefaultPermissionLevel)) {
833
+ if (this._chatSessionIsEmpty) {
834
+ this.setPermissionLevel(this.getDefaultPermissionLevel());
835
+ }
836
+ }
837
+ if (e.affectsConfiguration(ChatConfiguration.DefaultModel)) {
838
+ this._modelSelectionController.applyConfiguredDefault();
839
+ }
840
+ if (e.affectsConfiguration(AccessibilityVerbositySettingId.Chat)) {
841
+ newOptions.ariaLabel = this._getAriaLabel();
842
+ }
843
+ if (e.affectsConfiguration("editor.wordSegmenterLocales")) {
844
+ newOptions.wordSegmenterLocales = this.configurationService.getValue("editor.wordSegmenterLocales");
845
+ }
846
+ if (e.affectsConfiguration("editor.autoClosingBrackets")) {
847
+ newOptions.autoClosingBrackets = this.configurationService.getValue("editor.autoClosingBrackets");
848
+ }
849
+ if (e.affectsConfiguration("editor.autoClosingQuotes")) {
850
+ newOptions.autoClosingQuotes = this.configurationService.getValue("editor.autoClosingQuotes");
851
+ }
852
+ if (e.affectsConfiguration("editor.autoSurround")) {
853
+ newOptions.autoSurround = this.configurationService.getValue("editor.autoSurround");
854
+ }
855
+ this.inputEditor.updateOptions(newOptions);
856
+ }));
857
+ this._chatEditsListPool = this._register(this.instantiationService.createInstance(
858
+ CollapsibleListPool,
859
+ this._onDidChangeVisibility.event,
860
+ MenuId.ChatEditingWidgetModifiedFilesToolbar,
861
+ {
862
+ verticalScrollMode: ScrollbarVisibility.Visible
863
+ }
864
+ ));
865
+ this._hasFileAttachmentContextKey = ChatContextKeys.hasFileAttachments.bindTo(contextKeyService);
866
+ this.initSelectedModel();
867
+ this._register(this._onDidChangeCurrentChatMode.event(() => {
868
+ this._modelSelectionController.ensureCurrentModelSupported();
869
+ }));
870
+ const updateAfterModelListChange = reconcileSelection => {
871
+ const modelIdentifier = this._currentLanguageModel.get()?.identifier;
872
+ const models = this.getModels();
873
+ if (canLog(this.logService.getLevel(), LogLevel.Debug)) {
874
+ const mergedModels = this.getAllMergedModels();
875
+ const filteredModels = filterModelsForSession(models, this.getCurrentSessionType(), this.currentModeKind, this.location);
876
+ const messageparts = [
877
+ `resetting current language model due to model list change from ${modelIdentifier}`,
878
+ `this._widget?.viewModel?.model.sessionResource = ${this._widget?.viewModel?.model.sessionResource?.toString()}`,
879
+ `this.currentModeKind = ${this.currentModeKind}`,
880
+ `this.getCurrentSessionType = ${this.getCurrentSessionType()}`,
881
+ `this._currentSessionType = ${this._currentSessionType}`,
882
+ `shouldResetOnModelListChange(modelIdentifier, models) = ${shouldResetOnModelListChange(modelIdentifier, models)}`,
883
+ `vendors: ${this.languageModelsService.getVendors().map(v => v.vendor).join(", ")}`,
884
+ `hiddenModelIds: ${this.languageModelsService.getHiddenModelIds().join(", ")}`,
885
+ `model identifiers: ${models.map(m => m.identifier).join(", ")}`,
886
+ `model target Session Types: ${models.map(m => m.metadata.targetChatSessionType || "").join(", ")}`,
887
+ `model metadataid: ${models.map(m => m.metadata.id).join(", ")}`,
888
+ `merged.model identifiers: ${mergedModels.map(m => m.identifier).join(", ")}`,
889
+ `merged.model target Session Types: ${mergedModels.map(m => m.metadata.targetChatSessionType || "").join(", ")}`,
890
+ `merged.model metadataid: ${mergedModels.map(m => m.metadata.id).join(", ")}`,
891
+ `filtered.model identifiers: ${filteredModels.map(m => m.identifier).join(", ")}`,
892
+ `filtered.model target Session Types: ${filteredModels.map(m => m.metadata.targetChatSessionType || "").join(", ")}`,
893
+ `filtered.model metadataid: ${filteredModels.map(m => m.metadata.id).join(", ")}`
894
+ ];
895
+ if (this.getCurrentSessionType() !== SessionType.CopilotCLI) {
896
+ const delegateSessionType = this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.();
897
+ if (delegateSessionType) {
898
+ messageparts.push(`delegateSessionType = ${delegateSessionType}`);
899
+ }
900
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
901
+ messageparts.push(`current session resource = ${sessionResource}`);
902
+ }
903
+ logChangesToStateModel(
904
+ this._inputModel,
905
+ messageparts.join(", "),
906
+ undefined,
907
+ undefined,
908
+ this.logService
909
+ );
910
+ }
911
+ if (reconcileSelection) {
912
+ this._modelSelectionController.reconcileModelListChange(models);
913
+ }
914
+ this._updateInputContentContextKeys();
915
+ };
916
+ this._register(
917
+ this.languageModelsService.onDidChangeLanguageModels(() => updateAfterModelListChange(false))
918
+ );
919
+ this._register(
920
+ this.languageModelsService.onDidChangeModelVisibility(() => updateAfterModelListChange(true))
921
+ );
922
+ this._register(this.onDidChangeCurrentChatMode(() => {
923
+ this.accessibilityService.alert(this._currentModeObservable.get().label.get());
924
+ if (this._inputEditor) {
925
+ this._inputEditor.updateOptions({
926
+ ariaLabel: this._getAriaLabel()
927
+ });
928
+ }
929
+ this.setImplicitContextEnablement();
930
+ }));
931
+ this._register(autorun(reader => {
932
+ const lm = this._currentLanguageModel.read(reader);
933
+ this.chatModelIdKey.set(lm?.metadata.id.toLowerCase() ?? "");
934
+ this.contextUsageWidget?.setSelectedModel(lm?.identifier);
935
+ if (lm?.metadata.name) {
936
+ this.accessibilityService.alert(lm.metadata.name);
937
+ }
938
+ this._inputEditor?.updateOptions({
939
+ ariaLabel: this._getAriaLabel()
940
+ });
941
+ }));
942
+ this._register(autorun(reader => {
943
+ const modes = this._currentChatModesObservable.read(reader);
944
+ reader.store.add(modes.onDidChange(() => {
945
+ this.validateCurrentChatMode();
946
+ this._restorePersistedCustomModeIfAvailable();
947
+ }));
948
+ }));
949
+ this._register(autorun(r => {
950
+ const mode = this._currentModeObservable.read(r);
951
+ this.chatModeKindKey.set(mode.kind);
952
+ this.chatModeNameKey.set(mode.name.read(r));
953
+ if (this.options.suppressModePreferredModel) {
954
+ return;
955
+ }
956
+ const models = mode.model?.read(r);
957
+ if (models) {
958
+ this.switchModelByQualifiedName(models);
959
+ }
960
+ }));
961
+ this.validateCurrentChatMode();
962
+ }
963
+ setImplicitContextEnablement() {
964
+ if (this.implicitContext && this.configurationService.getValue("chat.implicitContext.suggestedContext")) {
965
+ this.implicitContext.setEnabled(this._currentModeObservable.get().name.get().toLowerCase() === "ask");
966
+ }
967
+ }
968
+ setIsWithinEditSession(inInsideDiff, isFilePartOfEditSession) {
969
+ this.withinEditSessionKey.set(inInsideDiff);
970
+ this.filePartOfEditSessionKey.set(isFilePartOfEditSession);
971
+ }
972
+ getSelectedModelTarget() {
973
+ const sessionType = this._currentSessionType;
974
+ return sessionType && this.sessionTypeHasOwnModelPool(sessionType) ? sessionType : undefined;
975
+ }
976
+ sessionTypeHasOwnModelPool(sessionType) {
977
+ return this.chatSessionsService.requiresCustomModelsForSessionType(sessionType) || hasModelsTargetingSession(this.getAllMergedModels(), sessionType);
978
+ }
979
+ initSelectedModel() {
980
+ this._modelConfigStore.clear();
981
+ const storedSelection = getStoredSelectedModel(this.storageService, this.location, this.getSelectedModelTarget());
982
+ this._modelSelectionController.initialize(storedSelection);
983
+ }
984
+ setEditing(enabled, editingSentRequest) {
985
+ this.currentlyEditingInputKey?.set(enabled);
986
+ this.editingSentRequestKey?.set(editingSentRequest);
987
+ }
988
+ switchModel(modelMetadata) {
989
+ const models = this.getModels();
990
+ const model = models.find(
991
+ m => m.metadata.vendor === modelMetadata.vendor && m.metadata.id === modelMetadata.id && m.metadata.family === modelMetadata.family
992
+ );
993
+ if (model) {
994
+ this.setCurrentLanguageModel(model, true);
995
+ }
996
+ }
997
+ switchModelByIdentifier(identifier, storeSelection = false, isUserAction = false) {
998
+ const models = this.getModels();
999
+ const model = models.find(m => m.identifier === identifier);
1000
+ if (model) {
1001
+ if (isUserAction) {
1002
+ this.setCurrentLanguageModel(model, true, storeSelection);
1003
+ } else {
1004
+ this._applyProgrammaticLanguageModel(model);
1005
+ }
1006
+ return true;
1007
+ }
1008
+ return false;
1009
+ }
1010
+ switchModelByQualifiedName(qualifiedModelNames) {
1011
+ const models = this.getModels();
1012
+ for (const qualifiedModelName of qualifiedModelNames) {
1013
+ const model = models.find(
1014
+ m => ILanguageModelChatMetadata.matchesQualifiedName(qualifiedModelName, m.metadata)
1015
+ );
1016
+ if (model) {
1017
+ this._applyProgrammaticLanguageModel(model);
1018
+ return true;
1019
+ }
1020
+ }
1021
+ this.logService.warn(
1022
+ `[chat] Node of the models "${qualifiedModelNames.join(", ")}" not found. Use format "<name> (<vendor>)", e.g. "GPT-4o (copilot)".`
1023
+ );
1024
+ return false;
1025
+ }
1026
+ requestModelByIdentifier(identifier) {
1027
+ return this._requestProgrammaticLanguageModel(() => this.getModels().find(model => model.identifier === identifier));
1028
+ }
1029
+ requestModelByQualifiedName(qualifiedModelNames) {
1030
+ return this._requestProgrammaticLanguageModel(() => {
1031
+ const models = this.getModels();
1032
+ return qualifiedModelNames.map(name => models.find(
1033
+ model => ILanguageModelChatMetadata.matchesQualifiedName(name, model.metadata)
1034
+ )).find(isDefined);
1035
+ });
1036
+ }
1037
+ get hasPendingProgrammaticModelSelection() {
1038
+ return this._modelSelectionController.hasPendingProgrammaticSelection();
1039
+ }
1040
+ switchToNextModel() {
1041
+ const models = this.getModels();
1042
+ if (models.length > 0) {
1043
+ const currentIndex = models.findIndex(model => model.identifier === this._currentLanguageModel.get()?.identifier);
1044
+ const nextIndex = (currentIndex + 1) % models.length;
1045
+ this.setCurrentLanguageModel(models[nextIndex], true);
1046
+ }
1047
+ }
1048
+ switchToNextPinnedModel() {
1049
+ const models = this.getModels();
1050
+ if (models.length === 0) {
1051
+ return;
1052
+ }
1053
+ const modelMap = ( new Map(models.map(model => [model.identifier, model])));
1054
+ const pinnedModels = this.languageModelsService.getPinnedModelIds().map(modelId => modelMap.get(modelId)).filter(isDefined);
1055
+ if (pinnedModels.length === 0) {
1056
+ return;
1057
+ }
1058
+ const currentIndex = pinnedModels.findIndex(model => model.identifier === this._currentLanguageModel.get()?.identifier);
1059
+ const nextIndex = (currentIndex + 1) % pinnedModels.length;
1060
+ this.setCurrentLanguageModel(pinnedModels[nextIndex], true);
1061
+ }
1062
+ openModelPicker() {
1063
+ if (this.chatPhoneInputPresenter.enabled.get()) {
1064
+ this._showCombinedPhonePickerSheet();
1065
+ return;
1066
+ }
1067
+ this.modelWidget?.show();
1068
+ }
1069
+ openModePicker() {
1070
+ if (this.chatPhoneInputPresenter.enabled.get()) {
1071
+ this._showCombinedPhonePickerSheet();
1072
+ return;
1073
+ }
1074
+ this.modeWidget?.show();
1075
+ }
1076
+ _showCombinedPhonePickerSheet() {
1077
+ const target = this.inputActionsToolbar.getElement();
1078
+ this.chatPhoneInputPresenter.showCombinedModeAndModelSheet(target, {
1079
+ kind: "delegates",
1080
+ modeDelegate: this._createModePickerDelegate(),
1081
+ modelDelegate: this._createModelPickerDelegate()
1082
+ }).catch(
1083
+ err => this.logService.error("[ChatInputPart] phone picker sheet failed", err)
1084
+ );
1085
+ }
1086
+ _createModelPickerDelegate() {
1087
+ return {
1088
+ currentModel: this._currentLanguageModel,
1089
+ setModel: model => {
1090
+ const previousModelIdentifier = this._currentLanguageModel.get()?.identifier;
1091
+ this.setCurrentLanguageModel(model, true, !this.options.suppressModelPersistence);
1092
+ if (didExplicitlySwitchChatPetModel(previousModelIdentifier, model.identifier)) {
1093
+ this.chatPetService.unlockAchievement(ChatPetAchievementIds.ModelSwitch);
1094
+ }
1095
+ this.renderAttachedContext();
1096
+ },
1097
+ getModels: () => this.getModels(),
1098
+ isCacheWarm: () => (this._widget?.viewModel?.model.getRequests().length ?? 0) > 0,
1099
+ getPresentationOptions: () => this._getModelPickerPresentationOptions(),
1100
+ modelConfiguration: this._modelConfigStore
1101
+ };
1102
+ }
1103
+ _getModelPickerPresentationOptions() {
1104
+ const sessionType = this.getCurrentSessionType();
1105
+ const useRichPicker = !sessionType || sessionType === localChatSessionType || isAgentHostTarget(sessionType);
1106
+ return {
1107
+ useGroupedModelPicker: useRichPicker,
1108
+ showManageModelsAction: useRichPicker,
1109
+ showUnavailableFeatured: useRichPicker,
1110
+ showFeatured: useRichPicker,
1111
+ showAutoModel: this._showAutoModel(),
1112
+ showModelIcon: this.options.isSessionsWindow || !this._usesHarnessProviderIcon()
1113
+ };
1114
+ }
1115
+ _usesHarnessProviderIcon() {
1116
+ const sessionType = this.getCurrentSessionType();
1117
+ return sessionType === SessionType.Codex || sessionType === SessionType.AgentHostClaude || sessionType === SessionType.AgentHostCodex;
1118
+ }
1119
+ getModelConfiguration(modelId) {
1120
+ return this._modelConfigStore.getModelConfiguration(modelId);
1121
+ }
1122
+ restoreModelConfiguration(modelId, modelConfiguration) {
1123
+ if (modelConfiguration) {
1124
+ this._modelConfigStore.restoreModelConfiguration(modelId, modelConfiguration);
1125
+ }
1126
+ }
1127
+ getModelConfigurationStorageKey() {
1128
+ const sessionType = this._currentSessionType;
1129
+ if (sessionType && this.sessionTypeHasOwnModelPool(sessionType)) {
1130
+ return `chat.modelConfiguration.${this.location}.${sessionType}`;
1131
+ }
1132
+ return `chat.modelConfiguration.${this.location}`;
1133
+ }
1134
+ _createModePickerDelegate() {
1135
+ return {
1136
+ currentMode: this._currentModeObservable,
1137
+ currentChatModes: this._currentChatModesObservable,
1138
+ sessionResource: () => this._widget?.viewModel?.sessionResource,
1139
+ setMode: mode => this.setChatMode2(mode, true),
1140
+ customAgentTarget: () => {
1141
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
1142
+ return (sessionResource && this.chatSessionsService.getCustomAgentTargetForSessionType(getChatSessionType(sessionResource))) ?? Target.Undefined;
1143
+ }
1144
+ };
1145
+ }
1146
+ openPermissionPicker() {
1147
+ this.permissionWidget?.show();
1148
+ }
1149
+ setPermissionLevel(level) {
1150
+ level = this.getPermittedPermissionLevel(level);
1151
+ this._currentPermissionLevel.set(level, undefined);
1152
+ this.permissionLevelKey.set(level);
1153
+ this.permissionWidget?.refresh();
1154
+ const sessionResource = this.getCurrentSessionResource();
1155
+ if (sessionResource) {
1156
+ this.chatSessionsService.setSessionOption(sessionResource, PERMISSION_LEVEL_OPTION_ID, level);
1157
+ }
1158
+ logChangesToStateModel(
1159
+ this._inputModel,
1160
+ `setPermissionLevel -> _syncInputStateToModel (level=${level}, currentLanguageModel=${this._currentLanguageModel.get()?.identifier}) in ${this._currentSessionKey}`,
1161
+ undefined,
1162
+ undefined,
1163
+ this.logService
1164
+ );
1165
+ this._syncInputStateToModel();
1166
+ }
1167
+ getDefaultPermissionLevel() {
1168
+ const level = this.configurationService.getValue(ChatConfiguration.DefaultPermissionLevel);
1169
+ return isChatPermissionLevel(level) ? level : ChatPermissionLevel.Default;
1170
+ }
1171
+ getPermittedPermissionLevel(level) {
1172
+ if (isAutoApproveValuePolicyRestricted(level, isAutoApprovePolicyRestricted(this.configurationService))) {
1173
+ return ChatPermissionLevel.Default;
1174
+ }
1175
+ return level;
1176
+ }
1177
+ openSessionTargetPicker() {
1178
+ this.sessionTargetWidget?.show();
1179
+ }
1180
+ openDelegationPicker() {
1181
+ this.delegationWidget?.show();
1182
+ }
1183
+ openChatSessionPicker() {
1184
+ const firstWidget = this.chatSessionPickerWidgets?.values()?.next().value;
1185
+ firstWidget?.show();
1186
+ }
1187
+ createChatSessionPickerWidgets(action, pickerOptions) {
1188
+ this._lastSessionPickerAction = action;
1189
+ this._lastSessionPickerOptions = pickerOptions;
1190
+ const sessionResource = this.getCurrentSessionResource();
1191
+ const visibleOptionGroups = this.getVisibleOptionGroupsModeAndUpdateContextKeys(sessionResource);
1192
+ if (!visibleOptionGroups.length) {
1193
+ return [];
1194
+ }
1195
+ const effectiveSessionType = this.getEffectiveSessionType(sessionResource);
1196
+ if (!effectiveSessionType) {
1197
+ return [];
1198
+ }
1199
+ this.chatSessionPickerWidgets.clearAndDisposeAll();
1200
+ const widgets = [];
1201
+ for (const optionGroup of visibleOptionGroups) {
1202
+ const initialItem = this.getCurrentOptionForGroup(optionGroup.id);
1203
+ const initialState = {
1204
+ group: optionGroup,
1205
+ item: initialItem
1206
+ };
1207
+ const itemDelegate = {
1208
+ getCurrentOption: () => this.getCurrentOptionForGroup(optionGroup.id),
1209
+ onDidChangeOption: this.getOrCreateOptionEmitter(optionGroup.id).event,
1210
+ setOption: option => {
1211
+ this.updateOptionContextKey(optionGroup.id, option.id);
1212
+ this.getOrCreateOptionEmitter(optionGroup.id).fire(option);
1213
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
1214
+ if (sessionResource) {
1215
+ this.chatSessionsService.setSessionOption(sessionResource, optionGroup.id, option);
1216
+ }
1217
+ this.refreshChatSessionPickers();
1218
+ },
1219
+ getOptionGroup: () => {
1220
+ const groups = this.chatSessionsService.getOptionGroupsForSessionType(effectiveSessionType);
1221
+ return groups?.find(g => g.id === optionGroup.id);
1222
+ },
1223
+ getSessionResource: () => {
1224
+ return this._widget?.viewModel?.model.sessionResource;
1225
+ }
1226
+ };
1227
+ const widget = this.instantiationService.createInstance(
1228
+ ChatSessionPickerActionItem,
1229
+ action,
1230
+ initialState,
1231
+ itemDelegate,
1232
+ pickerOptions
1233
+ );
1234
+ this.chatSessionPickerWidgets.set(optionGroup.id, widget);
1235
+ widgets.push(widget);
1236
+ }
1237
+ return widgets;
1238
+ }
1239
+ setInputModel(model, chatSessionIsEmpty, forSessionResource) {
1240
+ logChangesToStateModel(this._inputModel, `setInputModel for ${( forSessionResource.toString())} (chatSessionIsEmpty=${chatSessionIsEmpty}, outgoing._inputModel=${this._inputModel ? "present" : "undefined"})`, model.state.get(), this._inputModel?.state.get(), this.logService);
1241
+ if (this._inputModel) {
1242
+ logChangesToStateModel(
1243
+ this._inputModel,
1244
+ `[FLUSH-PRE] setInputModel pre-flush boundInputModelSession=${this._inputModelSessionResource?.toString()} widgetSession=${this._currentSessionKey} incoming=${( forSessionResource.toString())}`,
1245
+ undefined,
1246
+ this._inputModel.state.get(),
1247
+ this.logService
1248
+ );
1249
+ this._syncInputStateToModel();
1250
+ }
1251
+ this._currentSessionType = getChatSessionType(forSessionResource);
1252
+ this._currentSessionModelObservable.set(undefined, undefined);
1253
+ this._inputModel = model;
1254
+ this._inputModelSessionResource = forSessionResource;
1255
+ this._modelSyncDisposables.clear();
1256
+ const chatModes = this.chatModeService.createModes(forSessionResource);
1257
+ this._currentChatModes.value = chatModes;
1258
+ this._currentChatModesObservable.set(chatModes, undefined);
1259
+ this.selectedToolsModel.resetSessionEnablementState();
1260
+ this._chatSessionIsEmpty = isNewConversation(forSessionResource, chatSessionIsEmpty);
1261
+ const ownsPool = !!this._currentSessionType && this.sessionTypeHasOwnModelPool(this._currentSessionType);
1262
+ const hadIncomingModel = !!model.state.get()?.selectedModel;
1263
+ this._modelSelectionController.beginConversationSwitch();
1264
+ this._restorePerTypeModel = shouldRestorePerTypeModelOnSessionSwitch(this._chatSessionIsEmpty, ownsPool, hadIncomingModel);
1265
+ if (this._chatSessionIsEmpty) {
1266
+ const persistedState = model.state.get() ? undefined : this._getPersistedEmptyInputState();
1267
+ if (persistedState) {
1268
+ model.setState(persistedState);
1269
+ this._syncFromModel(persistedState, forSessionResource);
1270
+ }
1271
+ this._setEmptyModelState();
1272
+ this._modelSyncDisposables.add(this.configurationService.onDidChangeConfiguration(e => {
1273
+ if (this._chatSessionIsEmpty && e.affectsConfiguration(ChatConfiguration.DefaultNewSessionMode)) {
1274
+ this._setEmptyModelState();
1275
+ }
1276
+ }));
1277
+ this._modelSyncDisposables.add(this._currentChatModesObservable.get().onDidChange(() => {
1278
+ if (this._chatSessionIsEmpty) {
1279
+ this._setEmptyModelState();
1280
+ }
1281
+ }));
1282
+ }
1283
+ const widgetViewModelSession = this._widget?.viewModel?.model.sessionResource;
1284
+ const isStaleAtRegistration = !!widgetViewModelSession && !isEqual(widgetViewModelSession, forSessionResource);
1285
+ logChangesToStateModel(
1286
+ this._inputModel,
1287
+ `[AUTORUN-REG] registering model->view autorun for ${( forSessionResource.toString())}, widgetSession=${this._currentSessionKey}, widgetViewModelSession=${widgetViewModelSession?.toString()}, isStaleAtRegistration=${isStaleAtRegistration}, model.state.selectedModel=${model.state.get()?.selectedModel?.identifier}, _currentLanguageModel=${this._currentLanguageModel.get()?.identifier}`,
1288
+ undefined,
1289
+ undefined,
1290
+ this.logService
1291
+ );
1292
+ this._modelSyncDisposables.add(autorun(reader => {
1293
+ let state = model.state.read(reader);
1294
+ let message = `syncing from model for ${( forSessionResource.toString())} in ${this._currentSessionKey}`;
1295
+ if (!state && this._chatSessionIsEmpty) {
1296
+ state = this._getPersistedEmptyInputState();
1297
+ message = `syncing from empty input state for ${( forSessionResource.toString())}`;
1298
+ if (state) {
1299
+ const resolved = this.resolveDraftModel(state.selectedModel, this._currentSessionType, false);
1300
+ if (resolved.changed) {
1301
+ state = {
1302
+ ...state,
1303
+ selectedModel: resolved.model,
1304
+ modelConfiguration: undefined
1305
+ };
1306
+ }
1307
+ }
1308
+ }
1309
+ const widgetSessionResource = this._widget?.viewModel?.model.sessionResource;
1310
+ const isStaleSession = !!this._inputModelSessionResource && !isEqual(this._inputModelSessionResource, forSessionResource);
1311
+ if (isStaleSession) {
1312
+ message = `[STALE-SESSION-AUTORUN] ${message} (widget now on ${widgetSessionResource?.toString()}, ${this._inputModelSessionResource?.toString()}, ${( forSessionResource.toString())} is old)`;
1313
+ }
1314
+ const prevState = this._inputModel?.state.read(undefined);
1315
+ logChangesToStateModel(this._inputModel, message, state, prevState, this.logService);
1316
+ if (isStaleSession) {
1317
+ return;
1318
+ }
1319
+ this._syncFromModel(state, forSessionResource);
1320
+ }));
1321
+ }
1322
+ _getPersistedEmptyInputState() {
1323
+ let state = this._emptyInputState.read(undefined);
1324
+ if (!state) {
1325
+ return undefined;
1326
+ }
1327
+ const persistedAttachments = this._emptyInputAttachments.read(undefined);
1328
+ state = {
1329
+ ...state,
1330
+ attachments: persistedAttachments.length > 0 ? persistedAttachments : state.attachments
1331
+ };
1332
+ const resolved = this.resolveDraftModel(state.selectedModel, this._currentSessionType, true);
1333
+ if (resolved.changed) {
1334
+ state = {
1335
+ ...state,
1336
+ selectedModel: resolved.model,
1337
+ modelConfiguration: undefined
1338
+ };
1339
+ }
1340
+ return state;
1341
+ }
1342
+ _setEmptyModelState() {
1343
+ logChangesToStateModel(
1344
+ this._inputModel,
1345
+ `setting empty model state for ${this._widget?.viewModel?.sessionResource.toString()} in ${this._currentSessionKey}`,
1346
+ undefined,
1347
+ undefined,
1348
+ this.logService
1349
+ );
1350
+ const currentLevel = this._inputModel?.state?.get()?.permissionLevel;
1351
+ if (currentLevel === undefined || !isChatPermissionLevel(currentLevel)) {
1352
+ this.setPermissionLevel(this.getDefaultPermissionLevel());
1353
+ }
1354
+ if (this.entitlementService.anonymous) {
1355
+ this.setChatMode(ChatModeKind.Agent, false);
1356
+ this._modelSelectionController.ensureCurrentModelSupported();
1357
+ return;
1358
+ }
1359
+ const rawDefaultMode = this.configurationService.getValue(ChatConfiguration.DefaultNewSessionMode);
1360
+ if (typeof rawDefaultMode === "string") {
1361
+ const defaultMode = rawDefaultMode.trim();
1362
+ if (defaultMode) {
1363
+ const defaultModeLower = defaultMode.toLowerCase();
1364
+ const modes = this._currentChatModesObservable.get();
1365
+ const resolved = modes.findModeById(defaultMode) ?? modes.findModeByName(defaultMode) ?? modes.custom.find(m => m.name.get().toLowerCase() === defaultModeLower);
1366
+ if (resolved) {
1367
+ this.logService.trace(
1368
+ `[ChatInputPart] Applying default mode from setting: ${defaultMode} -> ${resolved.id}`
1369
+ );
1370
+ this.setChatMode(resolved.id, false);
1371
+ this._modelSelectionController.ensureCurrentModelSupported();
1372
+ }
1373
+ }
1374
+ }
1375
+ }
1376
+ _syncFromModel(state, forSessionResource) {
1377
+ if (this._isSyncingToOrFromInputModel) {
1378
+ return;
1379
+ }
1380
+ try {
1381
+ this._isSyncingToOrFromInputModel = true;
1382
+ if (state) {
1383
+ const currentMode = this._currentModeObservable.get();
1384
+ if (currentMode.id !== state.mode.id) {
1385
+ this.setChatMode(state.mode.id, false);
1386
+ }
1387
+ }
1388
+ if (state?.selectedModel) {
1389
+ const sessionType = getChatSessionType(forSessionResource);
1390
+ this._modelSelectionController.syncFromConversationState(state.selectedModel, state.modelConfiguration, sessionType, ( forSessionResource.toString()), state.origin === ChatInputStateOrigin.Remote, this._restoreReasonFor(state.selectedModel));
1391
+ } else if (state) {
1392
+ this._modelSelectionDiagnostics.report("conversation-state-without-model", {
1393
+ conversation: ( forSessionResource.toString()),
1394
+ currentModel: this._currentLanguageModel.get()?.identifier
1395
+ });
1396
+ }
1397
+ const currentAttachments = this._attachmentModel.attachments;
1398
+ if (!state) {
1399
+ this._attachmentModel.clear();
1400
+ } else if (!equals(currentAttachments, state.attachments)) {
1401
+ this._attachmentModel.clearAndSetContext(...state.attachments);
1402
+ }
1403
+ if (this._inputEditor) {
1404
+ this._inputEditor.setValue(state?.inputText || "");
1405
+ if (state?.selections.length) {
1406
+ this._inputEditor.setSelections(state.selections);
1407
+ }
1408
+ }
1409
+ if (!this.configurationService.getValue(ChatConfiguration.GlobalAutoApprove)) {
1410
+ const targetLevel = this.getPermittedPermissionLevel(state?.permissionLevel ?? ChatPermissionLevel.Default);
1411
+ if (this._currentPermissionLevel.get() !== targetLevel) {
1412
+ this._currentPermissionLevel.set(targetLevel, undefined);
1413
+ this.permissionLevelKey.set(targetLevel);
1414
+ this.permissionWidget?.refresh();
1415
+ }
1416
+ }
1417
+ if (state) {
1418
+ this._widget?.contribs.forEach(contrib => {
1419
+ contrib.setInputState?.(state.contrib);
1420
+ });
1421
+ }
1422
+ } finally {
1423
+ this._isSyncingToOrFromInputModel = false;
1424
+ this._syncTextDebounced.cancel();
1425
+ }
1426
+ }
1427
+ _syncInputStateToModel() {
1428
+ if (this._isSyncingToOrFromInputModel) {
1429
+ return;
1430
+ }
1431
+ this._isSyncingToOrFromInputModel = true;
1432
+ const state = this.getCurrentInputState();
1433
+ if (this._chatSessionIsEmpty) {
1434
+ this._emptyInputState.set(state, undefined);
1435
+ }
1436
+ const prevState = this._inputModel?.state.get();
1437
+ logChangesToStateModel(
1438
+ this._inputModel,
1439
+ `_syncInputStateToModel boundInputModelSession=${this._inputModelSessionResource?.toString()} widgetSession=${this._currentSessionKey} mismatch=${this._inputModelSessionResource?.toString() !== this._currentSessionKey}`,
1440
+ state,
1441
+ prevState,
1442
+ this.logService
1443
+ );
1444
+ this._inputModel?.setState(state);
1445
+ this._isSyncingToOrFromInputModel = false;
1446
+ queueMicrotask(() => this.inputActionsToolbar?.relayout());
1447
+ }
1448
+ flushInputStateToModel() {
1449
+ if (this._inputModel) {
1450
+ this._syncInputStateToModel();
1451
+ }
1452
+ }
1453
+ setCurrentLanguageModel(model, isUserAction = false, storeSelection = isUserAction) {
1454
+ const persistSelection = isUserAction && storeSelection;
1455
+ this._modelSelectionDiagnostics.report("set-model", {
1456
+ model: model.identifier,
1457
+ isUserAction,
1458
+ persistSelection,
1459
+ available: this.getModels().length
1460
+ }, "info");
1461
+ const apply = () => {
1462
+ if (this.cachedWidth) {
1463
+ this.layout(this.cachedWidth);
1464
+ }
1465
+ if (persistSelection) {
1466
+ storeSelectedModel(
1467
+ this.storageService,
1468
+ this.location,
1469
+ this.getSelectedModelTarget(),
1470
+ model.identifier
1471
+ );
1472
+ }
1473
+ this._syncInputStateToModel();
1474
+ };
1475
+ this._modelSelectionController.applySelection(model, apply, isUserAction);
1476
+ }
1477
+ _applyProgrammaticLanguageModel(model) {
1478
+ this._modelSelectionController.applyProgrammaticSelection(model);
1479
+ }
1480
+ _requestProgrammaticLanguageModel(resolveModel) {
1481
+ const result = this._modelSelectionController.requestProgrammaticSelection(resolveModel, this._inputModelSessionResource?.toString());
1482
+ this._updateInputContentContextKeys();
1483
+ void result.finally(() => this._updateInputContentContextKeys());
1484
+ return result;
1485
+ }
1486
+ setChatMode(mode, storeSelection = true, isUserInitiated = false) {
1487
+ if (!this.options.supportsChangingModes) {
1488
+ return;
1489
+ }
1490
+ const modes = this._currentChatModesObservable.get();
1491
+ const mode2 = modes.findModeById(mode) ?? modes.findModeByName(mode) ?? modes.findModeById(ChatModeKind.Agent) ?? ChatMode.Ask;
1492
+ this.setChatMode2(mode2, storeSelection, isUserInitiated);
1493
+ }
1494
+ setChatMode2(mode, storeSelection = true, isUserInitiated = false) {
1495
+ if (!this.options.supportsChangingModes) {
1496
+ return;
1497
+ }
1498
+ this._currentModeObservable.set(mode, undefined);
1499
+ this._onDidChangeCurrentChatMode.fire({
1500
+ isUserInitiated
1501
+ });
1502
+ if (storeSelection) {
1503
+ logChangesToStateModel(
1504
+ this._inputModel,
1505
+ `setChatMode2 -> _syncInputStateToModel (mode=${mode.id}, storeSelection=${storeSelection}, isUserInitiated=${isUserInitiated}, currentLanguageModel=${this._currentLanguageModel.get()?.identifier}) in ${this._currentSessionKey}`,
1506
+ undefined,
1507
+ undefined,
1508
+ this.logService
1509
+ );
1510
+ this._syncInputStateToModel();
1511
+ }
1512
+ }
1513
+ getAllMergedModels() {
1514
+ const cachedModels = this.storageService.getObject(CachedLanguageModelsKey, StorageScope.APPLICATION, []);
1515
+ const liveModels = this.languageModelsService.getLanguageModelIds().map(modelId => ({
1516
+ identifier: modelId,
1517
+ metadata: this.languageModelsService.lookupLanguageModel(modelId)
1518
+ }));
1519
+ const contributedVendors = ( new Set(this.languageModelsService.getVendors().map(v => v.vendor)));
1520
+ const resolvedVendors = ( new Set());
1521
+ for (const v of contributedVendors) {
1522
+ if (this.languageModelsService.hasResolvedVendor(v)) {
1523
+ resolvedVendors.add(v);
1524
+ }
1525
+ }
1526
+ const models = mergeModelsWithCache(liveModels, cachedModels, contributedVendors, resolvedVendors);
1527
+ if (liveModels.length > 0 || resolvedVendors.size > 0) {
1528
+ this.storageService.store(
1529
+ CachedLanguageModelsKey,
1530
+ models,
1531
+ StorageScope.APPLICATION,
1532
+ StorageTarget.MACHINE
1533
+ );
1534
+ }
1535
+ return models;
1536
+ }
1537
+ getModels() {
1538
+ return this.getModelsForSessionType(this.getCurrentSessionType());
1539
+ }
1540
+ _showAutoModel() {
1541
+ const sessionType = this.getCurrentSessionType();
1542
+ return !sessionType || this.chatSessionsService.supportsAutoModelForSessionType(sessionType);
1543
+ }
1544
+ hasNoAvailableModel() {
1545
+ return !this._showAutoModel() && this.getModels().length === 0;
1546
+ }
1547
+ getModelsForSessionType(sessionType) {
1548
+ const allModels = this.getAllMergedModels();
1549
+ if (sessionType && this.chatSessionsService.requiresCustomModelsForSessionType(sessionType) && !hasModelsTargetingSession(allModels, sessionType)) {
1550
+ return [];
1551
+ }
1552
+ allModels.sort((a, b) => a.metadata.name.localeCompare(b.metadata.name));
1553
+ const sessionFiltered = filterModelsForSession(allModels, sessionType, this.currentModeKind, this.location);
1554
+ return sessionFiltered.filter(
1555
+ m => !isModelHiddenInPicker(m, id => this.languageModelsService.isModelHidden(id))
1556
+ );
1557
+ }
1558
+ getCurrentSessionType() {
1559
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
1560
+ if (sessionResource) {
1561
+ return getChatSessionType(sessionResource);
1562
+ }
1563
+ return this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.();
1564
+ }
1565
+ checkModeInSessionPool(sessionType) {
1566
+ if (!sessionType) {
1567
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
1568
+ if (!sessionResource) {
1569
+ return;
1570
+ }
1571
+ sessionType = getChatSessionType(sessionResource);
1572
+ }
1573
+ const customAgentTarget = this.chatSessionsService.getCustomAgentTargetForSessionType(sessionType);
1574
+ if (!customAgentTarget || customAgentTarget === Target.Undefined) {
1575
+ return;
1576
+ }
1577
+ const currentMode = this._currentModeObservable.get();
1578
+ if (currentMode.id === ChatMode.Agent.id) {
1579
+ return;
1580
+ }
1581
+ if (currentMode.isBuiltin) {
1582
+ this.setChatMode(ChatModeKind.Agent, false);
1583
+ return;
1584
+ }
1585
+ const modeTarget = currentMode.target.get();
1586
+ if (modeTarget !== customAgentTarget && modeTarget !== Target.Undefined) {
1587
+ this.setChatMode(ChatModeKind.Agent, false);
1588
+ }
1589
+ }
1590
+ setCurrentLanguageModelToDefault(forSessionType) {
1591
+ this._modelSelectionController.selectDefault(forSessionType ?? this.getCurrentSessionType());
1592
+ }
1593
+ getConfiguredModelValue() {
1594
+ const model = this.configurationService.getValue(ChatConfiguration.DefaultModel)?.trim();
1595
+ return model ? model : undefined;
1596
+ }
1597
+ resolveDraftModel(draftModel, sessionTypeForValidation, validatePool) {
1598
+ let model = draftModel;
1599
+ if (validatePool && shouldDropAgnosticDraftModel(model, this.getAllMergedModels(), sessionTypeForValidation)) {
1600
+ model = undefined;
1601
+ }
1602
+ const configuredValue = this.getConfiguredModelValue();
1603
+ if (configuredValue) {
1604
+ model = resolveConfiguredModel(
1605
+ configuredValue,
1606
+ this.getModelsForSessionType(this._currentSessionType ?? this.getCurrentSessionType())
1607
+ );
1608
+ }
1609
+ return {
1610
+ model,
1611
+ changed: model?.identifier !== draftModel?.identifier
1612
+ };
1613
+ }
1614
+ reinitializeIfOutsidePool(initialize) {
1615
+ const currentModel = this._modelSelectionController.currentModel.get();
1616
+ const pool = this.getModelsForSessionType(this._currentSessionType ?? this.getCurrentSessionType());
1617
+ if (!currentModel || ( pool.some(model => model.identifier === currentModel.identifier))) {
1618
+ return;
1619
+ }
1620
+ initialize();
1621
+ this._modelSelectionController.ensureCurrentModelSupported();
1622
+ }
1623
+ resetLanguageModelToDefault() {
1624
+ this._modelSelectionController.resetToDefault(this.getCurrentSessionType());
1625
+ }
1626
+ getCurrentInputState() {
1627
+ const mode = this._currentModeObservable.get();
1628
+ const selectedModel = this._currentLanguageModel.get();
1629
+ const state = {
1630
+ inputText: this._inputEditor?.getValue() ?? "",
1631
+ attachments: this._attachmentModel.attachments,
1632
+ mode: {
1633
+ id: mode.id,
1634
+ kind: mode.kind
1635
+ },
1636
+ selectedModel,
1637
+ modelConfiguration: selectedModel ? this._modelConfigStore.getModelConfiguration(selectedModel.identifier) : undefined,
1638
+ selectedModelReason: selectedModel ? this._modelSelectionController.selectionReason : undefined,
1639
+ selections: this._inputEditor?.getSelections() || [],
1640
+ permissionLevel: this._currentPermissionLevel.get(),
1641
+ contrib: {}
1642
+ };
1643
+ for (const contrib of this._widget?.contribs || Iterable.empty()) {
1644
+ contrib.getInputState?.(state.contrib);
1645
+ }
1646
+ return state;
1647
+ }
1648
+ _getAriaLabel() {
1649
+ const verbose = this.configurationService.getValue(AccessibilityVerbositySettingId.Chat);
1650
+ let kbLabel;
1651
+ if (verbose) {
1652
+ kbLabel = this.keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
1653
+ }
1654
+ const mode = this._currentModeObservable.get();
1655
+ const modelName = this._currentLanguageModel.get()?.metadata.name;
1656
+ const modelInfo = modelName ? ( localize(11958, ", {0}. ", modelName)) : "";
1657
+ let modeLabel = "";
1658
+ if (!mode.isBuiltin) {
1659
+ const mode = this.currentModeObs.get();
1660
+ modeLabel = ( localize(11959, "({0}), {1}", mode.label.get(), mode.description.get()));
1661
+ } else {
1662
+ switch (this.currentModeKind) {
1663
+ case ChatModeKind.Agent:
1664
+ modeLabel = ( localize(11960, "(Agent), edit files in your workspace."));
1665
+ break;
1666
+ case ChatModeKind.Edit:
1667
+ modeLabel = ( localize(11961, "(Edit), edit files in your workspace."));
1668
+ break;
1669
+ case ChatModeKind.Ask:
1670
+ default:
1671
+ modeLabel = ( localize(11962, "(Ask), ask questions or type / for topics."));
1672
+ break;
1673
+ }
1674
+ }
1675
+ if (verbose) {
1676
+ return kbLabel ? ( localize(
1677
+ 11963,
1678
+ "Chat Input {0}{1} Press Enter to send out the request. Use {2} for Chat Accessibility Help.",
1679
+ modeLabel,
1680
+ modelInfo,
1681
+ kbLabel
1682
+ )) : ( localize(
1683
+ 11964,
1684
+ "Chat Input {0}{1} Press Enter to send out the request. Use the Chat Accessibility Help command for more information.",
1685
+ modeLabel,
1686
+ modelInfo
1687
+ ));
1688
+ } else {
1689
+ return localize(11965, "Chat Input {0}{1}.", modeLabel, modelInfo);
1690
+ }
1691
+ }
1692
+ validateCurrentChatMode() {
1693
+ const currentMode = this._currentModeObservable.get();
1694
+ const validMode = this._currentChatModesObservable.get().findModeById(currentMode.id);
1695
+ const isAgentModeEnabled = this.configurationService.getValue(ChatConfiguration.AgentEnabled);
1696
+ if (!validMode) {
1697
+ this.setChatMode(isAgentModeEnabled ? ChatModeKind.Agent : ChatModeKind.Ask);
1698
+ return;
1699
+ }
1700
+ if (currentMode.kind === ChatModeKind.Agent && !isAgentModeEnabled) {
1701
+ this.setChatMode(ChatModeKind.Ask);
1702
+ return;
1703
+ }
1704
+ }
1705
+ _restorePersistedCustomModeIfAvailable() {
1706
+ const persistedMode = this._inputModel?.state.get()?.mode;
1707
+ if (!persistedMode) {
1708
+ return;
1709
+ }
1710
+ const modes = this._currentChatModesObservable.get();
1711
+ const found = modes.findModeById(persistedMode.id) ?? modes.findModeByName(persistedMode.id);
1712
+ if (found && !found.isBuiltin && this._currentModeObservable.get().id !== found.id) {
1713
+ this.setChatMode(found.id, false);
1714
+ }
1715
+ }
1716
+ logInputHistory() {
1717
+ const historyStr = this.history.values.map(entry => JSON.stringify(entry)).join("\n");
1718
+ this.logService.info(`[${this.location}] Chat input history:`, historyStr);
1719
+ }
1720
+ setVisible(visible) {
1721
+ this._onDidChangeVisibility.fire(visible);
1722
+ }
1723
+ get generating() {
1724
+ return this._generating?.defer.p;
1725
+ }
1726
+ startGenerating() {
1727
+ this.logService.trace("ChatWidget#startGenerating");
1728
+ if (this._generating) {
1729
+ this._generating.rc++;
1730
+ } else {
1731
+ this._generating = {
1732
+ rc: 1,
1733
+ defer: ( new DeferredPromise())
1734
+ };
1735
+ }
1736
+ return toDisposable(() => {
1737
+ this.logService.trace("ChatWidget#doneGenerating");
1738
+ if (this._generating && !--this._generating.rc) {
1739
+ this._generating.defer.complete();
1740
+ this._generating = undefined;
1741
+ }
1742
+ });
1743
+ }
1744
+ get element() {
1745
+ return this.container;
1746
+ }
1747
+ async showPreviousValue() {
1748
+ if (this.history.isAtStart()) {
1749
+ return;
1750
+ }
1751
+ const state = this.getCurrentInputState();
1752
+ if (state.inputText || state.attachments.length) {
1753
+ this.history.overlay(state);
1754
+ }
1755
+ this.navigateHistory(true);
1756
+ }
1757
+ async showNextValue() {
1758
+ if (this.history.isAtEnd()) {
1759
+ return;
1760
+ }
1761
+ const state = this.getCurrentInputState();
1762
+ if (state.inputText || state.attachments.length) {
1763
+ this.history.overlay(state);
1764
+ }
1765
+ this.navigateHistory(false);
1766
+ }
1767
+ async restoreAttachments(attachments) {
1768
+ let restored = [...attachments];
1769
+ if (restored.length > 0) {
1770
+ restored = (await Promise.all(restored.map(async attachment => {
1771
+ if (isImageVariableEntry(attachment) && !attachment.value && attachment.references?.length && URI.isUri(attachment.references[0].reference)) {
1772
+ const currReference = attachment.references[0].reference;
1773
+ try {
1774
+ const imageBinary = ( currReference.toString(true)).startsWith("http") ? await this.sharedWebExtracterService.readImage(currReference, CancellationToken.None) : (await this.fileService.readFile(currReference)).value;
1775
+ if (!imageBinary) {
1776
+ return undefined;
1777
+ }
1778
+ const newAttachment = {
1779
+ ...attachment
1780
+ };
1781
+ newAttachment.value = (isImageVariableEntry(attachment) && attachment.isPasted) ? imageBinary.buffer : await resizeImage(imageBinary.buffer);
1782
+ return newAttachment;
1783
+ } catch (err) {
1784
+ this.logService.error("Failed to fetch and reference.", err);
1785
+ return undefined;
1786
+ }
1787
+ }
1788
+ return attachment;
1789
+ }))).filter(isDefined);
1790
+ }
1791
+ this._attachmentModel.clearAndSetContext(...restored);
1792
+ }
1793
+ async navigateHistory(previous) {
1794
+ const historyEntry = previous ? this.history.previous() : this.history.next();
1795
+ await this.restoreAttachments(historyEntry?.attachments ?? []);
1796
+ const inputText = historyEntry?.inputText ?? "";
1797
+ const contribData = historyEntry?.contrib ?? {};
1798
+ status(inputText);
1799
+ this.setValue(inputText, true);
1800
+ this._widget?.contribs.forEach(contrib => {
1801
+ contrib.setInputState?.(contribData);
1802
+ });
1803
+ this._onDidLoadInputState.fire();
1804
+ const model = this._inputEditor.getModel();
1805
+ if (!model) {
1806
+ return;
1807
+ }
1808
+ if (previous) {
1809
+ this._inputEditor.setPosition({
1810
+ lineNumber: 1,
1811
+ column: 1
1812
+ });
1813
+ } else {
1814
+ this._inputEditor.setPosition(getLastPosition(model));
1815
+ }
1816
+ }
1817
+ setValue(value, transient) {
1818
+ this.inputEditor.setValue(value);
1819
+ const model = this.inputEditor.getModel();
1820
+ if (model) {
1821
+ this.inputEditor.setPosition(getLastPosition(model));
1822
+ }
1823
+ }
1824
+ focus() {
1825
+ this._inputEditor.focus();
1826
+ }
1827
+ hasFocus() {
1828
+ return this._inputEditor.hasWidgetFocus();
1829
+ }
1830
+ focusTodoList() {
1831
+ return this._chatInputTodoListWidget.value?.focus() ?? false;
1832
+ }
1833
+ isTodoListFocused() {
1834
+ return this._chatInputTodoListWidget.value?.hasFocus() ?? false;
1835
+ }
1836
+ hasVisibleTodos() {
1837
+ return this._chatInputTodoListWidget.value?.hasTodos() ?? false;
1838
+ }
1839
+ async acceptInput(isUserQuery, preserveFocus, preserveInput) {
1840
+ if (isUserQuery) {
1841
+ const userQuery = this.getCurrentInputState();
1842
+ this.history.append(this._getFilteredEntry(userQuery));
1843
+ }
1844
+ this.resetScrollbarVisibilityAfterAccept();
1845
+ this.chatInputNotificationService.handleMessageSent(this.getNotificationContext());
1846
+ if (this._chatSessionIsEmpty) {
1847
+ this._chatSessionIsEmpty = false;
1848
+ this._emptyInputState.set(undefined, undefined);
1849
+ this._emptyInputAttachments.set([], undefined);
1850
+ }
1851
+ if (preserveInput) {
1852
+ if (!preserveFocus) {
1853
+ this._inputEditor.focus();
1854
+ }
1855
+ return;
1856
+ }
1857
+ notifyDictationSubmitted(this._inputEditor);
1858
+ logChangesToStateModel(
1859
+ this._inputModel,
1860
+ `[ACCEPT] acceptInput -> attachmentModel.clear() in ${this._currentSessionKey}`,
1861
+ undefined,
1862
+ this._inputModel?.state.get(),
1863
+ this.logService
1864
+ );
1865
+ this.attachmentModel.clear();
1866
+ this._onDidLoadInputState.fire();
1867
+ if (this.accessibilityService.isScreenReaderOptimized() && isMacintosh) {
1868
+ this._acceptInputForVoiceover();
1869
+ } else if (preserveFocus) {
1870
+ this._inputEditor.setValue("");
1871
+ } else {
1872
+ this._inputEditor.focus();
1873
+ this._inputEditor.setValue("");
1874
+ }
1875
+ }
1876
+ validateAgentMode() {
1877
+ if (!this.agentService.hasToolsAgent && this._currentModeObservable.get().kind === ChatModeKind.Agent) {
1878
+ this.setChatMode(ChatModeKind.Edit);
1879
+ }
1880
+ }
1881
+ _getFilteredEntry(inputState) {
1882
+ const attachmentsWithoutImageValues = inputState.attachments.map(attachment => {
1883
+ if (isImageVariableEntry(attachment) && attachment.references?.length && attachment.value) {
1884
+ const newAttachment = {
1885
+ ...attachment
1886
+ };
1887
+ newAttachment.value = undefined;
1888
+ return newAttachment;
1889
+ }
1890
+ return attachment;
1891
+ });
1892
+ return {
1893
+ ...inputState,
1894
+ attachments: attachmentsWithoutImageValues
1895
+ };
1896
+ }
1897
+ _acceptInputForVoiceover() {
1898
+ const domNode = this._inputEditor.getDomNode();
1899
+ if (!domNode) {
1900
+ return;
1901
+ }
1902
+ domNode.remove();
1903
+ this._inputEditor.setValue("");
1904
+ this._inputEditorElement.appendChild(domNode);
1905
+ this._inputEditor.focus();
1906
+ }
1907
+ _handleAttachedContextChange() {
1908
+ this._hasFileAttachmentContextKey.set(Boolean(this._attachmentModel.attachments.find(a => a.kind === "file")));
1909
+ this._updateInputContentContextKeys();
1910
+ this.renderAttachedContext();
1911
+ }
1912
+ _updateInputContentContextKeys() {
1913
+ const inputHasText = !!this._inputEditor?.getModel()?.getValue().trim();
1914
+ this.inputEditorHasText.set(inputHasText);
1915
+ const hasSendableContent = inputHasText || ( this._attachmentModel.attachments.some(isExplicitFileOrImageVariableEntry));
1916
+ this.inputEditorHasSendableContent.set(
1917
+ hasSendableContent && !this.hasNoAvailableModel() && !this.hasPendingProgrammaticModelSelection
1918
+ );
1919
+ }
1920
+ getOrCreateOptionEmitter(optionGroupId) {
1921
+ let emitter = this._chatSessionOptionEmitters.get(optionGroupId);
1922
+ if (!emitter) {
1923
+ emitter = ( new Emitter());
1924
+ this._chatSessionOptionEmitters.set(optionGroupId, emitter);
1925
+ }
1926
+ return emitter;
1927
+ }
1928
+ getOrCreateOptionContextKey(optionGroupId) {
1929
+ if (!this._scopedContextKeyService) {
1930
+ return undefined;
1931
+ }
1932
+ let contextKey = this._optionContextKeys.get(optionGroupId);
1933
+ if (!contextKey) {
1934
+ const rawKey = new RawContextKey(`chatSessionOption.${optionGroupId}`, "");
1935
+ contextKey = rawKey.bindTo(this._scopedContextKeyService);
1936
+ this._optionContextKeys.set(optionGroupId, contextKey);
1937
+ }
1938
+ return contextKey;
1939
+ }
1940
+ updateOptionContextKey(optionGroupId, optionItemId) {
1941
+ const normalizedOptionId = optionItemId.trim();
1942
+ const contextKey = this.getOrCreateOptionContextKey(optionGroupId);
1943
+ if (contextKey) {
1944
+ contextKey.set(normalizedOptionId);
1945
+ }
1946
+ }
1947
+ evaluateOptionGroupVisibility(optionGroup) {
1948
+ if (!optionGroup.when) {
1949
+ return true;
1950
+ }
1951
+ if (!this._scopedContextKeyService) {
1952
+ return true;
1953
+ }
1954
+ const expr = ContextKeyExpr.deserialize(optionGroup.when);
1955
+ if (!expr) {
1956
+ return true;
1957
+ }
1958
+ return this._scopedContextKeyService.contextMatchesRules(expr);
1959
+ }
1960
+ getVisibleOptionGroupsModeAndUpdateContextKeys(sessionResource) {
1961
+ const sessionType = this.getEffectiveSessionType(sessionResource);
1962
+ const customAgentTarget = sessionType ? this.chatSessionsService.getCustomAgentTargetForSessionType(sessionType) : Target.Undefined;
1963
+ this.chatSessionHasCustomAgentTarget.set(customAgentTarget !== Target.Undefined);
1964
+ const requiresCustomModels = sessionType && this.chatSessionsService.requiresCustomModelsForSessionType(sessionType);
1965
+ this.chatSessionHasTargetedModels.set(!!requiresCustomModels);
1966
+ const visibleOptionGroups = this.getVisibleOptionGroups(sessionResource);
1967
+ this.permissionWidget?.refresh();
1968
+ if (!visibleOptionGroups.length) {
1969
+ this.chatSessionHasOptions.set(false);
1970
+ this.chatSessionOptionsValid.set(true);
1971
+ this._updateInputContentContextKeys();
1972
+ return [];
1973
+ }
1974
+ const allOptionsValid = sessionResource ? this.areAllOptionsValid(sessionResource, visibleOptionGroups) : true;
1975
+ this.chatSessionHasOptions.set(true);
1976
+ this.chatSessionOptionsValid.set(allOptionsValid);
1977
+ this._updateInputContentContextKeys();
1978
+ return visibleOptionGroups;
1979
+ }
1980
+ getCurrentSessionResource() {
1981
+ return this._widget?.viewModel?.model.sessionResource;
1982
+ }
1983
+ getTerminalCommandPrefix() {
1984
+ const sessionResource = this.getCurrentSessionResource();
1985
+ return sessionResource ? this.chatSessionsService.getCapabilitiesForSessionType(getChatSessionType(sessionResource))?.terminalCommandPrefix : undefined;
1986
+ }
1987
+ isTerminalCommandPaste(pastedText, range) {
1988
+ const model = this._inputEditor.getModel();
1989
+ const prefix = this.getTerminalCommandPrefix();
1990
+ if (!model || !prefix) {
1991
+ return false;
1992
+ }
1993
+ return isTerminalCommandPaste({
1994
+ prefix,
1995
+ pastedText,
1996
+ currentValue: model.getValue(),
1997
+ selectionStartOffset: model.getOffsetAt(Range.getStartPosition(range)),
1998
+ selectionEndOffset: model.getOffsetAt(Range.getEndPosition(range))
1999
+ });
2000
+ }
2001
+ updateInputEditorFontFamily() {
2002
+ if (!this._inputEditor) {
2003
+ return;
2004
+ }
2005
+ const isCommand = isTerminalCommandInput(
2006
+ this._inputEditor.getModel()?.getLineContent(1) || "",
2007
+ this.getTerminalCommandPrefix()
2008
+ );
2009
+ this._inputEditor.updateOptions({
2010
+ fontFamily: isCommand ? EDITOR_FONT_DEFAULTS.fontFamily : DEFAULT_FONT_FAMILY
2011
+ });
2012
+ }
2013
+ handleTerminalCommandPaste(e) {
2014
+ handleTerminalCommandPaste(
2015
+ e,
2016
+ this._inputEditor,
2017
+ this.getTerminalCommandPrefix(),
2018
+ this.dialogService,
2019
+ this.storageService
2020
+ );
2021
+ }
2022
+ areAllOptionsValid(sessionResource, visibleOptionGroups) {
2023
+ for (const optionGroup of visibleOptionGroups) {
2024
+ const currentOption = this.chatSessionsService.getSessionOption(sessionResource, optionGroup.id);
2025
+ if (currentOption) {
2026
+ const currentOptionId = typeof currentOption === "string" ? currentOption : currentOption.id;
2027
+ if (!( optionGroup.items.some(item => item.id === currentOptionId)) && typeof currentOption === "string") {
2028
+ return false;
2029
+ }
2030
+ }
2031
+ }
2032
+ return true;
2033
+ }
2034
+ getAllOptionsGroups(sessionResource) {
2035
+ const delegateSessionType = this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.();
2036
+ const effectiveSessionType = delegateSessionType ?? (sessionResource ? getChatSessionType(sessionResource) : undefined);
2037
+ if (!effectiveSessionType) {
2038
+ return [];
2039
+ }
2040
+ const allOptionGroups = this.chatSessionsService.getOptionGroupsForSessionType(effectiveSessionType);
2041
+ return allOptionGroups ?? [];
2042
+ }
2043
+ getVisibleOptionGroups(sessionResource) {
2044
+ const allOptionGroups = this.getAllOptionsGroups(sessionResource);
2045
+ if (!allOptionGroups.length) {
2046
+ return [];
2047
+ }
2048
+ if (sessionResource) {
2049
+ for (const optionGroup of allOptionGroups) {
2050
+ const currentOption = this.chatSessionsService.getSessionOption(sessionResource, optionGroup.id);
2051
+ if (currentOption) {
2052
+ const optionId = typeof currentOption === "string" ? currentOption : currentOption.id;
2053
+ this.updateOptionContextKey(optionGroup.id, optionId);
2054
+ }
2055
+ }
2056
+ }
2057
+ const visibleGroups = ( new Map());
2058
+ for (const optionGroup of allOptionGroups) {
2059
+ if (optionGroup.kind === "permissions") {
2060
+ continue;
2061
+ }
2062
+ const hasItems = optionGroup.items.length > 0 || (optionGroup.commands || []).length > 0;
2063
+ const passesWhenClause = this.evaluateOptionGroupVisibility(optionGroup);
2064
+ const sessionHasOption = !sessionResource || this.chatSessionsService.getSessionOption(sessionResource, optionGroup.id) !== undefined;
2065
+ if (hasItems && passesWhenClause && sessionHasOption) {
2066
+ visibleGroups.set(optionGroup.id, optionGroup);
2067
+ }
2068
+ }
2069
+ return Array.from(( visibleGroups.values()));
2070
+ }
2071
+ getActiveExtensionPermissionGroup(sessionResource) {
2072
+ const allOptionGroups = this.getAllOptionsGroups(sessionResource);
2073
+ return allOptionGroups.find(
2074
+ g => g.kind === "permissions" && g.items.length > 0 && this.evaluateOptionGroupVisibility(g)
2075
+ );
2076
+ }
2077
+ refreshChatSessionPickers() {
2078
+ const sessionResource = this.getCurrentSessionResource();
2079
+ const allOptionsGroups = this.getAllOptionsGroups(sessionResource);
2080
+ const visibleOptionGroups = this.getVisibleOptionGroupsModeAndUpdateContextKeys(sessionResource);
2081
+ if (!allOptionsGroups.length || !visibleOptionGroups.length) {
2082
+ this.hideAllSessionPickerWidgets();
2083
+ return;
2084
+ }
2085
+ const currentWidgetGroupIds = ( new Set(( this.chatSessionPickerWidgets.keys())));
2086
+ const needsRecreation = currentWidgetGroupIds.size !== visibleOptionGroups.length || !visibleOptionGroups.every(group => ( currentWidgetGroupIds.has(group.id)));
2087
+ if (needsRecreation && this._lastSessionPickerAction && this.chatSessionPickerContainer) {
2088
+ const widgets = this.createChatSessionPickerWidgets(this._lastSessionPickerAction, this._lastSessionPickerOptions);
2089
+ clearNode(this.chatSessionPickerContainer);
2090
+ for (const widget of widgets) {
2091
+ const container = $$1(".action-item.chat-sessionPicker-item");
2092
+ widget.render(container);
2093
+ this.chatSessionPickerContainer.appendChild(container);
2094
+ }
2095
+ }
2096
+ if (this.chatSessionPickerContainer) {
2097
+ this.chatSessionPickerContainer.style.display = "";
2098
+ }
2099
+ if (sessionResource) {
2100
+ for (const [optionGroupId] of this.chatSessionPickerWidgets) {
2101
+ const currentOption = this.chatSessionsService.getSessionOption(sessionResource, optionGroupId);
2102
+ if (currentOption) {
2103
+ const optionGroup = allOptionsGroups.find(g => g.id === optionGroupId);
2104
+ if (optionGroup) {
2105
+ const currentOptionId = typeof currentOption === "string" ? currentOption : currentOption.id;
2106
+ const item = optionGroup.items.find(m => m.id === currentOptionId);
2107
+ if (item && typeof currentOption === "string") {
2108
+ this.getOrCreateOptionEmitter(optionGroupId).fire(item);
2109
+ } else if (typeof currentOption !== "string") {
2110
+ this.getOrCreateOptionEmitter(optionGroupId).fire(currentOption);
2111
+ }
2112
+ }
2113
+ }
2114
+ }
2115
+ }
2116
+ }
2117
+ hideAllSessionPickerWidgets() {
2118
+ if (this.chatSessionPickerContainer) {
2119
+ this.chatSessionPickerContainer.style.display = "none";
2120
+ }
2121
+ }
2122
+ getCurrentOptionForGroup(optionGroupId) {
2123
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
2124
+ if (!sessionResource) {
2125
+ return;
2126
+ }
2127
+ if (this.chatSessionsService.getSessionOption(sessionResource, optionGroupId) === undefined) {
2128
+ return;
2129
+ }
2130
+ const effectiveSessionType = this.getEffectiveSessionType(sessionResource);
2131
+ const optionGroups = effectiveSessionType ? this.chatSessionsService.getOptionGroupsForSessionType(effectiveSessionType) : undefined;
2132
+ const optionGroup = optionGroups?.find(g => g.id === optionGroupId);
2133
+ if (!optionGroup || optionGroup.items.length === 0) {
2134
+ return;
2135
+ }
2136
+ const currentOptionValue = this.chatSessionsService.getSessionOption(sessionResource, optionGroupId);
2137
+ if (!currentOptionValue) {
2138
+ const defaultItem = optionGroup.items.find(item => item.default);
2139
+ return defaultItem;
2140
+ }
2141
+ if (typeof currentOptionValue === "string") {
2142
+ const normalizedOptionId = currentOptionValue.trim();
2143
+ return optionGroup.items.find(m => m.id === normalizedOptionId);
2144
+ } else {
2145
+ return currentOptionValue;
2146
+ }
2147
+ }
2148
+ hasWorkspaceScmRepository() {
2149
+ const folders = this.workspaceContextService.getWorkspace().folders;
2150
+ if (folders.length === 0) {
2151
+ return false;
2152
+ }
2153
+ for (const repo of this.scmService.repositories) {
2154
+ if (repo.provider.rootUri && this.workspaceContextService.getWorkspaceFolder(repo.provider.rootUri)) {
2155
+ return true;
2156
+ }
2157
+ }
2158
+ return false;
2159
+ }
2160
+ getEffectiveSessionType(sessionResource) {
2161
+ return this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.() ?? (sessionResource ? getChatSessionType(sessionResource) : undefined);
2162
+ }
2163
+ updateAgentSessionTypeContextKey() {
2164
+ const sessionResource = this._widget?.viewModel?.model.sessionResource;
2165
+ const delegate = this.options.sessionTypePickerDelegate;
2166
+ const delegateSessionType = delegate?.setActiveSessionProvider && delegate?.getActiveSessionProvider?.();
2167
+ const sessionType = delegateSessionType || (sessionResource ? getChatSessionType(sessionResource) : "");
2168
+ this.agentSessionTypeKey.set(sessionType);
2169
+ this.chatSessionSupportsDelegationKey.set(this.chatSessionsService.supportsDelegationForSessionType(sessionType));
2170
+ }
2171
+ updateWidgetLockStateFromSessionType(sessionType) {
2172
+ if (sessionType === localChatSessionType) {
2173
+ this._widget?.unlockFromCodingAgent();
2174
+ return;
2175
+ }
2176
+ const contribution = this.chatSessionsService.getChatSessionContribution(sessionType);
2177
+ if (contribution) {
2178
+ this._widget?.lockToCodingAgent(
2179
+ contribution.name,
2180
+ contribution.displayName,
2181
+ contribution.type,
2182
+ contribution.agentHostProviderId
2183
+ );
2184
+ } else {
2185
+ this._widget?.unlockFromCodingAgent();
2186
+ }
2187
+ }
2188
+ getActiveSessionTypeForDelegation() {
2189
+ const sessionResource = this._widget?.viewModel?.sessionResource;
2190
+ return sessionResource ? (getAgentSessionProvider(sessionResource) ?? getChatSessionType(sessionResource)) : undefined;
2191
+ }
2192
+ continueInSession(provider) {
2193
+ this.setPendingDelegationTarget(provider);
2194
+ this.focus();
2195
+ }
2196
+ setPendingDelegationTarget(provider) {
2197
+ const isActive = this.getActiveSessionTypeForDelegation() === provider;
2198
+ this._pendingDelegationTarget = isActive ? undefined : provider;
2199
+ this.chatHasPendingDelegationTargetKey.set(!!this._pendingDelegationTarget);
2200
+ this.updateWidgetLockStateFromSessionType(provider);
2201
+ this.updateAgentSessionTypeContextKey();
2202
+ this.refreshChatSessionPickers();
2203
+ }
2204
+ ensureNotificationWidget() {
2205
+ if (!this._notificationWidget.value) {
2206
+ this._notificationWidget.value = this.instantiationService.createInstance(ChatInputNotificationWidget, {
2207
+ modelTargetChatSessionType: this._notificationModelTargetChatSessionType,
2208
+ sessionResource: this._currentSessionResourceObservable,
2209
+ deferredNotificationsEnabled: this._deferredNotificationsEnabled,
2210
+ isTransientChat: constObservable(this.options.isTransientChat ?? false),
2211
+ sessionStarted: this._sessionStarted,
2212
+ modelSelection: {
2213
+ state: this._notificationModelState,
2214
+ openPicker: () => this.openModelPicker(),
2215
+ selectModel: modelIdentifier => this.selectNotificationModel(modelIdentifier),
2216
+ applyModelConfiguration: (modelIdentifier, values) => this.applyNotificationModelConfiguration(modelIdentifier, values)
2217
+ },
2218
+ onDidChangeVisibility: (visible, focusTarget) => this.noticeHost.setOccupied(ChatInputNoticeLane.Notification, visible, focusTarget),
2219
+ focusInput: () => this.focus()
2220
+ });
2221
+ this._notificationWidget.value.attachTo(this.chatInputNotificationContainer);
2222
+ }
2223
+ }
2224
+ getNotificationContext() {
2225
+ return {
2226
+ sessionType: this._notificationModelTargetChatSessionType.get(),
2227
+ sessionResource: this._currentSessionResourceObservable.get(),
2228
+ deferredNotificationsEnabled: this._deferredNotificationsEnabled.get(),
2229
+ isTransientChat: this.options.isTransientChat ?? false,
2230
+ sessionStarted: this._sessionStarted.get(),
2231
+ modelState: this._notificationModelState.get()
2232
+ };
2233
+ }
2234
+ selectNotificationModel(identifier) {
2235
+ const model = this._notificationModelState.get().models.find(model => model.identifier === identifier);
2236
+ if (!model) {
2237
+ return false;
2238
+ }
2239
+ this.setCurrentLanguageModel(model, true, !this._pendingDelegationTarget);
2240
+ return true;
2241
+ }
2242
+ async applyNotificationModelConfiguration(modelIdentifier, values) {
2243
+ if (this._pendingDelegationTarget) {
2244
+ return;
2245
+ }
2246
+ await this._modelConfigStore.setModelConfiguration(modelIdentifier, values);
2247
+ }
2248
+ ensureGoalBannerWidget() {
2249
+ if (!this._goalBannerWidget.value) {
2250
+ const widget = ( new ChatGoalBannerWidget());
2251
+ this._register(widget.onDismiss(() => this._onDidDismissGoalBanner.fire()));
2252
+ this._goalBannerWidget.value = widget;
2253
+ widget.attachTo(this.chatGoalBannerContainer);
2254
+ }
2255
+ return this._goalBannerWidget.value;
2256
+ }
2257
+ showGoalBannerLoading() {
2258
+ this.ensureGoalBannerWidget().setLoading();
2259
+ }
2260
+ setGoalBanner(summary) {
2261
+ this.ensureGoalBannerWidget().setGoal(summary);
2262
+ }
2263
+ clearGoalBanner() {
2264
+ this._goalBannerWidget.value?.clear();
2265
+ }
2266
+ showContextUsageDetails() {
2267
+ return this.contextUsageWidget?.showDetails() ?? false;
2268
+ }
2269
+ updateContextUsageWidget() {
2270
+ this._contextUsageDisposables.clear();
2271
+ const model = this._widget?.viewModel?.model;
2272
+ if (!model || !this.contextUsageWidget) {
2273
+ return;
2274
+ }
2275
+ const store = ( new DisposableStore());
2276
+ this._contextUsageDisposables.value = store;
2277
+ let lastRequest = model.lastRequest;
2278
+ const observePreviousResponse = request => {
2279
+ if (request?.response) {
2280
+ store.add(
2281
+ request.response.onDidChange(() => this.contextUsageWidget?.updateSessionCost(model.sessionCost))
2282
+ );
2283
+ }
2284
+ };
2285
+ for (const request of model.getRequests().slice(0, -1)) {
2286
+ observePreviousResponse(request);
2287
+ }
2288
+ store.add(model.onDidChange(e => {
2289
+ if (e.kind === "addRequest") {
2290
+ observePreviousResponse(lastRequest);
2291
+ lastRequest = e.request;
2292
+ this.contextUsageWidget?.update(model.lastRequest);
2293
+ } else if (e.kind === "completedRequest") {
2294
+ this.contextUsageWidget?.update(model.lastRequest);
2295
+ }
2296
+ }));
2297
+ store.add(this.languageModelsService.onDidChangeLanguageModels(() => {
2298
+ const lastRequest = model.lastRequest;
2299
+ if (lastRequest?.modelId) {
2300
+ this.contextUsageWidget?.update(lastRequest);
2301
+ }
2302
+ }));
2303
+ this.contextUsageWidget.update(model.lastRequest);
2304
+ }
2305
+ handleViewModelChange(e) {
2306
+ this.updateDeferredNotificationsEligibility(e);
2307
+ transaction(observableTransaction => {
2308
+ try {
2309
+ this.updateInputEditorFontFamily();
2310
+ this.resetPendingDelegationForViewModelChange(observableTransaction);
2311
+ this.refreshViewModelScopedState();
2312
+ this.clearQuestionCarouselIfSessionChanged(e);
2313
+ this.clearPlanReviewIfSessionChanged(e);
2314
+ this._syncToolConfirmationCarouselForSession();
2315
+ this.reconcileSessionTypeForViewModelChange(e, observableTransaction);
2316
+ } finally {
2317
+ this._restorePerTypeModel = false;
2318
+ }
2319
+ });
2320
+ this._modelSelectionController.applyConfiguredDefault();
2321
+ }
2322
+ updateDeferredNotificationsEligibility(e) {
2323
+ if (this.environmentService.isSessionsWindow) {
2324
+ this._deferredNotificationsEnabled.set(true, undefined);
2325
+ return;
2326
+ }
2327
+ this._isFirstWorkbenchSession ??= !this.chatService.hasSessions();
2328
+ if (this._isFirstWorkbenchSession && e?.previousSessionResource && e.currentSessionResource && !isEqual(e.previousSessionResource, e.currentSessionResource) && !isUntitledChatSession(e.previousSessionResource)) {
2329
+ this._isFirstWorkbenchSession = false;
2330
+ }
2331
+ this._deferredNotificationsEnabled.set(!this._isFirstWorkbenchSession, undefined);
2332
+ }
2333
+ resetPendingDelegationForViewModelChange(transaction) {
2334
+ this._pendingDelegationTargetObservable.set(undefined, transaction);
2335
+ this.chatHasPendingDelegationTargetKey.set(false);
2336
+ }
2337
+ refreshViewModelScopedState() {
2338
+ this.updateAgentSessionTypeContextKey();
2339
+ this.refreshChatSessionPickers();
2340
+ this.ensureNotificationWidget();
2341
+ this.updateContextUsageWidget();
2342
+ }
2343
+ clearQuestionCarouselIfSessionChanged(e) {
2344
+ let hasMatchingResource = false;
2345
+ if (e.currentSessionResource) {
2346
+ for (const r of ( this._questionCarouselSessionResources.values())) {
2347
+ if (isEqual(r, e.currentSessionResource)) {
2348
+ hasMatchingResource = true;
2349
+ break;
2350
+ }
2351
+ }
2352
+ }
2353
+ if (this._questionCarouselSessionResources.size > 0 && (!e.currentSessionResource || !hasMatchingResource)) {
2354
+ this.clearQuestionCarousel();
2355
+ }
2356
+ }
2357
+ clearPlanReviewIfSessionChanged(e) {
2358
+ let hasMatchingPlanReviewResource = false;
2359
+ if (e.currentSessionResource) {
2360
+ for (const r of ( this._planReviewSessionResources.values())) {
2361
+ if (isEqual(r, e.currentSessionResource)) {
2362
+ hasMatchingPlanReviewResource = true;
2363
+ break;
2364
+ }
2365
+ }
2366
+ }
2367
+ if (this._planReviewSessionResources.size > 0 && (!e.currentSessionResource || !hasMatchingPlanReviewResource)) {
2368
+ this.clearPlanReview();
2369
+ }
2370
+ }
2371
+ reconcileSessionTypeForViewModelChange(e, transaction) {
2372
+ this._currentSessionResourceObservable.set(e.currentSessionResource, transaction);
2373
+ this._currentSessionModelObservable.set(this._widget?.viewModel?.model, transaction);
2374
+ const newSessionType = this.getCurrentSessionType();
2375
+ if (e.currentSessionResource && this._currentSessionType && newSessionType !== this._currentSessionType) {
2376
+ logChangesToStateModel(
2377
+ this._inputModel,
2378
+ `[CVVM].1 onDidChangeViewModel -> session change: ${this._currentSessionType} -> ${newSessionType} in ${this._currentSessionKey}, ${( e.currentSessionResource.toString())}`,
2379
+ undefined,
2380
+ this._inputModel?.state.get(),
2381
+ this.logService
2382
+ );
2383
+ this._currentSessionTypeObservable.set(newSessionType, transaction);
2384
+ this.initSelectedModel();
2385
+ this.checkModeInSessionPool();
2386
+ this._modelSelectionController.ensureCurrentModelSupported();
2387
+ } else if (e.currentSessionResource) {
2388
+ logChangesToStateModel(
2389
+ this._inputModel,
2390
+ `[CVVM].2 onDidChangeViewModel -> session change: ${this._currentSessionType} -> ${newSessionType} in ${this._currentSessionKey}, ${( e.currentSessionResource.toString())}`,
2391
+ undefined,
2392
+ this._inputModel?.state.get(),
2393
+ this.logService
2394
+ );
2395
+ this._currentSessionTypeObservable.set(newSessionType, transaction);
2396
+ this.restorePerTypeModelAfterViewModelAssignment();
2397
+ this.reinitializeIfOutsidePool(() => this.initSelectedModel());
2398
+ }
2399
+ }
2400
+ restorePerTypeModelAfterViewModelAssignment() {
2401
+ if (this._restorePerTypeModel) {
2402
+ this.initSelectedModel();
2403
+ if (!this._modelSelectionController.hasPendingProgrammaticSelection() && !this._modelSelectionController.isAwaitingRememberedModel()) {
2404
+ this._modelSelectionController.ensureCurrentModelSupported();
2405
+ }
2406
+ }
2407
+ }
2408
+ render(container, initialValue, widget) {
2409
+ this._widget = widget;
2410
+ this.updateDeferredNotificationsEligibility();
2411
+ this._currentSessionResourceObservable.set(widget.viewModel?.sessionResource, undefined);
2412
+ this._currentSessionModelObservable.set(widget.viewModel?.model, undefined);
2413
+ this.getVisibleOptionGroupsModeAndUpdateContextKeys(this.getCurrentSessionResource());
2414
+ const delegate = this.options.sessionTypePickerDelegate;
2415
+ if (delegate?.setActiveSessionProvider && delegate?.getActiveSessionProvider) {
2416
+ const initialSessionType = delegate.getActiveSessionProvider();
2417
+ if (initialSessionType) {
2418
+ this.updateWidgetLockStateFromSessionType(initialSessionType);
2419
+ }
2420
+ }
2421
+ this._register(widget.onDidChangeViewModel(e => this.handleViewModelChange(e)));
2422
+ let elements;
2423
+ if (this.options.renderStyle === "compact") {
2424
+ elements = h(
2425
+ `.interactive-input-part.${chatInputSurfaceStackClass}`,
2426
+ [h(".chat-input-persistent-content@persistentContentContainer"), h(
2427
+ `.chat-session-archive-nudge-container.${chatInputSurfaceStackSlotClass}@sessionArchiveNudgeContainer`
2428
+ ), h(
2429
+ `.interactive-input-and-edit-session.${chatInputSurfaceStackClass}`,
2430
+ [h(
2431
+ `.chat-plan-review-widget-container.${chatInputSurfaceStackSlotClass}@chatPlanReviewContainer`
2432
+ ), h(
2433
+ `.chat-question-carousel-widget-container.${chatInputSurfaceStackSlotClass}@chatQuestionCarouselContainer`
2434
+ ), h(
2435
+ `.chat-tool-confirmation-carousel-container.${chatInputSurfaceStackSlotClass}@chatToolConfirmationCarouselContainer`
2436
+ ), h(`.${chatInputStackClass}`, [h(
2437
+ `.chat-input-notification-container.${chatInputStackSlotClass}@chatInputNotificationContainer`
2438
+ ), h(
2439
+ `.voice-mode-onboarding-container.${chatInputStackSlotClass}@voiceModeOnboardingContainer`
2440
+ ), h(
2441
+ `.dictation-onboarding-container.${chatInputStackSlotClass}@dictationOnboardingContainer`
2442
+ ), h(
2443
+ `.chat-goal-banner-container.${chatInputStackSlotClass}@chatGoalBannerContainer`
2444
+ ), h(".chat-todo-list-widget-container@chatInputTodoListWidgetContainer"), h(".chat-artifacts-widget-container@chatArtifactsWidgetContainer"), h(".chat-editing-session@chatEditingSessionWidgetContainer"), h(
2445
+ `.chat-getting-started-tip-container.${chatInputStackSlotClass}@chatGettingStartedTipContainer`
2446
+ ), h(
2447
+ ".interactive-input-and-side-toolbar@inputAndSideToolbar",
2448
+ [h(".chat-input-container@inputContainer", [
2449
+ h(".chat-editor-container@editorContainer"),
2450
+ h(".chat-input-toolbars@inputToolbars")
2451
+ ])]
2452
+ )]), h(".chat-secondary-toolbar@secondaryToolbar", [
2453
+ h(".chat-responsive-picker-container@responsivePickerContainer"),
2454
+ h(".chat-context-usage-container@contextUsageWidgetContainer"),
2455
+ h(".chat-input-status-container@statusToolbarContainer")
2456
+ ]), h(
2457
+ `.chat-attachments-container.${chatInputSurfaceStackSlotClass}@attachmentsContainer`,
2458
+ [h(".chat-attached-context@attachedContextContainer")]
2459
+ ), h(
2460
+ `.interactive-input-followups.${chatInputSurfaceStackSlotClass}@followupsContainer`
2461
+ )]
2462
+ )]
2463
+ );
2464
+ } else {
2465
+ elements = h(
2466
+ `.interactive-input-part.${chatInputSurfaceStackClass}`,
2467
+ [h(".chat-input-persistent-content@persistentContentContainer"), h(
2468
+ `.chat-session-archive-nudge-container.${chatInputSurfaceStackSlotClass}@sessionArchiveNudgeContainer`
2469
+ ), h(
2470
+ `.chat-plan-review-widget-container.${chatInputSurfaceStackSlotClass}@chatPlanReviewContainer`
2471
+ ), h(
2472
+ `.chat-question-carousel-widget-container.${chatInputSurfaceStackSlotClass}@chatQuestionCarouselContainer`
2473
+ ), h(
2474
+ `.chat-tool-confirmation-carousel-container.${chatInputSurfaceStackSlotClass}@chatToolConfirmationCarouselContainer`
2475
+ ), h(
2476
+ `.interactive-input-followups.${chatInputSurfaceStackSlotClass}@followupsContainer`
2477
+ ), h(`.${chatInputStackClass}`, [h(
2478
+ `.chat-input-notification-container.${chatInputStackSlotClass}@chatInputNotificationContainer`
2479
+ ), h(
2480
+ `.voice-mode-onboarding-container.${chatInputStackSlotClass}@voiceModeOnboardingContainer`
2481
+ ), h(
2482
+ `.dictation-onboarding-container.${chatInputStackSlotClass}@dictationOnboardingContainer`
2483
+ ), h(
2484
+ `.chat-goal-banner-container.${chatInputStackSlotClass}@chatGoalBannerContainer`
2485
+ ), h(".chat-todo-list-widget-container@chatInputTodoListWidgetContainer"), h(".chat-artifacts-widget-container@chatArtifactsWidgetContainer"), h(".chat-editing-session@chatEditingSessionWidgetContainer"), h(
2486
+ `.chat-getting-started-tip-container.${chatInputStackSlotClass}@chatGettingStartedTipContainer`
2487
+ ), h(
2488
+ ".interactive-input-and-side-toolbar@inputAndSideToolbar",
2489
+ [h(".chat-input-container@inputContainer", [h(
2490
+ ".chat-attachments-container@attachmentsContainer",
2491
+ [h(".chat-attached-context@attachedContextContainer")]
2492
+ ), h(".chat-editor-container@editorContainer"), h(".chat-input-toolbars@inputToolbars")])]
2493
+ )]), h(".chat-secondary-toolbar@secondaryToolbar", [
2494
+ h(".chat-responsive-picker-container@responsivePickerContainer"),
2495
+ h(".chat-context-usage-container@contextUsageWidgetContainer"),
2496
+ h(".chat-input-status-container@statusToolbarContainer")
2497
+ ])]
2498
+ );
2499
+ }
2500
+ this.container = elements.root;
2501
+ this.persistentContentContainer = elements.persistentContentContainer;
2502
+ this.sessionArchiveNudgeContainer = elements.sessionArchiveNudgeContainer;
2503
+ this.chatInputOverlay = $$1(".chat-input-overlay");
2504
+ container.append(this.container);
2505
+ this.container.append(this.chatInputOverlay);
2506
+ this.container.classList.toggle("compact", this.options.renderStyle === "compact");
2507
+ this._scopedContextKeyService = this._register(this.contextKeyService.createScoped(this.container));
2508
+ const archiveNudgeContextKeyService = this._register(this.contextKeyService.createScoped(this.sessionArchiveNudgeContainer));
2509
+ ChatContextKeys.inChatInput.bindTo(archiveNudgeContextKeyService).set(true);
2510
+ this.followupsContainer = elements.followupsContainer;
2511
+ const inputAndSideToolbar = elements.inputAndSideToolbar;
2512
+ this.inputAndSideToolbar = inputAndSideToolbar;
2513
+ const inputContainer = elements.inputContainer;
2514
+ this.inputContainer = inputContainer;
2515
+ const editorContainer = elements.editorContainer;
2516
+ this.attachmentsContainer = elements.attachmentsContainer;
2517
+ this.attachedContextContainer = elements.attachedContextContainer;
2518
+ const toolbarsContainer = elements.inputToolbars;
2519
+ this.secondaryToolbarContainer = elements.secondaryToolbar;
2520
+ const responsivePickerContainer = elements.responsivePickerContainer;
2521
+ if (this.options.renderStyle === "compact") {
2522
+ this.secondaryToolbarContainer.style.display = "none";
2523
+ }
2524
+ this.chatEditingSessionWidgetContainer = elements.chatEditingSessionWidgetContainer;
2525
+ this.chatInputTodoListWidgetContainer = elements.chatInputTodoListWidgetContainer;
2526
+ this.chatArtifactsWidgetContainer = elements.chatArtifactsWidgetContainer;
2527
+ this.chatGettingStartedTipContainer = elements.chatGettingStartedTipContainer;
2528
+ this.chatQuestionCarouselContainer = elements.chatQuestionCarouselContainer;
2529
+ this.chatPlanReviewContainer = elements.chatPlanReviewContainer;
2530
+ this.chatToolConfirmationCarouselContainer = elements.chatToolConfirmationCarouselContainer;
2531
+ hide(this.chatToolConfirmationCarouselContainer);
2532
+ this._register(
2533
+ this.chatInputNoticeHubService.registerHost(this.noticeHost, this.container)
2534
+ );
2535
+ this.chatInputNotificationContainer = elements.chatInputNotificationContainer;
2536
+ this._register(registerChatInputOnboardingHosts(this.noticeHost, {
2537
+ voice: elements.voiceModeOnboardingContainer,
2538
+ dictation: elements.dictationOnboardingContainer
2539
+ }, this.container, () => this.focus(), this.voiceModeOnboardingService, this.dictationOnboardingService));
2540
+ this.chatGoalBannerContainer = elements.chatGoalBannerContainer;
2541
+ this.contextUsageWidgetContainer = elements.contextUsageWidgetContainer;
2542
+ this.statusToolbarContainer = elements.statusToolbarContainer;
2543
+ if (this.options.renderStyle === "compact") {
2544
+ toolbarsContainer.prepend(this.contextUsageWidgetContainer);
2545
+ }
2546
+ this.contextUsageWidget = this._register(this.instantiationService.createInstance(ChatContextUsageWidget));
2547
+ this.contextUsageWidget.setChatWidget(widget);
2548
+ this.contextUsageWidget.setSelectedModel(this._currentLanguageModel.get()?.identifier);
2549
+ this.contextUsageWidget.setModelConfigurationResolver(
2550
+ modelId => this.getModelConfiguration(modelId),
2551
+ this._modelConfigStore.onDidChange
2552
+ );
2553
+ this.contextUsageWidgetContainer.appendChild(this.contextUsageWidget.domNode);
2554
+ if (this.options.enableImplicitContext && !this._implicitContext) {
2555
+ this._implicitContext = this._register(this.instantiationService.createInstance(ChatImplicitContexts));
2556
+ this.setImplicitContextEnablement();
2557
+ this._register(this._implicitContext.onDidChangeValue(() => {
2558
+ this._indexOfLastAttachedContextDeletedWithKeyboard = -1;
2559
+ this._handleAttachedContextChange();
2560
+ }));
2561
+ } else if (!this.options.enableImplicitContext && this._implicitContext) {
2562
+ this._implicitContext?.dispose();
2563
+ this._implicitContext = undefined;
2564
+ }
2565
+ this.ensureNotificationWidget();
2566
+ this._register(this._attachmentModel.onDidChange(e => {
2567
+ if (e.added.length > 0) {
2568
+ this._indexOfLastAttachedContextDeletedWithKeyboard = -1;
2569
+ }
2570
+ this._handleAttachedContextChange();
2571
+ }));
2572
+ this.renderChatEditingSessionState(null);
2573
+ this.dnd.addOverlay(
2574
+ this.options.dndContainer ?? container,
2575
+ this.options.dndContainer ?? container
2576
+ );
2577
+ const inputScopedContextKeyService = this._register(this.contextKeyService.createScoped(inputContainer));
2578
+ ChatContextKeys.inChatInput.bindTo(inputScopedContextKeyService).set(true);
2579
+ this.currentlyEditingInputKey = ChatContextKeys.currentlyEditingInput.bindTo(inputScopedContextKeyService);
2580
+ this.editingSentRequestKey = ChatContextKeys.editingRequestType.bindTo(this.contextKeyService);
2581
+ const scopedInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, inputScopedContextKeyService]))));
2582
+ const {
2583
+ historyNavigationBackwardsEnablement,
2584
+ historyNavigationForwardsEnablement
2585
+ } = this._register(
2586
+ registerAndCreateHistoryNavigationContext(inputScopedContextKeyService, this)
2587
+ );
2588
+ this.historyNavigationBackwardsEnablement = historyNavigationBackwardsEnablement;
2589
+ this.historyNavigationForewardsEnablement = historyNavigationForwardsEnablement;
2590
+ const options = getSimpleEditorOptions(this.configurationService);
2591
+ options.overflowWidgetsDomNode = this.options.editorOverflowWidgetsDomNode;
2592
+ options.pasteAs = EditorOptions.pasteAs.defaultValue;
2593
+ options.readOnly = false;
2594
+ options.ariaLabel = this._getAriaLabel();
2595
+ options.fontFamily = DEFAULT_FONT_FAMILY;
2596
+ options.fontSize = 13;
2597
+ options.lineHeight = INPUT_EDITOR_LINE_HEIGHT;
2598
+ options.padding = this.options.renderStyle === "compact" ? INPUT_EDITOR_PADDING.compact : INPUT_EDITOR_PADDING.default;
2599
+ options.cursorWidth = 1;
2600
+ options.wrappingStrategy = "advanced";
2601
+ options.bracketPairColorization = {
2602
+ enabled: false
2603
+ };
2604
+ options.autoClosingBrackets = this.configurationService.getValue("editor.autoClosingBrackets");
2605
+ options.autoClosingQuotes = this.configurationService.getValue("editor.autoClosingQuotes");
2606
+ options.autoSurround = this.configurationService.getValue("editor.autoSurround");
2607
+ options.quickSuggestions = this.options.inputEditorQuickSuggestions ?? false;
2608
+ options.suggest = {
2609
+ showIcons: true,
2610
+ showSnippets: false,
2611
+ showWords: true,
2612
+ showStatusBar: false,
2613
+ insertMode: "insert",
2614
+ fitWidthToDetails: true
2615
+ };
2616
+ options.scrollbar = this.options.renderStyle === "compact" ? {
2617
+ ...(options.scrollbar ?? {}),
2618
+ vertical: "hidden"
2619
+ } : {
2620
+ ...(options.scrollbar ?? {}),
2621
+ vertical: "auto",
2622
+ verticalScrollbarSize: 7
2623
+ };
2624
+ options.stickyScroll = {
2625
+ enabled: false
2626
+ };
2627
+ this._inputEditorElement = append(editorContainer, $(chatInputEditorContainerSelector));
2628
+ const editorOptions = getSimpleCodeEditorWidgetOptions();
2629
+ editorOptions.contributions?.push(...EditorExtensionsRegistry.getSomeEditorContributions([
2630
+ ContentHoverController.ID,
2631
+ GlyphHoverController.ID,
2632
+ DropIntoEditorController.ID,
2633
+ CopyPasteController.ID,
2634
+ LinkDetector.ID,
2635
+ InlineCompletionsController.ID,
2636
+ PlaceholderTextContribution.ID
2637
+ ]));
2638
+ this._inputEditor = this._register(
2639
+ scopedInstantiationService.createInstance(CodeEditorWidget, this._inputEditorElement, options, editorOptions)
2640
+ );
2641
+ this.updateInputEditorFontFamily();
2642
+ this._register(addDisposableListener(
2643
+ this._inputEditorElement,
2644
+ EventType.PASTE,
2645
+ e => this.handleTerminalCommandPaste(e),
2646
+ true
2647
+ ));
2648
+ const dictationRecording = ChatContextKeys.speechToTextRecording.bindTo(this.contextKeyService);
2649
+ const dictationPreparing = ChatContextKeys.speechToTextPreparing.bindTo(this.contextKeyService);
2650
+ const isDictationInputActive = observableFromEvent(this, Event.any(
2651
+ this.speechToTextService.onDidChangeState,
2652
+ this.speechToTextService.onDidChangePreparingModel,
2653
+ onDidChangeDictationEditor
2654
+ ), () => isDictationActiveForEditor(this._inputEditor));
2655
+ const updateDictationContextKeys = () => {
2656
+ const active = isDictationActiveForEditor(this._inputEditor);
2657
+ dictationRecording.set(
2658
+ active && this.speechToTextService.state === ChatSpeechToTextState.Recording
2659
+ );
2660
+ dictationPreparing.set(active && this.speechToTextService.isPreparingModel);
2661
+ };
2662
+ this._register(Event.any(
2663
+ this.speechToTextService.onDidChangeState,
2664
+ this.speechToTextService.onDidChangePreparingModel,
2665
+ onDidChangeDictationEditor
2666
+ )(updateDictationContextKeys));
2667
+ updateDictationContextKeys();
2668
+ SuggestController.get(this._inputEditor)?.forceRenderingAbove();
2669
+ options.overflowWidgetsDomNode?.classList.add("hideSuggestTextIcons");
2670
+ this._inputEditorElement.classList.add("hideSuggestTextIcons");
2671
+ this._register(this._inputEditor.onKeyDown(e => {
2672
+ if (e.keyCode === KeyCode.Enter && !hasModifierKeys(e)) {
2673
+ for (const keybinding of this.keybindingService.lookupKeybindings(ChatSubmitAction.ID)) {
2674
+ const chords = keybinding.getDispatchChords();
2675
+ const isPlainEnter = chords.length === 1 && chords[0] === "[Enter]";
2676
+ if (isPlainEnter) {
2677
+ e.preventDefault();
2678
+ break;
2679
+ }
2680
+ }
2681
+ }
2682
+ }));
2683
+ this._register(this._inputEditor.onDidChangeModelContent(() => {
2684
+ const currentHeight = Math.min(this._inputEditor.getContentHeight(), this._effectiveInputEditorMaxHeight);
2685
+ if (currentHeight !== this.inputEditorHeight) {
2686
+ this.inputEditorHeight = currentHeight;
2687
+ if (this.cachedWidth) {
2688
+ this._layout(this.cachedWidth);
2689
+ }
2690
+ }
2691
+ this._updateInputContentContextKeys();
2692
+ this.updateInputEditorFontFamily();
2693
+ this._syncTextDebounced.schedule();
2694
+ }));
2695
+ this._register(this._inputEditor.onDidContentSizeChange(e => {
2696
+ if (e.contentHeightChanged && !this.ignoreInputEditorContentSizeChanges) {
2697
+ this.inputEditorHeight = !this.inline ? e.contentHeight : this.inputEditorHeight;
2698
+ if (this.cachedWidth) {
2699
+ this._layout(this.cachedWidth);
2700
+ }
2701
+ }
2702
+ }));
2703
+ this._register(this._inputEditor.onDidFocusEditorText(() => {
2704
+ this.inputEditorHasFocus.set(true);
2705
+ this._onDidFocus.fire();
2706
+ inputContainer.classList.toggle("focused", true);
2707
+ setChatInputStackInputFocused(inputContainer, true);
2708
+ }));
2709
+ this._register(this._inputEditor.onDidBlurEditorText(() => {
2710
+ this.inputEditorHasFocus.set(false);
2711
+ inputContainer.classList.toggle("focused", false);
2712
+ setChatInputStackInputFocused(inputContainer, false);
2713
+ this._onDidBlur.fire();
2714
+ }));
2715
+ this._register(this._inputEditor.onDidBlurEditorWidget(() => {
2716
+ CopyPasteController.get(this._inputEditor)?.clearWidgets();
2717
+ DropIntoEditorController.get(this._inputEditor)?.clearWidgets();
2718
+ }));
2719
+ const hoverDelegate = this._register(createInstantHoverDelegate());
2720
+ const {
2721
+ location
2722
+ } = this.getWidgetLocationInfo(widget);
2723
+ const focusedWidget = observableFromEvent(
2724
+ this,
2725
+ this.chatWidgetService.onDidChangeFocusedSession,
2726
+ () => this.chatWidgetService.lastFocusedWidget
2727
+ );
2728
+ const voiceSessionResource = observableFromEvent(this, widget.onDidChangeViewModel, () => widget.viewModel?.sessionResource);
2729
+ const isVoiceInputActive = derived(this, reader => focusedWidget.read(reader) === widget);
2730
+ const isVoiceSessionActive = derived(this, reader => {
2731
+ const target = this.voiceSessionController.targetSession.read(reader);
2732
+ const hasDraftTarget = this.voiceSessionController.hasDraftTarget.read(reader);
2733
+ const resource = voiceSessionResource.read(reader);
2734
+ return isVoiceSessionActiveForInput(isVoiceInputActive.read(reader), target, hasDraftTarget, resource);
2735
+ });
2736
+ const inputPickerCompactStates = ( new Map());
2737
+ const inputPickerMinimalStates = ( new Map());
2738
+ const secondaryPickerCompactStates = ( new Map());
2739
+ const inputOverflowPickerHandlers = ( new Map());
2740
+ const secondaryOverflowPickerHandlers = ( new Map());
2741
+ const getCompactState = (states, actionId) => {
2742
+ let state = states.get(actionId);
2743
+ if (!state) {
2744
+ state = observableValue(this, false);
2745
+ states.set(actionId, state);
2746
+ }
2747
+ return state;
2748
+ };
2749
+ const getInputPickerOptions = actionId => ({
2750
+ getOverflowAnchor: () => this.inputActionsToolbar.getElement(),
2751
+ actionContext: {
2752
+ widget
2753
+ },
2754
+ compact: getCompactState(inputPickerCompactStates, actionId),
2755
+ minimal: actionId === OpenModelPickerAction.ID ? getCompactState(inputPickerMinimalStates, actionId) : undefined
2756
+ });
2757
+ const getSecondaryPickerOptions = actionId => ({
2758
+ getOverflowAnchor: () => this.secondaryToolbar.getElement(),
2759
+ actionContext: {
2760
+ widget
2761
+ },
2762
+ compact: getCompactState(secondaryPickerCompactStates, actionId)
2763
+ });
2764
+ const showOverflowPicker = (factory, anchor) => {
2765
+ const item = factory();
2766
+ if (!item) {
2767
+ return;
2768
+ }
2769
+ this.overflowPickerWidget.value = item;
2770
+ item.render($$1(".chat-overflow-picker-item"));
2771
+ item.show(anchor);
2772
+ };
2773
+ const showRegisteredOverflowPicker = (factory, action, anchor) => {
2774
+ const item = factory(action, {
2775
+ hoverDelegate
2776
+ }, this.instantiationService, getWindow(anchor).vscodeWindowId);
2777
+ if (!isShowableActionViewItem(item)) {
2778
+ item?.dispose();
2779
+ return false;
2780
+ }
2781
+ this.overflowPickerWidget.value = item;
2782
+ item.render($$1(".chat-overflow-picker-item"));
2783
+ item.show(anchor);
2784
+ return true;
2785
+ };
2786
+ const getOverflowAction = (action, menuId, handlers, getAnchor, fallbackAnchor, hostHandler) => {
2787
+ const handler = handlers.get(action.id);
2788
+ const registeredFactory = this.actionViewItemService.lookUp(menuId, action.id);
2789
+ if (!handler && !hostHandler && !registeredFactory) {
2790
+ return action;
2791
+ }
2792
+ return createOverflowAction(action, () => {
2793
+ const overflowAnchor = getAnchor();
2794
+ const anchor = overflowAnchor ?? fallbackAnchor;
2795
+ getWindow(anchor).setTimeout(() => {
2796
+ overflowAnchor?.focus();
2797
+ if (handler) {
2798
+ handler(anchor);
2799
+ } else if (hostHandler?.(action.id, anchor)) {
2800
+ return;
2801
+ } else if (registeredFactory && showRegisteredOverflowPicker(registeredFactory, action, anchor)) {
2802
+ return;
2803
+ } else {
2804
+ void action.run({
2805
+ widget
2806
+ });
2807
+ }
2808
+ }, 0);
2809
+ });
2810
+ };
2811
+ const shorterChatInputActionIds = ( new Set([OpenModePickerAction.ID, ConfigureToolsAction.ID]));
2812
+ const getInputActionMinWidth = action => {
2813
+ if (action.id === OpenModelPickerAction.ID) {
2814
+ return this.modelWidget?.minimumWidth ?? 60;
2815
+ }
2816
+ if (( shorterChatInputActionIds.has(action.id))) {
2817
+ return CHAT_INPUT_COMPACT_PICKER_WIDTH;
2818
+ }
2819
+ return inputPickerCompactStates.get(action.id)?.get() ? CHAT_INPUT_COMPACT_PICKER_WIDTH : undefined;
2820
+ };
2821
+ this._register(
2822
+ addStandardDisposableListener(toolbarsContainer, EventType.CLICK, e => this.inputEditor.focus())
2823
+ );
2824
+ this._register(addStandardDisposableListener(
2825
+ this.attachmentsContainer,
2826
+ EventType.CLICK,
2827
+ e => this.inputEditor.focus()
2828
+ ));
2829
+ const inputToolbarMenu = this.options.menus.inputToolbar ?? MenuId.ChatInput;
2830
+ this.inputActionsToolbar = this._register(this.instantiationService.createInstance(
2831
+ MenuWorkbenchToolBar,
2832
+ this.options.renderInputToolbarBelowInput ? this.attachmentsContainer : toolbarsContainer,
2833
+ inputToolbarMenu,
2834
+ {
2835
+ telemetrySource: this.options.menus.telemetrySource,
2836
+ menuOptions: {
2837
+ shouldForwardArgs: true
2838
+ },
2839
+ hiddenItemStrategy: HiddenItemStrategy.NoHide,
2840
+ hoverDelegate,
2841
+ responsiveBehavior: {
2842
+ enabled: true,
2843
+ kind: "last",
2844
+ minItems: 2,
2845
+ actionMinWidth: 48,
2846
+ getActionMinWidth: getInputActionMinWidth,
2847
+ allowOverflow: () => this._inputPickerResponsiveLayout?.areAllItemsCompact() === true,
2848
+ getOverflowAction: (action, getAnchor) => getOverflowAction(
2849
+ action,
2850
+ inputToolbarMenu,
2851
+ inputOverflowPickerHandlers,
2852
+ getAnchor,
2853
+ toolbarsContainer
2854
+ )
2855
+ },
2856
+ actionViewItemProvider: (action, options) => {
2857
+ if (this.chatPhoneInputPresenter.enabled.get()) {
2858
+ if (action.id === OpenModelPickerAction.ID && action instanceof MenuItemAction) {
2859
+ if (!this._currentLanguageModel.get()) {
2860
+ this.setCurrentLanguageModelToDefault();
2861
+ }
2862
+ const modelDelegate = this._createModelPickerDelegate();
2863
+ const modeDelegate = this._createModePickerDelegate();
2864
+ return this.instantiationService.createInstance(
2865
+ MobileChatInputCombinedPickerActionItem,
2866
+ action,
2867
+ modeDelegate,
2868
+ modelDelegate
2869
+ );
2870
+ } else if (action.id === OpenModePickerAction.ID && action instanceof MenuItemAction) {
2871
+ return ( new HiddenActionViewItem(action));
2872
+ }
2873
+ }
2874
+ if (action.id === OpenModelPickerAction.ID && action instanceof MenuItemAction) {
2875
+ if (!this._currentLanguageModel.get()) {
2876
+ this._modelSelectionDiagnostics.report("no-model-at-toolbar-build", {}, "info");
2877
+ this.setCurrentLanguageModelToDefault();
2878
+ }
2879
+ const itemDelegate = this._createModelPickerDelegate();
2880
+ const createPicker = () => this.instantiationService.createInstance(
2881
+ ModelPickerActionItem,
2882
+ action,
2883
+ itemDelegate,
2884
+ getInputPickerOptions(action.id)
2885
+ );
2886
+ inputOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
2887
+ return this.modelWidget = createPicker();
2888
+ } else if (action.id === OpenModePickerAction.ID && action instanceof MenuItemAction) {
2889
+ const delegate = this._createModePickerDelegate();
2890
+ const createPicker = () => this.instantiationService.createInstance(ModePickerActionItem, action, delegate, getInputPickerOptions(action.id));
2891
+ inputOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
2892
+ return this.modeWidget = createPicker();
2893
+ } else if ((action.id === OpenSessionTargetPickerAction.ID || action.id === OpenDelegationPickerAction.ID) && action instanceof MenuItemAction) {
2894
+ const delegate = this.options.sessionTypePickerDelegate ?? {
2895
+ getActiveSessionProvider: () => {
2896
+ return this.getActiveSessionTypeForDelegation();
2897
+ },
2898
+ getPendingDelegationTarget: () => {
2899
+ return this._pendingDelegationTarget;
2900
+ },
2901
+ setPendingDelegationTarget: provider => {
2902
+ this.setPendingDelegationTarget(provider);
2903
+ },
2904
+ hasGitRepository: () => this.hasWorkspaceScmRepository()
2905
+ };
2906
+ const isWelcomeViewMode = !!this.options.sessionTypePickerDelegate?.setActiveSessionProvider;
2907
+ const Picker = (action.id === OpenSessionTargetPickerAction.ID || isWelcomeViewMode) ? SessionTypePickerActionItem : DelegationSessionPickerActionItem;
2908
+ const createPicker = () => this.instantiationService.createInstance(
2909
+ Picker,
2910
+ action,
2911
+ location === ChatWidgetLocation.Editor ? "editor" : "sidebar",
2912
+ delegate,
2913
+ getInputPickerOptions(action.id)
2914
+ );
2915
+ inputOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
2916
+ const picker = createPicker();
2917
+ if (picker instanceof DelegationSessionPickerActionItem) {
2918
+ this.delegationWidget = picker;
2919
+ } else {
2920
+ this.sessionTargetWidget = picker;
2921
+ }
2922
+ return picker;
2923
+ } else if (action.id === ChatSessionPrimaryPickerAction.ID && action instanceof MenuItemAction) {
2924
+ const createPicker = () => {
2925
+ const widgets = this.createChatSessionPickerWidgets(action, getInputPickerOptions(action.id));
2926
+ return widgets.length === 0 ? undefined : this.instantiationService.createInstance(ChatSessionPickersContainerActionItem, action, widgets);
2927
+ };
2928
+ inputOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
2929
+ return createPicker() ?? ( new HiddenActionViewItem(action));
2930
+ }
2931
+ return undefined;
2932
+ }
2933
+ }
2934
+ ));
2935
+ this.inputActionsToolbar.getElement().classList.add("chat-input-toolbar");
2936
+ this.inputActionsToolbar.context = {
2937
+ widget
2938
+ };
2939
+ this._register(this.inputActionsToolbar.onDidChangeMenuItems(() => {
2940
+ const toolbarElement = this.inputActionsToolbar.getElement();
2941
+ const primaryPickerContainer = toolbarElement.querySelector(".chat-sessionPicker-container");
2942
+ if (primaryPickerContainer) {
2943
+ this.chatSessionPickerContainer = primaryPickerContainer;
2944
+ }
2945
+ if (this.cachedWidth && typeof this.cachedInputToolbarWidth === "number" && this.cachedInputToolbarWidth !== this.inputActionsToolbar.getItemsWidth()) {
2946
+ this._toolbarRelayoutScheduler.schedule();
2947
+ }
2948
+ }));
2949
+ let lastPhoneEnabled = this.chatPhoneInputPresenter.enabled.get();
2950
+ this._register(autorun(reader => {
2951
+ const enabled = this.chatPhoneInputPresenter.enabled.read(reader);
2952
+ if (enabled !== lastPhoneEnabled) {
2953
+ lastPhoneEnabled = enabled;
2954
+ this.inputActionsToolbar.refresh();
2955
+ }
2956
+ }));
2957
+ this.executeToolbar = this._register(this.instantiationService.createInstance(
2958
+ MenuWorkbenchToolBar,
2959
+ toolbarsContainer,
2960
+ this.options.menus.executeToolbar,
2961
+ {
2962
+ telemetrySource: this.options.menus.telemetrySource,
2963
+ menuOptions: {
2964
+ shouldForwardArgs: true
2965
+ },
2966
+ hoverDelegate,
2967
+ hiddenItemStrategy: HiddenItemStrategy.NoHide,
2968
+ actionViewItemProvider: (action, options) => {
2969
+ if (action.id === ChatVoiceInputModeAction.ID) {
2970
+ return this.instantiationService.createInstance(VoiceInputModeActionViewItem, action, {
2971
+ isActive: isVoiceInputActive,
2972
+ isDictationActive: isDictationInputActive,
2973
+ isVoiceActive: isVoiceSessionActive
2974
+ });
2975
+ }
2976
+ if ((action.id === ChatSubmitAction.ID || action.id === ChatEditingSessionSubmitAction.ID) && action instanceof MenuItemAction) {
2977
+ return this.instantiationService.createInstance(class extends MenuEntryActionViewItem {
2978
+ render(container) {
2979
+ super.render(container);
2980
+ container.classList.add("chat-submit-button");
2981
+ }
2982
+ }, action, options);
2983
+ }
2984
+ if ((action.id === ChatSpeechToTextPreparingAction.ID || action.id === ChatSpeechToTextConnectingAction.ID) && action instanceof MenuItemAction) {
2985
+ return this.instantiationService.createInstance(DictationDownloadActionViewItem, action, options);
2986
+ }
2987
+ if (action.id === ToggleChatSpeechToTextAction.ID && action instanceof MenuItemAction) {
2988
+ return this.instantiationService.createInstance(DictationActionViewItem, action, options, isDictationInputActive);
2989
+ }
2990
+ if ((action.id === "agentsVoice.startVoiceInChat" || action.id === "agentsVoice.pttStopInChat") && action instanceof MenuItemAction) {
2991
+ return this.instantiationService.createInstance(VoiceModeActionViewItem, action, options);
2992
+ }
2993
+ return undefined;
2994
+ }
2995
+ }
2996
+ ));
2997
+ this.executeToolbar.getElement().classList.add("chat-execute-toolbar");
2998
+ this.executeToolbar.context = {
2999
+ widget
3000
+ };
3001
+ const voiceInputActionIconClasses = ( new Set([
3002
+ Codicon.micCompact,
3003
+ Codicon.micFilled,
3004
+ Codicon.micDownloadCompact,
3005
+ Codicon.voiceModeCompact,
3006
+ Codicon.loadingCompact,
3007
+ Codicon.debugDisconnectCompact
3008
+ ].map(icon => ThemeIcon.asClassName(icon))));
3009
+ const updateVoiceInputActionBorder = () => {
3010
+ let voiceInputActionCount = 0;
3011
+ for (let i = 0; ; i++) {
3012
+ const action = this.executeToolbar.getItemAction(i);
3013
+ if (!action) {
3014
+ break;
3015
+ }
3016
+ if (action.class && ( voiceInputActionIconClasses.has(action.class))) {
3017
+ voiceInputActionCount++;
3018
+ }
3019
+ }
3020
+ this.executeToolbar.getElement().classList.toggle("chat-voice-input-actions-multiple", voiceInputActionCount > 1);
3021
+ };
3022
+ updateVoiceInputActionBorder();
3023
+ this._register(this.executeToolbar.onDidChangeMenuItems(() => {
3024
+ updateVoiceInputActionBorder();
3025
+ if (this.cachedWidth && typeof this.cachedExecuteToolbarWidth === "number" && this.cachedExecuteToolbarWidth !== this.executeToolbar.getItemsWidth()) {
3026
+ this._toolbarRelayoutScheduler.schedule();
3027
+ }
3028
+ }));
3029
+ if (this.options.menus.inputSideToolbar) {
3030
+ const toolbarSide = this._register(this.instantiationService.createInstance(
3031
+ MenuWorkbenchToolBar,
3032
+ inputAndSideToolbar,
3033
+ this.options.menus.inputSideToolbar,
3034
+ {
3035
+ telemetrySource: this.options.menus.telemetrySource,
3036
+ menuOptions: {
3037
+ shouldForwardArgs: true
3038
+ },
3039
+ hoverDelegate
3040
+ }
3041
+ ));
3042
+ this.inputSideToolbarContainer = toolbarSide.getElement();
3043
+ toolbarSide.getElement().classList.add("chat-side-toolbar");
3044
+ toolbarSide.context = {
3045
+ widget
3046
+ };
3047
+ }
3048
+ const secondaryPickerMinWidths = ( new Map([
3049
+ [OpenSessionTargetPickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3050
+ [OpenDelegationPickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3051
+ [OpenWorkspacePickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3052
+ [OpenPermissionPickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3053
+ [ChatSessionPrimaryPickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3054
+ [OpenAgentHostModePickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3055
+ [
3056
+ "sessions.agentHost.runningSessionModePicker",
3057
+ CHAT_INPUT_COMPACT_PICKER_WIDTH
3058
+ ],
3059
+ [
3060
+ "sessions.agentHost.runningSessionConfigPicker",
3061
+ CHAT_INPUT_COMPACT_PICKER_WIDTH
3062
+ ],
3063
+ [
3064
+ "sessions.agentHost.runningSessionPermissionModePicker",
3065
+ CHAT_INPUT_COMPACT_PICKER_WIDTH
3066
+ ],
3067
+ [
3068
+ "sessions.agentHost.runningSessionCodexApprovalsPicker",
3069
+ CHAT_INPUT_COMPACT_PICKER_WIDTH
3070
+ ],
3071
+ [OpenAgentHostAutoApprovePickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3072
+ [
3073
+ OpenAgentHostPermissionModePickerAction.ID,
3074
+ CHAT_INPUT_COMPACT_PICKER_WIDTH
3075
+ ],
3076
+ [
3077
+ OpenAgentHostCodexApprovalsPickerAction.ID,
3078
+ CHAT_INPUT_COMPACT_PICKER_WIDTH
3079
+ ],
3080
+ [OpenAgentHostFolderPickerAction.ID, CHAT_INPUT_COMPACT_PICKER_WIDTH],
3081
+ ["sessions.tunnelHost.toggleSharing", 16]
3082
+ ]));
3083
+ const genericChipsContainer = $$1(".chat-secondary-generic-chips");
3084
+ const genericChipsLane = this._register(
3085
+ this.instantiationService.createInstance(AgentHostGenericConfigChips, widget)
3086
+ );
3087
+ genericChipsLane.render(genericChipsContainer);
3088
+ const getSecondaryToolbarAvailableWidth = () => {
3089
+ const laneWidth = responsivePickerContainer.getBoundingClientRect().width;
3090
+ if (genericChipsContainer.parentElement !== responsivePickerContainer || genericChipsContainer.getClientRects().length === 0) {
3091
+ return laneWidth;
3092
+ }
3093
+ const gap = Number.parseFloat(
3094
+ getWindow(responsivePickerContainer).getComputedStyle(responsivePickerContainer).columnGap
3095
+ ) || 0;
3096
+ return Math.max(0, laneWidth - genericChipsContainer.getBoundingClientRect().width - gap);
3097
+ };
3098
+ this.secondaryToolbar = this._register(this.instantiationService.createInstance(
3099
+ MenuWorkbenchToolBar,
3100
+ responsivePickerContainer,
3101
+ MenuId.ChatInputSecondary,
3102
+ {
3103
+ telemetrySource: this.options.menus.telemetrySource,
3104
+ menuOptions: {
3105
+ shouldForwardArgs: true
3106
+ },
3107
+ hiddenItemStrategy: HiddenItemStrategy.NoHide,
3108
+ hoverDelegate,
3109
+ responsiveBehavior: {
3110
+ enabled: true,
3111
+ kind: "all",
3112
+ minItems: 1,
3113
+ actionMinWidth: 48,
3114
+ getActionMinWidth: action => secondaryPickerMinWidths.get(action.id) ?? (secondaryPickerCompactStates.get(action.id)?.get() ? 22 : undefined),
3115
+ observedElement: responsivePickerContainer,
3116
+ getAvailableWidth: getSecondaryToolbarAvailableWidth,
3117
+ allowOverflow: () => this._secondaryPickerResponsiveLayout?.areAllItemsCompact() === true,
3118
+ getOverflowAction: (action, getAnchor) => getOverflowAction(
3119
+ action,
3120
+ MenuId.ChatInputSecondary,
3121
+ secondaryOverflowPickerHandlers,
3122
+ getAnchor,
3123
+ responsivePickerContainer,
3124
+ this.options.secondaryToolbarOverflowActionHandler
3125
+ )
3126
+ },
3127
+ actionViewItemProvider: (action, options) => {
3128
+ const agentHostPickerProperty = getAgentHostPickerProperty(action.id);
3129
+ const customSecondaryItem = this.options.secondaryToolbarActionViewItemProvider?.(action, options);
3130
+ if (customSecondaryItem) {
3131
+ getCompactState(secondaryPickerCompactStates, action.id);
3132
+ return customSecondaryItem;
3133
+ }
3134
+ if ((action.id === OpenSessionTargetPickerAction.ID || action.id === OpenDelegationPickerAction.ID) && action instanceof MenuItemAction) {
3135
+ const delegate = this.options.sessionTypePickerDelegate ?? {
3136
+ getActiveSessionProvider: () => {
3137
+ return this.getActiveSessionTypeForDelegation();
3138
+ },
3139
+ getPendingDelegationTarget: () => {
3140
+ return this._pendingDelegationTarget;
3141
+ },
3142
+ setPendingDelegationTarget: provider => {
3143
+ this.setPendingDelegationTarget(provider);
3144
+ },
3145
+ hasGitRepository: () => this.hasWorkspaceScmRepository()
3146
+ };
3147
+ const isWelcomeViewMode = !!this.options.sessionTypePickerDelegate?.setActiveSessionProvider;
3148
+ const Picker = (action.id === OpenSessionTargetPickerAction.ID || isWelcomeViewMode) ? SessionTypePickerActionItem : DelegationSessionPickerActionItem;
3149
+ const createPicker = () => this.instantiationService.createInstance(
3150
+ Picker,
3151
+ action,
3152
+ location === ChatWidgetLocation.Editor ? "editor" : "sidebar",
3153
+ delegate,
3154
+ getSecondaryPickerOptions(action.id)
3155
+ );
3156
+ secondaryOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
3157
+ const picker = createPicker();
3158
+ if (picker instanceof DelegationSessionPickerActionItem) {
3159
+ this.delegationWidget = picker;
3160
+ } else {
3161
+ this.sessionTargetWidget = picker;
3162
+ }
3163
+ return picker;
3164
+ } else if (action.id === OpenWorkspacePickerAction.ID && action instanceof MenuItemAction) {
3165
+ const workspacePickerDelegate = this.options.workspacePickerDelegate;
3166
+ if (this.workspaceContextService.getWorkbenchState() === WorkbenchState.EMPTY && workspacePickerDelegate) {
3167
+ const createPicker = () => this.instantiationService.createInstance(
3168
+ WorkspacePickerActionItem,
3169
+ action,
3170
+ workspacePickerDelegate,
3171
+ getSecondaryPickerOptions(action.id)
3172
+ );
3173
+ secondaryOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
3174
+ return createPicker();
3175
+ } else {
3176
+ return ( new HiddenActionViewItem(action));
3177
+ }
3178
+ } else if (action.id === OpenPermissionPickerAction.ID && action instanceof MenuItemAction) {
3179
+ const delegate = {
3180
+ currentPermissionLevel: this._currentPermissionLevel,
3181
+ setPermissionLevel: level => {
3182
+ this.setPermissionLevel(level);
3183
+ },
3184
+ getExtensionPermissions: () => {
3185
+ const sessionResource = this.getCurrentSessionResource();
3186
+ const group = this.getActiveExtensionPermissionGroup(sessionResource);
3187
+ if (!group) {
3188
+ return undefined;
3189
+ }
3190
+ const current = sessionResource ? this.chatSessionsService.getSessionOption(sessionResource, group.id) : undefined;
3191
+ const defaultId = group.selected?.id ?? group.items.find(i => i.default)?.id;
3192
+ const rawSelectedId = current === undefined ? defaultId : typeof current === "string" ? current : current.id;
3193
+ const selectedId = rawSelectedId !== undefined && ( group.items.some(i => i.id === rawSelectedId)) ? rawSelectedId : defaultId;
3194
+ const sessionType = sessionResource ? getChatSessionType(sessionResource) : (this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.() ?? "");
3195
+ return {
3196
+ sessionType,
3197
+ groupId: group.id,
3198
+ items: group.items,
3199
+ selectedId
3200
+ };
3201
+ },
3202
+ setExtensionPermission: (groupId, item) => {
3203
+ this.updateOptionContextKey(groupId, item.id);
3204
+ this.getOrCreateOptionEmitter(groupId).fire(item);
3205
+ const sessionResource = this.getCurrentSessionResource();
3206
+ if (sessionResource) {
3207
+ this.chatSessionsService.setSessionOption(sessionResource, groupId, item);
3208
+ }
3209
+ this.permissionWidget?.refresh();
3210
+ },
3211
+ isSandboxToggleApplicable: () => this.getEffectiveSessionType(this.getCurrentSessionResource()) === SessionType.Local
3212
+ };
3213
+ const createPicker = () => this.instantiationService.createInstance(
3214
+ PermissionPickerActionItem,
3215
+ action,
3216
+ delegate,
3217
+ getSecondaryPickerOptions(action.id)
3218
+ );
3219
+ secondaryOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
3220
+ const widget = createPicker();
3221
+ this.permissionWidget = widget;
3222
+ this.permissionWidgetDisposeListener.value = widget.onDidDispose(() => {
3223
+ if (this.permissionWidget === widget) {
3224
+ this.permissionWidget = undefined;
3225
+ }
3226
+ this.permissionWidgetDisposeListener.clear();
3227
+ });
3228
+ return widget;
3229
+ } else if (agentHostPickerProperty && action instanceof MenuItemAction) {
3230
+ if (this.options.isSessionsWindow) {
3231
+ return ( new HiddenActionViewItem(action));
3232
+ }
3233
+ getCompactState(secondaryPickerCompactStates, action.id);
3234
+ const createPicker = () => this.instantiationService.createInstance(AgentHostChatInputPicker, widget, agentHostPickerProperty);
3235
+ secondaryOverflowPickerHandlers.set(action.id, anchor => {
3236
+ const picker = createPicker();
3237
+ this.overflowPickerWidget.value = picker;
3238
+ picker.show(anchor);
3239
+ });
3240
+ return ( new AgentHostChatInputPickerActionViewItem(action, createPicker()));
3241
+ } else if (action.id === OpenAgentHostFolderPickerAction.ID && action instanceof MenuItemAction) {
3242
+ if (this.options.isSessionsWindow) {
3243
+ return ( new HiddenActionViewItem(action));
3244
+ }
3245
+ const createPicker = () => this.instantiationService.createInstance(
3246
+ AgentHostFolderPickerActionItem,
3247
+ action,
3248
+ widget,
3249
+ getSecondaryPickerOptions(action.id)
3250
+ );
3251
+ secondaryOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
3252
+ return createPicker();
3253
+ } else if (action.id === ChatSessionPrimaryPickerAction.ID && action instanceof MenuItemAction) {
3254
+ const createPicker = () => {
3255
+ const widgets = this.createChatSessionPickerWidgets(action, getSecondaryPickerOptions(action.id));
3256
+ return widgets.length === 0 ? undefined : this.instantiationService.createInstance(ChatSessionPickersContainerActionItem, action, widgets);
3257
+ };
3258
+ secondaryOverflowPickerHandlers.set(action.id, anchor => showOverflowPicker(createPicker, anchor));
3259
+ return createPicker() ?? ( new HiddenActionViewItem(action));
3260
+ }
3261
+ return undefined;
3262
+ }
3263
+ }
3264
+ ));
3265
+ this.secondaryToolbar.getElement().classList.add("chat-secondary-input-toolbar");
3266
+ this.secondaryToolbar.context = {
3267
+ widget
3268
+ };
3269
+ append(responsivePickerContainer, genericChipsContainer);
3270
+ this._register(this.secondaryToolbar.onDidChangeMenuItems(() => {
3271
+ const toolbarElement = this.secondaryToolbar.getElement();
3272
+ const container = toolbarElement.querySelector(".chat-sessionPicker-container");
3273
+ if (isHTMLElement(container)) {
3274
+ this.chatSessionPickerContainer = container;
3275
+ }
3276
+ }));
3277
+ this.statusToolbar = this._register(this.instantiationService.createInstance(
3278
+ MenuWorkbenchToolBar,
3279
+ this.statusToolbarContainer,
3280
+ MenuId.ChatInputStatus,
3281
+ {
3282
+ telemetrySource: this.options.menus.telemetrySource,
3283
+ menuOptions: {
3284
+ shouldForwardArgs: true
3285
+ },
3286
+ hiddenItemStrategy: HiddenItemStrategy.NoHide,
3287
+ hoverDelegate
3288
+ }
3289
+ ));
3290
+ this.statusToolbar.getElement().classList.add("chat-input-status-toolbar");
3291
+ this.statusToolbar.context = {
3292
+ widget
3293
+ };
3294
+ const inputToolbarElement = this.inputActionsToolbar.getElement();
3295
+ this._inputPickerResponsiveLayout = this._register(( new ChatInputPickerResponsiveLayout("ChatInputPart.primaryPicker", inputToolbarElement, {
3296
+ getItems: () => getToolbarPickerResponsiveItems(
3297
+ this.inputActionsToolbar,
3298
+ inputPickerCompactStates,
3299
+ inputPickerMinimalStates
3300
+ ),
3301
+ hasOverflow: () => this.inputActionsToolbar.hasOverflow(),
3302
+ relayout: () => this.inputActionsToolbar.relayout()
3303
+ })));
3304
+ this._secondaryPickerResponsiveLayout = this._register(( new ChatInputPickerResponsiveLayout("ChatInputPart.secondaryPicker", responsivePickerContainer, {
3305
+ getItems: () => [
3306
+ ...getToolbarPickerResponsiveItems(this.secondaryToolbar, secondaryPickerCompactStates),
3307
+ ...genericChipsLane.getCompactableElements().map(element => ({
3308
+ element,
3309
+ isCompact: () => element.classList.contains("compact-picker"),
3310
+ setCompact: compact => element.classList.toggle("compact-picker", compact)
3311
+ }))
3312
+ ],
3313
+ hasOverflow: () => this.secondaryToolbar.hasOverflow(),
3314
+ relayout: () => this.secondaryToolbar.relayout()
3315
+ })));
3316
+ this._inputPickerResponsiveLayout.layout();
3317
+ this._secondaryPickerResponsiveLayout.layout();
3318
+ let inputModel = this.modelService.getModel(this.inputUri);
3319
+ let createdInputModel;
3320
+ if (!inputModel) {
3321
+ inputModel = createdInputModel = this.modelService.createModel("", null, this.inputUri, false);
3322
+ }
3323
+ const inputModelReference = this.textModelResolverService.createModelReference(this.inputUri);
3324
+ if (createdInputModel) {
3325
+ const model = createdInputModel;
3326
+ this._register(toDisposable(() => {
3327
+ void inputModelReference.then(() => model.dispose(), () => model.dispose());
3328
+ }));
3329
+ }
3330
+ inputModelReference.then(ref => {
3331
+ if (this._store.isDisposed) {
3332
+ ref.dispose();
3333
+ return;
3334
+ }
3335
+ this._register(ref);
3336
+ }, error => {
3337
+ if (!this._store.isDisposed) {
3338
+ onUnexpectedError(error);
3339
+ }
3340
+ });
3341
+ this.inputModel = inputModel;
3342
+ this.inputModel.updateOptions({
3343
+ bracketColorizationOptions: {
3344
+ enabled: false,
3345
+ independentColorPoolPerBracketType: false
3346
+ }
3347
+ });
3348
+ this._inputEditor.setModel(this.inputModel);
3349
+ if (initialValue) {
3350
+ this.inputModel.setValue(initialValue);
3351
+ const lineNumber = this.inputModel.getLineCount();
3352
+ this._inputEditor.setPosition({
3353
+ lineNumber,
3354
+ column: this.inputModel.getLineMaxColumn(lineNumber)
3355
+ });
3356
+ }
3357
+ const onDidChangeCursorPosition = () => {
3358
+ const model = this._inputEditor.getModel();
3359
+ if (!model) {
3360
+ return;
3361
+ }
3362
+ const position = this._inputEditor.getPosition();
3363
+ if (!position) {
3364
+ return;
3365
+ }
3366
+ const atTop = position.lineNumber === 1 && position.column === 1;
3367
+ this.chatCursorAtTop.set(atTop);
3368
+ this.historyNavigationBackwardsEnablement.set(atTop);
3369
+ this.historyNavigationForewardsEnablement.set(position.equals(getLastPosition(model)));
3370
+ this._syncInputStateToModel();
3371
+ };
3372
+ this._register(
3373
+ this._inputEditor.onDidChangeCursorPosition(e => onDidChangeCursorPosition())
3374
+ );
3375
+ onDidChangeCursorPosition();
3376
+ this._register(this.themeService.onDidFileIconThemeChange(() => {
3377
+ this.renderAttachedContext();
3378
+ }));
3379
+ this.renderAttachedContext();
3380
+ this.setSessionArchiveNudge(this.sessionArchiveNudgeOptions);
3381
+ const updateCarouselMaxHeightScheduler = this._register(
3382
+ new AnimationFrameScheduler(this.container, () => this.updateToolConfirmationCarouselMaxHeight())
3383
+ );
3384
+ const inputResizeObserver = this._register(new DisposableResizeObserver("ChatInputPart.containerHeight", () => {
3385
+ updateCarouselMaxHeightScheduler.schedule();
3386
+ const newHeight = this.container.offsetHeight;
3387
+ this.height.set(newHeight, undefined);
3388
+ }));
3389
+ this._register(inputResizeObserver.observe(this.container));
3390
+ if (this.options.renderStyle === "compact") {
3391
+ const toolbarsResizeObserver = this._register(new DisposableResizeObserver("ChatInputPart.compactToolbars", () => {
3392
+ this.layoutForToolbarChange();
3393
+ }));
3394
+ this._register(toolbarsResizeObserver.observe(toolbarsContainer));
3395
+ }
3396
+ }
3397
+ toggleChatInputOverlay(editing) {
3398
+ this.chatInputOverlay.classList.toggle("disabled", editing);
3399
+ if (editing) {
3400
+ this.overlayClickListener.value = addStandardDisposableListener(this.chatInputOverlay, EventType.CLICK, e => {
3401
+ e.preventDefault();
3402
+ e.stopPropagation();
3403
+ this._onDidClickOverlay.fire();
3404
+ });
3405
+ } else {
3406
+ this.overlayClickListener.clear();
3407
+ }
3408
+ }
3409
+ renderAttachedContext() {
3410
+ const container = this.attachedContextContainer;
3411
+ const store = ( new DisposableStore());
3412
+ this.attachedContextDisposables.value = store;
3413
+ clearNode(container);
3414
+ store.add(
3415
+ addStandardDisposableListener(this.attachmentsContainer, EventType.KEY_DOWN, e => {
3416
+ this.handleAttachmentNavigation(e);
3417
+ })
3418
+ );
3419
+ const attachments = this.getRenderableAttachments().map((attachment, index) => [index, attachment]);
3420
+ const hasAttachments = Boolean(attachments.length);
3421
+ let hasImplicitContext = false;
3422
+ const isSuggestedEnabled = this.configurationService.getValue("chat.implicitContext.suggestedContext");
3423
+ const hasVisibleImplicitContext = isSuggestedEnabled ? this._implicitContext?.hasValue ?? false : this._implicitContext?.values.some(v => v.enabled || v.isSelection) ?? false;
3424
+ if (this._implicitContext && hasVisibleImplicitContext) {
3425
+ const isAttachmentAlreadyAttached = (targetUri, targetRange, targetHandle) => {
3426
+ return isImplicitContextAlreadyAttached(this._attachmentModel.attachments, targetUri, targetRange, targetHandle);
3427
+ };
3428
+ const implicitContextWidget = this.instantiationService.createInstance(
3429
+ ImplicitContextAttachmentWidget,
3430
+ () => this._widget,
3431
+ isAttachmentAlreadyAttached,
3432
+ this._implicitContext,
3433
+ this._contextResourceLabels,
3434
+ this._attachmentModel,
3435
+ container
3436
+ );
3437
+ store.add(implicitContextWidget);
3438
+ hasImplicitContext = implicitContextWidget.hasRenderedContexts;
3439
+ }
3440
+ setVisibility(Boolean(
3441
+ this.options.renderInputToolbarBelowInput || hasAttachments || hasImplicitContext
3442
+ ), this.attachmentsContainer);
3443
+ setVisibility(hasAttachments || hasImplicitContext, this.attachedContextContainer);
3444
+ if (!attachments.length) {
3445
+ this._indexOfLastAttachedContextDeletedWithKeyboard = -1;
3446
+ this._indexOfLastOpenedContext = -1;
3447
+ }
3448
+ const maxImagesPerRequest = getImageAttachmentLimit(this._currentLanguageModel.get()?.metadata);
3449
+ const imageAttachments = attachments.filter(([, a]) => isImageVariableEntry(a));
3450
+ if (maxImagesPerRequest !== undefined && imageAttachments.length > maxImagesPerRequest) {
3451
+ const excessCount = imageAttachments.length - maxImagesPerRequest;
3452
+ for (let i = 0; i < excessCount; i++) {
3453
+ const attachment = imageAttachments[i][1];
3454
+ if (attachment.omittedState === OmittedState.NotOmitted || attachment.omittedState === OmittedState.ImageLimitExceeded) {
3455
+ attachment.omittedState = OmittedState.ImageLimitExceeded;
3456
+ }
3457
+ }
3458
+ for (let i = excessCount; i < imageAttachments.length; i++) {
3459
+ if (imageAttachments[i][1].omittedState === OmittedState.ImageLimitExceeded) {
3460
+ imageAttachments[i][1].omittedState = OmittedState.NotOmitted;
3461
+ }
3462
+ }
3463
+ } else {
3464
+ for (const [, a] of imageAttachments) {
3465
+ if (a.omittedState === OmittedState.ImageLimitExceeded) {
3466
+ a.omittedState = OmittedState.NotOmitted;
3467
+ }
3468
+ }
3469
+ }
3470
+ for (const [index, attachment] of attachments) {
3471
+ const resource = URI.isUri(attachment.value) ? attachment.value : isLocation(attachment.value) ? attachment.value.uri : undefined;
3472
+ const range = isLocation(attachment.value) ? attachment.value.range : undefined;
3473
+ const shouldFocusClearButton = index === Math.min(
3474
+ this._indexOfLastAttachedContextDeletedWithKeyboard,
3475
+ attachments.length - 1
3476
+ ) && this._indexOfLastAttachedContextDeletedWithKeyboard > -1;
3477
+ let attachmentWidget;
3478
+ const options = {
3479
+ shouldFocusClearButton,
3480
+ supportsDeletion: true,
3481
+ isCurrentInput: true
3482
+ };
3483
+ const lm = this._currentLanguageModel.get();
3484
+ if (attachment.kind === "tool" || attachment.kind === "toolset") {
3485
+ attachmentWidget = this.instantiationService.createInstance(
3486
+ ToolSetOrToolItemAttachmentWidget,
3487
+ attachment,
3488
+ lm,
3489
+ options,
3490
+ container,
3491
+ this._contextResourceLabels
3492
+ );
3493
+ } else if (resource && isNotebookOutputVariableEntry(attachment)) {
3494
+ attachmentWidget = this.instantiationService.createInstance(
3495
+ NotebookCellOutputChatAttachmentWidget,
3496
+ resource,
3497
+ attachment,
3498
+ lm,
3499
+ options,
3500
+ container,
3501
+ this._contextResourceLabels
3502
+ );
3503
+ } else if (isPromptFileVariableEntry(attachment)) {
3504
+ attachmentWidget = this.instantiationService.createInstance(
3505
+ PromptFileAttachmentWidget,
3506
+ attachment,
3507
+ lm,
3508
+ options,
3509
+ container,
3510
+ this._contextResourceLabels
3511
+ );
3512
+ } else if (isPromptTextVariableEntry(attachment)) {
3513
+ attachmentWidget = this.instantiationService.createInstance(
3514
+ PromptTextAttachmentWidget,
3515
+ attachment,
3516
+ undefined,
3517
+ options,
3518
+ container,
3519
+ this._contextResourceLabels
3520
+ );
3521
+ } else if (resource && (attachment.kind === "file" || attachment.kind === "directory")) {
3522
+ attachmentWidget = this.instantiationService.createInstance(
3523
+ FileAttachmentWidget,
3524
+ resource,
3525
+ range,
3526
+ attachment,
3527
+ undefined,
3528
+ lm,
3529
+ options,
3530
+ container,
3531
+ this._contextResourceLabels
3532
+ );
3533
+ } else if (attachment.kind === "terminalCommand") {
3534
+ attachmentWidget = this.instantiationService.createInstance(
3535
+ TerminalCommandAttachmentWidget,
3536
+ attachment,
3537
+ lm,
3538
+ options,
3539
+ container,
3540
+ this._contextResourceLabels
3541
+ );
3542
+ } else if (isImageVariableEntry(attachment)) {
3543
+ attachmentWidget = this.instantiationService.createInstance(
3544
+ ImageAttachmentWidget,
3545
+ resource,
3546
+ attachment,
3547
+ lm,
3548
+ options,
3549
+ container,
3550
+ this._contextResourceLabels
3551
+ );
3552
+ } else if (isElementVariableEntry(attachment)) {
3553
+ attachmentWidget = this.instantiationService.createInstance(
3554
+ ElementChatAttachmentWidget,
3555
+ attachment,
3556
+ lm,
3557
+ options,
3558
+ container,
3559
+ this._contextResourceLabels
3560
+ );
3561
+ } else if (isPasteVariableEntry(attachment)) {
3562
+ attachmentWidget = this.instantiationService.createInstance(
3563
+ PasteAttachmentWidget,
3564
+ attachment,
3565
+ lm,
3566
+ options,
3567
+ container,
3568
+ this._contextResourceLabels
3569
+ );
3570
+ } else if (isSCMHistoryItemVariableEntry(attachment)) {
3571
+ attachmentWidget = this.instantiationService.createInstance(
3572
+ SCMHistoryItemAttachmentWidget,
3573
+ attachment,
3574
+ lm,
3575
+ options,
3576
+ container,
3577
+ this._contextResourceLabels
3578
+ );
3579
+ } else if (isSCMHistoryItemChangeVariableEntry(attachment)) {
3580
+ attachmentWidget = this.instantiationService.createInstance(
3581
+ SCMHistoryItemChangeAttachmentWidget,
3582
+ attachment,
3583
+ lm,
3584
+ options,
3585
+ container,
3586
+ this._contextResourceLabels
3587
+ );
3588
+ } else if (isSCMHistoryItemChangeRangeVariableEntry(attachment)) {
3589
+ attachmentWidget = this.instantiationService.createInstance(
3590
+ SCMHistoryItemChangeRangeAttachmentWidget,
3591
+ attachment,
3592
+ lm,
3593
+ options,
3594
+ container,
3595
+ this._contextResourceLabels
3596
+ );
3597
+ } else if (isBrowserViewVariableEntry(attachment)) {
3598
+ attachmentWidget = this.instantiationService.createInstance(
3599
+ BrowserViewAttachmentWidget,
3600
+ attachment,
3601
+ lm,
3602
+ options,
3603
+ container,
3604
+ this._contextResourceLabels
3605
+ );
3606
+ } else {
3607
+ attachmentWidget = this._chatAttachmentWidgetRegistry.createWidget(attachment, options, container) ?? this.instantiationService.createInstance(
3608
+ DefaultChatAttachmentWidget,
3609
+ resource,
3610
+ range,
3611
+ attachment,
3612
+ undefined,
3613
+ lm,
3614
+ options,
3615
+ container,
3616
+ this._contextResourceLabels
3617
+ );
3618
+ }
3619
+ if (shouldFocusClearButton) {
3620
+ attachmentWidget.element.focus();
3621
+ }
3622
+ if (index === Math.min(this._indexOfLastOpenedContext, attachments.length - 1)) {
3623
+ attachmentWidget.element.focus();
3624
+ }
3625
+ store.add(attachmentWidget);
3626
+ store.add(attachmentWidget.onDidDelete(e => {
3627
+ this.handleAttachmentDeletion(e, index, attachment);
3628
+ }));
3629
+ store.add(attachmentWidget.onDidOpen(e => {
3630
+ this.handleAttachmentOpen(index, attachment);
3631
+ }));
3632
+ }
3633
+ this._indexOfLastOpenedContext = -1;
3634
+ }
3635
+ removeInlineReferenceText(attachment) {
3636
+ if (!attachment.range || !isPastedTextArtifact(attachment)) {
3637
+ return;
3638
+ }
3639
+ const model = this._inputEditor.getModel();
3640
+ const reference = this._widget?.getContrib(ChatDynamicVariableModel.ID)?.variables.find(variable => variable.id === attachment.id);
3641
+ if (!model || !reference) {
3642
+ return;
3643
+ }
3644
+ const range = Range.lift(reference.range);
3645
+ const endColumn = model.getValueInRange(( new Range(
3646
+ range.endLineNumber,
3647
+ range.endColumn,
3648
+ range.endLineNumber,
3649
+ range.endColumn + 1
3650
+ ))) === " " ? range.endColumn + 1 : range.endColumn;
3651
+ this._inputEditor.executeEdits("chatRemoveAttachmentReference", [{
3652
+ range: ( new Range(range.startLineNumber, range.startColumn, range.endLineNumber, endColumn)),
3653
+ text: ""
3654
+ }]);
3655
+ }
3656
+ handleAttachmentDeletion(e, index, attachment) {
3657
+ if (isKeyboardEvent(e)) {
3658
+ this._indexOfLastAttachedContextDeletedWithKeyboard = index;
3659
+ }
3660
+ this._attachmentModel.delete(attachment.id);
3661
+ this.removeInlineReferenceText(attachment);
3662
+ if (this.configurationService.getValue("chat.implicitContext.enableImplicitContext")) {
3663
+ for (const implicitContext of (this._implicitContext?.values || [])) {
3664
+ const implicitValue = URI.isUri(implicitContext?.value) && URI.isUri(attachment.value) && isEqual(implicitContext.value, attachment.value);
3665
+ if (implicitContext?.isFile && implicitValue) {
3666
+ implicitContext.enabled = false;
3667
+ }
3668
+ }
3669
+ }
3670
+ if (this.getRenderableAttachments().length === 0) {
3671
+ this.focus();
3672
+ }
3673
+ this._onDidChangeContext.fire({
3674
+ removed: [attachment]
3675
+ });
3676
+ this.renderAttachedContext();
3677
+ }
3678
+ getRenderableAttachments() {
3679
+ return this.attachmentModel.attachments.filter(attachment => !isAgentHostCompletionVariableEntry(attachment));
3680
+ }
3681
+ handleAttachmentOpen(index, attachment) {
3682
+ this._indexOfLastOpenedContext = index;
3683
+ this._indexOfLastAttachedContextDeletedWithKeyboard = -1;
3684
+ if (this.getRenderableAttachments().length === 0) {
3685
+ this.focus();
3686
+ }
3687
+ }
3688
+ handleAttachmentNavigation(e) {
3689
+ if (!e.equals(KeyCode.LeftArrow) && !e.equals(KeyCode.RightArrow)) {
3690
+ return;
3691
+ }
3692
+ const attachments = Array.from(
3693
+ this.attachedContextContainer.querySelectorAll(".chat-attached-context-attachment")
3694
+ );
3695
+ if (!attachments.length) {
3696
+ return;
3697
+ }
3698
+ const activeElement = getActiveElement(getWindow(this.attachmentsContainer).document);
3699
+ const currentIndex = attachments.findIndex(attachment => attachment === activeElement);
3700
+ let newIndex = currentIndex;
3701
+ if (e.equals(KeyCode.LeftArrow)) {
3702
+ newIndex = currentIndex > 0 ? currentIndex - 1 : attachments.length - 1;
3703
+ } else if (e.equals(KeyCode.RightArrow)) {
3704
+ newIndex = currentIndex < attachments.length - 1 ? currentIndex + 1 : 0;
3705
+ }
3706
+ if (newIndex !== -1) {
3707
+ const nextElement = attachments[newIndex];
3708
+ nextElement.focus();
3709
+ e.preventDefault();
3710
+ e.stopPropagation();
3711
+ }
3712
+ }
3713
+ async renderChatTodoListWidget(chatSessionResource) {
3714
+ const isTodoWidgetEnabled = this.configurationService.getValue(ChatConfiguration.TodosShowWidget) !== false;
3715
+ if (!isTodoWidgetEnabled) {
3716
+ return;
3717
+ }
3718
+ if (!this._chatInputTodoListWidget.value) {
3719
+ const widget = this._chatEditingTodosDisposables.add(this.instantiationService.createInstance(ChatTodoListWidget));
3720
+ this._chatInputTodoListWidget.value = widget;
3721
+ clearNode(this.chatInputTodoListWidgetContainer);
3722
+ widget.attachTo(this.chatInputTodoListWidgetContainer);
3723
+ }
3724
+ this._chatInputTodoListWidget.value.render(chatSessionResource);
3725
+ }
3726
+ clearTodoListWidget(sessionResource, force) {
3727
+ this._chatInputTodoListWidget.value?.clear(sessionResource, force);
3728
+ }
3729
+ renderArtifactsWidget(chatSessionResource) {
3730
+ if (!this.configurationService.getValue(ChatConfiguration.ArtifactsEnabled)) {
3731
+ return;
3732
+ }
3733
+ if (!this._chatArtifactsWidget.value) {
3734
+ const widget = this._register(this.instantiationService.createInstance(ChatArtifactsWidget));
3735
+ this._chatArtifactsWidget.value = widget;
3736
+ clearNode(this.chatArtifactsWidgetContainer);
3737
+ widget.attachTo(this.chatArtifactsWidgetContainer);
3738
+ }
3739
+ this._chatArtifactsWidget.value.setSessionResource(chatSessionResource);
3740
+ }
3741
+ clearArtifactsWidget() {
3742
+ this._chatArtifactsWidget.value?.setSessionResource(undefined);
3743
+ }
3744
+ renderQuestionCarousel(carousel, context, options) {
3745
+ const carouselKey = carousel.resolveId ?? `${isResponseVM(context.element) ? context.element.requestId : ""}_${context.contentIndex}`;
3746
+ const existing = this._chatQuestionCarouselWidgets.get(carouselKey);
3747
+ if (existing) {
3748
+ return existing;
3749
+ }
3750
+ if (isResponseVM(context.element)) {
3751
+ this._questionCarouselResponseIds.set(carouselKey, context.element.requestId);
3752
+ this._questionCarouselSessionResources.set(carouselKey, context.element.sessionResource);
3753
+ }
3754
+ const part = this.instantiationService.createInstance(ChatQuestionCarouselPart, carousel, context, options);
3755
+ this._chatQuestionCarouselWidgets.set(carouselKey, part);
3756
+ this._hasQuestionCarouselContextKey?.set(true);
3757
+ append(this.chatQuestionCarouselContainer, part.domNode);
3758
+ return part;
3759
+ }
3760
+ clearQuestionCarousel(responseId, resolveId) {
3761
+ if (resolveId !== undefined) {
3762
+ const part = this._chatQuestionCarouselWidgets.get(resolveId);
3763
+ if (part) {
3764
+ part.domNode.remove();
3765
+ this._chatQuestionCarouselWidgets.deleteAndDispose(resolveId);
3766
+ }
3767
+ this._questionCarouselResponseIds.delete(resolveId);
3768
+ this._questionCarouselSessionResources.delete(resolveId);
3769
+ } else if (responseId !== undefined) {
3770
+ for (const [key, rid] of this._questionCarouselResponseIds) {
3771
+ if (rid === responseId) {
3772
+ const part = this._chatQuestionCarouselWidgets.get(key);
3773
+ if (part) {
3774
+ part.domNode.remove();
3775
+ this._chatQuestionCarouselWidgets.deleteAndDispose(key);
3776
+ }
3777
+ this._questionCarouselResponseIds.delete(key);
3778
+ this._questionCarouselSessionResources.delete(key);
3779
+ }
3780
+ }
3781
+ } else {
3782
+ this._chatQuestionCarouselWidgets.clearAndDisposeAll();
3783
+ this._questionCarouselResponseIds.clear();
3784
+ this._questionCarouselSessionResources.clear();
3785
+ clearNode(this.chatQuestionCarouselContainer);
3786
+ }
3787
+ this._hasQuestionCarouselContextKey?.set(this._chatQuestionCarouselWidgets.size > 0);
3788
+ }
3789
+ get questionCarousel() {
3790
+ for (const part of ( this._chatQuestionCarouselWidgets.values())) {
3791
+ if (part.hasFocus()) {
3792
+ return part;
3793
+ }
3794
+ }
3795
+ return this._chatQuestionCarouselWidgets.size > 0 ? ( this._chatQuestionCarouselWidgets.values()).next().value : undefined;
3796
+ }
3797
+ focusQuestionCarousel() {
3798
+ const carousel = this.questionCarousel;
3799
+ if (carousel) {
3800
+ carousel.focus();
3801
+ return true;
3802
+ }
3803
+ return false;
3804
+ }
3805
+ isQuestionCarouselFocused() {
3806
+ for (const part of ( this._chatQuestionCarouselWidgets.values())) {
3807
+ if (part.hasFocus()) {
3808
+ return true;
3809
+ }
3810
+ }
3811
+ return false;
3812
+ }
3813
+ navigateToPreviousQuestion() {
3814
+ const carousel = this.questionCarousel;
3815
+ return carousel?.navigateToPreviousQuestion() ?? false;
3816
+ }
3817
+ navigateToNextQuestion() {
3818
+ const carousel = this.questionCarousel;
3819
+ return carousel?.navigateToNextQuestion() ?? false;
3820
+ }
3821
+ focusQuestionCarouselTerminal() {
3822
+ const carousel = this.questionCarousel;
3823
+ return carousel?.focusTerminal() ?? false;
3824
+ }
3825
+ renderPlanReview(review, context, options) {
3826
+ const key = review.resolveId ?? `${isResponseVM(context.element) ? context.element.requestId : ""}_${context.contentIndex}`;
3827
+ const existing = this._chatPlanReviewWidgets.get(key);
3828
+ if (existing) {
3829
+ return existing;
3830
+ }
3831
+ if (isResponseVM(context.element)) {
3832
+ this._planReviewResponseIds.set(key, context.element.requestId);
3833
+ this._planReviewSessionResources.set(key, context.element.sessionResource);
3834
+ }
3835
+ const part = this.instantiationService.createInstance(ChatPlanReviewPart, review, context, options);
3836
+ this._chatPlanReviewWidgets.set(key, part);
3837
+ append(this.chatPlanReviewContainer, part.domNode);
3838
+ return part;
3839
+ }
3840
+ clearPlanReview(responseId, resolveId) {
3841
+ if (resolveId !== undefined) {
3842
+ const part = this._chatPlanReviewWidgets.get(resolveId);
3843
+ if (part) {
3844
+ part.domNode.remove();
3845
+ this._chatPlanReviewWidgets.deleteAndDispose(resolveId);
3846
+ }
3847
+ this._planReviewResponseIds.delete(resolveId);
3848
+ this._planReviewSessionResources.delete(resolveId);
3849
+ } else if (responseId !== undefined) {
3850
+ for (const [key, rid] of this._planReviewResponseIds) {
3851
+ if (rid === responseId) {
3852
+ const part = this._chatPlanReviewWidgets.get(key);
3853
+ if (part) {
3854
+ part.domNode.remove();
3855
+ this._chatPlanReviewWidgets.deleteAndDispose(key);
3856
+ }
3857
+ this._planReviewResponseIds.delete(key);
3858
+ this._planReviewSessionResources.delete(key);
3859
+ }
3860
+ }
3861
+ } else {
3862
+ this._chatPlanReviewWidgets.clearAndDisposeAll();
3863
+ this._planReviewResponseIds.clear();
3864
+ this._planReviewSessionResources.clear();
3865
+ clearNode(this.chatPlanReviewContainer);
3866
+ }
3867
+ }
3868
+ get planReview() {
3869
+ return this._chatPlanReviewWidgets.size > 0 ? ( this._chatPlanReviewWidgets.values()).next().value : undefined;
3870
+ }
3871
+ get _currentSessionKey() {
3872
+ return this._widget?.viewModel?.model.sessionResource.toString();
3873
+ }
3874
+ get _currentToolConfirmationCarousel() {
3875
+ const key = this._currentSessionKey;
3876
+ return key ? this._chatToolConfirmationCarousels.get(key) : undefined;
3877
+ }
3878
+ renderToolConfirmationCarousel(
3879
+ tool,
3880
+ factory,
3881
+ subAgentInvocationId,
3882
+ subagentTitle,
3883
+ revealSubagent,
3884
+ revealSubagentLabel,
3885
+ toolPart
3886
+ ) {
3887
+ const existing = this._currentToolConfirmationCarousel;
3888
+ if (existing) {
3889
+ existing.addToolInvocation(
3890
+ tool,
3891
+ subAgentInvocationId,
3892
+ subagentTitle,
3893
+ revealSubagent,
3894
+ revealSubagentLabel,
3895
+ toolPart
3896
+ );
3897
+ this.updateToolConfirmationCarouselMaxHeight();
3898
+ return existing;
3899
+ }
3900
+ const key = this._currentSessionKey;
3901
+ if (!key) {
3902
+ throw ( new Error("Cannot render tool confirmation carousel without an active session"));
3903
+ }
3904
+ const part = ( new ChatToolConfirmationCarouselPart(
3905
+ factory,
3906
+ [],
3907
+ revealSubagent,
3908
+ revealSubagentLabel,
3909
+ subAgentInvocationId,
3910
+ subagentTitle
3911
+ ));
3912
+ part.addToolInvocation(
3913
+ tool,
3914
+ subAgentInvocationId,
3915
+ subagentTitle,
3916
+ revealSubagent,
3917
+ revealSubagentLabel,
3918
+ toolPart
3919
+ );
3920
+ this._chatToolConfirmationCarousels.set(key, part);
3921
+ const capturedKey = key;
3922
+ this._register(part.onDidChangeActiveSubagent(id => {
3923
+ if (this._currentSessionKey === capturedKey) {
3924
+ this._onDidChangeActiveConfirmationSubagent.fire(id);
3925
+ }
3926
+ }));
3927
+ if (this._currentSessionKey === capturedKey) {
3928
+ this._onDidChangeActiveConfirmationSubagent.fire(part.activeSubAgentInvocationId);
3929
+ }
3930
+ append(this.chatToolConfirmationCarouselContainer, part.domNode);
3931
+ show(this.chatToolConfirmationCarouselContainer);
3932
+ this.updateToolConfirmationCarouselMaxHeight();
3933
+ this._register(Event.once(part.onDidEmpty)(() => {
3934
+ this._chatToolConfirmationCarousels.deleteAndDispose(capturedKey);
3935
+ if (this._currentSessionKey === capturedKey) {
3936
+ this._onDidChangeActiveConfirmationSubagent.fire(undefined);
3937
+ clearNode(this.chatToolConfirmationCarouselContainer);
3938
+ hide(this.chatToolConfirmationCarouselContainer);
3939
+ }
3940
+ }));
3941
+ return part;
3942
+ }
3943
+ addToolToConfirmationCarousel(
3944
+ tool,
3945
+ factory,
3946
+ subAgentInvocationId,
3947
+ subagentTitle,
3948
+ revealSubagent,
3949
+ revealSubagentLabel,
3950
+ toolPart
3951
+ ) {
3952
+ const existing = this._currentToolConfirmationCarousel;
3953
+ if (existing) {
3954
+ existing.addToolInvocation(
3955
+ tool,
3956
+ subAgentInvocationId,
3957
+ subagentTitle,
3958
+ revealSubagent,
3959
+ revealSubagentLabel,
3960
+ toolPart
3961
+ );
3962
+ this.updateToolConfirmationCarouselMaxHeight();
3963
+ } else {
3964
+ this.renderToolConfirmationCarousel(
3965
+ tool,
3966
+ factory,
3967
+ subAgentInvocationId,
3968
+ subagentTitle,
3969
+ revealSubagent,
3970
+ revealSubagentLabel,
3971
+ toolPart
3972
+ );
3973
+ }
3974
+ }
3975
+ get activeConfirmationSubagentId() {
3976
+ return this._currentToolConfirmationCarousel?.activeSubAgentInvocationId;
3977
+ }
3978
+ activateCarouselForSubagent(subAgentInvocationId) {
3979
+ this._currentToolConfirmationCarousel?.activateFirstToolForSubagent(subAgentInvocationId);
3980
+ }
3981
+ hasToolInConfirmationCarousel(toolCallId) {
3982
+ return this._currentToolConfirmationCarousel?.hasToolInvocation(toolCallId) ?? false;
3983
+ }
3984
+ get hasActiveToolConfirmationCarousel() {
3985
+ const carousel = this._currentToolConfirmationCarousel;
3986
+ return !!carousel && carousel.pendingCount > 0;
3987
+ }
3988
+ clearToolConfirmationCarousel() {
3989
+ const key = this._currentSessionKey;
3990
+ if (key) {
3991
+ this._chatToolConfirmationCarousels.deleteAndDispose(key);
3992
+ }
3993
+ this._onDidChangeActiveConfirmationSubagent.fire(undefined);
3994
+ clearNode(this.chatToolConfirmationCarouselContainer);
3995
+ hide(this.chatToolConfirmationCarouselContainer);
3996
+ }
3997
+ _syncToolConfirmationCarouselForSession() {
3998
+ clearNode(this.chatToolConfirmationCarouselContainer);
3999
+ const carousel = this._currentToolConfirmationCarousel;
4000
+ if (carousel && carousel.pendingCount > 0) {
4001
+ append(this.chatToolConfirmationCarouselContainer, carousel.domNode);
4002
+ show(this.chatToolConfirmationCarouselContainer);
4003
+ this.updateToolConfirmationCarouselMaxHeight();
4004
+ } else {
4005
+ hide(this.chatToolConfirmationCarouselContainer);
4006
+ }
4007
+ this._onDidChangeActiveConfirmationSubagent.fire(carousel?.activeSubAgentInvocationId);
4008
+ }
4009
+ setWorkingSetCollapsed(collapsed) {
4010
+ this._workingSetCollapsed.set(collapsed, undefined);
4011
+ }
4012
+ renderChatEditingSessionState(chatEditingSession) {
4013
+ this.setChatEditingSessionVisible(Boolean(chatEditingSession));
4014
+ if (chatEditingSession) {
4015
+ if (!isEqual(chatEditingSession.chatSessionResource, this._lastEditingSessionResource)) {
4016
+ this._workingSetCollapsed.set(true, undefined);
4017
+ }
4018
+ this._lastEditingSessionResource = chatEditingSession.chatSessionResource;
4019
+ }
4020
+ const modifiedEntries = derivedOpts({
4021
+ equalsFn: equals
4022
+ }, r => {
4023
+ const sessionResource = chatEditingSession?.chatSessionResource ?? this._widget?.viewModel?.model.sessionResource;
4024
+ if (sessionResource && getChatSessionType(sessionResource) === AgentSessionProviders.Background) {
4025
+ return [];
4026
+ }
4027
+ return chatEditingSession?.entries.read(r).filter(entry => entry.state.read(r) === ModifiedFileEntryState.Modified) || [];
4028
+ });
4029
+ const editSessionEntries = derived(reader => {
4030
+ const seenEntries = ( new ResourceSet());
4031
+ const entries = [];
4032
+ for (const entry of modifiedEntries.read(reader)) {
4033
+ if (entry.state.read(reader) !== ModifiedFileEntryState.Modified) {
4034
+ continue;
4035
+ }
4036
+ if (!( seenEntries.has(entry.modifiedURI))) {
4037
+ seenEntries.add(entry.modifiedURI);
4038
+ const linesAdded = entry.linesAdded?.read(reader);
4039
+ const linesRemoved = entry.linesRemoved?.read(reader);
4040
+ entries.push({
4041
+ reference: entry.modifiedURI,
4042
+ state: ModifiedFileEntryState.Modified,
4043
+ kind: "reference",
4044
+ options: {
4045
+ status: undefined,
4046
+ diffMeta: {
4047
+ added: linesAdded ?? 0,
4048
+ removed: linesRemoved ?? 0
4049
+ },
4050
+ isDeletion: !!entry.isDeletion,
4051
+ originalUri: entry.isDeletion ? entry.originalURI : undefined
4052
+ }
4053
+ });
4054
+ }
4055
+ }
4056
+ entries.sort((a, b) => {
4057
+ if (a.kind === "reference" && b.kind === "reference") {
4058
+ if (a.state === b.state || a.state === undefined || b.state === undefined) {
4059
+ return ( a.reference.toString()).localeCompare(( b.reference.toString()));
4060
+ }
4061
+ return a.state - b.state;
4062
+ }
4063
+ return 0;
4064
+ });
4065
+ return entries;
4066
+ });
4067
+ const sessionFileChanges = observableFromEvent(this, this.agentSessionsService.model.onDidChangeSessions, () => {
4068
+ const sessionResource = this._widget?.viewModel?.model?.sessionResource;
4069
+ if (!sessionResource) {
4070
+ return Iterable.empty();
4071
+ }
4072
+ const model = this.agentSessionsService.getSession(sessionResource);
4073
+ return model?.changes instanceof Array ? model.changes : Iterable.empty();
4074
+ });
4075
+ const sessionFiles = derived(reader => sessionFileChanges.read(reader).map(entry => ({
4076
+ reference: isIChatSessionFileChange2(entry) ? entry.modifiedUri ?? entry.uri : entry.modifiedUri,
4077
+ state: ModifiedFileEntryState.Accepted,
4078
+ kind: "reference",
4079
+ options: {
4080
+ diffMeta: {
4081
+ added: entry.insertions,
4082
+ removed: entry.deletions
4083
+ },
4084
+ isDeletion: entry.modifiedUri === undefined,
4085
+ originalUri: entry.originalUri,
4086
+ status: undefined
4087
+ }
4088
+ })));
4089
+ const shouldRender = derived(
4090
+ reader => editSessionEntries.read(reader).length > 0 || sessionFiles.read(reader).length > 0
4091
+ );
4092
+ this._renderingChatEdits.value = autorun(reader => {
4093
+ if (this.options.renderWorkingSet && shouldRender.read(reader)) {
4094
+ this.renderChatEditingSessionWithEntries(reader.store, chatEditingSession, editSessionEntries, sessionFiles);
4095
+ } else {
4096
+ clearNode(this.chatEditingSessionWidgetContainer);
4097
+ this._chatEditsDisposables.clear();
4098
+ this._chatEditList = undefined;
4099
+ this.setChatEditingSessionVisible(false);
4100
+ }
4101
+ });
4102
+ }
4103
+ setChatEditingSessionVisible(visible) {
4104
+ setVisibility(visible, this.chatEditingSessionWidgetContainer);
4105
+ setChatInputStackSlot(
4106
+ this.chatEditingSessionWidgetContainer,
4107
+ visible ? ChatInputStackSlot.Docked : ChatInputStackSlot.Empty
4108
+ );
4109
+ }
4110
+ renderChatEditingSessionWithEntries(store, chatEditingSession, editSessionEntriesObs, sessionEntriesObs) {
4111
+ const innerContainer = this.chatEditingSessionWidgetContainer.querySelector(".chat-editing-session-container.show-file-icons") ?? append(
4112
+ this.chatEditingSessionWidgetContainer,
4113
+ $(".chat-editing-session-container.show-file-icons")
4114
+ );
4115
+ const overviewRegion = innerContainer.querySelector(".chat-editing-session-overview") ?? append(innerContainer, $(".chat-editing-session-overview"));
4116
+ const overviewTitle = overviewRegion.querySelector(".working-set-title") ?? append(overviewRegion, $(".working-set-title"));
4117
+ this._chatEditsActionsDisposables.clear();
4118
+ const actionsContainer = overviewRegion.querySelector(".chat-editing-session-actions") ?? append(overviewRegion, $(".chat-editing-session-actions"));
4119
+ const sessionResource = chatEditingSession?.chatSessionResource || this._widget?.viewModel?.model.sessionResource;
4120
+ const scopedContextKeyService = this._chatEditsActionsDisposables.add(this.contextKeyService.createScoped(actionsContainer));
4121
+ if (sessionResource) {
4122
+ scopedContextKeyService.createKey(ChatContextKeys.agentSessionType.key, getChatSessionType(sessionResource));
4123
+ const sessionPullRequest = observableFromEvent(this, this.agentSessionsService.model.onDidChangeSessions, () => {
4124
+ const session = this.agentSessionsService.getSession(sessionResource);
4125
+ return session ? getAgentSessionPullRequestContextValue(session) : "";
4126
+ });
4127
+ this._chatEditsActionsDisposables.add(bindContextKey(
4128
+ ChatContextKeys.agentSessionPullRequest,
4129
+ scopedContextKeyService,
4130
+ r => sessionPullRequest.read(r)
4131
+ ));
4132
+ }
4133
+ this._chatEditsActionsDisposables.add(bindContextKey(
4134
+ ChatContextKeys.hasAgentSessionChanges,
4135
+ scopedContextKeyService,
4136
+ r => !!sessionEntriesObs.read(r)?.length
4137
+ ));
4138
+ const scopedInstantiationService = this._chatEditsActionsDisposables.add(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, scopedContextKeyService]))));
4139
+ const workingSetContainer = innerContainer.querySelector(".chat-editing-session-list") ?? append(innerContainer, $(".chat-editing-session-list"));
4140
+ const button = this._chatEditsActionsDisposables.add(( new ButtonWithIcon(overviewTitle, {
4141
+ supportIcons: true,
4142
+ secondary: true,
4143
+ ariaLabel: ( localize(11966, "Toggle changed files."))
4144
+ })));
4145
+ const topLevelStats = derived(reader => {
4146
+ const entries = editSessionEntriesObs.read(reader);
4147
+ const sessionEntries = sessionEntriesObs.read(reader);
4148
+ let added = 0, removed = 0;
4149
+ if (entries.length > 0) {
4150
+ for (const entry of entries) {
4151
+ if (entry.kind === "reference" && entry.options?.diffMeta) {
4152
+ added += entry.options.diffMeta.added;
4153
+ removed += entry.options.diffMeta.removed;
4154
+ }
4155
+ }
4156
+ } else {
4157
+ for (const entry of sessionEntries) {
4158
+ if (entry.kind === "reference" && entry.options?.diffMeta) {
4159
+ added += entry.options.diffMeta.added;
4160
+ removed += entry.options.diffMeta.removed;
4161
+ }
4162
+ }
4163
+ }
4164
+ const files = entries.length > 0 ? entries.length : sessionEntries.length;
4165
+ const topLevelIsSessionMenu = entries.length === 0 && sessionEntries.length > 0;
4166
+ const shouldShowEditingSession = entries.length > 0 || sessionEntries.length > 0;
4167
+ return {
4168
+ files,
4169
+ added,
4170
+ removed,
4171
+ shouldShowEditingSession,
4172
+ topLevelIsSessionMenu
4173
+ };
4174
+ });
4175
+ const topLevelIsSessionMenu = topLevelStats.map(t => t.topLevelIsSessionMenu);
4176
+ store.add(autorun(reader => {
4177
+ const isSessionMenu = topLevelIsSessionMenu.read(reader);
4178
+ reader.store.add(scopedInstantiationService.createInstance(
4179
+ MenuWorkbenchButtonBar,
4180
+ actionsContainer,
4181
+ isSessionMenu ? MenuId.ChatEditingSessionChangesToolbar : MenuId.ChatEditingWidgetToolbar,
4182
+ {
4183
+ telemetrySource: this.options.menus.telemetrySource,
4184
+ small: true,
4185
+ menuOptions: sessionResource ? (isSessionMenu ? {
4186
+ args: [
4187
+ sessionResource,
4188
+ this.agentSessionsService.getSession(sessionResource)?.metadata
4189
+ ]
4190
+ } : {
4191
+ arg: {
4192
+ $mid: MarshalledId.ChatViewContext,
4193
+ sessionResource
4194
+ }
4195
+ }) : undefined,
4196
+ disableWhileRunning: isSessionMenu,
4197
+ buttonConfigProvider: action => {
4198
+ if (action.id === ChatEditingShowChangesAction.ID || action.id === ViewPreviousEditsAction.Id) {
4199
+ return {
4200
+ showIcon: true,
4201
+ showLabel: false,
4202
+ isSecondary: true
4203
+ };
4204
+ }
4205
+ if (action.id === "github.copilot.chat.cloudSessions.openPullRequestForTask") {
4206
+ return {
4207
+ showIcon: true,
4208
+ showLabel: false
4209
+ };
4210
+ }
4211
+ return undefined;
4212
+ }
4213
+ }
4214
+ ));
4215
+ }));
4216
+ store.add(autorun(reader => {
4217
+ const {
4218
+ files,
4219
+ added,
4220
+ removed,
4221
+ shouldShowEditingSession
4222
+ } = topLevelStats.read(reader);
4223
+ const buttonLabel = files === 1 ? ( localize(11967, "1 file changed")) : ( localize(11968, "{0} files changed", files));
4224
+ button.label = buttonLabel;
4225
+ button.element.setAttribute("aria-label", ( localize(
4226
+ 11969,
4227
+ "{0}, {1} lines added, {2} lines removed",
4228
+ buttonLabel,
4229
+ added,
4230
+ removed
4231
+ )));
4232
+ this._workingSetLinesAddedSpan.value.textContent = `+${added}`;
4233
+ this._workingSetLinesRemovedSpan.value.textContent = `-${removed}`;
4234
+ this.setChatEditingSessionVisible(shouldShowEditingSession);
4235
+ }));
4236
+ const countsContainer = $$1(".working-set-line-counts");
4237
+ button.element.appendChild(countsContainer);
4238
+ countsContainer.appendChild(this._workingSetLinesAddedSpan.value);
4239
+ countsContainer.appendChild(this._workingSetLinesRemovedSpan.value);
4240
+ const toggleWorkingSet = () => {
4241
+ this._workingSetCollapsed.set(!this._workingSetCollapsed.get(), undefined);
4242
+ };
4243
+ this._chatEditsActionsDisposables.add(button.onDidClick(toggleWorkingSet));
4244
+ this._chatEditsActionsDisposables.add(addDisposableListener(overviewRegion, "click", e => {
4245
+ if (e.defaultPrevented) {
4246
+ return;
4247
+ }
4248
+ const target = e.target;
4249
+ if (target.closest(".monaco-button")) {
4250
+ return;
4251
+ }
4252
+ toggleWorkingSet();
4253
+ }));
4254
+ this._chatEditsActionsDisposables.add(autorun(reader => {
4255
+ const collapsed = this._workingSetCollapsed.read(reader);
4256
+ button.icon = collapsed ? Codicon.chevronRight : Codicon.chevronDown;
4257
+ workingSetContainer.classList.toggle("collapsed", collapsed);
4258
+ }));
4259
+ if (!this._chatEditList) {
4260
+ this._chatEditList = this._chatEditsListPool.get();
4261
+ const list = this._chatEditList.object;
4262
+ this._chatEditsDisposables.add(this._chatEditList);
4263
+ this._chatEditsDisposables.add(list.onDidFocus(() => {
4264
+ this._onDidFocus.fire();
4265
+ }));
4266
+ this._chatEditsDisposables.add(list.onDidOpen(async e => {
4267
+ if (e.element?.kind === "reference" && URI.isUri(e.element.reference)) {
4268
+ const modifiedFileUri = e.element.reference;
4269
+ const originalUri = e.element.options?.originalUri;
4270
+ if (e.element.options?.isDeletion && originalUri) {
4271
+ await this.editorService.openEditor({
4272
+ resource: originalUri,
4273
+ options: e.editorOptions
4274
+ }, e.sideBySide ? SIDE_GROUP : ACTIVE_GROUP);
4275
+ return;
4276
+ }
4277
+ if (originalUri) {
4278
+ await this.editorService.openEditor({
4279
+ original: {
4280
+ resource: originalUri
4281
+ },
4282
+ modified: {
4283
+ resource: modifiedFileUri
4284
+ },
4285
+ options: e.editorOptions
4286
+ }, e.sideBySide ? SIDE_GROUP : ACTIVE_GROUP);
4287
+ return;
4288
+ }
4289
+ const entry = chatEditingSession?.getEntry(modifiedFileUri);
4290
+ const pane = await this.editorService.openEditor({
4291
+ resource: modifiedFileUri,
4292
+ options: e.editorOptions
4293
+ }, e.sideBySide ? SIDE_GROUP : ACTIVE_GROUP);
4294
+ if (pane) {
4295
+ entry?.getEditorIntegration(pane).reveal(true, e.editorOptions.preserveFocus);
4296
+ }
4297
+ }
4298
+ }));
4299
+ this._chatEditsDisposables.add(addDisposableListener(list.getHTMLElement(), "click", e => {
4300
+ if (!this.hasFocus()) {
4301
+ this._onDidFocus.fire();
4302
+ }
4303
+ }, true));
4304
+ append(workingSetContainer, list.getHTMLElement());
4305
+ append(innerContainer, workingSetContainer);
4306
+ }
4307
+ store.add(autorun(reader => {
4308
+ const editEntries = editSessionEntriesObs.read(reader);
4309
+ const sessionFileEntries = sessionEntriesObs.read(reader);
4310
+ const allEntries = editEntries.concat(sessionFileEntries);
4311
+ const maxItemsShown = 6;
4312
+ const itemsShown = Math.min(allEntries.length, maxItemsShown);
4313
+ const height = itemsShown * 22;
4314
+ const list = this._chatEditList.object;
4315
+ list.layout(height);
4316
+ list.getHTMLElement().style.height = `${height}px`;
4317
+ list.splice(0, list.length, allEntries);
4318
+ workingSetContainer.classList.toggle("overflowing", allEntries.length > maxItemsShown);
4319
+ }));
4320
+ }
4321
+ async renderFollowups(items, response) {
4322
+ if (!this.options.renderFollowups) {
4323
+ return;
4324
+ }
4325
+ this.followupsDisposables.clear();
4326
+ clearNode(this.followupsContainer);
4327
+ if (items && items.length > 0) {
4328
+ this.followupsDisposables.add(this.instantiationService.createInstance(
4329
+ ChatFollowups,
4330
+ this.followupsContainer,
4331
+ items,
4332
+ this.location,
4333
+ undefined,
4334
+ followup => this._onDidAcceptFollowup.fire({
4335
+ followup,
4336
+ response
4337
+ })
4338
+ ));
4339
+ }
4340
+ }
4341
+ setMaxHeight(maxHeight) {
4342
+ this._maxHeight = maxHeight;
4343
+ this.updateToolConfirmationCarouselMaxHeight();
4344
+ }
4345
+ updateToolConfirmationCarouselMaxHeight() {
4346
+ const carousel = this._currentToolConfirmationCarousel;
4347
+ if (!carousel) {
4348
+ return;
4349
+ }
4350
+ if (this._maxHeight === undefined) {
4351
+ carousel.setMaxHeight(undefined);
4352
+ return;
4353
+ }
4354
+ const carouselHeight = this.chatToolConfirmationCarouselContainer.offsetHeight;
4355
+ const otherInputHeight = Math.max(0, this.container.offsetHeight - carouselHeight);
4356
+ carousel.setMaxHeight(this._maxHeight - otherInputHeight);
4357
+ }
4358
+ layout(width) {
4359
+ this.cachedWidth = width;
4360
+ this._updateWorkingProgressAnimationDuration(width);
4361
+ const result = this._layout(width);
4362
+ this._inputPickerResponsiveLayout?.layout();
4363
+ this._secondaryPickerResponsiveLayout?.layout();
4364
+ return result;
4365
+ }
4366
+ layoutForToolbarChange() {
4367
+ if (typeof this.cachedWidth === "number") {
4368
+ this._layout(this.cachedWidth, true, true);
4369
+ }
4370
+ }
4371
+ _updateWorkingProgressAnimationDuration(width) {
4372
+ if (!this.inputContainer) {
4373
+ return;
4374
+ }
4375
+ const MIN_DURATION_S = 1.4;
4376
+ const MAX_DURATION_S = 2.5;
4377
+ const safeWidth = Math.max(50, width);
4378
+ const raw = 0.55 + 0.075 * Math.sqrt(safeWidth);
4379
+ const duration = Math.min(MAX_DURATION_S, Math.max(MIN_DURATION_S, raw));
4380
+ if (this._lastAnimDurationS !== undefined && Math.abs(this._lastAnimDurationS - duration) < 0.05) {
4381
+ return;
4382
+ }
4383
+ this._lastAnimDurationS = duration;
4384
+ this.inputContainer.style.setProperty("--chat-input-anim-duration", `${duration.toFixed(2)}s`);
4385
+ if (this.inputContainer.classList.contains("working")) {
4386
+ const inputContainer = this.inputContainer;
4387
+ inputContainer.classList.add("chat-input-anim-restart");
4388
+ scheduleAtNextAnimationFrame(getWindow(inputContainer), () => {
4389
+ inputContainer.classList.remove("chat-input-anim-restart");
4390
+ });
4391
+ }
4392
+ }
4393
+ get _effectiveInputEditorMaxHeight() {
4394
+ if (this._maxHeight === undefined) {
4395
+ return this.inputEditorMaxHeight;
4396
+ }
4397
+ const currentEditorHeight = this.previousInputEditorDimension?.height ?? 0;
4398
+ const nonEditorHeight = Math.max(0, this.height.get() - currentEditorHeight);
4399
+ const budgetForEditor = this._maxHeight - nonEditorHeight;
4400
+ const minEditorHeight = this.inputEditorMinHeight ?? this.singleLineInputEditorHeight;
4401
+ return Math.max(
4402
+ minEditorHeight,
4403
+ Math.min(this.inputEditorMaxHeight, Math.max(0, budgetForEditor))
4404
+ );
4405
+ }
4406
+ _layout(width, allowRecurse = true, preserveInputEditorHeight = false) {
4407
+ const data = this.getLayoutData();
4408
+ const followupsWidth = width - data.inputPartHorizontalPadding;
4409
+ this.followupsContainer.style.width = `${followupsWidth}px`;
4410
+ const initialEditorScrollWidth = this._inputEditor.getScrollWidth();
4411
+ const newEditorWidth = width - data.inputPartHorizontalPadding - data.editorBorder - data.inputPartHorizontalPaddingInside - data.toolbarsWidth - data.sideToolbarWidth;
4412
+ const effectiveMaxHeight = this._effectiveInputEditorMaxHeight;
4413
+ const contentHeight = preserveInputEditorHeight && this.previousInputEditorDimension ? this.previousInputEditorDimension.height : this._inputEditor.getContentHeight();
4414
+ const clampedContentHeight = Math.min(contentHeight, effectiveMaxHeight);
4415
+ const inputEditorHeight = this.inputEditorMinHeight ? Math.min(
4416
+ Math.max(this.inputEditorMinHeight, clampedContentHeight),
4417
+ effectiveMaxHeight
4418
+ ) : clampedContentHeight;
4419
+ const newDimension = {
4420
+ width: newEditorWidth,
4421
+ height: inputEditorHeight
4422
+ };
4423
+ if (!this.previousInputEditorDimension || (this.previousInputEditorDimension.width !== newDimension.width || this.previousInputEditorDimension.height !== newDimension.height)) {
4424
+ this.ignoreInputEditorContentSizeChanges = preserveInputEditorHeight;
4425
+ try {
4426
+ this._inputEditor.layout(newDimension);
4427
+ } finally {
4428
+ this.ignoreInputEditorContentSizeChanges = false;
4429
+ }
4430
+ this.previousInputEditorDimension = newDimension;
4431
+ }
4432
+ if (allowRecurse && initialEditorScrollWidth < 10) {
4433
+ return this._layout(width, false, preserveInputEditorHeight);
4434
+ }
4435
+ }
4436
+ getLayoutData() {
4437
+ const inputSideToolbarWidth = this.inputSideToolbarContainer ? getTotalWidth(this.inputSideToolbarContainer) : 0;
4438
+ const getToolbarsWidthCompact = () => {
4439
+ const toolbarItemGap = 4;
4440
+ const executeToolbarWidth = this.cachedExecuteToolbarWidth = this.executeToolbar.getItemsWidth();
4441
+ const inputToolbarWidth = this.cachedInputToolbarWidth = this.inputActionsToolbar.getItemsWidth();
4442
+ const executeToolbarPadding = (this.executeToolbar.getItemsLength() - 1) * toolbarItemGap;
4443
+ const inputToolbarPadding = this.inputActionsToolbar.getItemsLength() ? (this.inputActionsToolbar.getItemsLength() - 1) * toolbarItemGap : 0;
4444
+ const contextUsageWidth = getTotalWidth(this.contextUsageWidgetContainer);
4445
+ const inputToolbarsPadding = 12;
4446
+ return executeToolbarWidth + executeToolbarPadding + contextUsageWidth + (this.options.renderInputToolbarBelowInput ? 0 : inputToolbarWidth + inputToolbarPadding + inputToolbarsPadding);
4447
+ };
4448
+ return {
4449
+ editorBorder: 2,
4450
+ inputPartHorizontalPadding: this.options.inputPartHorizontalPadding ?? (this.options.renderStyle === "compact" ? 16 : (this.options.isSessionsWindow ? 64 : 24)),
4451
+ inputPartHorizontalPaddingInside: this.options.renderStyle === "compact" ? 12 : 10,
4452
+ toolbarsWidth: this.options.renderStyle === "compact" ? getToolbarsWidthCompact() : 0,
4453
+ sideToolbarWidth: inputSideToolbarWidth > 0 ? inputSideToolbarWidth + 4 : 0
4454
+ };
4455
+ }
4456
+ getWidgetLocationInfo(widget) {
4457
+ if (isIChatResourceViewContext(widget.viewContext)) {
4458
+ return {
4459
+ location: ChatWidgetLocation.Editor,
4460
+ isMaximized: false
4461
+ };
4462
+ }
4463
+ if (isIChatViewViewContext(widget.viewContext)) {
4464
+ const viewLocation = this.viewDescriptorService.getViewLocationById(widget.viewContext.viewId);
4465
+ const sideBarPosition = this.layoutService.getSideBarPosition();
4466
+ switch (viewLocation) {
4467
+ case ViewContainerLocation.Panel:
4468
+ return {
4469
+ location: ChatWidgetLocation.Panel,
4470
+ isMaximized: this.layoutService.isPanelMaximized()
4471
+ };
4472
+ case ViewContainerLocation.AuxiliaryBar:
4473
+ return {
4474
+ location: sideBarPosition === Position.LEFT ? ChatWidgetLocation.SidebarRight : ChatWidgetLocation.SidebarLeft,
4475
+ isMaximized: this.layoutService.isAuxiliaryBarMaximized()
4476
+ };
4477
+ case ViewContainerLocation.Sidebar:
4478
+ default:
4479
+ return {
4480
+ location: sideBarPosition === Position.LEFT ? ChatWidgetLocation.SidebarLeft : ChatWidgetLocation.SidebarRight,
4481
+ isMaximized: false
4482
+ };
4483
+ }
4484
+ }
4485
+ return {
4486
+ location: ChatWidgetLocation.Editor,
4487
+ isMaximized: false
4488
+ };
4489
+ }
4490
+ getDefaultScrollbarOptions() {
4491
+ const scrollbar = this._inputEditor.getRawOptions().scrollbar ?? {};
4492
+ return this.options.renderStyle === "compact" ? {
4493
+ ...scrollbar,
4494
+ vertical: "hidden"
4495
+ } : {
4496
+ ...scrollbar,
4497
+ vertical: "auto",
4498
+ verticalScrollbarSize: 7
4499
+ };
4500
+ }
4501
+ getVisibleScrollbarOptions() {
4502
+ const scrollbar = this._inputEditor.getRawOptions().scrollbar ?? {};
4503
+ return this.options.renderStyle === "compact" ? {
4504
+ ...scrollbar,
4505
+ vertical: "hidden"
4506
+ } : {
4507
+ ...scrollbar,
4508
+ vertical: "visible",
4509
+ verticalScrollbarSize: 7
4510
+ };
4511
+ }
4512
+ updateInputEditorScrollbarOptions() {
4513
+ this._inputEditor.updateOptions({
4514
+ scrollbar: this._forceVisibleScrollbarUntilAccept ? this.getVisibleScrollbarOptions() : this.getDefaultScrollbarOptions()
4515
+ });
4516
+ }
4517
+ showScrollbarUntilAccept() {
4518
+ this._forceVisibleScrollbarUntilAccept = true;
4519
+ this.updateInputEditorScrollbarOptions();
4520
+ }
4521
+ resetScrollbarVisibilityAfterAccept() {
4522
+ if (!this._forceVisibleScrollbarUntilAccept) {
4523
+ return;
4524
+ }
4525
+ this._forceVisibleScrollbarUntilAccept = false;
4526
+ this.updateInputEditorScrollbarOptions();
4527
+ }
4528
+ };
4529
+ ChatInputPart = ChatInputPart_1 = ( __decorate([( __param(4, IModelService)), ( __param(5, IInstantiationService)), ( __param(6, IContextKeyService)), ( __param(7, IConfigurationService)), ( __param(8, IKeybindingService)), ( __param(9, IAccessibilityService)), ( __param(10, ILanguageModelsService)), ( __param(11, ILogService)), ( __param(12, IFileService)), ( __param(13, IEditorService)), ( __param(14, IThemeService)), ( __param(15, ITextModelService)), ( __param(16, IStorageService)), ( __param(17, IDialogService)), ( __param(18, IChatAgentService)), ( __param(19, ISharedWebContentExtractorService)), ( __param(20, IChatEntitlementService)), ( __param(21, IChatModeService)), ( __param(22, ILanguageModelToolsService)), ( __param(23, IChatSessionsService)), ( __param(24, IChatContextService)), ( __param(25, IAgentSessionsService)), ( __param(26, IChatSpeechToTextService)), ( __param(27, IDictationOnboardingService)), ( __param(28, IChatInputNoticeHubService)), ( __param(29, IWorkspaceContextService)), ( __param(30, ISCMService)), ( __param(31, IWorkbenchLayoutService)), ( __param(32, IViewDescriptorService)), ( __param(33, IChatAttachmentWidgetRegistry)), ( __param(34, IChatInputNotificationService)), ( __param(35, IChatPhoneInputPresenter)), ( __param(36, IVoiceModeOnboardingService)), ( __param(37, IChatWidgetService)), ( __param(38, IVoiceSessionController)), ( __param(39, IChatService)), ( __param(40, IWorkbenchEnvironmentService)), ( __param(41, IChatPetService)), ( __param(42, IActionViewItemService))], ChatInputPart));
4530
+ function getLastPosition(model) {
4531
+ return {
4532
+ lineNumber: model.getLineCount(),
4533
+ column: model.getLineLength(model.getLineCount()) + 1
4534
+ };
4535
+ }
4536
+ const chatInputEditorContainerSelector = ".interactive-input-editor";
4537
+ setupSimpleEditorSelectionStyling(chatInputEditorContainerSelector);
4538
+ class ChatSessionPickersContainerActionItem extends ActionViewItem {
4539
+ constructor(action, widgets, options) {
4540
+ super(null, action, options ?? {});
4541
+ this.widgets = widgets;
4542
+ }
4543
+ render(container) {
4544
+ container.classList.add("chat-sessionPicker-container");
4545
+ for (const widget of this.widgets) {
4546
+ const itemContainer = $$1(".action-item.chat-sessionPicker-item");
4547
+ widget.render(itemContainer);
4548
+ container.appendChild(itemContainer);
4549
+ }
4550
+ }
4551
+ show() {
4552
+ this.widgets[0]?.show();
4553
+ }
4554
+ dispose() {
4555
+ for (const widget of this.widgets) {
4556
+ widget.dispose();
4557
+ }
4558
+ super.dispose();
4559
+ }
4560
+ }
4561
+ class HiddenActionViewItem extends BaseActionViewItem {
4562
+ constructor(action) {
4563
+ super(undefined, action);
4564
+ }
4565
+ render(container) {
4566
+ super.render(container);
4567
+ container.style.display = "none";
4568
+ }
4569
+ }
4570
+
4571
+ export { ChatInputPart, ChatWidgetLocation };