@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,3939 @@
1
+
2
+ import { registerCss } from '../../../../../../../../css.js';
3
+ import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
4
+ import * as sessionsList from '../media/sessionsList.css';
5
+ import { $ as $$1, append, addDisposableListener, EventType, clearNode, getWindow, addStandardDisposableListener, isAncestorOfActiveElement, isMouseEvent, scheduleAtNextAnimationFrame } from '../../../../../base/browser/dom.js';
6
+ import { synchronizeCSSAnimations, pauseCSSAnimationsWhenHidden } from '../../../../../base/browser/animationSync.js';
7
+ import { Gesture } from '../../../../../base/browser/touch.js';
8
+ import { ListDragOverEffectPosition, ListDragOverEffectType, NotSelectableGroupId } from '../../../../../base/browser/ui/list/list.js';
9
+ import { ObjectTreeElementCollapseState } from '../../../../../base/browser/ui/tree/tree.js';
10
+ import { RenderIndentGuides, TreeFindMode } from '../../../../../base/browser/ui/tree/abstractTree.js';
11
+ import { Codicon } from '../../../../../base/common/codicons.js';
12
+ import { onUnexpectedError } from '../../../../../base/common/errors.js';
13
+ import { Emitter } from '../../../../../base/common/event.js';
14
+ import { HighlightedLabel } from '../../../../../base/browser/ui/highlightedlabel/highlightedLabel.js';
15
+ import { createMatches } from '../../../../../base/common/filters.js';
16
+ import { DisposableStore, toDisposable, MutableDisposable, Disposable } from '../../../../../base/common/lifecycle.js';
17
+ import { MarkdownString } from '../../../../../base/common/htmlContent.js';
18
+ import '../../../../../base/common/observableInternal/index.js';
19
+ import { ThemeIcon } from '../../../../../base/common/themables.js';
20
+ import { fromNow } from '../../../../../base/common/date.js';
21
+ import { KeyCode } from '../../../../../base/common/keyCodes.js';
22
+ import { isEqual } from '../../../../../base/common/resources.js';
23
+ import { localize } from '../../../../../nls.js';
24
+ import { MenuId, MenuItemAction } from '../../../../../platform/actions/common/actions.js';
25
+ import { IMenuService } from '../../../../../platform/actions/common/actions.service.js';
26
+ import { MenuWorkbenchToolBar } from '../../../../../platform/actions/browser/toolbar.js';
27
+ import { DropdownWithPrimaryActionViewItem } from '../../../../../platform/actions/browser/dropdownWithPrimaryActionViewItem.js';
28
+ import { MenuEntryActionViewItem, getFlatContextMenuActions } from '../../../../../platform/actions/browser/menuEntryActionViewItem.js';
29
+ import { ICommandService } from '../../../../../platform/commands/common/commands.service.js';
30
+ import { RawContextKey } from '../../../../../platform/contextkey/common/contextkey.js';
31
+ import { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.service.js';
32
+ import { MarshalledId } from '../../../../../base/common/marshallingIds.js';
33
+ import { SessionIsReadContext, SessionIsArchivedContext, SessionSupportsDeleteContext, IsPhoneLayoutContext, SessionTypeContext, SessionProviderIdContext, SessionSupportsRenameContext, SessionHasPullRequestContext } from '../../../../common/contextkeys.js';
34
+ import { ARCHIVE_SESSION_COMMAND_ID, RENAME_SESSION_COMMAND_ID } from '../../../../common/sessionCommands.js';
35
+ import { IContextMenuService } from '../../../../../platform/contextview/browser/contextView.service.js';
36
+ import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
37
+ import { IKeybindingService } from '../../../../../platform/keybinding/common/keybinding.service.js';
38
+ import { ServiceCollection } from '../../../../../platform/instantiation/common/serviceCollection.js';
39
+ import { WorkbenchObjectTree } from '../../../../../platform/list/browser/listService.js';
40
+ import { defaultButtonStyles, defaultInputBoxStyles, defaultToggleStyles, defaultFindWidgetStyles } from '../../../../../platform/theme/browser/defaultStyles.js';
41
+ import { asCssVariable } from '../../../../../platform/theme/common/colorUtils.js';
42
+ import { chartsOrange } from '../../../../../platform/theme/common/colors/chartsColors.js';
43
+ import { StorageScope, StorageTarget } from '../../../../../platform/storage/common/storage.js';
44
+ import { IStorageService } from '../../../../../platform/storage/common/storage.service.js';
45
+ import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.service.js';
46
+ import { IUriIdentityService } from '../../../../../platform/uriIdentity/common/uriIdentity.service.js';
47
+ import { IOpenerService } from '../../../../../platform/opener/common/opener.service.js';
48
+ import { ILabelService } from '../../../../../platform/label/common/label.service.js';
49
+ import { ChatSessionArchiveActionWordingSettingId, getChatSessionArchivedSectionLabel, getChatSessionArchiveActionWording, ChatSessionArchiveActionWording } from '../../../../../platform/chat/common/sessionArchiveActions.js';
50
+ import { SessionStatus, ChatOriginKind, ChatInteractivity, getGitHubPullRequestRefs, getSessionWorkspaceKind, SessionWorkspaceKind, getSessionStatusMessage, GITHUB_REMOTE_FILE_SCHEME, getChatCapabilities } from '../../../../services/sessions/common/session.js';
51
+ import { agentSessionApprovalId, AgentSessionApprovalModel } from '../../../../../workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js';
52
+ import { IVoicePlaybackService } from '../../../../../workbench/contrib/chat/common/voicePlaybackService.service.js';
53
+ import { Button } from '../../../../../base/browser/ui/button/button.js';
54
+ import { IMarkdownRendererService } from '../../../../../platform/markdown/browser/markdownRenderer.service.js';
55
+ import { ActionRunner, Action, toAction, Separator, SubmenuAction } from '../../../../../base/common/actions.js';
56
+ import { IHoverService } from '../../../../../platform/hover/browser/hover.service.js';
57
+ import { createSessionActionViewItemProvider, getSessionArchiveActionViewItemOptions } from '../../../../browser/sessionActionViewItem.js';
58
+ import { HoverStyle } from '../../../../../base/browser/ui/hover/hover.js';
59
+ import { HoverPosition } from '../../../../../base/browser/ui/hover/hoverWidget.js';
60
+ import { getDefaultHoverDelegate } from '../../../../../base/browser/ui/hover/hoverDelegateFactory.js';
61
+ import { ISessionsManagementService } from '../../../../services/sessions/common/sessionsManagement.service.js';
62
+ import { ISessionsService } from '../../../../services/sessions/browser/sessionsService.service.js';
63
+ import { ISessionsListModelService } from '../../../../services/sessions/browser/sessionsListModelService.service.js';
64
+ import { ISessionGroupsService } from '../../../../services/sessions/browser/sessionGroupsService.service.js';
65
+ import { ISessionSectionOrderService } from '../../../../services/sessions/browser/sessionSectionOrderService.service.js';
66
+ import { InputBox } from '../../../../../base/browser/ui/inputbox/inputBox.js';
67
+ import { IWorkbenchAssignmentService } from '../../../../../workbench/services/assignment/common/assignmentService.service.js';
68
+ import { IPreferencesService } from '../../../../../workbench/services/preferences/common/preferences.service.js';
69
+ import { markOnboardingTarget } from '../../../../../workbench/contrib/onboarding/browser/spotlight/onboardingTarget.js';
70
+ import { IAgentSessionsService } from '../../../../../workbench/contrib/chat/browser/agentSessions/agentSessionsService.service.js';
71
+ import { IAgentHostFilterService } from '../../../../services/agentHostFilter/common/agentHostFilter.service.js';
72
+ import { IAgentHostConnectionsService } from '../../../../../platform/agentHost/common/agentHostConnectionsService.service.js';
73
+ import { buildOpenSessionLinkUri } from '../../../../../platform/agentHost/common/openSessionLink.js';
74
+ import { LocalSelectionTransfer } from '../../../../../platform/dnd/browser/dnd.js';
75
+ import { fillSessionChatDragData, DraggedSessionIdentifier, SessionsDataTransfers } from '../../../../browser/dnd.js';
76
+ import { ElementsDragAndDropData, ListViewTargetSector } from '../../../../../base/browser/ui/list/listView.js';
77
+ import { ISessionsProvidersService } from '../../../../services/sessions/browser/sessionsProvidersService.service.js';
78
+ import { getSessionSummaryHoverData, getSessionDiffStats } from '../sessionHoverContent.js';
79
+ import { SessionSummaryHoverWidget } from '../../../../../workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js';
80
+ import { SessionStatusIcon } from '../../../../browser/sessionStatusIcon.js';
81
+ import { ChatAutomationsEnabledContext } from '../../../../../workbench/contrib/chat/common/automations/automationsEnabled.js';
82
+ import { IAutomationService } from '../../../../../workbench/contrib/chat/common/automations/automationService.service.js';
83
+ import { ICustomViewService } from '../../../../services/customView/browser/customViewService.service.js';
84
+ import { AUTOMATIONS_CUSTOM_VIEW_ID } from '../automationsConstants.js';
85
+ import { AutomationsNewBadgeState } from '../automationsNewBadge.js';
86
+ import { Menus } from '../../../../browser/menus.js';
87
+ import { getSessionConversationStatusAriaLabel } from '../../../../browser/sessionConversationGroups.js';
88
+ import { isAgentMergePullRequestIcon, getSessionAgentMergeConfigurationObservable, getAgentMergeAwarePullRequestIcon } from '../../../../browser/sessionAgentMerge.js';
89
+ import { observableValue } from '../../../../../base/common/observableInternal/observables/observableValue.js';
90
+ import { derived } from '../../../../../base/common/observableInternal/observables/derived.js';
91
+ import { autorun } from '../../../../../base/common/observableInternal/reactions/autorun.js';
92
+ import { observableSignalFromEvent } from '../../../../../base/common/observableInternal/observables/observableSignalFromEvent.js';
93
+ import { getHighestPriorityPullRequestIcon } from '../../../../../workbench/common/chatPullRequest.js';
94
+ import { constObservable } from '../../../../../base/common/observableInternal/observables/constObservable.js';
95
+
96
+ var SessionsList_1, SessionsFlatList_1;
97
+ registerCss(sessionsList, 1);
98
+ const $ = $$1;
99
+ const AUTOMATIONS_SECTION_ID = "automations";
100
+ const SESSION_SECTION_FOCUS_FROM_POINTER_CLASS = "session-section-focus-from-pointer";
101
+ const SESSION_HEADER_DROP_TARGET_CLASS = "session-header-drop-target";
102
+ const EMPTY_GUIDE_SESSION_IDS = ( new Set());
103
+ const SessionItemToolbarMenuId = ( new MenuId("SessionItemToolbar"));
104
+ const SessionItemContextMenuId = MenuId.SessionItemContextMenu;
105
+ const SessionSectionToolbarMenuId = ( new MenuId("SessionSectionToolbar"));
106
+ const SessionGroupToolbarMenuId = ( new MenuId("SessionGroupToolbar"));
107
+ const NEW_SESSION_FOR_WORKSPACE_ACTION_ID = "sessionsView.sectionNewSession";
108
+ const SESSIONS_LIST_SHOW_EMPTY_DEFAULT_GROUPS_SETTING = "sessions.list.showEmptyDefaultGroups";
109
+ const IsSessionPinnedContext = new RawContextKey("sessionItem.isPinned", false);
110
+ const SessionItemHasBranchNameContext = new RawContextKey("sessionItem.hasBranchName", false);
111
+ const SessionItemStatusContext = new RawContextKey("sessionItem.status", SessionStatus.Completed);
112
+ const SessionChatItemCanRenameContext = new RawContextKey("sessionChatItem.canRename", false);
113
+ const SessionChatItemCanDeleteContext = new RawContextKey("sessionChatItem.canDelete", false);
114
+ const SessionChatItemIsUntitledContext = new RawContextKey("sessionChatItem.isUntitled", false);
115
+ const SessionsListFocusedChatItemContext = new RawContextKey("sessionsList.focusedChatItem", false);
116
+ const SessionItemInGroupContext = new RawContextKey("sessionItem.inGroup", false);
117
+ const SessionSectionTypeContext = new RawContextKey("sessionSection.type", "");
118
+ const SessionSectionHasGitHubRepositoryContext = new RawContextKey("sessionSection.hasGitHubRepository", false);
119
+ const SessionSectionHasNonCloudRepositoryContext = new RawContextKey("sessionSection.hasNonCloudRepository", false);
120
+ const SessionGroupHasVisibleSessionsContext = new RawContextKey("sessionGroup.hasVisibleSessions", false);
121
+ const SessionGroupIsEmptyContext = new RawContextKey("sessionGroup.isEmpty", false);
122
+ var SessionsGrouping;
123
+ (function(SessionsGrouping) {
124
+ SessionsGrouping["Workspace"] = "workspace";
125
+ SessionsGrouping["Date"] = "date";
126
+ })(SessionsGrouping || (SessionsGrouping = {}));
127
+ var SessionsSorting;
128
+ (function(SessionsSorting) {
129
+ SessionsSorting["Created"] = "created";
130
+ SessionsSorting["Updated"] = "updated";
131
+ })(SessionsSorting || (SessionsSorting = {}));
132
+ function sortingToMode(sorting) {
133
+ return sorting === SessionsSorting.Updated ? "updated" : "created";
134
+ }
135
+ const SORT_FALLBACK_STEP_MS = 60_000;
136
+ class SessionChatItem {
137
+ constructor(session, chat) {
138
+ this.session = session;
139
+ this.chat = chat;
140
+ }
141
+ }
142
+ function isSessionChatItem(item) {
143
+ return item instanceof SessionChatItem;
144
+ }
145
+ function getChatTitle(chat, reader) {
146
+ return chat.title.read(reader).trim() || ( localize(4780, "Untitled Chat"));
147
+ }
148
+ function getSessionListChats(session, reader) {
149
+ const mainChat = session.mainChat.read(reader);
150
+ return session.chats.read(reader).filter(
151
+ chat => !isEqual(chat.resource, mainChat.resource) && chat.origin?.kind !== ChatOriginKind.Tool && chat.origin?.kind !== ChatOriginKind.SideChat && chat.interactivity.read(reader) !== ChatInteractivity.Hidden
152
+ );
153
+ }
154
+ function getSessionRowStatus(session, reader, deriveFromMainChat) {
155
+ const sessionStatus = session.status.read(reader);
156
+ if (!deriveFromMainChat) {
157
+ return sessionStatus;
158
+ }
159
+ if (( session.chats.read(reader).some(chat => chat.status.read(reader) === SessionStatus.InProgress))) {
160
+ return SessionStatus.InProgress;
161
+ }
162
+ return session.mainChat.read(reader).status.read(reader);
163
+ }
164
+ function isSessionGroupItem(item) {
165
+ return "group" in item;
166
+ }
167
+ function isSessionSection(item) {
168
+ return !isSessionGroupItem(item) && "sessions" in item && Array.isArray(item.sessions);
169
+ }
170
+ function getSessionSectionIcon(sectionId) {
171
+ switch (sectionId) {
172
+ case QUICK_CHATS_SECTION_ID:
173
+ return Codicon.commentDiscussion;
174
+ case "pinned":
175
+ return Codicon.pinned;
176
+ case AUTOMATIONS_SECTION_ID:
177
+ return Codicon.calendar;
178
+ case "archived":
179
+ return Codicon.archive;
180
+ case "recent":
181
+ return Codicon.history;
182
+ case "older":
183
+ return Codicon.calendar;
184
+ default:
185
+ return sectionId.startsWith("workspace:") ? Codicon.folder : undefined;
186
+ }
187
+ }
188
+ function isSessionShowMore(item) {
189
+ return "showMore" in item && item.showMore === true;
190
+ }
191
+ function isSessionPlaceholder(item) {
192
+ return "placeholder" in item && item.placeholder === true;
193
+ }
194
+ function isSessionItem(item) {
195
+ return !isSessionChatItem(item) && !isSessionGroupItem(item) && !isSessionSection(item) && !isSessionShowMore(item) && !isSessionPlaceholder(item);
196
+ }
197
+ const SHOW_MORE_FOLDERS_LABEL = "__more_folders__";
198
+ const FOUR_DAYS_MS = 4 * 24 * 60 * 60 * 1000;
199
+ const INSET_ROW_GAP = 2;
200
+ const DEFAULT_APPROVAL_ROW_MAX_LINES = 3;
201
+ class SessionsTreeDelegate {
202
+ static {
203
+ this.ITEM_HEIGHT = 54;
204
+ }
205
+ static {
206
+ this.ITEM_HEIGHT_QUICK_CHAT = 28;
207
+ }
208
+ static {
209
+ this.CHAT_ITEM_HEIGHT = 28;
210
+ }
211
+ static {
212
+ this.CHAT_ITEM_HEIGHT_PHONE = 44;
213
+ }
214
+ static {
215
+ this.CHAT_APPROVAL_BOTTOM_SLACK = 6;
216
+ }
217
+ static {
218
+ this.ITEM_HEIGHT_PHONE = 76;
219
+ }
220
+ static {
221
+ this.SECTION_HEIGHT = 26;
222
+ }
223
+ static {
224
+ this.SHOW_MORE_HEIGHT = 26;
225
+ }
226
+ static {
227
+ this.PLACEHOLDER_HEIGHT = 26;
228
+ }
229
+ constructor(
230
+ _approvalModel,
231
+ _isPhone,
232
+ _approvalRowMaxLines = DEFAULT_APPROVAL_ROW_MAX_LINES,
233
+ _ciFixModel = undefined,
234
+ _useCompactQuickChatRows = true,
235
+ _aggregateChatApprovals = false,
236
+ _useInsetRowSpacing = false
237
+ ) {
238
+ this._approvalModel = _approvalModel;
239
+ this._isPhone = _isPhone;
240
+ this._approvalRowMaxLines = _approvalRowMaxLines;
241
+ this._ciFixModel = _ciFixModel;
242
+ this._useCompactQuickChatRows = _useCompactQuickChatRows;
243
+ this._aggregateChatApprovals = _aggregateChatApprovals;
244
+ this._useInsetRowSpacing = _useInsetRowSpacing;
245
+ }
246
+ withInsetRowSpacing(height) {
247
+ return height + (this._useInsetRowSpacing ? INSET_ROW_GAP : 0);
248
+ }
249
+ getHeight(element) {
250
+ if (isSessionChatItem(element)) {
251
+ let chatHeight = this._isPhone() ? SessionsTreeDelegate.CHAT_ITEM_HEIGHT_PHONE : SessionsTreeDelegate.CHAT_ITEM_HEIGHT;
252
+ if (this._approvalModel) {
253
+ const approval = this._approvalModel.getApproval(element.chat.resource).get();
254
+ if (approval) {
255
+ chatHeight += SessionItemRenderer.getApprovalRowHeight(approval.label, this._approvalRowMaxLines) + SessionsTreeDelegate.CHAT_APPROVAL_BOTTOM_SLACK;
256
+ }
257
+ }
258
+ return this.withInsetRowSpacing(chatHeight);
259
+ }
260
+ if (isSessionSection(element) || isSessionGroupItem(element)) {
261
+ return SessionsTreeDelegate.SECTION_HEIGHT;
262
+ }
263
+ if (isSessionShowMore(element)) {
264
+ return this.withInsetRowSpacing(SessionsTreeDelegate.SHOW_MORE_HEIGHT);
265
+ }
266
+ if (isSessionPlaceholder(element)) {
267
+ return SessionsTreeDelegate.PLACEHOLDER_HEIGHT;
268
+ }
269
+ let height;
270
+ if (this._isPhone()) {
271
+ height = SessionsTreeDelegate.ITEM_HEIGHT_PHONE;
272
+ } else if (this._useCompactQuickChatRows && isQuickChatSession(element)) {
273
+ height = SessionsTreeDelegate.ITEM_HEIGHT_QUICK_CHAT;
274
+ } else {
275
+ height = SessionsTreeDelegate.ITEM_HEIGHT;
276
+ }
277
+ if (this._approvalModel) {
278
+ const approval = getSessionRowApproval(this._approvalModel, element, undefined, this._aggregateChatApprovals);
279
+ if (approval) {
280
+ height += SessionItemRenderer.getApprovalRowHeight(approval.label, this._approvalRowMaxLines);
281
+ }
282
+ }
283
+ if (this._ciFixModel && this._ciFixModel.getCIFix(element).get()) {
284
+ height += SessionItemRenderer.CI_ROW_HEIGHT;
285
+ }
286
+ return this.withInsetRowSpacing(height);
287
+ }
288
+ hasDynamicHeight(element) {
289
+ if (isSessionChatItem(element)) {
290
+ return !!this._approvalModel;
291
+ }
292
+ return (!!this._approvalModel || !!this._ciFixModel) && isSessionItem(element);
293
+ }
294
+ getTemplateId(element) {
295
+ if (isSessionChatItem(element)) {
296
+ return SessionChatItemRenderer.TEMPLATE_ID;
297
+ }
298
+ if (isSessionGroupItem(element)) {
299
+ return SessionGroupRenderer.TEMPLATE_ID;
300
+ }
301
+ if (isSessionSection(element)) {
302
+ return SessionSectionRenderer.TEMPLATE_ID;
303
+ }
304
+ if (isSessionShowMore(element)) {
305
+ return SessionShowMoreRenderer.TEMPLATE_ID;
306
+ }
307
+ if (isSessionPlaceholder(element)) {
308
+ return SessionPlaceholderRenderer.TEMPLATE_ID;
309
+ }
310
+ return SessionItemRenderer.TEMPLATE_ID;
311
+ }
312
+ }
313
+ class SessionChatItemRenderer {
314
+ static {
315
+ this.TEMPLATE_ID = "session-chat-item";
316
+ }
317
+ constructor(
318
+ hoverService,
319
+ instantiationService,
320
+ markdownRendererService,
321
+ approvalModel,
322
+ approvalRowMaxLines,
323
+ activeGuideSessionIds = constObservable(EMPTY_GUIDE_SESSION_IDS)
324
+ ) {
325
+ this.hoverService = hoverService;
326
+ this.instantiationService = instantiationService;
327
+ this.markdownRendererService = markdownRendererService;
328
+ this.approvalModel = approvalModel;
329
+ this.approvalRowMaxLines = approvalRowMaxLines;
330
+ this.activeGuideSessionIds = activeGuideSessionIds;
331
+ this.templateId = SessionChatItemRenderer.TEMPLATE_ID;
332
+ this.rowClassName = "session-list-inset-row";
333
+ this._onDidChangeItemHeight = ( new Emitter());
334
+ this.onDidChangeItemHeight = this._onDidChangeItemHeight.event;
335
+ this._onDidApproveSession = ( new Emitter());
336
+ this.onDidApproveSession = this._onDidApproveSession.event;
337
+ }
338
+ renderTemplate(container) {
339
+ const disposables = ( new DisposableStore());
340
+ const elementDisposables = disposables.add(( new DisposableStore()));
341
+ container.classList.add("session-chat-item");
342
+ const titleRow = append(container, $(".session-chat-title-row"));
343
+ const iconContainer = append(titleRow, $(".session-chat-icon"));
344
+ iconContainer.setAttribute("aria-hidden", "true");
345
+ const statusIcon = disposables.add(this.instantiationService.createInstance(SessionStatusIcon, iconContainer));
346
+ const title = disposables.add(( new HighlightedLabel(append(titleRow, $(".session-chat-title")))));
347
+ const approvalRow = append(container, $(".session-approval-row"));
348
+ const approvalLabel = append(approvalRow, $("span.session-approval-label"));
349
+ const approvalButtonContainer = append(approvalRow, $(".session-approval-button"));
350
+ for (const eventType of ["pointerdown", "pointerup", "click", "dblclick"]) {
351
+ disposables.add(
352
+ addDisposableListener(approvalRow, eventType, e => e.stopPropagation())
353
+ );
354
+ }
355
+ disposables.add(Gesture.ignoreTarget(approvalRow));
356
+ return {
357
+ container,
358
+ statusIcon,
359
+ title,
360
+ approvalRow,
361
+ approvalLabel,
362
+ approvalButtonContainer,
363
+ disposables,
364
+ elementDisposables
365
+ };
366
+ }
367
+ renderElement(node, _index, template) {
368
+ const element = node.element;
369
+ if (!isSessionChatItem(element)) {
370
+ return;
371
+ }
372
+ template.elementDisposables.clear();
373
+ const chats = getSessionListChats(element.session);
374
+ template.container.classList.toggle("last-chat", isEqual(chats.at(-1)?.resource, element.chat.resource));
375
+ template.elementDisposables.add(autorun(reader => {
376
+ template.title.set(getChatTitle(element.chat, reader), createMatches(node.filterData));
377
+ const status = element.chat.status.read(reader);
378
+ template.statusIcon.setStatus(status, true, false, undefined, element.chat.resource);
379
+ template.container.classList.toggle("needs-input", status === SessionStatus.NeedsInput);
380
+ }));
381
+ template.elementDisposables.add(autorun(reader => {
382
+ const showGuides = ( this.activeGuideSessionIds.read(reader).has(element.session.sessionId));
383
+ template.container.classList.toggle("session-hierarchy-guides-visible", showGuides);
384
+ }));
385
+ template.elementDisposables.add(this.hoverService.setupDelayedHover(template.title.element, () => ({
386
+ content: getChatTitle(element.chat)
387
+ }), {
388
+ groupId: "sessions-list"
389
+ }));
390
+ if (this.approvalModel) {
391
+ this.renderApprovalRow(element, template);
392
+ }
393
+ }
394
+ renderApprovalRow(element, template) {
395
+ if (!this.approvalModel || !this.markdownRendererService) {
396
+ return;
397
+ }
398
+ const approvalModel = this.approvalModel;
399
+ const markdownRendererService = this.markdownRendererService;
400
+ const chatResource = element.chat.resource;
401
+ let lastApprovalHeight = approvalRowHeightFor(approvalModel.getApproval(chatResource).get(), this.approvalRowMaxLines);
402
+ template.approvalRow.classList.toggle("visible", lastApprovalHeight > 0);
403
+ const buttonStore = template.elementDisposables.add(( new DisposableStore()));
404
+ template.elementDisposables.add(autorun(reader => {
405
+ buttonStore.clear();
406
+ const info = approvalModel.getApproval(chatResource).read(reader);
407
+ const visible = !!info;
408
+ template.approvalRow.classList.toggle("visible", visible);
409
+ if (info) {
410
+ renderApprovalRowContent(info, {
411
+ label: template.approvalLabel,
412
+ buttonContainer: template.approvalButtonContainer
413
+ }, buttonStore, markdownRendererService, this.hoverService, true, this.approvalRowMaxLines, approvalId => {
414
+ this._onDidApproveSession.fire({
415
+ session: element.session,
416
+ approvalId
417
+ });
418
+ });
419
+ }
420
+ const height = approvalRowHeightFor(info, this.approvalRowMaxLines);
421
+ if (height !== lastApprovalHeight) {
422
+ lastApprovalHeight = height;
423
+ this._onDidChangeItemHeight.fire(element);
424
+ }
425
+ }));
426
+ }
427
+ disposeElement(_node, _index, template) {
428
+ template.elementDisposables.clear();
429
+ }
430
+ disposeTemplate(template) {
431
+ template.disposables.dispose();
432
+ }
433
+ }
434
+ function approvalRowHeightFor(info, maxLines) {
435
+ return info ? SessionItemRenderer.getApprovalRowHeight(info.label, maxLines) : 0;
436
+ }
437
+ function renderApprovalRowContent(
438
+ info,
439
+ elements,
440
+ store,
441
+ markdownRendererService,
442
+ hoverService,
443
+ showHover,
444
+ maxLines,
445
+ onApprove
446
+ ) {
447
+ const lines = info.label.split("\n");
448
+ const visibleLines = lines.slice(0, maxLines);
449
+ if (lines.length > maxLines) {
450
+ visibleLines[maxLines - 1] = `${visibleLines[maxLines - 1]} \u2026`;
451
+ }
452
+ const langId = info.languageId ?? "json";
453
+ const labelContent = ( new MarkdownString());
454
+ for (const line of visibleLines) {
455
+ labelContent.appendCodeblock(langId, line);
456
+ }
457
+ elements.label.textContent = "";
458
+ store.add(markdownRendererService.render(labelContent, {}, elements.label));
459
+ if (showHover) {
460
+ const fullContent = ( new MarkdownString()).appendCodeblock(info.languageId ?? "json", info.label);
461
+ store.add(hoverService.setupDelayedHover(elements.label, {
462
+ content: fullContent,
463
+ style: HoverStyle.Pointer,
464
+ position: {
465
+ hoverPosition: HoverPosition.BELOW
466
+ }
467
+ }));
468
+ }
469
+ elements.buttonContainer.textContent = "";
470
+ const button = store.add(( new Button(elements.buttonContainer, {
471
+ title: ( localize(4781, "Allow once")),
472
+ ariaLabel: ( localize(4782, "Allow once: {0}", info.label)),
473
+ secondary: true,
474
+ ...defaultButtonStyles
475
+ })));
476
+ button.label = ( localize(4783, "Allow"));
477
+ store.add(button.onDidClick(() => {
478
+ const approvalId = agentSessionApprovalId(info);
479
+ info.confirm();
480
+ onApprove(approvalId);
481
+ }));
482
+ }
483
+ class SessionItemActionRunner extends ActionRunner {
484
+ constructor(getMultiSelectedSessions, handleAction) {
485
+ super();
486
+ this.getMultiSelectedSessions = getMultiSelectedSessions;
487
+ this.handleAction = handleAction;
488
+ }
489
+ async runAction(action, context) {
490
+ if (context && !Array.isArray(context)) {
491
+ if (this.handleAction && (await this.handleAction(action, context))) {
492
+ return;
493
+ }
494
+ await super.runAction(action, this.getMultiSelectedSessions(context));
495
+ return;
496
+ }
497
+ await super.runAction(action, context);
498
+ }
499
+ }
500
+ const SESSION_TITLE_SHIMMER_ANIMATION_NAME = "session-title-shimmer";
501
+ const SESSION_TITLE_SHIMMER_ANIMATION_NAMES = ( new Set([SESSION_TITLE_SHIMMER_ANIMATION_NAME]));
502
+ const SESSION_TITLE_SHIMMER_PAUSED_CLASS = "session-title-shimmer-paused";
503
+ class SessionItemRenderer {
504
+ static {
505
+ this.TEMPLATE_ID = "session-item";
506
+ }
507
+ static {
508
+ this._APPROVAL_ROW_LINE_HEIGHT = 18;
509
+ }
510
+ static {
511
+ this._APPROVAL_ROW_OVERHEAD = 14;
512
+ }
513
+ static {
514
+ this.CI_ROW_HEIGHT = 32;
515
+ }
516
+ static getApprovalRowHeight(label, maxLines = DEFAULT_APPROVAL_ROW_MAX_LINES) {
517
+ const lineCount = Math.min(label.split(/\r?\n/).length, maxLines);
518
+ return lineCount * SessionItemRenderer._APPROVAL_ROW_LINE_HEIGHT + SessionItemRenderer._APPROVAL_ROW_OVERHEAD;
519
+ }
520
+ constructor(
521
+ options,
522
+ approvalModel,
523
+ ciFixModel,
524
+ instantiationService,
525
+ contextKeyService,
526
+ configurationService,
527
+ markdownRendererService,
528
+ hoverService,
529
+ sessionsProvidersService,
530
+ sessionsManagementService,
531
+ agentHostConnectionsService,
532
+ openerService,
533
+ labelService,
534
+ preferencesService,
535
+ agentSessionsService,
536
+ _voicePlaybackService
537
+ ) {
538
+ this.options = options;
539
+ this.approvalModel = approvalModel;
540
+ this.ciFixModel = ciFixModel;
541
+ this.instantiationService = instantiationService;
542
+ this.contextKeyService = contextKeyService;
543
+ this.configurationService = configurationService;
544
+ this.markdownRendererService = markdownRendererService;
545
+ this.hoverService = hoverService;
546
+ this.sessionsProvidersService = sessionsProvidersService;
547
+ this.sessionsManagementService = sessionsManagementService;
548
+ this.agentHostConnectionsService = agentHostConnectionsService;
549
+ this.openerService = openerService;
550
+ this.labelService = labelService;
551
+ this.preferencesService = preferencesService;
552
+ this.agentSessionsService = agentSessionsService;
553
+ this._voicePlaybackService = _voicePlaybackService;
554
+ this.templateId = SessionItemRenderer.TEMPLATE_ID;
555
+ this.rowClassName = "session-list-inset-row";
556
+ this._onDidChangeItemHeight = ( new Emitter());
557
+ this.onDidChangeItemHeight = this._onDidChangeItemHeight.event;
558
+ this._onDidApproveSession = ( new Emitter());
559
+ this.onDidApproveSession = this._onDidApproveSession.event;
560
+ }
561
+ getCreatorHoverData(session) {
562
+ const creationReference = session.createdBySession?.get();
563
+ if (!creationReference) {
564
+ return undefined;
565
+ }
566
+ const creator = this.sessionsManagementService.getSession(creationReference.session);
567
+ const resolved = this.agentHostConnectionsService.resolveSessionResource(creationReference.session);
568
+ if (!creator || !resolved) {
569
+ return undefined;
570
+ }
571
+ const target = buildOpenSessionLinkUri(
572
+ resolved.backendSession,
573
+ creationReference.chat?.fragment,
574
+ creationReference.turnId
575
+ );
576
+ return {
577
+ title: creator.title.get(),
578
+ onOpen: () => this.openerService.open(target).catch(onUnexpectedError)
579
+ };
580
+ }
581
+ renderTemplate(container) {
582
+ const disposables = ( new DisposableStore());
583
+ const elementDisposables = disposables.add(( new DisposableStore()));
584
+ container.classList.add("session-item");
585
+ const iconContainer = append(container, $(".session-icon"));
586
+ const statusIcon = disposables.add(this.instantiationService.createInstance(SessionStatusIcon, iconContainer));
587
+ const mainCol = append(container, $(".session-main"));
588
+ const titleRow = append(mainCol, $(".session-title-row"));
589
+ const titleContainer = append(titleRow, $(".session-title"));
590
+ const title = disposables.add(( new HighlightedLabel(titleContainer)));
591
+ disposables.add(
592
+ addDisposableListener(titleContainer, EventType.ANIMATION_START, e => {
593
+ if (e.target === titleContainer && e.animationName === SESSION_TITLE_SHIMMER_ANIMATION_NAME) {
594
+ synchronizeCSSAnimations(titleContainer, {
595
+ animationNames: SESSION_TITLE_SHIMMER_ANIMATION_NAMES
596
+ });
597
+ }
598
+ })
599
+ );
600
+ disposables.add(pauseCSSAnimationsWhenHidden(titleContainer, {
601
+ pausedClass: SESSION_TITLE_SHIMMER_PAUSED_CLASS,
602
+ animationNames: SESSION_TITLE_SHIMMER_ANIMATION_NAMES
603
+ }));
604
+ const titleToolbarContainer = append(titleRow, $(".session-title-toolbar"));
605
+ const pendingVoiceIndicator = append(titleRow, $(".session-pending-voice-indicator"));
606
+ for (const eventType of ["pointerdown", "pointerup", "click", "dblclick"]) {
607
+ disposables.add(
608
+ addDisposableListener(titleToolbarContainer, eventType, e => e.stopPropagation())
609
+ );
610
+ }
611
+ disposables.add(Gesture.ignoreTarget(titleToolbarContainer));
612
+ const detailsRow = append(mainCol, $(".session-details-row"));
613
+ const approvalRow = append(mainCol, $(".session-approval-row"));
614
+ const approvalLabel = append(approvalRow, $("span.session-approval-label"));
615
+ const approvalButtonContainer = append(approvalRow, $(".session-approval-button"));
616
+ const ciRow = append(mainCol, $(".session-ci-row"));
617
+ const ciLabel = append(ciRow, $("span.session-ci-label"));
618
+ const ciButtonContainer = append(ciRow, $(".session-ci-button"));
619
+ for (const eventType of ["pointerdown", "pointerup", "click", "dblclick"]) {
620
+ disposables.add(addDisposableListener(ciRow, eventType, e => e.stopPropagation()));
621
+ }
622
+ disposables.add(Gesture.ignoreTarget(ciRow));
623
+ const contextKeyService = disposables.add(this.contextKeyService.createScoped(container));
624
+ const statusContext = SessionItemStatusContext.bindTo(contextKeyService);
625
+ const isReadContext = SessionIsReadContext.bindTo(contextKeyService);
626
+ const isArchivedContext = SessionIsArchivedContext.bindTo(contextKeyService);
627
+ const supportsDeleteContext = SessionSupportsDeleteContext.bindTo(contextKeyService);
628
+ const scopedInstantiationService = disposables.add(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, contextKeyService]))));
629
+ let titleToolbar;
630
+ const renderedSession = observableValue("renderedSession", undefined);
631
+ if (this.options.toolbarMenuId) {
632
+ const actionRunner = disposables.add(( new SessionItemActionRunner(this.options.getMultiSelectedSessions, this.options.handleToolbarAction)));
633
+ const actionViewItemProvider = createSessionActionViewItemProvider(scopedInstantiationService, this.configurationService);
634
+ titleToolbar = disposables.add(
635
+ scopedInstantiationService.createInstance(MenuWorkbenchToolBar, titleToolbarContainer, this.options.toolbarMenuId, {
636
+ menuOptions: {
637
+ shouldForwardArgs: true
638
+ },
639
+ actionRunner,
640
+ actionViewItemProvider: (action, options) => {
641
+ if (action.id !== ARCHIVE_SESSION_COMMAND_ID || !(action instanceof MenuItemAction) || !this.options.archiveOnboardingSession) {
642
+ return actionViewItemProvider(action, options);
643
+ }
644
+ return scopedInstantiationService.createInstance(class extends MenuEntryActionViewItem {
645
+ render(container) {
646
+ super.render(container);
647
+ this._register(autorun(reader => {
648
+ const session = renderedSession.read(reader);
649
+ if (session && this.label) {
650
+ reader.store.add(
651
+ markOnboardingTarget(this.label, getSessionArchiveOnboardingTargetId(session))
652
+ );
653
+ }
654
+ }));
655
+ }
656
+ }, action, getSessionArchiveActionViewItemOptions(options, this.configurationService));
657
+ }
658
+ })
659
+ );
660
+ }
661
+ return {
662
+ container,
663
+ statusIcon,
664
+ title,
665
+ titleContainer,
666
+ titleToolbar,
667
+ renderedSession,
668
+ pendingVoiceIndicator,
669
+ detailsRow,
670
+ approvalRow,
671
+ approvalLabel,
672
+ approvalButtonContainer,
673
+ ciRow,
674
+ ciLabel,
675
+ ciButtonContainer,
676
+ contextKeyService,
677
+ statusContext,
678
+ isReadContext,
679
+ isArchivedContext,
680
+ supportsDeleteContext,
681
+ disposables,
682
+ elementDisposables
683
+ };
684
+ }
685
+ renderElement(node, _index, template) {
686
+ const element = node.element;
687
+ if (!isSessionItem(element)) {
688
+ return;
689
+ }
690
+ this.renderSession(element, template, createMatches(node.filterData));
691
+ }
692
+ renderSession(element, template, matches) {
693
+ template.elementDisposables.clear();
694
+ template.renderedSession.set(element, undefined);
695
+ template.elementDisposables.add(toDisposable(() => {
696
+ template.renderedSession.set(undefined, undefined);
697
+ template.container.classList.remove("archive-onboarding");
698
+ }));
699
+ if (this.options.archiveOnboardingSession) {
700
+ template.elementDisposables.add(autorun(reader => {
701
+ template.container.classList.toggle(
702
+ "archive-onboarding",
703
+ this.options.archiveOnboardingSession?.read(reader)?.sessionId === element.sessionId
704
+ );
705
+ }));
706
+ }
707
+ if (this.options.onDidRequestRename) {
708
+ template.elementDisposables.add(
709
+ addDisposableListener(template.title.element, EventType.DBLCLICK, event => {
710
+ if (event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || !element.capabilities.get().supportsRename) {
711
+ return;
712
+ }
713
+ event.preventDefault();
714
+ event.stopPropagation();
715
+ this.options.onDidRequestRename?.(element);
716
+ })
717
+ );
718
+ }
719
+ this.agentSessionsService.model.observeSession(element.resource);
720
+ if (this.options.showHover) {
721
+ template.elementDisposables.add(this.hoverService.setupDelayedHover(template.container, () => ({
722
+ content: ( new SessionSummaryHoverWidget(getSessionSummaryHoverData(
723
+ element,
724
+ this.sessionsProvidersService,
725
+ this.openerService,
726
+ this.labelService,
727
+ this.preferencesService,
728
+ this.getCreatorHoverData(element)
729
+ ))).domNode,
730
+ appearance: {
731
+ showPointer: true
732
+ },
733
+ position: {
734
+ hoverPosition: HoverPosition.RIGHT,
735
+ forcePosition: true
736
+ },
737
+ persistence: {
738
+ hideOnHover: false
739
+ }
740
+ }), {
741
+ groupId: "sessions-list"
742
+ }));
743
+ }
744
+ const pendingVoiceResource = element.resource;
745
+ template.pendingVoiceIndicator.className = "session-pending-voice-indicator " + ThemeIcon.asClassName(Codicon.unmute);
746
+ template.elementDisposables.add(this.hoverService.setupManagedHover(
747
+ getDefaultHoverDelegate("mouse"),
748
+ template.pendingVoiceIndicator,
749
+ ( localize(4784, "Voice response ready"))
750
+ ));
751
+ template.elementDisposables.add(autorun(reader => {
752
+ this._voicePlaybackService.pendingResponseVersion.read(reader);
753
+ template.pendingVoiceIndicator.classList.toggle(
754
+ "visible",
755
+ this._voicePlaybackService.hasPendingResponse(pendingVoiceResource)
756
+ );
757
+ }));
758
+ if (template.titleToolbar) {
759
+ template.titleToolbar.context = element;
760
+ }
761
+ const isPinned = this.options.isPinned(element);
762
+ IsSessionPinnedContext.bindTo(template.contextKeyService).set(isPinned);
763
+ SessionItemHasBranchNameContext.bindTo(template.contextKeyService).set(!!element.workspace.get()?.folders[0]?.gitRepository?.branchName?.trim());
764
+ template.elementDisposables.add(autorun(reader => {
765
+ const isArchived = element.isArchived.read(reader);
766
+ template.container.classList.toggle("archived", isArchived);
767
+ template.container.classList.toggle("pinned", isPinned && !isArchived);
768
+ }));
769
+ template.elementDisposables.add(autorun(reader => {
770
+ const showGuides = ( (this.options.activeGuideSessionIds?.read(reader) ?? EMPTY_GUIDE_SESSION_IDS).has(element.sessionId));
771
+ template.container.classList.toggle("session-hierarchy-guides-visible", showGuides);
772
+ }));
773
+ template.elementDisposables.add(autorun(reader => {
774
+ const wrapper = this.options.visibleSessions.read(reader).find(s => s?.sessionId === element.sessionId);
775
+ const isSticky = wrapper ? wrapper.sticky.read(reader) : false;
776
+ template.container.classList.toggle("sticky", isSticky);
777
+ }));
778
+ let agentMergeConfiguration;
779
+ template.elementDisposables.add(autorun(reader => {
780
+ const sessionStatus = getSessionRowStatus(element, reader, !!this.options.deriveStatusFromMainChat);
781
+ template.statusContext.set(sessionStatus);
782
+ const isRead = element.isRead.read(reader);
783
+ template.isReadContext.set(isRead);
784
+ const isArchived = element.isArchived.read(reader);
785
+ template.isArchivedContext.set(isArchived);
786
+ const capabilities = element.capabilities.read(reader);
787
+ template.supportsDeleteContext.set(capabilities.supportsDelete === true);
788
+ const gitHubInfo = element.workspace.read(reader)?.folders[0]?.gitRepository?.gitHubInfo.read(reader);
789
+ const isQuickChat = element.isQuickChat?.read(reader) ?? false;
790
+ let completedStateIcon = element.completedStateIcon?.read(reader) ?? getHighestPriorityPullRequestIcon(getGitHubPullRequestRefs(gitHubInfo).map(pullRequest => pullRequest.icon));
791
+ if (completedStateIcon && isAgentMergePullRequestIcon(completedStateIcon)) {
792
+ agentMergeConfiguration ??= getSessionAgentMergeConfigurationObservable(element, this.sessionsProvidersService, this.configurationService);
793
+ completedStateIcon = getAgentMergeAwarePullRequestIcon(completedStateIcon, agentMergeConfiguration.read(reader));
794
+ }
795
+ template.statusIcon.setStatus(sessionStatus, isRead, isArchived, completedStateIcon, element.resource);
796
+ template.container.classList.toggle("in-progress", sessionStatus === SessionStatus.InProgress);
797
+ template.container.classList.toggle("needs-input", sessionStatus === SessionStatus.NeedsInput);
798
+ template.container.classList.toggle("unread", !isRead && !isArchived);
799
+ template.container.classList.toggle("quick-chat", isQuickChat && this.options.useCompactQuickChatRows);
800
+ }));
801
+ template.elementDisposables.add(autorun(reader => {
802
+ const titleText = element.title.read(reader);
803
+ template.title.set(titleText, matches);
804
+ }));
805
+ const timeDisposable = template.elementDisposables.add(( new MutableDisposable()));
806
+ const descriptionDisposable = template.elementDisposables.add(( new MutableDisposable()));
807
+ template.elementDisposables.add(autorun(reader => {
808
+ const sessionStatus = getSessionRowStatus(element, reader, !!this.options.deriveStatusFromMainChat);
809
+ const workspace = element.workspace.read(reader);
810
+ const description = element.description.read(reader);
811
+ const isQuickChat = element.isQuickChat?.read(reader) ?? false;
812
+ clearNode(template.detailsRow);
813
+ if (isQuickChat && this.options.useCompactQuickChatRows) {
814
+ descriptionDisposable.clear();
815
+ timeDisposable.clear();
816
+ return;
817
+ }
818
+ const diffStats = getSessionDiffStats(element, reader);
819
+ let timeDate;
820
+ const hideDetails = sessionStatus === SessionStatus.InProgress || sessionStatus === SessionStatus.NeedsInput;
821
+ if (!hideDetails) {
822
+ timeDate = element.updatedAt.read(reader);
823
+ }
824
+ const parts = [];
825
+ if (sessionStatus !== SessionStatus.InProgress) {
826
+ let icon;
827
+ if (isQuickChat) {
828
+ icon = Codicon.commentDiscussion;
829
+ } else {
830
+ const kind = getSessionWorkspaceKind(workspace, element.worktreePending?.read(reader));
831
+ icon = workspace?.typeIcon ?? (kind === SessionWorkspaceKind.Virtual ? Codicon.cloudCompact : kind === SessionWorkspaceKind.Folder ? Codicon.folderCompact : Codicon.worktreeCompact);
832
+ }
833
+ const typeIconEl = append(template.detailsRow, $("span.session-details-icon"));
834
+ append(typeIconEl, $(`span${ThemeIcon.asCSSSelector(icon)}`));
835
+ parts.push(typeIconEl);
836
+ }
837
+ if (!hideDetails) {
838
+ const badgeLabel = isQuickChat ? ( localize(4785, "No workspace")) : workspace && (this.options.grouping() !== SessionsGrouping.Workspace || this.options.isPinned(element) || element.isArchived.read(reader) || this.options.isRenderedInCustomGroup?.(element)) ? getWorkspaceBadgeLabel(workspace) : undefined;
839
+ if (badgeLabel) {
840
+ const badgeEl = append(template.detailsRow, $("span.session-badge"));
841
+ badgeEl.textContent = badgeLabel;
842
+ parts.push(badgeEl);
843
+ }
844
+ }
845
+ if (!isQuickChat && !hideDetails && diffStats) {
846
+ if (parts.length > 0) {
847
+ append(template.detailsRow, $("span.session-separator.has-separator"));
848
+ }
849
+ const diffEl = append(template.detailsRow, $("span.session-diff"));
850
+ append(diffEl, $("span.session-diff-added")).textContent = `+${diffStats.insertions}`;
851
+ append(diffEl, $("span.session-diff-removed")).textContent = `-${diffStats.deletions}`;
852
+ parts.push(diffEl);
853
+ }
854
+ const statusMessage = getSessionStatusMessage(sessionStatus, description);
855
+ if (statusMessage !== undefined) {
856
+ if (parts.length > 0) {
857
+ append(template.detailsRow, $("span.session-separator.has-separator"));
858
+ }
859
+ const statusEl = append(template.detailsRow, $("span.session-description"));
860
+ if (typeof statusMessage === "string") {
861
+ descriptionDisposable.clear();
862
+ statusEl.textContent = statusMessage;
863
+ } else {
864
+ descriptionDisposable.value = this.markdownRendererService.render(statusMessage, {
865
+ sanitizerConfig: {
866
+ replaceWithPlaintext: true
867
+ }
868
+ }, statusEl);
869
+ }
870
+ parts.push(statusEl);
871
+ } else {
872
+ descriptionDisposable.clear();
873
+ }
874
+ if (!hideDetails && timeDate) {
875
+ if (parts.length > 0) {
876
+ append(template.detailsRow, $("span.session-separator.has-separator"));
877
+ }
878
+ const timeEl = append(template.detailsRow, $("span.session-time"));
879
+ const definiteTimeDate = timeDate;
880
+ const formatTime = () => {
881
+ const seconds = Math.round((Date.now() - definiteTimeDate.getTime()) / 1000);
882
+ return seconds < 60 ? ( localize(4786, "now")) : fromNow(definiteTimeDate, true);
883
+ };
884
+ timeEl.textContent = formatTime();
885
+ const targetWindow = getWindow(timeEl);
886
+ const interval = targetWindow.setInterval(() => {
887
+ timeEl.textContent = formatTime();
888
+ }, 60_000);
889
+ timeDisposable.value = toDisposable(() => targetWindow.clearInterval(interval));
890
+ } else {
891
+ timeDisposable.clear();
892
+ }
893
+ }));
894
+ if (this.approvalModel) {
895
+ this.renderApprovalRow(element, template);
896
+ }
897
+ if (this.ciFixModel) {
898
+ this.renderCIRow(element, template);
899
+ }
900
+ }
901
+ renderApprovalRow(element, template) {
902
+ if (!this.approvalModel) {
903
+ return;
904
+ }
905
+ const approvalModel = this.approvalModel;
906
+ const aggregate = this.options.aggregateChatApprovals;
907
+ const initialInfo = getSessionRowApproval(approvalModel, element, undefined, aggregate);
908
+ let lastApprovalHeight = approvalRowHeightFor(initialInfo, this.options.approvalRowMaxLines);
909
+ template.approvalRow.classList.toggle("visible", lastApprovalHeight > 0);
910
+ const buttonStore = template.elementDisposables.add(( new DisposableStore()));
911
+ template.elementDisposables.add(autorun(reader => {
912
+ buttonStore.clear();
913
+ const info = getSessionRowApproval(approvalModel, element, reader, aggregate);
914
+ const visible = !!info;
915
+ template.approvalRow.classList.toggle("visible", visible);
916
+ if (info) {
917
+ renderApprovalRowContent(info, {
918
+ label: template.approvalLabel,
919
+ buttonContainer: template.approvalButtonContainer
920
+ }, buttonStore, this.markdownRendererService, this.hoverService, this.options.showHover, this.options.approvalRowMaxLines, approvalId => {
921
+ this._onDidApproveSession.fire({
922
+ session: element,
923
+ approvalId
924
+ });
925
+ });
926
+ }
927
+ const height = approvalRowHeightFor(info, this.options.approvalRowMaxLines);
928
+ if (height !== lastApprovalHeight) {
929
+ lastApprovalHeight = height;
930
+ this._onDidChangeItemHeight.fire(element);
931
+ }
932
+ }));
933
+ }
934
+ renderCIRow(element, template) {
935
+ if (!this.ciFixModel) {
936
+ return;
937
+ }
938
+ const ciFixModel = this.ciFixModel;
939
+ const stateObs = ciFixModel.getCIFix(element);
940
+ let wasVisible = !!stateObs.get();
941
+ template.ciRow.classList.toggle("visible", wasVisible);
942
+ const buttonStore = template.elementDisposables.add(( new DisposableStore()));
943
+ template.elementDisposables.add(autorun(reader => {
944
+ buttonStore.clear();
945
+ const state = stateObs.read(reader);
946
+ const visible = !!state;
947
+ template.ciRow.classList.toggle("visible", visible);
948
+ if (state) {
949
+ template.ciLabel.textContent = ( localize(4787, "{0} checks failed, {1} pending", state.failed, state.pending));
950
+ template.ciButtonContainer.textContent = "";
951
+ const button = buttonStore.add(( new Button(template.ciButtonContainer, {
952
+ title: ( localize(4788, "Fix failing CI checks")),
953
+ ...defaultButtonStyles,
954
+ buttonBackground: asCssVariable(chartsOrange),
955
+ buttonHoverBackground: `color-mix(in srgb, ${asCssVariable(chartsOrange)} 88%, black)`,
956
+ buttonBorder: asCssVariable(chartsOrange)
957
+ })));
958
+ button.label = ( localize(4789, "Fix CI"));
959
+ buttonStore.add(button.onDidClick(() => ciFixModel.fixCI(element)));
960
+ }
961
+ if (wasVisible !== visible) {
962
+ wasVisible = visible;
963
+ this._onDidChangeItemHeight.fire(element);
964
+ }
965
+ }));
966
+ }
967
+ disposeElement(_node, _index, template) {
968
+ template.elementDisposables.clear();
969
+ }
970
+ disposeTemplate(template) {
971
+ template.disposables.dispose();
972
+ }
973
+ }
974
+ function getSessionArchiveOnboardingTargetId(session) {
975
+ return `sessions.archiveAction.${session.sessionId}`;
976
+ }
977
+ function getWorkspaceBadgeLabel(workspace) {
978
+ const folder = workspace.folders[0];
979
+ if (folder?.root.scheme === GITHUB_REMOTE_FILE_SCHEME) {
980
+ const parts = folder.root.path.split("/").filter(Boolean);
981
+ if (parts.length >= 2) {
982
+ return `${parts[0]}/${parts[1]}`;
983
+ }
984
+ }
985
+ return workspace.label;
986
+ }
987
+ function renderSessionHeaderToolbar(template, element, select) {
988
+ template.elementDisposables.add(addDisposableListener(
989
+ template.toolbarContainer,
990
+ EventType.CONTEXT_MENU,
991
+ event => select(element, event),
992
+ true
993
+ ));
994
+ template.toolbar.context = element;
995
+ }
996
+ class SessionSectionRenderer {
997
+ static {
998
+ this.TEMPLATE_ID = "session-section";
999
+ }
1000
+ constructor(
1001
+ hideSectionCount,
1002
+ select,
1003
+ instantiationService,
1004
+ contextKeyService,
1005
+ automationService,
1006
+ automationSessions,
1007
+ automationNewBadgePresentation,
1008
+ uriIdentityService,
1009
+ customViewService,
1010
+ menuService
1011
+ ) {
1012
+ this.hideSectionCount = hideSectionCount;
1013
+ this.select = select;
1014
+ this.instantiationService = instantiationService;
1015
+ this.contextKeyService = contextKeyService;
1016
+ this.automationService = automationService;
1017
+ this.automationSessions = automationSessions;
1018
+ this.automationNewBadgePresentation = automationNewBadgePresentation;
1019
+ this.uriIdentityService = uriIdentityService;
1020
+ this.customViewService = customViewService;
1021
+ this.menuService = menuService;
1022
+ this.templateId = SessionSectionRenderer.TEMPLATE_ID;
1023
+ this.templatesByElement = ( new WeakMap());
1024
+ this.templatesById = ( new Map());
1025
+ this.automationStatus = derived(this, reader => {
1026
+ const runs = this.automationService.runs.read(reader);
1027
+ const automationSessions = this.automationSessions.read(reader);
1028
+ const hasNeedsInput = ( runs.some(run => {
1029
+ if (run.status !== "running" || !run.sessionResource) {
1030
+ return false;
1031
+ }
1032
+ const session = automationSessions.find(
1033
+ candidate => this.uriIdentityService.extUri.isEqual(candidate.resource, run.sessionResource)
1034
+ );
1035
+ return !!session && session.status.read(reader) === SessionStatus.NeedsInput;
1036
+ }));
1037
+ if (hasNeedsInput) {
1038
+ return SessionStatus.NeedsInput;
1039
+ }
1040
+ if (( runs.some(run => run.status === "pending" || run.status === "running"))) {
1041
+ return SessionStatus.InProgress;
1042
+ }
1043
+ const hasUnreadRun = ( runs.some(run => {
1044
+ if ((run.status !== "completed" && run.status !== "failed") || !run.sessionResource) {
1045
+ return false;
1046
+ }
1047
+ const sessionResource = run.sessionResource;
1048
+ const session = automationSessions.find(
1049
+ candidate => this.uriIdentityService.extUri.isEqual(candidate.resource, sessionResource)
1050
+ );
1051
+ return !!session && !session.isRead.read(reader) && !session.isArchived.read(reader);
1052
+ }));
1053
+ if (hasUnreadRun) {
1054
+ return SessionStatus.Completed;
1055
+ }
1056
+ return undefined;
1057
+ });
1058
+ }
1059
+ renderTemplate(container) {
1060
+ const disposables = ( new DisposableStore());
1061
+ const elementDisposables = disposables.add(( new DisposableStore()));
1062
+ const actionViewItemDisposables = disposables.add(( new DisposableStore()));
1063
+ const dropdownAction = disposables.add(( new Action("sessionsView.sectionNewSession.moreActions", ( localize(4790, "More Actions")))));
1064
+ container.classList.add("session-section");
1065
+ const chevron = append(container, $("span.session-section-chevron"));
1066
+ chevron.setAttribute("aria-hidden", "true");
1067
+ const icon = append(container, $("span.session-section-icon"));
1068
+ icon.setAttribute("aria-hidden", "true");
1069
+ const label = append(container, $("span.session-section-label"));
1070
+ const count = append(container, $("span.session-section-count"));
1071
+ const newBadge = append(container, $("span.session-section-new-badge"));
1072
+ newBadge.setAttribute("aria-hidden", "true");
1073
+ newBadge.textContent = ( localize(4791, "New"));
1074
+ const toolbarContainer = append(container, $(".session-section-toolbar"));
1075
+ const contextKeyService = disposables.add(this.contextKeyService.createScoped(container));
1076
+ const scopedInstantiationService = disposables.add(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, contextKeyService]))));
1077
+ const toolbar = disposables.add(
1078
+ scopedInstantiationService.createInstance(MenuWorkbenchToolBar, toolbarContainer, SessionSectionToolbarMenuId, {
1079
+ menuOptions: {
1080
+ shouldForwardArgs: true
1081
+ },
1082
+ actionViewItemProvider: (action, options) => {
1083
+ if (action.id !== NEW_SESSION_FOR_WORKSPACE_ACTION_ID || !(action instanceof MenuItemAction)) {
1084
+ return undefined;
1085
+ }
1086
+ actionViewItemDisposables.clear();
1087
+ const dropdownActions = getFlatContextMenuActions(
1088
+ this.menuService.getMenuActions(Menus.SessionSectionNewSession, contextKeyService, {
1089
+ shouldForwardArgs: true
1090
+ })
1091
+ );
1092
+ if (dropdownActions.length === 0) {
1093
+ return undefined;
1094
+ }
1095
+ const item = scopedInstantiationService.createInstance(
1096
+ DropdownWithPrimaryActionViewItem,
1097
+ action,
1098
+ dropdownAction,
1099
+ dropdownActions,
1100
+ "",
1101
+ {
1102
+ hoverDelegate: options.hoverDelegate,
1103
+ menuAsChild: false
1104
+ }
1105
+ );
1106
+ actionViewItemDisposables.add(
1107
+ item.onDidChangeDropdownVisibility(visible => container.classList.toggle("dropdown-active", visible))
1108
+ );
1109
+ actionViewItemDisposables.add(toDisposable(() => container.classList.remove("dropdown-active")));
1110
+ return item;
1111
+ }
1112
+ })
1113
+ );
1114
+ return {
1115
+ container,
1116
+ icon,
1117
+ label,
1118
+ count,
1119
+ newBadge,
1120
+ toolbarContainer,
1121
+ toolbar,
1122
+ chevron,
1123
+ contextKeyService,
1124
+ elementDisposables,
1125
+ disposables
1126
+ };
1127
+ }
1128
+ renderElement(node, _index, template) {
1129
+ template.elementDisposables.clear();
1130
+ const element = node.element;
1131
+ if (!isSessionSection(element)) {
1132
+ return;
1133
+ }
1134
+ renderSessionHeaderToolbar(template, element, this.select);
1135
+ this.templatesByElement.set(element, template);
1136
+ this.templatesById.set(element.id, template);
1137
+ template.container.classList.remove(SESSION_HEADER_DROP_TARGET_CLASS);
1138
+ template.container.classList.remove("session-section-shortcut");
1139
+ template.newBadge.style.display = "none";
1140
+ template.newBadge.classList.remove(
1141
+ "session-section-new-badge-accent",
1142
+ "session-section-new-badge-soft",
1143
+ "session-section-new-badge-outline"
1144
+ );
1145
+ if (element.id === AUTOMATIONS_SECTION_ID) {
1146
+ template.container.classList.add("session-section-shortcut");
1147
+ }
1148
+ clearNode(template.icon);
1149
+ const sectionIcon = getSessionSectionIcon(element.id);
1150
+ template.icon.className = sectionIcon ? `session-section-icon ${ThemeIcon.asClassName(sectionIcon)}` : "session-section-icon";
1151
+ template.icon.style.display = sectionIcon ? "" : "none";
1152
+ if (element.id === AUTOMATIONS_SECTION_ID) {
1153
+ template.elementDisposables.add(autorun(reader => {
1154
+ const activeCustomView = this.customViewService.activeCustomView.read(reader);
1155
+ template.container.classList.toggle("active", activeCustomView?.id === AUTOMATIONS_CUSTOM_VIEW_ID);
1156
+ const badgeStyle = this.automationNewBadgePresentation.read(reader);
1157
+ template.newBadge.style.display = badgeStyle && badgeStyle !== "unread" ? "inline-flex" : "none";
1158
+ template.newBadge.classList.toggle("session-section-new-badge-accent", badgeStyle === "accent");
1159
+ template.newBadge.classList.toggle("session-section-new-badge-soft", badgeStyle === "soft");
1160
+ template.newBadge.classList.toggle("session-section-new-badge-outline", badgeStyle === "outline");
1161
+ }));
1162
+ const statusIcon = template.elementDisposables.add(this.instantiationService.createInstance(SessionStatusIcon, template.icon));
1163
+ template.elementDisposables.add(autorun(reader => {
1164
+ const automationStatus = this.automationStatus.read(reader);
1165
+ const badgeStyle = this.automationNewBadgePresentation.read(reader);
1166
+ if (automationStatus === SessionStatus.NeedsInput) {
1167
+ template.icon.className = "session-section-icon";
1168
+ statusIcon.setStatus(SessionStatus.NeedsInput, true, false);
1169
+ } else if (automationStatus === SessionStatus.InProgress) {
1170
+ template.icon.className = "session-section-icon";
1171
+ statusIcon.setStatus(SessionStatus.InProgress, true, false);
1172
+ } else if (automationStatus === SessionStatus.Completed) {
1173
+ template.icon.className = "session-section-icon";
1174
+ statusIcon.setStatus(SessionStatus.Completed, false, false);
1175
+ } else if (badgeStyle === "unread") {
1176
+ template.icon.className = "session-section-icon";
1177
+ statusIcon.setStatus(SessionStatus.Completed, false, false);
1178
+ } else {
1179
+ statusIcon.reset();
1180
+ template.icon.className = `session-section-icon ${ThemeIcon.asClassName(Codicon.calendar)}`;
1181
+ }
1182
+ }));
1183
+ }
1184
+ template.label.textContent = element.label;
1185
+ if (this.hideSectionCount || element.id === AUTOMATIONS_SECTION_ID) {
1186
+ template.count.textContent = "";
1187
+ template.count.style.display = "none";
1188
+ } else {
1189
+ template.count.textContent = String(element.sessions.length);
1190
+ template.count.style.display = "";
1191
+ }
1192
+ this.updateChevron(template, node.collapsible, node.collapsed);
1193
+ template.chevron.classList.toggle("collapsible", node.collapsible);
1194
+ const sectionType = element.id.startsWith("workspace:") ? "workspace" : element.id;
1195
+ SessionSectionTypeContext.bindTo(template.contextKeyService).set(sectionType);
1196
+ const hasGitHubRepository = SessionSectionHasGitHubRepositoryContext.bindTo(template.contextKeyService);
1197
+ const hasNonCloudRepository = SessionSectionHasNonCloudRepositoryContext.bindTo(template.contextKeyService);
1198
+ template.elementDisposables.add(autorun(reader => {
1199
+ let hasGitHub = false;
1200
+ let hasNonCloudWorkspace = false;
1201
+ for (const session of element.sessions) {
1202
+ for (const folder of session.workspace.read(reader)?.folders ?? []) {
1203
+ if (folder.gitRepository?.gitHubInfo.read(reader) !== undefined) {
1204
+ hasGitHub = true;
1205
+ }
1206
+ hasNonCloudWorkspace ||= folder.root.scheme !== GITHUB_REMOTE_FILE_SCHEME;
1207
+ }
1208
+ }
1209
+ hasGitHubRepository.set(hasGitHub);
1210
+ hasNonCloudRepository.set(hasNonCloudWorkspace);
1211
+ }));
1212
+ }
1213
+ updateCollapseState(element, collapsed) {
1214
+ const template = this.templatesByElement.get(element);
1215
+ if (template) {
1216
+ this.updateChevron(template, true, collapsed);
1217
+ }
1218
+ }
1219
+ setDropTarget(sectionId, active) {
1220
+ const template = this.templatesById.get(sectionId);
1221
+ template?.container.classList.toggle(SESSION_HEADER_DROP_TARGET_CLASS, active);
1222
+ }
1223
+ updateChevron(template, collapsible, collapsed) {
1224
+ template.chevron.className = "session-section-chevron";
1225
+ if (collapsible) {
1226
+ template.chevron.classList.add("collapsible");
1227
+ const icon = collapsed ? Codicon.chevronRight : Codicon.chevronDown;
1228
+ template.chevron.classList.add(...ThemeIcon.asClassNameArray(icon));
1229
+ }
1230
+ }
1231
+ disposeElement(node, _index, template) {
1232
+ template.elementDisposables.clear();
1233
+ if (isSessionSection(node.element)) {
1234
+ this.templatesByElement.delete(node.element);
1235
+ this.templatesById.delete(node.element.id);
1236
+ }
1237
+ }
1238
+ disposeTemplate(template) {
1239
+ template.disposables.dispose();
1240
+ }
1241
+ }
1242
+ class SessionGroupRenderer {
1243
+ static {
1244
+ this.TEMPLATE_ID = "session-group";
1245
+ }
1246
+ constructor(delegate, instantiationService, contextKeyService) {
1247
+ this.delegate = delegate;
1248
+ this.instantiationService = instantiationService;
1249
+ this.contextKeyService = contextKeyService;
1250
+ this.templateId = SessionGroupRenderer.TEMPLATE_ID;
1251
+ this.templatesByElement = ( new WeakMap());
1252
+ this.templatesById = ( new Map());
1253
+ }
1254
+ renderTemplate(container) {
1255
+ const disposables = ( new DisposableStore());
1256
+ container.classList.add("session-section", "session-group");
1257
+ const chevron = append(container, $("span.session-section-chevron"));
1258
+ chevron.setAttribute("aria-hidden", "true");
1259
+ const icon = append(container, $("span.session-section-icon"));
1260
+ icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.folderLibrary));
1261
+ icon.setAttribute("aria-hidden", "true");
1262
+ const label = append(container, $("span.session-section-label"));
1263
+ const inputContainer = append(container, $(".session-group-input"));
1264
+ const toolbarContainer = append(container, $(".session-section-toolbar"));
1265
+ const contextKeyService = disposables.add(this.contextKeyService.createScoped(container));
1266
+ const scopedInstantiationService = disposables.add(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, contextKeyService]))));
1267
+ const toolbar = disposables.add(
1268
+ scopedInstantiationService.createInstance(MenuWorkbenchToolBar, toolbarContainer, SessionGroupToolbarMenuId, {
1269
+ menuOptions: {
1270
+ shouldForwardArgs: true
1271
+ }
1272
+ })
1273
+ );
1274
+ return {
1275
+ container,
1276
+ label,
1277
+ inputContainer,
1278
+ toolbarContainer,
1279
+ toolbar,
1280
+ chevron,
1281
+ contextKeyService,
1282
+ disposables,
1283
+ elementDisposables: disposables.add(( new DisposableStore()))
1284
+ };
1285
+ }
1286
+ renderElement(node, _index, template) {
1287
+ const element = node.element;
1288
+ if (!isSessionGroupItem(element)) {
1289
+ return;
1290
+ }
1291
+ template.elementDisposables.clear();
1292
+ renderSessionHeaderToolbar(template, element, this.delegate.select);
1293
+ this.templatesByElement.set(element, template);
1294
+ this.templatesById.set(element.group.id, template);
1295
+ template.container.classList.remove(SESSION_HEADER_DROP_TARGET_CLASS);
1296
+ template.label.textContent = element.group.name;
1297
+ this.updateChevron(template, node.collapsible, node.collapsed);
1298
+ SessionGroupHasVisibleSessionsContext.bindTo(template.contextKeyService).set(element.sessions.length > 0);
1299
+ SessionGroupIsEmptyContext.bindTo(template.contextKeyService).set(element.isEmpty);
1300
+ template.container.classList.toggle("session-group-editing", element.editing);
1301
+ if (element.editing) {
1302
+ this.renderInput(element, template);
1303
+ } else {
1304
+ template.inputContainer.style.display = "none";
1305
+ template.label.style.display = "";
1306
+ }
1307
+ }
1308
+ renderInput(element, template) {
1309
+ template.label.style.display = "none";
1310
+ template.inputContainer.style.display = "";
1311
+ clearNode(template.inputContainer);
1312
+ const input = template.elementDisposables.add(( new InputBox(template.inputContainer, undefined, {
1313
+ inputBoxStyles: defaultInputBoxStyles,
1314
+ ariaLabel: ( localize(4792, "Group name"))
1315
+ })));
1316
+ input.value = element.group.name;
1317
+ input.focus();
1318
+ input.select();
1319
+ let done = false;
1320
+ const commit = () => {
1321
+ if (done) {
1322
+ return;
1323
+ }
1324
+ done = true;
1325
+ this.delegate.commitEdit(element.group, input.value.trim());
1326
+ };
1327
+ const cancel = () => {
1328
+ if (done) {
1329
+ return;
1330
+ }
1331
+ done = true;
1332
+ this.delegate.cancelEdit(element.group);
1333
+ };
1334
+ template.elementDisposables.add(
1335
+ addStandardDisposableListener(input.inputElement, EventType.KEY_DOWN, e => {
1336
+ if (e.equals(KeyCode.Enter)) {
1337
+ e.preventDefault();
1338
+ e.stopPropagation();
1339
+ commit();
1340
+ } else if (e.equals(KeyCode.Escape)) {
1341
+ e.preventDefault();
1342
+ e.stopPropagation();
1343
+ cancel();
1344
+ }
1345
+ })
1346
+ );
1347
+ template.elementDisposables.add(
1348
+ addDisposableListener(input.inputElement, EventType.BLUR, () => commit())
1349
+ );
1350
+ }
1351
+ updateCollapseState(element, collapsed) {
1352
+ const template = this.templatesByElement.get(element);
1353
+ if (template) {
1354
+ this.updateChevron(template, true, collapsed);
1355
+ }
1356
+ }
1357
+ setDropTarget(groupId, active) {
1358
+ const template = this.templatesById.get(groupId);
1359
+ template?.container.classList.toggle(SESSION_HEADER_DROP_TARGET_CLASS, active);
1360
+ }
1361
+ updateChevron(template, collapsible, collapsed) {
1362
+ template.chevron.className = "session-section-chevron";
1363
+ if (collapsible) {
1364
+ template.chevron.classList.add("collapsible");
1365
+ const icon = collapsed ? Codicon.chevronRight : Codicon.chevronDown;
1366
+ template.chevron.classList.add(...ThemeIcon.asClassNameArray(icon));
1367
+ }
1368
+ }
1369
+ disposeElement(node, _index, template) {
1370
+ if (isSessionGroupItem(node.element)) {
1371
+ this.templatesByElement.delete(node.element);
1372
+ this.templatesById.delete(node.element.group.id);
1373
+ }
1374
+ template.elementDisposables.clear();
1375
+ }
1376
+ disposeTemplate(template) {
1377
+ template.disposables.dispose();
1378
+ }
1379
+ }
1380
+ class SessionShowMoreRenderer {
1381
+ constructor() {
1382
+ this.templateId = SessionShowMoreRenderer.TEMPLATE_ID;
1383
+ this.rowClassName = "session-list-inset-row";
1384
+ }
1385
+ static {
1386
+ this.TEMPLATE_ID = "session-show-more";
1387
+ }
1388
+ renderTemplate(container) {
1389
+ container.classList.add("session-show-more");
1390
+ return append(container, $("span.session-show-more-label"));
1391
+ }
1392
+ renderElement(node, _index, template) {
1393
+ const element = node.element;
1394
+ if (!isSessionShowMore(element)) {
1395
+ return;
1396
+ }
1397
+ const container = template.parentElement;
1398
+ container?.classList.toggle("session-show-more-folders", element.kind === "folders");
1399
+ if (element.mode === "less") {
1400
+ template.textContent = element.kind === "folders" ? ( localize(4793, "Show fewer workspaces")) : ( localize(4794, "Show less"));
1401
+ } else {
1402
+ template.textContent = element.kind === "folders" ? element.remainingCount === 1 ? ( localize(4795, "+{0} more workspace", element.remainingCount)) : ( localize(4796, "+{0} more workspaces", element.remainingCount)) : ( localize(4797, "+{0} more", element.remainingCount));
1403
+ }
1404
+ }
1405
+ disposeTemplate(_template) {}
1406
+ }
1407
+ class SessionPlaceholderRenderer {
1408
+ static {
1409
+ this.TEMPLATE_ID = "session-placeholder";
1410
+ }
1411
+ constructor(hoverService) {
1412
+ this.hoverService = hoverService;
1413
+ this.templateId = SessionPlaceholderRenderer.TEMPLATE_ID;
1414
+ }
1415
+ renderTemplate(container) {
1416
+ container.classList.add("session-placeholder");
1417
+ return {
1418
+ container,
1419
+ label: append(container, $("span.session-placeholder-label")),
1420
+ hover: ( new MutableDisposable())
1421
+ };
1422
+ }
1423
+ renderElement(node, _index, template) {
1424
+ const element = node.element;
1425
+ if (!isSessionPlaceholder(element)) {
1426
+ return;
1427
+ }
1428
+ template.label.textContent = element.label;
1429
+ template.hover.value = element.hover ? this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), template.container, element.hover) : undefined;
1430
+ }
1431
+ disposeTemplate(template) {
1432
+ template.hover.dispose();
1433
+ }
1434
+ }
1435
+ class SessionsAccessibilityProvider {
1436
+ constructor(automationStatus, options) {
1437
+ this.automationStatus = automationStatus;
1438
+ this.options = options;
1439
+ }
1440
+ getWidgetAriaLabel() {
1441
+ return localize(4798, "Sessions");
1442
+ }
1443
+ getAriaLabel(element) {
1444
+ if (isSessionChatItem(element)) {
1445
+ return derived(this, reader => ( localize(
1446
+ 4799,
1447
+ "{0}, chat, updated {1}, {2}",
1448
+ getChatTitle(element.chat, reader),
1449
+ fromNow(element.chat.updatedAt.read(reader), true),
1450
+ getSessionConversationStatusAriaLabel(element.chat.status.read(reader))
1451
+ )));
1452
+ }
1453
+ if (isSessionGroupItem(element)) {
1454
+ return `${element.group.name}, ${element.sessions.length}`;
1455
+ }
1456
+ if (isSessionSection(element)) {
1457
+ if (element.id === AUTOMATIONS_SECTION_ID) {
1458
+ return derived(this, reader => {
1459
+ let label = element.label;
1460
+ switch (this.automationStatus?.read(reader)) {
1461
+ case SessionStatus.NeedsInput:
1462
+ label = ( localize(4800, "{0}, run needs input", element.label));
1463
+ break;
1464
+ case SessionStatus.InProgress:
1465
+ label = ( localize(4801, "{0}, run in progress", element.label));
1466
+ break;
1467
+ case SessionStatus.Completed:
1468
+ label = ( localize(4802, "{0}, unread run", element.label));
1469
+ break;
1470
+ }
1471
+ return this.options?.automationNewBadgeVisible?.read(reader) ? ( localize(4803, "{0}, new feature", label)) : label;
1472
+ });
1473
+ }
1474
+ return `${element.label}, ${element.sessions.length}`;
1475
+ }
1476
+ if (isSessionShowMore(element)) {
1477
+ if (element.mode === "less") {
1478
+ return element.kind === "folders" ? ( localize(4804, "Show fewer workspaces")) : ( localize(4805, "Show fewer sessions"));
1479
+ }
1480
+ return element.kind === "folders" ? element.remainingCount === 1 ? ( localize(4806, "Show {0} more workspace", element.remainingCount)) : ( localize(4807, "Show {0} more workspaces", element.remainingCount)) : ( localize(4808, "Show {0} more sessions", element.remainingCount));
1481
+ }
1482
+ if (isSessionPlaceholder(element)) {
1483
+ return element.hover ? ( localize(4809, "{0}. {1}", element.label, element.hover)) : element.label;
1484
+ }
1485
+ return derived(this, reader => {
1486
+ const title = element.title.read(reader);
1487
+ const updated = fromNow(element.updatedAt.read(reader), true);
1488
+ let label;
1489
+ if (this.options?.includeQuickChatInAriaLabel && element.isQuickChat?.read(reader)) {
1490
+ label = ( localize(4810, "{0}, chat, updated {1}", title, updated));
1491
+ } else if (element.worktreePending?.read(reader)) {
1492
+ label = ( localize(4811, "{0}, creating worktree, updated {1}", title, updated));
1493
+ } else {
1494
+ label = ( localize(4812, "{0}, updated {1}", title, updated));
1495
+ }
1496
+ const status = getSessionRowStatus(element, reader, !!this.options?.deriveStatusFromMainChat);
1497
+ if (this.options?.deriveStatusFromMainChat) {
1498
+ label = ( localize(4813, "{0}, {1}", label, getSessionConversationStatusAriaLabel(status)));
1499
+ }
1500
+ const workspace = element.workspace.read(reader);
1501
+ const workspaceLabel = workspace ? getWorkspaceBadgeLabel(workspace) : undefined;
1502
+ if (this.options && status !== SessionStatus.InProgress && status !== SessionStatus.NeedsInput && workspaceLabel && (this.options.grouping() !== SessionsGrouping.Workspace || this.options.isPinned(element) || element.isArchived.read(reader) || this.options.isRenderedInCustomGroup?.(element))) {
1503
+ label = ( localize(4814, "{0}, in {1}", label, workspaceLabel));
1504
+ }
1505
+ return label;
1506
+ });
1507
+ }
1508
+ }
1509
+ class SessionsListDragAndDrop extends Disposable {
1510
+ constructor(delegate) {
1511
+ super();
1512
+ this.delegate = delegate;
1513
+ this._transfer = LocalSelectionTransfer.getInstance();
1514
+ }
1515
+ getDragURI(element) {
1516
+ if (isSessionGroupItem(element)) {
1517
+ return `sessionGroup:${element.group.id}`;
1518
+ }
1519
+ if (isSessionSection(element)) {
1520
+ return element.id.startsWith("workspace:") ? `sessionWorkspace:${element.id}` : null;
1521
+ }
1522
+ if (isSessionShowMore(element)) {
1523
+ return null;
1524
+ }
1525
+ if (isSessionPlaceholder(element)) {
1526
+ return null;
1527
+ }
1528
+ if (isSessionChatItem(element)) {
1529
+ return ( element.chat.resource.toString());
1530
+ }
1531
+ return ( element.resource.toString());
1532
+ }
1533
+ getDragLabel(elements) {
1534
+ const chatItem = elements.find(isSessionChatItem);
1535
+ if (chatItem) {
1536
+ return getChatTitle(chatItem.chat);
1537
+ }
1538
+ const groupItem = elements.find(isSessionGroupItem);
1539
+ if (groupItem) {
1540
+ return groupItem.group.name;
1541
+ }
1542
+ const workspaceSection = elements.find(e => isSessionSection(e) && e.id.startsWith("workspace:"));
1543
+ if (workspaceSection) {
1544
+ return workspaceSection.label;
1545
+ }
1546
+ const sessions = this.toSessions(elements);
1547
+ if (sessions.length === 0) {
1548
+ return undefined;
1549
+ }
1550
+ if (sessions.length === 1) {
1551
+ return sessions[0].title.get();
1552
+ }
1553
+ return localize(4815, "{0} sessions", sessions.length);
1554
+ }
1555
+ onDragStart(data, originalEvent) {
1556
+ const elements = data instanceof ElementsDragAndDropData ? data.elements : [];
1557
+ const chatItem = elements.find(isSessionChatItem);
1558
+ if (chatItem) {
1559
+ fillSessionChatDragData(originalEvent, chatItem.session.sessionId, chatItem.chat.resource);
1560
+ return;
1561
+ }
1562
+ const sessions = this.toSessions(elements);
1563
+ if (sessions.length === 0) {
1564
+ return;
1565
+ }
1566
+ const identifiers = sessions.map(s => ( new DraggedSessionIdentifier(s.sessionId, s.resource)));
1567
+ this._transfer.setData(identifiers, DraggedSessionIdentifier.prototype);
1568
+ if (originalEvent.dataTransfer) {
1569
+ const payload = JSON.stringify({
1570
+ sessionId: sessions[0].sessionId,
1571
+ resource: ( sessions[0].resource.toString())
1572
+ });
1573
+ originalEvent.dataTransfer.setData(SessionsDataTransfers.SESSION, payload);
1574
+ }
1575
+ }
1576
+ onDragEnd() {
1577
+ this._transfer.clearData(DraggedSessionIdentifier.prototype);
1578
+ this.delegate.setDropTargetHeader(undefined);
1579
+ }
1580
+ onDragOver(data, targetElement, _targetIndex, targetSector) {
1581
+ const draggedHeader = this.draggedHeader(data);
1582
+ if (draggedHeader) {
1583
+ this.delegate.setDropTargetHeader(undefined);
1584
+ return this.onHeaderDragOver(draggedHeader, targetElement, targetSector);
1585
+ }
1586
+ const pinTarget = this.resolvePinTarget(data, targetElement, targetSector);
1587
+ if (pinTarget) {
1588
+ this.delegate.setDropTargetHeader(pinTarget.header);
1589
+ return this.toMembershipDropReaction(pinTarget);
1590
+ }
1591
+ const addToGroupTarget = this.resolveAddToGroupTarget(data, targetElement, targetSector);
1592
+ if (addToGroupTarget) {
1593
+ this.delegate.setDropTargetHeader(addToGroupTarget.header);
1594
+ return this.toMembershipDropReaction(addToGroupTarget);
1595
+ }
1596
+ const removeFromGroupTarget = this.resolveRemoveFromGroupTarget(data, targetElement, targetSector);
1597
+ if (removeFromGroupTarget) {
1598
+ this.delegate.setDropTargetHeader(removeFromGroupTarget.header);
1599
+ return this.toMembershipDropReaction(removeFromGroupTarget);
1600
+ }
1601
+ this.delegate.setDropTargetHeader(undefined);
1602
+ const target = this.resolveReorderTarget(data, targetElement);
1603
+ if (!target) {
1604
+ return false;
1605
+ }
1606
+ const position = sectorToPosition(targetSector);
1607
+ return {
1608
+ accept: true,
1609
+ effect: {
1610
+ type: ListDragOverEffectType.Move,
1611
+ position: position === "after" ? ListDragOverEffectPosition.After : ListDragOverEffectPosition.Before
1612
+ }
1613
+ };
1614
+ }
1615
+ drop(data, targetElement, _targetIndex, targetSector) {
1616
+ this.delegate.setDropTargetHeader(undefined);
1617
+ try {
1618
+ const draggedHeader = this.draggedHeader(data);
1619
+ if (draggedHeader) {
1620
+ if (targetElement) {
1621
+ const targetRef = this.headerRefOf(targetElement);
1622
+ if (targetRef && targetRef !== draggedHeader.id) {
1623
+ this.delegate.reorderSection(
1624
+ draggedHeader.id,
1625
+ targetRef,
1626
+ sectorToPosition(targetSector),
1627
+ draggedHeader.isWorkspace
1628
+ );
1629
+ }
1630
+ }
1631
+ return;
1632
+ }
1633
+ const pinTarget = this.resolvePinTarget(data, targetElement, targetSector);
1634
+ if (pinTarget) {
1635
+ this.delegate.pinSessions(pinTarget.sessions, pinTarget.target, pinTarget.position);
1636
+ return;
1637
+ }
1638
+ const addToGroupTarget = this.resolveAddToGroupTarget(data, targetElement, targetSector);
1639
+ if (addToGroupTarget) {
1640
+ this.delegate.addSessionsToGroup(
1641
+ addToGroupTarget.sessions,
1642
+ addToGroupTarget.groupId,
1643
+ addToGroupTarget.target,
1644
+ addToGroupTarget.position
1645
+ );
1646
+ return;
1647
+ }
1648
+ const removeFromGroupTarget = this.resolveRemoveFromGroupTarget(data, targetElement, targetSector);
1649
+ if (removeFromGroupTarget) {
1650
+ this.delegate.removeSessionsFromGroup(
1651
+ removeFromGroupTarget.sessions,
1652
+ removeFromGroupTarget.target,
1653
+ removeFromGroupTarget.position
1654
+ );
1655
+ return;
1656
+ }
1657
+ const target = this.resolveReorderTarget(data, targetElement);
1658
+ if (!target) {
1659
+ return;
1660
+ }
1661
+ this.delegate.reorder(this.draggedSessions(data), target, sectorToPosition(targetSector));
1662
+ } finally {
1663
+ this.delegate.setDropTargetHeader(undefined);
1664
+ }
1665
+ }
1666
+ onHeaderDragOver(draggedHeader, targetElement, targetSector) {
1667
+ if (!targetElement) {
1668
+ return false;
1669
+ }
1670
+ const targetRef = this.headerRefOf(targetElement);
1671
+ if (!targetRef || targetRef === draggedHeader.id) {
1672
+ return false;
1673
+ }
1674
+ const position = sectorToPosition(targetSector);
1675
+ return {
1676
+ accept: true,
1677
+ effect: {
1678
+ type: ListDragOverEffectType.Move,
1679
+ position: position === "after" ? ListDragOverEffectPosition.After : ListDragOverEffectPosition.Before
1680
+ }
1681
+ };
1682
+ }
1683
+ resolvePinTarget(data, targetElement, targetSector) {
1684
+ if (!targetElement) {
1685
+ return undefined;
1686
+ }
1687
+ let target;
1688
+ if (isSessionSection(targetElement)) {
1689
+ if (targetElement.id !== "pinned") {
1690
+ return undefined;
1691
+ }
1692
+ } else if (isSessionItem(targetElement) && this.delegate.isSessionPinned(targetElement)) {
1693
+ target = targetElement;
1694
+ } else {
1695
+ return undefined;
1696
+ }
1697
+ const dragged = this.draggedSessions(data);
1698
+ const hasArchived = ( dragged.some(session => session.isArchived.get()));
1699
+ const allPinned = dragged.every(session => this.delegate.isSessionPinned(session));
1700
+ if (dragged.length === 0 || hasArchived || allPinned) {
1701
+ return undefined;
1702
+ }
1703
+ if (target && ( dragged.some(session => session.sessionId === target.sessionId))) {
1704
+ return undefined;
1705
+ }
1706
+ return {
1707
+ sessions: dragged,
1708
+ header: {
1709
+ kind: "section",
1710
+ id: "pinned"
1711
+ },
1712
+ target,
1713
+ position: target ? sectorToPosition(targetSector) : undefined
1714
+ };
1715
+ }
1716
+ resolveAddToGroupTarget(data, targetElement, targetSector) {
1717
+ if (!targetElement) {
1718
+ return undefined;
1719
+ }
1720
+ let groupId;
1721
+ let target;
1722
+ if (isSessionGroupItem(targetElement)) {
1723
+ groupId = targetElement.group.id;
1724
+ } else if (isSessionPlaceholder(targetElement) && targetElement.sectionId.startsWith("group:")) {
1725
+ groupId = targetElement.sectionId.slice("group:".length);
1726
+ } else if (isSessionItem(targetElement)) {
1727
+ groupId = this.delegate.getGroupIdOfSession(targetElement);
1728
+ target = groupId === undefined ? undefined : targetElement;
1729
+ }
1730
+ if (groupId === undefined) {
1731
+ return undefined;
1732
+ }
1733
+ const dragged = this.draggedSessions(data);
1734
+ const hasArchived = ( dragged.some(session => session.isArchived.get()));
1735
+ const allInGroup = dragged.every(session => this.delegate.getGroupIdOfSession(session) === groupId);
1736
+ if (dragged.length === 0 || hasArchived || allInGroup) {
1737
+ return undefined;
1738
+ }
1739
+ if (target && ( dragged.some(session => session.sessionId === target.sessionId))) {
1740
+ return undefined;
1741
+ }
1742
+ return {
1743
+ sessions: dragged,
1744
+ groupId,
1745
+ header: {
1746
+ kind: "group",
1747
+ id: groupId
1748
+ },
1749
+ target,
1750
+ position: target ? sectorToPosition(targetSector) : undefined
1751
+ };
1752
+ }
1753
+ resolveRemoveFromGroupTarget(data, targetElement, targetSector) {
1754
+ if (!targetElement) {
1755
+ return undefined;
1756
+ }
1757
+ let sectionId;
1758
+ let target;
1759
+ if (isSessionSection(targetElement)) {
1760
+ sectionId = targetElement.id.startsWith("workspace:") ? targetElement.id : undefined;
1761
+ } else if (isSessionItem(targetElement) && this.delegate.getGroupIdOfSession(targetElement) === undefined) {
1762
+ sectionId = this.delegate.getWorkspaceSectionIdOfSession(targetElement);
1763
+ target = sectionId === undefined ? undefined : targetElement;
1764
+ }
1765
+ if (sectionId === undefined) {
1766
+ return undefined;
1767
+ }
1768
+ const dragged = this.draggedSessions(data);
1769
+ const canRemove = dragged.every(
1770
+ session => this.delegate.getGroupIdOfSession(session) !== undefined && this.delegate.getWorkspaceSectionIdOfSession(session) === sectionId
1771
+ );
1772
+ if (dragged.length === 0 || !canRemove) {
1773
+ return undefined;
1774
+ }
1775
+ return {
1776
+ sessions: dragged,
1777
+ header: {
1778
+ kind: "section",
1779
+ id: sectionId
1780
+ },
1781
+ target,
1782
+ position: target ? sectorToPosition(targetSector) : undefined
1783
+ };
1784
+ }
1785
+ resolveReorderTarget(data, targetElement) {
1786
+ if (!targetElement || !isSessionItem(targetElement)) {
1787
+ return undefined;
1788
+ }
1789
+ const target = targetElement;
1790
+ if (!this.delegate.isReorderable(target)) {
1791
+ return undefined;
1792
+ }
1793
+ const dragged = this.draggedSessions(data);
1794
+ if (dragged.length === 0 || ( dragged.some(s => s.sessionId === target.sessionId))) {
1795
+ return undefined;
1796
+ }
1797
+ if (( dragged.some(s => !this.delegate.isReorderable(s)))) {
1798
+ return undefined;
1799
+ }
1800
+ if (!this.delegate.canDropOn(dragged, target)) {
1801
+ return undefined;
1802
+ }
1803
+ return target;
1804
+ }
1805
+ toMembershipDropReaction(target) {
1806
+ let position = ListDragOverEffectPosition.Over;
1807
+ if (target.position === "after") {
1808
+ position = ListDragOverEffectPosition.After;
1809
+ } else if (target.position === "before") {
1810
+ position = ListDragOverEffectPosition.Before;
1811
+ }
1812
+ return {
1813
+ accept: true,
1814
+ effect: {
1815
+ type: ListDragOverEffectType.Move,
1816
+ position
1817
+ }
1818
+ };
1819
+ }
1820
+ draggedHeader(data) {
1821
+ if (!(data instanceof ElementsDragAndDropData)) {
1822
+ return undefined;
1823
+ }
1824
+ const elements = data.elements;
1825
+ const groupItem = elements.find(isSessionGroupItem);
1826
+ if (groupItem) {
1827
+ return {
1828
+ id: `group:${groupItem.group.id}`,
1829
+ isWorkspace: false
1830
+ };
1831
+ }
1832
+ const workspaceSection = elements.find(e => isSessionSection(e) && e.id.startsWith("workspace:"));
1833
+ if (workspaceSection) {
1834
+ return {
1835
+ id: workspaceSection.id,
1836
+ isWorkspace: true
1837
+ };
1838
+ }
1839
+ return undefined;
1840
+ }
1841
+ headerRefOf(element) {
1842
+ if (isSessionGroupItem(element)) {
1843
+ return `group:${element.group.id}`;
1844
+ }
1845
+ if (isSessionSection(element) && element.id.startsWith("workspace:")) {
1846
+ return element.id;
1847
+ }
1848
+ return undefined;
1849
+ }
1850
+ draggedSessions(data) {
1851
+ return this.toSessions(data instanceof ElementsDragAndDropData ? data.elements : []);
1852
+ }
1853
+ toSessions(elements) {
1854
+ return elements.filter(isSessionItem);
1855
+ }
1856
+ }
1857
+ function sectorToPosition(sector) {
1858
+ return sector !== undefined && sector >= ListViewTargetSector.CENTER_BOTTOM ? "after" : "before";
1859
+ }
1860
+ let SessionsList = class SessionsList extends Disposable {
1861
+ static {
1862
+ SessionsList_1 = this;
1863
+ }
1864
+ static {
1865
+ this.SECTION_COLLAPSE_STATE_KEY = "sessionsListControl.sectionCollapseState";
1866
+ }
1867
+ static {
1868
+ this.EXCLUDED_TYPES_KEY = "sessionsListControl.excludedSessionTypes";
1869
+ }
1870
+ static {
1871
+ this.EXCLUDED_STATUSES_KEY = "sessionsListControl.excludedStatuses";
1872
+ }
1873
+ static {
1874
+ this.EXCLUDE_ARCHIVED_KEY = "sessionsListControl.excludeArchived";
1875
+ }
1876
+ static {
1877
+ this.EXCLUDE_READ_KEY = "sessionsListControl.excludeRead";
1878
+ }
1879
+ static {
1880
+ this.WORKSPACE_GROUP_CAPPED_KEY = "sessionsListControl.workspaceGroupCapped";
1881
+ }
1882
+ static {
1883
+ this.DEFAULT_SESSION_GROUP_LIMIT = 5;
1884
+ }
1885
+ static {
1886
+ this.SESSION_GROUP_LIMIT_TREATMENT = "sessions.workspaceGroupLimit";
1887
+ }
1888
+ get element() {
1889
+ return this.listContainer;
1890
+ }
1891
+ async resetAutomationsNewBadge() {
1892
+ if (this.customViewService.activeCustomView.get()?.id === AUTOMATIONS_CUSTOM_VIEW_ID) {
1893
+ this.customViewService.hideCustomView();
1894
+ }
1895
+ await this.automationsNewBadgeState.reset();
1896
+ }
1897
+ constructor(
1898
+ container,
1899
+ options,
1900
+ _sessionsManagementService,
1901
+ _sessionsService,
1902
+ customViewService,
1903
+ _sessionsListModelService,
1904
+ _sessionGroupsService,
1905
+ _sessionSectionOrderService,
1906
+ _agentHostFilterService,
1907
+ instantiationService,
1908
+ contextKeyService,
1909
+ storageService,
1910
+ contextMenuService,
1911
+ menuService,
1912
+ keybindingService,
1913
+ commandService,
1914
+ automationService,
1915
+ _listVoicePlaybackService,
1916
+ assignmentService,
1917
+ configurationService,
1918
+ uriIdentityService,
1919
+ agentHostConnectionsService,
1920
+ openerService,
1921
+ labelService,
1922
+ preferencesService
1923
+ ) {
1924
+ super();
1925
+ this.options = options;
1926
+ this._sessionsManagementService = _sessionsManagementService;
1927
+ this._sessionsService = _sessionsService;
1928
+ this.customViewService = customViewService;
1929
+ this._sessionsListModelService = _sessionsListModelService;
1930
+ this._sessionGroupsService = _sessionGroupsService;
1931
+ this._sessionSectionOrderService = _sessionSectionOrderService;
1932
+ this._agentHostFilterService = _agentHostFilterService;
1933
+ this.contextKeyService = contextKeyService;
1934
+ this.storageService = storageService;
1935
+ this.contextMenuService = contextMenuService;
1936
+ this.menuService = menuService;
1937
+ this.keybindingService = keybindingService;
1938
+ this.commandService = commandService;
1939
+ this.automationService = automationService;
1940
+ this._listVoicePlaybackService = _listVoicePlaybackService;
1941
+ this.assignmentService = assignmentService;
1942
+ this.configurationService = configurationService;
1943
+ this.uriIdentityService = uriIdentityService;
1944
+ this.agentHostConnectionsService = agentHostConnectionsService;
1945
+ this.openerService = openerService;
1946
+ this.labelService = labelService;
1947
+ this.preferencesService = preferencesService;
1948
+ this.sessions = [];
1949
+ this.sessionChatsObserver = this._register(( new MutableDisposable()));
1950
+ this.activeSessionUpdate = this._register(( new MutableDisposable()));
1951
+ this.chatApprovalHeightReconcile = this._register(( new MutableDisposable()));
1952
+ this.automationSessions = observableValue(this, []);
1953
+ this.hoveredGuideSessionId = observableValue(this, undefined);
1954
+ this.selectedGuideSessionIds = observableValue(this, EMPTY_GUIDE_SESSION_IDS);
1955
+ this.focusedGuideSessionIds = observableValue(this, EMPTY_GUIDE_SESSION_IDS);
1956
+ this.activeGuideSessionIds = derived(this, reader => {
1957
+ const hovered = this.hoveredGuideSessionId.read(reader);
1958
+ const selected = this.selectedGuideSessionIds.read(reader);
1959
+ const focused = this.focusedGuideSessionIds.read(reader);
1960
+ if (!hovered && focused.size === 0) {
1961
+ return selected;
1962
+ }
1963
+ const ids = ( new Set(selected));
1964
+ for (const id of focused) {
1965
+ ids.add(id);
1966
+ }
1967
+ if (hovered) {
1968
+ ids.add(hovered);
1969
+ }
1970
+ return ids;
1971
+ });
1972
+ this.visible = true;
1973
+ this.archiveOnboardingSession = observableValue(this, undefined);
1974
+ this.sessionGroupLimit = observableValue(this, SessionsList_1.DEFAULT_SESSION_GROUP_LIMIT);
1975
+ this.expandedSessionGroups = ( new Set());
1976
+ this.expandedMoreFolders = false;
1977
+ this.hasFindPattern = false;
1978
+ this.suspendCollapseStatePersistence = false;
1979
+ this._topLevelOrder = [];
1980
+ this._onDidUpdate = this._register(( new Emitter()));
1981
+ this.onDidUpdate = this._onDidUpdate.event;
1982
+ this._onDidChangeFindOpenState = this._register(( new Emitter()));
1983
+ this.onDidChangeFindOpenState = this._onDidChangeFindOpenState.event;
1984
+ this.automationsNewBadgeState = this._register(instantiationService.createInstance(AutomationsNewBadgeState));
1985
+ this.excludedSessionTypes = this.loadExcludedSessionTypes();
1986
+ this.excludedStatuses = this.loadExcludedStatuses();
1987
+ this._excludeArchived = this.storageService.getBoolean(SessionsList_1.EXCLUDE_ARCHIVED_KEY, StorageScope.PROFILE, true);
1988
+ this._excludeRead = this.storageService.getBoolean(SessionsList_1.EXCLUDE_READ_KEY, StorageScope.PROFILE, false);
1989
+ this.workspaceGroupCapped = this.storageService.getBoolean(SessionsList_1.WORKSPACE_GROUP_CAPPED_KEY, StorageScope.PROFILE, true);
1990
+ this.listContainer = append(container, $(".sessions-list-control.session-list-row-spacing"));
1991
+ this._register(
1992
+ addDisposableListener(this.listContainer, EventType.POINTER_DOWN, () => {
1993
+ this.listContainer.classList.add(SESSION_SECTION_FOCUS_FROM_POINTER_CLASS);
1994
+ })
1995
+ );
1996
+ this._register(
1997
+ addDisposableListener(this.listContainer.ownerDocument, EventType.KEY_DOWN, () => {
1998
+ this.listContainer.classList.remove(SESSION_SECTION_FOCUS_FROM_POINTER_CLASS);
1999
+ }, true)
2000
+ );
2001
+ const approvalModel = this.options.approvalModel ?? this._register(instantiationService.createInstance(AgentSessionApprovalModel));
2002
+ this._approvalModel = approvalModel;
2003
+ const markdownRendererService = instantiationService.invokeFunction(accessor => accessor.get(IMarkdownRendererService));
2004
+ const hoverService = instantiationService.invokeFunction(accessor => accessor.get(IHoverService));
2005
+ const sessionsProvidersService = instantiationService.invokeFunction(accessor => accessor.get(ISessionsProvidersService));
2006
+ this._sessionsProvidersService = sessionsProvidersService;
2007
+ const providerCapabilityListeners = this._register(( new DisposableStore()));
2008
+ const subscribeProviderCapabilities = () => {
2009
+ providerCapabilityListeners.clear();
2010
+ for (const provider of sessionsProvidersService.getProviders()) {
2011
+ if (provider.onDidChangeCapabilities) {
2012
+ providerCapabilityListeners.add(provider.onDidChangeCapabilities(() => this.update()));
2013
+ }
2014
+ }
2015
+ };
2016
+ subscribeProviderCapabilities();
2017
+ this._register(sessionsProvidersService.onDidChangeProviders(() => {
2018
+ subscribeProviderCapabilities();
2019
+ this.update();
2020
+ }));
2021
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
2022
+ if (e.affectsConfiguration(SESSIONS_LIST_SHOW_EMPTY_DEFAULT_GROUPS_SETTING) || e.affectsConfiguration(ChatSessionArchiveActionWordingSettingId)) {
2023
+ this.update();
2024
+ }
2025
+ }));
2026
+ const agentSessionsService = instantiationService.invokeFunction(accessor => accessor.get(IAgentSessionsService));
2027
+ const voicePlaybackService = instantiationService.invokeFunction(accessor => accessor.get(IVoicePlaybackService));
2028
+ const sessionRenderer = ( new SessionItemRenderer({
2029
+ grouping: this.options.grouping,
2030
+ isPinned: s => this.isSessionPinned(s),
2031
+ isRenderedInCustomGroup: s => this.isRenderedInCustomGroup(s),
2032
+ visibleSessions: this._sessionsService.visibleSessions,
2033
+ getMultiSelectedSessions: s => this.getMultiSelectedSessions(s),
2034
+ showHover: true,
2035
+ useCompactQuickChatRows: true,
2036
+ approvalRowMaxLines: DEFAULT_APPROVAL_ROW_MAX_LINES,
2037
+ aggregateChatApprovals: false,
2038
+ toolbarMenuId: SessionItemToolbarMenuId,
2039
+ onDidRequestRename: session => {
2040
+ this.commandService.executeCommand(RENAME_SESSION_COMMAND_ID, session).catch(onUnexpectedError);
2041
+ },
2042
+ activeGuideSessionIds: this.activeGuideSessionIds,
2043
+ deriveStatusFromMainChat: true,
2044
+ archiveOnboardingSession: this.archiveOnboardingSession
2045
+ }, approvalModel, undefined, instantiationService, contextKeyService, this.configurationService, markdownRendererService, hoverService, sessionsProvidersService, this._sessionsManagementService, this.agentHostConnectionsService, this.openerService, this.labelService, this.preferencesService, agentSessionsService, voicePlaybackService));
2046
+ const showMoreRenderer = ( new SessionShowMoreRenderer());
2047
+ const placeholderRenderer = ( new SessionPlaceholderRenderer(hoverService));
2048
+ const chatRenderer = ( new SessionChatItemRenderer(
2049
+ hoverService,
2050
+ instantiationService,
2051
+ markdownRendererService,
2052
+ approvalModel,
2053
+ DEFAULT_APPROVAL_ROW_MAX_LINES,
2054
+ this.activeGuideSessionIds
2055
+ ));
2056
+ const selectHeader = (element, event) => {
2057
+ this.tree.setFocus([element], event);
2058
+ this.tree.setSelection([element], event);
2059
+ };
2060
+ const sectionRenderer = ( new SessionSectionRenderer(
2061
+ true ,
2062
+ selectHeader,
2063
+ instantiationService,
2064
+ contextKeyService,
2065
+ this.automationService,
2066
+ this.automationSessions,
2067
+ this.automationsNewBadgeState.presentation,
2068
+ this.uriIdentityService,
2069
+ this.customViewService,
2070
+ this.menuService
2071
+ ));
2072
+ this._sectionRenderer = sectionRenderer;
2073
+ const groupRenderer = ( new SessionGroupRenderer({
2074
+ commitEdit: (group, name) => this.commitGroupEdit(group, name),
2075
+ cancelEdit: group => this.cancelGroupEdit(group),
2076
+ select: selectHeader
2077
+ }, instantiationService, contextKeyService));
2078
+ this._groupRenderer = groupRenderer;
2079
+ const delegate = ( new SessionsTreeDelegate(
2080
+ approvalModel,
2081
+ () => !!IsPhoneLayoutContext.getValue(contextKeyService),
2082
+ DEFAULT_APPROVAL_ROW_MAX_LINES,
2083
+ undefined,
2084
+ true ,
2085
+ false ,
2086
+ true
2087
+ ));
2088
+ this._delegate = delegate;
2089
+ this.tree = this._register(
2090
+ instantiationService.createInstance(WorkbenchObjectTree, "SessionsListTree", this.listContainer, delegate, [
2091
+ sessionRenderer,
2092
+ chatRenderer,
2093
+ sectionRenderer,
2094
+ groupRenderer,
2095
+ showMoreRenderer,
2096
+ placeholderRenderer
2097
+ ], {
2098
+ accessibilityProvider: ( new SessionsAccessibilityProvider(sectionRenderer.automationStatus, {
2099
+ grouping: this.options.grouping,
2100
+ isPinned: session => this.isSessionPinned(session),
2101
+ isRenderedInCustomGroup: session => this.isRenderedInCustomGroup(session),
2102
+ deriveStatusFromMainChat: true,
2103
+ automationNewBadgeVisible: this.automationsNewBadgeState.showNewBadge
2104
+ })),
2105
+ dnd: this._register(( new SessionsListDragAndDrop({
2106
+ isReorderable: session => this.isReorderable(session),
2107
+ isSessionPinned: session => this.isSessionPinned(session),
2108
+ canDropOn: (dragged, target) => this.canReorderOnto(dragged, target),
2109
+ reorder: (dragged, target, position) => this.reorderSessions(dragged, target, position),
2110
+ getGroupIdOfSession: session => this._sessionGroupsService.getGroupOfSession(session.sessionId),
2111
+ getWorkspaceSectionIdOfSession: session => this.getWorkspaceSectionIdOfSession(session),
2112
+ addSessionsToGroup: (sessions, groupId, target, position) => this.addSessionsToGroup(sessions, groupId, target, position),
2113
+ removeSessionsFromGroup: (sessions, target, position) => this.removeSessionsFromGroup(sessions, target, position),
2114
+ pinSessions: (sessions, target, position) => this.pinSessions(sessions, target, position),
2115
+ setDropTargetHeader: header => this.setDropTargetHeader(header),
2116
+ reorderSection: (draggedId, targetId, position, isWorkspace) => this.reorderSection(draggedId, targetId, position, isWorkspace)
2117
+ }))),
2118
+ identityProvider: {
2119
+ getId: element => {
2120
+ if (isSessionGroupItem(element)) {
2121
+ return `group:${element.group.id}`;
2122
+ }
2123
+ if (isSessionSection(element)) {
2124
+ return `section:${element.id}`;
2125
+ }
2126
+ if (isSessionShowMore(element)) {
2127
+ return `show-more:${element.kind}:${element.mode}:${element.sectionId}`;
2128
+ }
2129
+ if (isSessionPlaceholder(element)) {
2130
+ return `placeholder:${element.sectionId}`;
2131
+ }
2132
+ if (isSessionChatItem(element)) {
2133
+ return `chat:${element.session.sessionId}:${( element.chat.resource.toString())}`;
2134
+ }
2135
+ return ( element.resource.toString());
2136
+ },
2137
+ getGroupId: element => {
2138
+ if (isSessionGroupItem(element)) {
2139
+ return NotSelectableGroupId;
2140
+ }
2141
+ if (isSessionSection(element)) {
2142
+ return NotSelectableGroupId;
2143
+ }
2144
+ if (isSessionShowMore(element)) {
2145
+ return NotSelectableGroupId;
2146
+ }
2147
+ if (isSessionPlaceholder(element)) {
2148
+ return NotSelectableGroupId;
2149
+ }
2150
+ if (isSessionChatItem(element)) {
2151
+ return 3;
2152
+ }
2153
+ return element.isArchived.get() ? 2 : 1;
2154
+ }
2155
+ },
2156
+ horizontalScrolling: false,
2157
+ multipleSelectionSupport: true,
2158
+ expandOnlyOnTwistieClick: element => isSessionItem(element),
2159
+ findWidgetEnabled: true,
2160
+ defaultFindMode: TreeFindMode.Filter,
2161
+ findWidgetContainer: this.options.findWidgetContainer,
2162
+ findWidgetStyles: {
2163
+ ...defaultFindWidgetStyles,
2164
+ toggleStyles: {
2165
+ ...defaultToggleStyles,
2166
+ inputActiveOptionBorder: "transparent"
2167
+ }
2168
+ },
2169
+ keyboardNavigationLabelProvider: {
2170
+ getKeyboardNavigationLabel: element => {
2171
+ if (isSessionGroupItem(element)) {
2172
+ return element.group.name;
2173
+ }
2174
+ if (isSessionSection(element)) {
2175
+ return element.label;
2176
+ }
2177
+ if (isSessionShowMore(element)) {
2178
+ return element.sectionLabel;
2179
+ }
2180
+ if (isSessionPlaceholder(element)) {
2181
+ return element.label;
2182
+ }
2183
+ if (isSessionChatItem(element)) {
2184
+ return getChatTitle(element.chat);
2185
+ }
2186
+ return element.title.get();
2187
+ }
2188
+ },
2189
+ overrideStyles: this.options.overrideStyles,
2190
+ renderIndentGuides: RenderIndentGuides.None,
2191
+ twistieAdditionalCssClass: element => isSessionItem(element) && getSessionListChats(element).length > 0 ? "session-chat-twistie" : "force-no-twistie"
2192
+ })
2193
+ );
2194
+ const focusedChatItemContext = SessionsListFocusedChatItemContext.bindTo(this.tree.contextKeyService);
2195
+ this.tree.updateOptions({
2196
+ indent: 0,
2197
+ defaultIndent: 0,
2198
+ expandOnDoubleClick: false
2199
+ });
2200
+ const guideOwnerSessionId = element => {
2201
+ if (element && isSessionItem(element)) {
2202
+ return element.sessionId;
2203
+ }
2204
+ if (element && isSessionChatItem(element)) {
2205
+ return element.session.sessionId;
2206
+ }
2207
+ return undefined;
2208
+ };
2209
+ const guideOwnerSessionIds = elements => {
2210
+ const ids = ( new Set());
2211
+ for (const element of elements) {
2212
+ const id = guideOwnerSessionId(element);
2213
+ if (id) {
2214
+ ids.add(id);
2215
+ }
2216
+ }
2217
+ return ids;
2218
+ };
2219
+ this._register(this.tree.onMouseOver(e => {
2220
+ this.hoveredGuideSessionId.set(guideOwnerSessionId(e.element), undefined);
2221
+ }));
2222
+ this._register(this.tree.onMouseOut(e => {
2223
+ if (guideOwnerSessionId(e.element) === this.hoveredGuideSessionId.get()) {
2224
+ this.hoveredGuideSessionId.set(undefined, undefined);
2225
+ }
2226
+ }));
2227
+ this._register(this.tree.onDidChangeSelection(() => {
2228
+ this.selectedGuideSessionIds.set(guideOwnerSessionIds(this.tree.getSelection()), undefined);
2229
+ }));
2230
+ const updateFocusedGuideSessionIds = () => {
2231
+ this.focusedGuideSessionIds.set(guideOwnerSessionIds(this.tree.getFocus()), undefined);
2232
+ focusedChatItemContext.set(isAncestorOfActiveElement(this.listContainer) && ( this.tree.getFocus().some(item => !!item && isSessionChatItem(item))));
2233
+ };
2234
+ this._register(this.tree.onDidChangeFocus(updateFocusedGuideSessionIds));
2235
+ this._register(this.tree.onDidFocus(updateFocusedGuideSessionIds));
2236
+ this._register(this.tree.onDidBlur(() => {
2237
+ this.focusedGuideSessionIds.set(EMPTY_GUIDE_SESSION_IDS, undefined);
2238
+ focusedChatItemContext.reset();
2239
+ }));
2240
+ this._register(this.tree.onDidOpen(async e => {
2241
+ const element = e.element;
2242
+ if (!element) {
2243
+ return;
2244
+ }
2245
+ if (isSessionShowMore(element)) {
2246
+ if (element.kind === "folders") {
2247
+ this.expandedMoreFolders = element.mode === "more";
2248
+ } else {
2249
+ if (element.mode === "more") {
2250
+ this.expandedSessionGroups.add(element.sectionId);
2251
+ } else {
2252
+ this.expandedSessionGroups.delete(element.sectionId);
2253
+ }
2254
+ }
2255
+ this.update();
2256
+ return;
2257
+ }
2258
+ if (isSessionPlaceholder(element)) {
2259
+ return;
2260
+ }
2261
+ if (isSessionChatItem(element)) {
2262
+ if (this.options.canOpenSession && !(await this.options.canOpenSession(element.session))) {
2263
+ return;
2264
+ }
2265
+ this.markRead(element.session);
2266
+ const isLeftClick = isMouseEvent(e.browserEvent) && e.browserEvent.button === 0;
2267
+ const preserveFocus = isLeftClick ? false : (e.editorOptions.preserveFocus ?? false);
2268
+ if (this.options.onChatOpen) {
2269
+ this.options.onChatOpen(element.session, element.chat, preserveFocus, e.sideBySide);
2270
+ } else {
2271
+ this._sessionsService.openChat(element.session, element.chat.resource, {
2272
+ preserveFocus
2273
+ }).catch(onUnexpectedError);
2274
+ }
2275
+ return;
2276
+ }
2277
+ if (isSessionSection(element) && element.id === AUTOMATIONS_SECTION_ID) {
2278
+ this.tree.setSelection([]);
2279
+ this.commandService.executeCommand("sessionsView.manageAutomations");
2280
+ return;
2281
+ }
2282
+ if (!isSessionSection(element) && !isSessionGroupItem(element)) {
2283
+ if (this.options.canOpenSession && !(await this.options.canOpenSession(element))) {
2284
+ return;
2285
+ }
2286
+ this.markRead(element);
2287
+ const isLeftClick = isMouseEvent(e.browserEvent) && e.browserEvent.button === 0;
2288
+ const preserveFocus = isLeftClick ? false : (e.editorOptions.preserveFocus ?? false);
2289
+ this.options.onSessionOpen(element.resource, preserveFocus, e.sideBySide);
2290
+ if (this._listVoicePlaybackService.hasPendingResponse(element.resource)) {
2291
+ this.commandService.executeCommand("_chat.voice.activateSession", ( element.resource.toString()));
2292
+ }
2293
+ }
2294
+ }));
2295
+ this._register(sessionRenderer.onDidChangeItemHeight(session => {
2296
+ if (this.tree.hasElement(session)) {
2297
+ this.tree.updateElementHeight(session, delegate.getHeight(session));
2298
+ }
2299
+ }));
2300
+ this._register(chatRenderer.onDidChangeItemHeight(chatItem => {
2301
+ if (this.tree.hasElement(chatItem)) {
2302
+ this.tree.updateElementHeight(chatItem, delegate.getHeight(chatItem));
2303
+ }
2304
+ }));
2305
+ const phoneKeys = ( new Set([IsPhoneLayoutContext.key]));
2306
+ const automationKeys = ( new Set([ChatAutomationsEnabledContext.key]));
2307
+ this._register(this.contextKeyService.onDidChangeContext(e => {
2308
+ if (e.affectsSome(automationKeys)) {
2309
+ this.update();
2310
+ }
2311
+ if (!e.affectsSome(phoneKeys)) {
2312
+ return;
2313
+ }
2314
+ const updateNodeHeights = node => {
2315
+ if (node.element && (isSessionItem(node.element) || isSessionChatItem(node.element))) {
2316
+ this.tree.updateElementHeight(node.element, delegate.getHeight(node.element));
2317
+ }
2318
+ for (const child of node.children) {
2319
+ updateNodeHeights(child);
2320
+ }
2321
+ };
2322
+ updateNodeHeights(this.tree.getNode());
2323
+ }));
2324
+ this._register(this.tree.onContextMenu(e => this.onContextMenu(e)));
2325
+ this._register(this.tree.onDidChangeCollapseState(e => {
2326
+ const element = e.node.element;
2327
+ if (element && isSessionGroupItem(element)) {
2328
+ this._groupRenderer.updateCollapseState(element, e.node.collapsed);
2329
+ if (!this.suspendCollapseStatePersistence) {
2330
+ this.saveSectionCollapseState(`group:${element.group.id}`, e.node.collapsed);
2331
+ }
2332
+ } else if (element && isSessionSection(element)) {
2333
+ sectionRenderer.updateCollapseState(element, e.node.collapsed);
2334
+ if (!this.suspendCollapseStatePersistence) {
2335
+ this.saveSectionCollapseState(element.id, e.node.collapsed);
2336
+ }
2337
+ }
2338
+ }));
2339
+ let isFindOpen = false;
2340
+ let findPattern = "";
2341
+ const updateFindPatternState = () => {
2342
+ const hasFindPattern = isFindOpen && findPattern.length > 0;
2343
+ if (hasFindPattern !== this.hasFindPattern) {
2344
+ this.hasFindPattern = hasFindPattern;
2345
+ this.update();
2346
+ }
2347
+ };
2348
+ this._register(this.tree.onDidChangeFindOpenState(open => {
2349
+ isFindOpen = open;
2350
+ this._onDidChangeFindOpenState.fire(open);
2351
+ updateFindPatternState();
2352
+ }));
2353
+ this._register(this.tree.onDidChangeFindPattern(pattern => {
2354
+ findPattern = pattern;
2355
+ updateFindPatternState();
2356
+ }));
2357
+ this._register(this._sessionsManagementService.onDidChangeSessions(e => {
2358
+ if (this.visible) {
2359
+ this.refresh();
2360
+ }
2361
+ if (e.removed.length > 0) {
2362
+ this._sessionSectionOrderService.retain(this.liveSectionOrderIds());
2363
+ }
2364
+ }));
2365
+ this._register(this._sessionsListModelService.onDidChange(() => {
2366
+ if (this.visible) {
2367
+ this.update();
2368
+ }
2369
+ }));
2370
+ this._register(this._sessionGroupsService.onDidChange(e => {
2371
+ if (this.visible) {
2372
+ this.update();
2373
+ }
2374
+ if (e.groupsChanged) {
2375
+ this._sessionSectionOrderService.retain(this.liveSectionOrderIds());
2376
+ }
2377
+ }));
2378
+ this._register(this._sessionSectionOrderService.onDidChange(() => {
2379
+ if (this.visible) {
2380
+ this.update();
2381
+ }
2382
+ }));
2383
+ this._register(this._agentHostFilterService.onDidChange(() => {
2384
+ if (this.visible) {
2385
+ this.update();
2386
+ }
2387
+ }));
2388
+ this._register(autorun(reader => {
2389
+ const activeSession = this._sessionsService.activeSession.read(reader);
2390
+ activeSession?.activeChat.read(reader);
2391
+ this.activeSessionUpdate.value = scheduleAtNextAnimationFrame(getWindow(this.listContainer), () => {
2392
+ if (this.visible) {
2393
+ this.update();
2394
+ this.syncActiveChatSelection(activeSession);
2395
+ }
2396
+ });
2397
+ }));
2398
+ const assignmentRefetchSignal = observableSignalFromEvent(this, this.assignmentService.onDidRefetchAssignments);
2399
+ this._register(autorun(reader => {
2400
+ assignmentRefetchSignal.read(reader);
2401
+ this.updateSessionGroupLimit();
2402
+ }));
2403
+ this.refresh();
2404
+ this.syncActiveChatSelection(this._sessionsService.activeSession.get());
2405
+ }
2406
+ updateSessionGroupLimit() {
2407
+ this.assignmentService.getTreatment(SessionsList_1.SESSION_GROUP_LIMIT_TREATMENT).then(value => {
2408
+ const limit = typeof value === "number" && Number.isInteger(value) && value > 0 ? value : SessionsList_1.DEFAULT_SESSION_GROUP_LIMIT;
2409
+ if (this.sessionGroupLimit.get() !== limit) {
2410
+ this.sessionGroupLimit.set(limit, undefined);
2411
+ if (this.visible) {
2412
+ this.update();
2413
+ }
2414
+ }
2415
+ });
2416
+ }
2417
+ refresh() {
2418
+ this.sessions = this._sessionsManagementService.getSessions();
2419
+ let initialized = false;
2420
+ this.sessionChatsObserver.value = autorun(reader => {
2421
+ for (const session of this.sessions) {
2422
+ getSessionListChats(session, reader);
2423
+ }
2424
+ if (initialized && this.visible) {
2425
+ this.update();
2426
+ }
2427
+ initialized = true;
2428
+ });
2429
+ this.automationSessions.set(this.sessions, undefined);
2430
+ for (const session of this.sessions) {
2431
+ this._sessionsListModelService.migrateLegacyReadState(session);
2432
+ }
2433
+ this.update();
2434
+ }
2435
+ update(expandAll) {
2436
+ const activeSession = this._sessionsService.activeSession.get();
2437
+ const archiveOnboardingSession = this.archiveOnboardingSession.get();
2438
+ let filtered = this.sessions.filter(session => !isAutomationSession(session));
2439
+ const scopedProviderIds = this._agentHostFilterService.selectedHost?.providerIds;
2440
+ if (scopedProviderIds) {
2441
+ const scoped = ( new Set(scopedProviderIds));
2442
+ filtered = filtered.filter(s => ( scoped.has(s.providerId)));
2443
+ }
2444
+ if (this.excludedSessionTypes.size > 0) {
2445
+ filtered = filtered.filter(s => !( this.excludedSessionTypes.has(s.sessionType)));
2446
+ }
2447
+ if (this.excludedStatuses.size > 0) {
2448
+ filtered = filtered.filter(s => !( this.excludedStatuses.has(s.status.get())));
2449
+ }
2450
+ if (this._excludeArchived) {
2451
+ filtered = filtered.filter(s => !s.isArchived.get());
2452
+ }
2453
+ if (this._excludeRead) {
2454
+ filtered = filtered.filter(s => !s.isRead.get());
2455
+ }
2456
+ for (const revealedSession of [activeSession, archiveOnboardingSession]) {
2457
+ if (revealedSession && !( filtered.some(s => s.sessionId === revealedSession.sessionId))) {
2458
+ const match = this.sessions.find(s => s.sessionId === revealedSession.sessionId && !isAutomationSession(s));
2459
+ if (match) {
2460
+ filtered = [...filtered, match];
2461
+ }
2462
+ }
2463
+ }
2464
+ const grouping = this.options.grouping();
2465
+ const sorting = this.options.sorting();
2466
+ const sortKeyForGrouping = (s, srt) => this._sessionsListModelService.getSortKey(s, sortingToMode(srt));
2467
+ const groupedMembers = ( new Map());
2468
+ const groupedRegularIds = ( new Set());
2469
+ for (const s of filtered) {
2470
+ const group = this.getRenderedSessionGroup(s);
2471
+ if (group) {
2472
+ let members = groupedMembers.get(group.id);
2473
+ if (!members) {
2474
+ members = [];
2475
+ groupedMembers.set(group.id, members);
2476
+ }
2477
+ members.push(s);
2478
+ groupedRegularIds.add(s.sessionId);
2479
+ }
2480
+ }
2481
+ const forSections = groupedRegularIds.size > 0 ? filtered.filter(s => !( groupedRegularIds.has(s.sessionId))) : filtered;
2482
+ const groupItemsById = ( new Map());
2483
+ for (const group of this._sessionGroupsService.getGroups()) {
2484
+ const members = groupedMembers.get(group.id) ?? [];
2485
+ const sortedMembers = sortSessions(members, sorting, sortKeyForGrouping);
2486
+ groupItemsById.set(group.id, {
2487
+ group,
2488
+ sessions: sortedMembers,
2489
+ isEmpty: this._sessionGroupsService.getSessionIdsInGroup(group.id).length === 0,
2490
+ editing: group.id === this._editingGroupId
2491
+ });
2492
+ }
2493
+ const defaultGroupIds = [...( groupItemsById.values())].sort((a, b) => b.group.createdAt - a.group.createdAt).map(item => `group:${item.group.id}`);
2494
+ const sections = groupSessionsForList(
2495
+ forSections,
2496
+ grouping,
2497
+ sorting,
2498
+ session => this.isSessionPinned(session),
2499
+ (s, srt) => this._sessionsListModelService.getSortKey(s, sortingToMode(srt)),
2500
+ getChatSessionArchivedSectionLabel(getChatSessionArchiveActionWording(this.configurationService))
2501
+ );
2502
+ const hasRecentSessions = ( sections.some(s => s.id === "recent" && s.sessions.length > 0));
2503
+ const showEmptyDefaultGroups = this.configurationService.getValue(SESSIONS_LIST_SHOW_EMPTY_DEFAULT_GROUPS_SETTING);
2504
+ if (showEmptyDefaultGroups && this._someProviderSupportsQuickChats() && !( sections.some(s => s.id === QUICK_CHATS_SECTION_ID))) {
2505
+ sections.push({
2506
+ id: QUICK_CHATS_SECTION_ID,
2507
+ label: ( localize(4816, "Chats")),
2508
+ sessions: []
2509
+ });
2510
+ }
2511
+ const partitionFolders = grouping === SessionsGrouping.Workspace && !this.hasFindPattern && this.workspaceGroupCapped;
2512
+ const moreFolderSectionIds = ( new Set());
2513
+ if (partitionFolders) {
2514
+ const workspaceSections = sections.filter(s => s.id.startsWith("workspace:"));
2515
+ if (workspaceSections.length > 0) {
2516
+ const now = Date.now();
2517
+ const isRecent = section => ( section.sessions.some(s => s.updatedAt.get().getTime() >= now - FOUR_DAYS_MS));
2518
+ const isOpenWindow = section => !!this.openWindowSourceFolder && ( section.sessions.some(s => sessionMatchesFolder(s, this.openWindowSourceFolder)));
2519
+ const meetsCriteria = section => isRecent(section) || isOpenWindow(section);
2520
+ let anyMeets = false;
2521
+ for (const section of workspaceSections) {
2522
+ if (meetsCriteria(section)) {
2523
+ anyMeets = true;
2524
+ break;
2525
+ }
2526
+ }
2527
+ let fallbackId;
2528
+ if (!anyMeets) {
2529
+ let bestTime = -Infinity;
2530
+ for (const section of workspaceSections) {
2531
+ for (const s of section.sessions) {
2532
+ const t = s.updatedAt.get().getTime();
2533
+ if (t > bestTime) {
2534
+ bestTime = t;
2535
+ fallbackId = section.id;
2536
+ }
2537
+ }
2538
+ }
2539
+ }
2540
+ for (const section of workspaceSections) {
2541
+ if (!meetsCriteria(section) && section.id !== fallbackId && !this._sessionSectionOrderService.isPromoted(section.id) && !( section.sessions.some(session => session.sessionId === archiveOnboardingSession?.sessionId))) {
2542
+ moreFolderSectionIds.add(section.id);
2543
+ }
2544
+ }
2545
+ }
2546
+ }
2547
+ const children = [];
2548
+ const sessionGroupLimit = this.sessionGroupLimit.get();
2549
+ const toSessionChildren = sessions => sessions.map(session => {
2550
+ const chats = getSessionListChats(session);
2551
+ return {
2552
+ element: session,
2553
+ collapsible: chats.length > 0,
2554
+ collapsed: ObjectTreeElementCollapseState.PreserveOrExpanded,
2555
+ children: chats.length > 0 ? chats.map(chat => ({
2556
+ element: ( new SessionChatItem(session, chat))
2557
+ })) : undefined
2558
+ };
2559
+ });
2560
+ const renderSessionChildren = (sessions, sectionId, sectionLabel, enabled) => {
2561
+ const limited = limitSessionsForList(sessions, sessionGroupLimit, {
2562
+ enabled,
2563
+ expanded: ( this.expandedSessionGroups.has(sectionId)),
2564
+ sectionId,
2565
+ sectionLabel,
2566
+ revealSessionId: archiveOnboardingSession?.sessionId
2567
+ });
2568
+ const children = toSessionChildren(limited.sessions);
2569
+ if (limited.showMore) {
2570
+ children.push({
2571
+ element: limited.showMore
2572
+ });
2573
+ }
2574
+ return children;
2575
+ };
2576
+ const renderSection = section => {
2577
+ if (section.id === AUTOMATIONS_SECTION_ID) {
2578
+ return {
2579
+ element: section,
2580
+ children: [],
2581
+ collapsible: false
2582
+ };
2583
+ }
2584
+ const isWorkspaceGroup = grouping === SessionsGrouping.Workspace && section.id.startsWith("workspace:");
2585
+ const limitSessions = isWorkspaceGroup && !this.hasFindPattern && this.workspaceGroupCapped;
2586
+ let sectionChildren = renderSessionChildren(section.sessions, section.id, section.label, limitSessions);
2587
+ if (section.id === QUICK_CHATS_SECTION_ID && section.sessions.length === 0) {
2588
+ sectionChildren = [{
2589
+ element: {
2590
+ placeholder: true,
2591
+ sectionId: section.id,
2592
+ label: ( localize(4817, "No chats"))
2593
+ }
2594
+ }];
2595
+ }
2596
+ let defaultCollapsed = ObjectTreeElementCollapseState.PreserveOrExpanded;
2597
+ if (grouping === SessionsGrouping.Date && hasRecentSessions) {
2598
+ const olderSections = ["older", "archived"];
2599
+ if (olderSections.includes(section.id)) {
2600
+ defaultCollapsed = ObjectTreeElementCollapseState.PreserveOrCollapsed;
2601
+ }
2602
+ }
2603
+ if (section.id === "archived") {
2604
+ defaultCollapsed = ObjectTreeElementCollapseState.PreserveOrCollapsed;
2605
+ }
2606
+ if (section.id === "pinned" || section.id === QUICK_CHATS_SECTION_ID) {
2607
+ defaultCollapsed = ObjectTreeElementCollapseState.PreserveOrCollapsed;
2608
+ }
2609
+ return {
2610
+ element: section,
2611
+ collapsible: true,
2612
+ collapsed: this.getSavedCollapseState(section.id) ?? defaultCollapsed,
2613
+ children: sectionChildren
2614
+ };
2615
+ };
2616
+ const renderGroup = groupItem => {
2617
+ const sectionId = `group:${groupItem.group.id}`;
2618
+ const groupChildren = groupItem.sessions.length === 0 ? [{
2619
+ element: {
2620
+ placeholder: true,
2621
+ sectionId,
2622
+ label: ( localize(4818, "No session")),
2623
+ hover: ( localize(
2624
+ 4819,
2625
+ "Use Add to Group from a session's context menu, or drag it into this group."
2626
+ ))
2627
+ }
2628
+ }] : renderSessionChildren(
2629
+ groupItem.sessions,
2630
+ sectionId,
2631
+ groupItem.group.name,
2632
+ !this.hasFindPattern && this.workspaceGroupCapped
2633
+ );
2634
+ return {
2635
+ element: groupItem,
2636
+ collapsible: true,
2637
+ collapsed: this.getSavedCollapseState(sectionId) ?? ObjectTreeElementCollapseState.PreserveOrExpanded,
2638
+ children: groupChildren
2639
+ };
2640
+ };
2641
+ if (this.contextKeyService.getContextKeyValue(ChatAutomationsEnabledContext.key)) {
2642
+ void this.automationsNewBadgeState.initialize().catch(onUnexpectedError);
2643
+ children.push(renderSection({
2644
+ id: AUTOMATIONS_SECTION_ID,
2645
+ label: ( localize(4820, "Automations")),
2646
+ sessions: []
2647
+ }));
2648
+ }
2649
+ const pinnedSection = sections.find(s => s.id === "pinned");
2650
+ if (pinnedSection) {
2651
+ children.push(renderSection(pinnedSection));
2652
+ }
2653
+ const quickChatsSection = sections.find(s => s.id === QUICK_CHATS_SECTION_ID);
2654
+ if (quickChatsSection) {
2655
+ children.push(renderSection(quickChatsSection));
2656
+ }
2657
+ const renderGroupById = id => {
2658
+ const groupItem = groupItemsById.get(id.slice("group:".length));
2659
+ if (groupItem) {
2660
+ children.push(renderGroup(groupItem));
2661
+ }
2662
+ };
2663
+ if (grouping === SessionsGrouping.Date) {
2664
+ const resolvedGroupIds = this._sessionSectionOrderService.resolveOrder(defaultGroupIds);
2665
+ this._topLevelOrder = resolvedGroupIds;
2666
+ for (const id of resolvedGroupIds) {
2667
+ renderGroupById(id);
2668
+ }
2669
+ for (const section of sections) {
2670
+ if (section.id === "pinned" || section.id === "archived" || section.id === QUICK_CHATS_SECTION_ID) {
2671
+ continue;
2672
+ }
2673
+ children.push(renderSection(section));
2674
+ }
2675
+ const archived = sections.find(s => s.id === "archived");
2676
+ if (archived) {
2677
+ children.push(renderSection(archived));
2678
+ }
2679
+ } else {
2680
+ const workspaceSections = sections.filter(s => s.id.startsWith("workspace:"));
2681
+ const sectionById = ( new Map(workspaceSections.map(s => [s.id, s])));
2682
+ const primaryWorkspaceIds = workspaceSections.filter(s => !( moreFolderSectionIds.has(s.id))).map(s => s.id);
2683
+ const defaultOrder = [...defaultGroupIds, ...primaryWorkspaceIds];
2684
+ const resolvedIds = this._sessionSectionOrderService.resolveOrder(defaultOrder);
2685
+ this._topLevelOrder = resolvedIds;
2686
+ for (const id of resolvedIds) {
2687
+ if (id.startsWith("group:")) {
2688
+ renderGroupById(id);
2689
+ } else {
2690
+ const section = sectionById.get(id);
2691
+ if (section) {
2692
+ children.push(renderSection(section));
2693
+ }
2694
+ }
2695
+ }
2696
+ const moreFolderSections = workspaceSections.filter(s => ( moreFolderSectionIds.has(s.id)));
2697
+ if (moreFolderSections.length > 0) {
2698
+ if (this.expandedMoreFolders) {
2699
+ for (const section of moreFolderSections) {
2700
+ children.push(renderSection(section));
2701
+ }
2702
+ children.push({
2703
+ element: {
2704
+ showMore: true,
2705
+ kind: "folders",
2706
+ mode: "less",
2707
+ sectionId: SHOW_MORE_FOLDERS_LABEL,
2708
+ sectionLabel: SHOW_MORE_FOLDERS_LABEL,
2709
+ remainingCount: 0
2710
+ }
2711
+ });
2712
+ } else {
2713
+ children.push({
2714
+ element: {
2715
+ showMore: true,
2716
+ kind: "folders",
2717
+ mode: "more",
2718
+ sectionId: SHOW_MORE_FOLDERS_LABEL,
2719
+ sectionLabel: SHOW_MORE_FOLDERS_LABEL,
2720
+ remainingCount: moreFolderSections.length
2721
+ }
2722
+ });
2723
+ }
2724
+ }
2725
+ const archivedSection = sections.find(s => s.id === "archived");
2726
+ if (archivedSection) {
2727
+ children.push(renderSection(archivedSection));
2728
+ }
2729
+ }
2730
+ this.tree.setChildren(null, children);
2731
+ this.reconcileChatApprovalHeights();
2732
+ this._onDidUpdate.fire();
2733
+ }
2734
+ reconcileChatApprovalHeights() {
2735
+ const chatItems = [];
2736
+ const collect = node => {
2737
+ if (node.element && isSessionChatItem(node.element)) {
2738
+ chatItems.push(node.element);
2739
+ }
2740
+ for (const child of node.children) {
2741
+ collect(child);
2742
+ }
2743
+ };
2744
+ collect(this.tree.getNode());
2745
+ if (chatItems.length === 0) {
2746
+ this.chatApprovalHeightReconcile.clear();
2747
+ return;
2748
+ }
2749
+ this.chatApprovalHeightReconcile.value = autorun(reader => {
2750
+ for (const chatItem of chatItems) {
2751
+ this._approvalModel.getApproval(chatItem.chat.resource).read(reader);
2752
+ if (this.tree.hasElement(chatItem)) {
2753
+ this.tree.updateElementHeight(chatItem, this._delegate.getHeight(chatItem));
2754
+ }
2755
+ }
2756
+ });
2757
+ }
2758
+ syncActiveChatSelection(activeSession) {
2759
+ if (!activeSession) {
2760
+ return;
2761
+ }
2762
+ const session = this.sessions.find(candidate => candidate.sessionId === activeSession.sessionId);
2763
+ if (!session || !this.tree.hasElement(session)) {
2764
+ return;
2765
+ }
2766
+ const activeChat = activeSession.activeChat.get();
2767
+ const chatItem = this.tree.getNode(session).children.map(node => node.element).find(
2768
+ element => !!element && isSessionChatItem(element) && this.uriIdentityService.extUri.isEqual(element.chat.resource, activeChat.resource)
2769
+ );
2770
+ if (!chatItem || !isSessionChatItem(chatItem)) {
2771
+ this.tree.setFocus([session]);
2772
+ this.tree.setSelection([session]);
2773
+ return;
2774
+ }
2775
+ this.tree.expand(session);
2776
+ this.tree.reveal(chatItem, 0.5);
2777
+ this.tree.setFocus([chatItem]);
2778
+ this.tree.setSelection([chatItem]);
2779
+ }
2780
+ getVisibleSessions() {
2781
+ const sessions = ( new Set(this.sessions));
2782
+ const visibleSessions = [];
2783
+ const collect = node => {
2784
+ if (!node.visible) {
2785
+ return;
2786
+ }
2787
+ if (node.element && ( sessions.has(node.element))) {
2788
+ visibleSessions.push(node.element);
2789
+ }
2790
+ if (node.collapsed) {
2791
+ return;
2792
+ }
2793
+ for (const child of node.children) {
2794
+ collect(child);
2795
+ }
2796
+ };
2797
+ const root = this.tree.getNode();
2798
+ for (const child of root.children) {
2799
+ collect(child);
2800
+ }
2801
+ return visibleSessions;
2802
+ }
2803
+ reveal(sessionResource) {
2804
+ const resourceStr = ( sessionResource.toString());
2805
+ for (const session of this.sessions) {
2806
+ if (( session.resource.toString()) === resourceStr) {
2807
+ if (this.tree.hasElement(session)) {
2808
+ if (this.tree.getRelativeTop(session) === null) {
2809
+ this.tree.reveal(session, 0.5);
2810
+ }
2811
+ this.tree.setFocus([session]);
2812
+ this.tree.setSelection([session]);
2813
+ return true;
2814
+ }
2815
+ }
2816
+ }
2817
+ return false;
2818
+ }
2819
+ revealArchiveAction(session) {
2820
+ this.customViewService.hideCustomView();
2821
+ this.closeFind();
2822
+ this.archiveOnboardingSession.set(session, undefined);
2823
+ const release = toDisposable(() => {
2824
+ this.archiveOnboardingSession.set(undefined, undefined);
2825
+ if (!this._store.isDisposed) {
2826
+ this.update();
2827
+ }
2828
+ });
2829
+ try {
2830
+ this.update();
2831
+ if (!this.reveal(session.resource)) {
2832
+ throw ( new Error(( localize(4821, "The session could not be revealed in the sessions list. Try again."))));
2833
+ }
2834
+ } catch (error) {
2835
+ release.dispose();
2836
+ throw error;
2837
+ }
2838
+ return {
2839
+ targetId: getSessionArchiveOnboardingTargetId(session),
2840
+ dispose: () => release.dispose()
2841
+ };
2842
+ }
2843
+ clearFocus() {
2844
+ this.tree.setFocus([]);
2845
+ this.tree.setSelection([]);
2846
+ }
2847
+ hasFocusOrSelection() {
2848
+ return this.tree.getFocus().length > 0 || this.tree.getSelection().length > 0;
2849
+ }
2850
+ getFocusedSessions() {
2851
+ if (!isAncestorOfActiveElement(this.listContainer)) {
2852
+ return undefined;
2853
+ }
2854
+ const focusedSession = this.tree.getFocus().find(item => !!item && isSessionItem(item));
2855
+ return focusedSession ? this.getMultiSelectedSessions(focusedSession) : [];
2856
+ }
2857
+ getFocusedChatItem() {
2858
+ if (!isAncestorOfActiveElement(this.listContainer)) {
2859
+ return undefined;
2860
+ }
2861
+ return this.tree.getFocus().find(item => !!item && isSessionChatItem(item));
2862
+ }
2863
+ setVisible(visible) {
2864
+ if (this.visible === visible) {
2865
+ return;
2866
+ }
2867
+ this.visible = visible;
2868
+ if (this.visible) {
2869
+ this.refresh();
2870
+ }
2871
+ }
2872
+ layout(height, width) {
2873
+ this.tree.layout(height, width);
2874
+ }
2875
+ focus() {
2876
+ this.tree.domFocus();
2877
+ if (this.tree.getFocus().length === 0) {
2878
+ this.tree.focusFirst();
2879
+ }
2880
+ }
2881
+ openFind() {
2882
+ this.tree.openFind();
2883
+ }
2884
+ closeFind() {
2885
+ this.tree.closeFind();
2886
+ }
2887
+ isReorderable(session) {
2888
+ return !session.isArchived.get();
2889
+ }
2890
+ canReorderOnto(dragged, target) {
2891
+ const targetPinned = this.isSessionPinned(target);
2892
+ if (( dragged.some(s => this.isSessionPinned(s) !== targetPinned))) {
2893
+ return false;
2894
+ }
2895
+ if (targetPinned) {
2896
+ return true;
2897
+ }
2898
+ const targetGroup = this._sessionGroupsService.getGroupOfSession(target.sessionId);
2899
+ if (( dragged.some(
2900
+ s => this._sessionGroupsService.getGroupOfSession(s.sessionId) !== targetGroup
2901
+ ))) {
2902
+ return false;
2903
+ }
2904
+ if (targetGroup === undefined && this.options.grouping() === SessionsGrouping.Workspace) {
2905
+ const targetLabel = sessionWorkspaceLabel(target);
2906
+ return dragged.every(s => sessionWorkspaceLabel(s) === targetLabel);
2907
+ }
2908
+ return true;
2909
+ }
2910
+ reorderSessions(dragged, target, position) {
2911
+ const mode = sortingToMode(this.options.sorting());
2912
+ const grouping = this.options.grouping();
2913
+ const getKey = s => this._sessionsListModelService.getSortKey(s, mode);
2914
+ const targetPinned = this.isSessionPinned(target);
2915
+ let scope = this.getVisibleSessions().filter(s => this.isReorderable(s));
2916
+ scope = scope.filter(s => this.isSessionPinned(s) === targetPinned);
2917
+ if (!targetPinned) {
2918
+ const targetGroup = this._sessionGroupsService.getGroupOfSession(target.sessionId);
2919
+ scope = scope.filter(
2920
+ s => this._sessionGroupsService.getGroupOfSession(s.sessionId) === targetGroup
2921
+ );
2922
+ if (targetGroup === undefined && grouping === SessionsGrouping.Workspace) {
2923
+ const targetLabel = sessionWorkspaceLabel(target);
2924
+ scope = scope.filter(s => sessionWorkspaceLabel(s) === targetLabel);
2925
+ }
2926
+ }
2927
+ const draggedIds = ( new Set(dragged.map(s => s.sessionId)));
2928
+ const draggedOrdered = scope.filter(s => ( draggedIds.has(s.sessionId)));
2929
+ if (draggedOrdered.length === 0) {
2930
+ return;
2931
+ }
2932
+ const remaining = scope.filter(s => !( draggedIds.has(s.sessionId)));
2933
+ const targetIndex = remaining.findIndex(s => s.sessionId === target.sessionId);
2934
+ if (targetIndex === -1) {
2935
+ return;
2936
+ }
2937
+ const insertIndex = position === "before" ? targetIndex : targetIndex + 1;
2938
+ const above = remaining[insertIndex - 1];
2939
+ const below = remaining[insertIndex];
2940
+ const {
2941
+ set,
2942
+ clear
2943
+ } = computeReorderSortChanges({
2944
+ draggedIds: draggedOrdered.map(s => s.sessionId),
2945
+ naturalKeys: draggedOrdered.map(s => this._sessionsListModelService.getNaturalSortKey(s, mode)),
2946
+ aboveKey: above ? getKey(above) : undefined,
2947
+ belowKey: below ? getKey(below) : undefined,
2948
+ now: Date.now(),
2949
+ fallbackStep: SORT_FALLBACK_STEP_MS
2950
+ });
2951
+ this._sessionsListModelService.applySortChanges(mode, set, clear);
2952
+ }
2953
+ createGroupFromSessions(sessions) {
2954
+ const groupSessions = sessions.filter(session => !session.isArchived.get());
2955
+ if (groupSessions.length === 0) {
2956
+ return;
2957
+ }
2958
+ this.createGroup(groupSessions);
2959
+ }
2960
+ createGroup(groupSessions) {
2961
+ this._sessionsListModelService.unpinSessions(groupSessions);
2962
+ const group = this._sessionGroupsService.createGroup(( localize(4822, "New Group")), groupSessions.map(s => s.sessionId));
2963
+ this._editingGroupId = group.id;
2964
+ this.update();
2965
+ this.revealGroup(group.id);
2966
+ }
2967
+ revealGroup(groupId) {
2968
+ const root = this.tree.getNode();
2969
+ for (const node of root.children) {
2970
+ const element = node.element;
2971
+ if (element && isSessionGroupItem(element) && element.group.id === groupId) {
2972
+ if (this.tree.hasElement(element) && this.tree.getRelativeTop(element) === null) {
2973
+ this.tree.reveal(element, 0.5);
2974
+ }
2975
+ return;
2976
+ }
2977
+ }
2978
+ }
2979
+ beginRenameGroup(groupId) {
2980
+ if (!this._sessionGroupsService.getGroup(groupId)) {
2981
+ return;
2982
+ }
2983
+ this._editingGroupId = groupId;
2984
+ this.update();
2985
+ }
2986
+ addSessionsToGroup(sessions, groupId, target, position) {
2987
+ const groupSessions = sessions.filter(session => !session.isArchived.get());
2988
+ this._sessionsListModelService.unpinSessions(groupSessions);
2989
+ this._sessionGroupsService.addToGroup(groupSessions.map(s => s.sessionId), groupId);
2990
+ if (target && position) {
2991
+ this.reorderSessions(groupSessions, target, position);
2992
+ }
2993
+ }
2994
+ removeSessionsFromGroup(sessions, target, position) {
2995
+ const groupedSessions = sessions.filter(
2996
+ session => this._sessionGroupsService.getGroupOfSession(session.sessionId) !== undefined
2997
+ );
2998
+ if (groupedSessions.length === 0) {
2999
+ return;
3000
+ }
3001
+ for (const session of groupedSessions) {
3002
+ this._sessionGroupsService.removeFromGroup(session.sessionId);
3003
+ }
3004
+ if (target && position) {
3005
+ this.reorderSessions(groupedSessions, target, position);
3006
+ }
3007
+ }
3008
+ getWorkspaceSectionIdOfSession(session) {
3009
+ if (this.options.grouping() !== SessionsGrouping.Workspace || session.isArchived.get() || this.isSessionPinned(session) || isQuickChatSession(session)) {
3010
+ return undefined;
3011
+ }
3012
+ return `workspace:${sessionWorkspaceLabel(session)}`;
3013
+ }
3014
+ commitGroupEdit(group, name) {
3015
+ this._editingGroupId = undefined;
3016
+ const trimmed = name.trim();
3017
+ if (trimmed) {
3018
+ this._sessionGroupsService.renameGroup(group.id, trimmed);
3019
+ }
3020
+ this.update();
3021
+ }
3022
+ cancelGroupEdit(_group) {
3023
+ this._editingGroupId = undefined;
3024
+ this.update();
3025
+ }
3026
+ reorderSection(draggedId, targetId, position, isWorkspace) {
3027
+ this._sessionSectionOrderService.reorder(
3028
+ this._topLevelOrder,
3029
+ draggedId,
3030
+ targetId,
3031
+ position,
3032
+ isWorkspace ? draggedId : undefined
3033
+ );
3034
+ }
3035
+ getGroupsInDisplayOrder() {
3036
+ const groups = this._sessionGroupsService.getGroups();
3037
+ const byId = ( new Map(groups.map(g => [`group:${g.id}`, g])));
3038
+ const defaultIds = [...groups].sort((a, b) => b.createdAt - a.createdAt).map(g => `group:${g.id}`);
3039
+ return this._sessionSectionOrderService.resolveOrder(defaultIds).map(id => byId.get(id)).filter(g => !!g);
3040
+ }
3041
+ liveSectionOrderIds() {
3042
+ const ids = ( new Set());
3043
+ for (const group of this._sessionGroupsService.getGroups()) {
3044
+ ids.add(`group:${group.id}`);
3045
+ }
3046
+ for (const session of this._sessionsManagementService.getSessions()) {
3047
+ ids.add(`workspace:${sessionWorkspaceLabel(session)}`);
3048
+ }
3049
+ return ids;
3050
+ }
3051
+ setDropTargetHeader(header) {
3052
+ const current = this._dropTargetHeader;
3053
+ if (current?.kind === header?.kind && current?.id === header?.id) {
3054
+ this.toggleDropTargetHeader(header, header !== undefined);
3055
+ return;
3056
+ }
3057
+ this.toggleDropTargetHeader(current, false);
3058
+ this._dropTargetHeader = header;
3059
+ this.toggleDropTargetHeader(header, true);
3060
+ }
3061
+ toggleDropTargetHeader(header, active) {
3062
+ if (!header) {
3063
+ return;
3064
+ }
3065
+ if (header.kind === "group") {
3066
+ this._groupRenderer.setDropTarget(header.id, active);
3067
+ } else {
3068
+ this._sectionRenderer.setDropTarget(header.id, active);
3069
+ }
3070
+ }
3071
+ getMultiSelectedSessions(session) {
3072
+ const selection = this.tree.getSelection().filter(s => !!s && isSessionItem(s));
3073
+ return selection.includes(session) ? [session, ...selection.filter(s => s !== session)] : [session];
3074
+ }
3075
+ onContextMenu(e) {
3076
+ const element = e.element;
3077
+ if (element && isSessionChatItem(element)) {
3078
+ this.showChatContextMenu(element, e.anchor);
3079
+ return;
3080
+ }
3081
+ if (!element || isSessionSection(element) || isSessionShowMore(element) || isSessionPlaceholder(element)) {
3082
+ this.showCreateGroupContextMenu(e.anchor);
3083
+ return;
3084
+ }
3085
+ if (isSessionGroupItem(element)) {
3086
+ this.showGroupContextMenu(element, e.anchor);
3087
+ return;
3088
+ }
3089
+ const selectedSessions = this.getMultiSelectedSessions(element);
3090
+ const inGroup = this._sessionGroupsService.getGroupOfSession(element.sessionId) !== undefined;
3091
+ const contextOverlay = [
3092
+ [IsSessionPinnedContext.key, this.isSessionPinned(element)],
3093
+ [SessionIsArchivedContext.key, element.isArchived.get()],
3094
+ [SessionIsReadContext.key, element.isRead.get()],
3095
+ [
3096
+ SessionItemHasBranchNameContext.key,
3097
+ !!element.workspace.get()?.folders[0]?.gitRepository?.branchName?.trim()
3098
+ ],
3099
+ [SessionItemInGroupContext.key, inGroup],
3100
+ [SessionTypeContext.key, element.sessionType],
3101
+ [SessionProviderIdContext.key, element.providerId],
3102
+ [
3103
+ SessionSupportsRenameContext.key,
3104
+ element.capabilities.get().supportsRename ?? false
3105
+ ],
3106
+ [
3107
+ SessionSupportsDeleteContext.key,
3108
+ element.capabilities.get().supportsDelete ?? false
3109
+ ],
3110
+ [
3111
+ SessionHasPullRequestContext.key,
3112
+ !!element.workspace.get()?.folders[0]?.gitRepository?.gitHubInfo.get()?.pullRequest
3113
+ ]
3114
+ ];
3115
+ const disposables = ( new DisposableStore());
3116
+ const menu = disposables.add(this.menuService.createMenu(
3117
+ SessionItemContextMenuId,
3118
+ this.contextKeyService.createOverlay(contextOverlay)
3119
+ ));
3120
+ const marshalledArg = {
3121
+ $mid: MarshalledId.AgentSessionContext,
3122
+ session: {
3123
+ resource: element.resource
3124
+ },
3125
+ sessions: selectedSessions.map(s => ({
3126
+ resource: s.resource
3127
+ }))
3128
+ };
3129
+ const wrapForExtensions = action => {
3130
+ if (!(action instanceof MenuItemAction) || !action.item.source) {
3131
+ return action;
3132
+ }
3133
+ return toAction({
3134
+ id: action.id,
3135
+ label: action.label,
3136
+ class: action.class,
3137
+ enabled: action.enabled,
3138
+ tooltip: action.tooltip,
3139
+ checked: action.checked,
3140
+ run: () => this.commandService.executeCommand(action.id, marshalledArg)
3141
+ });
3142
+ };
3143
+ const baseActions = Separator.join(...menu.getActions({
3144
+ arg: selectedSessions,
3145
+ shouldForwardArgs: true
3146
+ }).map(([, actions]) => actions.map(wrapForExtensions)));
3147
+ const groupActions = this.getGroupSessionActions(selectedSessions);
3148
+ const actions = groupActions.length > 0 ? [...baseActions, ( new Separator()), ...groupActions] : baseActions;
3149
+ if (actions.length === 0) {
3150
+ disposables.dispose();
3151
+ return;
3152
+ }
3153
+ this.contextMenuService.showContextMenu({
3154
+ getActions: () => actions,
3155
+ getAnchor: () => e.anchor,
3156
+ getKeyBinding: action => this.keybindingService.lookupKeybinding(action.id) ?? undefined,
3157
+ onHide: () => disposables.dispose()
3158
+ });
3159
+ }
3160
+ showChatContextMenu(element, anchor) {
3161
+ const capabilities = getChatCapabilities(element.chat, element.session, undefined);
3162
+ const contextKeyService = this.contextKeyService.createOverlay([
3163
+ [SessionChatItemCanRenameContext.key, capabilities.canRename],
3164
+ [SessionChatItemCanDeleteContext.key, capabilities.canDelete],
3165
+ [
3166
+ SessionChatItemIsUntitledContext.key,
3167
+ element.chat.status.get() === SessionStatus.Untitled
3168
+ ],
3169
+ [SessionProviderIdContext.key, element.session.providerId]
3170
+ ]);
3171
+ const menu = this.menuService.createMenu(Menus.SessionChatItemContext, contextKeyService);
3172
+ const actions = Separator.join(...menu.getActions({
3173
+ arg: element,
3174
+ shouldForwardArgs: true
3175
+ }).map(([, groupActions]) => groupActions));
3176
+ if (actions.length === 0) {
3177
+ menu.dispose();
3178
+ return;
3179
+ }
3180
+ this.contextMenuService.showContextMenu({
3181
+ getActions: () => actions,
3182
+ getAnchor: () => anchor,
3183
+ getKeyBinding: action => this.keybindingService.lookupKeybinding(action.id) ?? undefined,
3184
+ onHide: () => menu.dispose()
3185
+ });
3186
+ }
3187
+ getGroupSessionActions(selected) {
3188
+ const actions = [];
3189
+ if (( selected.some(session => session.isArchived.get()))) {
3190
+ return actions;
3191
+ }
3192
+ actions.push(this.getCreateGroupAction(selected));
3193
+ const currentGroupIds = ( new Set(
3194
+ selected.map(s => this._sessionGroupsService.getGroupOfSession(s.sessionId))
3195
+ ));
3196
+ const currentGroupId = currentGroupIds.size === 1 ? [...currentGroupIds][0] : undefined;
3197
+ const targetGroups = this.getGroupsInDisplayOrder().filter(g => g.id !== currentGroupId);
3198
+ if (targetGroups.length > 0) {
3199
+ const subActions = targetGroups.map(g => toAction({
3200
+ id: `sessions.addToGroup.${g.id}`,
3201
+ label: g.name,
3202
+ run: () => this.addSessionsToGroup(selected, g.id)
3203
+ }));
3204
+ const label = currentGroupId !== undefined ? ( localize(4823, "Move to Group")) : ( localize(4824, "Add to Group"));
3205
+ actions.push(( new SubmenuAction("sessions.addToGroupSubmenu", label, subActions)));
3206
+ }
3207
+ if (currentGroupId !== undefined) {
3208
+ actions.push(toAction({
3209
+ id: "sessions.removeFromGroup",
3210
+ label: ( localize(4825, "Remove from Group")),
3211
+ run: () => {
3212
+ for (const session of selected) {
3213
+ this._sessionGroupsService.removeFromGroup(session.sessionId);
3214
+ }
3215
+ }
3216
+ }));
3217
+ }
3218
+ return actions;
3219
+ }
3220
+ getCreateGroupAction(sessions) {
3221
+ return toAction({
3222
+ id: "sessions.createGroup",
3223
+ label: ( localize(4826, "Create Group")),
3224
+ run: () => {
3225
+ if (sessions) {
3226
+ this.createGroupFromSessions(sessions);
3227
+ } else {
3228
+ this.createGroup([]);
3229
+ }
3230
+ }
3231
+ });
3232
+ }
3233
+ showCreateGroupContextMenu(anchor) {
3234
+ this.contextMenuService.showContextMenu({
3235
+ getActions: () => [this.getCreateGroupAction()],
3236
+ getAnchor: () => anchor
3237
+ });
3238
+ }
3239
+ showGroupContextMenu(groupItem, anchor) {
3240
+ const actions = [this.getCreateGroupAction(), ( new Separator()), toAction({
3241
+ id: "sessions.renameGroupAction",
3242
+ label: ( localize(4827, "Rename...")),
3243
+ run: () => this.beginRenameGroup(groupItem.group.id)
3244
+ }), toAction({
3245
+ id: "sessions.deleteGroupAction",
3246
+ label: ( localize(4828, "Delete Group")),
3247
+ run: () => this._sessionGroupsService.deleteGroup(groupItem.group.id)
3248
+ })];
3249
+ this.contextMenuService.showContextMenu({
3250
+ getActions: () => actions,
3251
+ getAnchor: () => anchor
3252
+ });
3253
+ }
3254
+ resetSectionCollapseState() {
3255
+ this.storageService.remove(SessionsList_1.SECTION_COLLAPSE_STATE_KEY, StorageScope.PROFILE);
3256
+ }
3257
+ pinSession(session) {
3258
+ this._sessionsListModelService.pinSession(session);
3259
+ }
3260
+ pinSessions(sessions, target, position) {
3261
+ const pinnable = sessions.filter(session => !session.isArchived.get());
3262
+ for (const session of pinnable) {
3263
+ this._sessionsListModelService.pinSession(session);
3264
+ }
3265
+ if (target && position) {
3266
+ this.reorderSessions(pinnable, target, position);
3267
+ }
3268
+ }
3269
+ unpinSession(session) {
3270
+ this._sessionsListModelService.unpinSession(session);
3271
+ }
3272
+ isSessionPinned(session) {
3273
+ return this._sessionsListModelService.isSessionPinned(session);
3274
+ }
3275
+ getRenderedSessionGroup(session) {
3276
+ if (session.isArchived.get() || this.isSessionPinned(session)) {
3277
+ return undefined;
3278
+ }
3279
+ const groupId = this._sessionGroupsService.getGroupOfSession(session.sessionId);
3280
+ return groupId === undefined ? undefined : this._sessionGroupsService.getGroup(groupId);
3281
+ }
3282
+ isRenderedInCustomGroup(session) {
3283
+ return this.getRenderedSessionGroup(session) !== undefined;
3284
+ }
3285
+ _someProviderSupportsQuickChats() {
3286
+ return ( this._sessionsProvidersService.getProviders().some(p => !!p.supportsQuickChats));
3287
+ }
3288
+ markRead(session) {
3289
+ this._sessionsManagementService.markRead(session);
3290
+ }
3291
+ markUnread(session) {
3292
+ this._sessionsManagementService.markUnread(session);
3293
+ }
3294
+ setSessionTypeExcluded(sessionTypeId, excluded) {
3295
+ if (excluded) {
3296
+ this.excludedSessionTypes.add(sessionTypeId);
3297
+ } else {
3298
+ this.excludedSessionTypes.delete(sessionTypeId);
3299
+ }
3300
+ this.saveExcludedSessionTypes();
3301
+ this.update();
3302
+ }
3303
+ isSessionTypeExcluded(sessionTypeId) {
3304
+ return ( this.excludedSessionTypes.has(sessionTypeId));
3305
+ }
3306
+ loadExcludedSessionTypes() {
3307
+ const raw = this.storageService.get(SessionsList_1.EXCLUDED_TYPES_KEY, StorageScope.PROFILE);
3308
+ if (raw) {
3309
+ try {
3310
+ const arr = JSON.parse(raw);
3311
+ if (Array.isArray(arr)) {
3312
+ return ( new Set(arr));
3313
+ }
3314
+ } catch {}
3315
+ }
3316
+ return ( new Set());
3317
+ }
3318
+ saveExcludedSessionTypes() {
3319
+ if (this.excludedSessionTypes.size === 0) {
3320
+ this.storageService.remove(SessionsList_1.EXCLUDED_TYPES_KEY, StorageScope.PROFILE);
3321
+ } else {
3322
+ this.storageService.store(
3323
+ SessionsList_1.EXCLUDED_TYPES_KEY,
3324
+ JSON.stringify([...this.excludedSessionTypes]),
3325
+ StorageScope.PROFILE,
3326
+ StorageTarget.USER
3327
+ );
3328
+ }
3329
+ }
3330
+ setStatusExcluded(status, excluded) {
3331
+ if (excluded) {
3332
+ this.excludedStatuses.add(status);
3333
+ } else {
3334
+ this.excludedStatuses.delete(status);
3335
+ }
3336
+ this.saveExcludedStatuses();
3337
+ this.update();
3338
+ }
3339
+ isStatusExcluded(status) {
3340
+ return ( this.excludedStatuses.has(status));
3341
+ }
3342
+ loadExcludedStatuses() {
3343
+ const raw = this.storageService.get(SessionsList_1.EXCLUDED_STATUSES_KEY, StorageScope.PROFILE);
3344
+ if (raw) {
3345
+ try {
3346
+ const arr = JSON.parse(raw);
3347
+ if (Array.isArray(arr)) {
3348
+ return ( new Set(arr));
3349
+ }
3350
+ } catch {}
3351
+ }
3352
+ return ( new Set());
3353
+ }
3354
+ saveExcludedStatuses() {
3355
+ if (this.excludedStatuses.size === 0) {
3356
+ this.storageService.remove(SessionsList_1.EXCLUDED_STATUSES_KEY, StorageScope.PROFILE);
3357
+ } else {
3358
+ this.storageService.store(
3359
+ SessionsList_1.EXCLUDED_STATUSES_KEY,
3360
+ JSON.stringify([...this.excludedStatuses]),
3361
+ StorageScope.PROFILE,
3362
+ StorageTarget.USER
3363
+ );
3364
+ }
3365
+ }
3366
+ setExcludeArchived(exclude) {
3367
+ this._excludeArchived = exclude;
3368
+ this.storageService.store(
3369
+ SessionsList_1.EXCLUDE_ARCHIVED_KEY,
3370
+ exclude,
3371
+ StorageScope.PROFILE,
3372
+ StorageTarget.USER
3373
+ );
3374
+ this.update();
3375
+ }
3376
+ isExcludeArchived() {
3377
+ return this._excludeArchived;
3378
+ }
3379
+ setExcludeRead(exclude) {
3380
+ this._excludeRead = exclude;
3381
+ this.storageService.store(
3382
+ SessionsList_1.EXCLUDE_READ_KEY,
3383
+ exclude,
3384
+ StorageScope.PROFILE,
3385
+ StorageTarget.USER
3386
+ );
3387
+ this.update();
3388
+ }
3389
+ isExcludeRead() {
3390
+ return this._excludeRead;
3391
+ }
3392
+ resetFilters() {
3393
+ this.excludedSessionTypes.clear();
3394
+ this.saveExcludedSessionTypes();
3395
+ this.excludedStatuses.clear();
3396
+ this.saveExcludedStatuses();
3397
+ this._excludeArchived = true;
3398
+ this.storageService.store(
3399
+ SessionsList_1.EXCLUDE_ARCHIVED_KEY,
3400
+ true,
3401
+ StorageScope.PROFILE,
3402
+ StorageTarget.USER
3403
+ );
3404
+ this._excludeRead = false;
3405
+ this.storageService.store(
3406
+ SessionsList_1.EXCLUDE_READ_KEY,
3407
+ false,
3408
+ StorageScope.PROFILE,
3409
+ StorageTarget.USER
3410
+ );
3411
+ this.workspaceGroupCapped = true;
3412
+ this.storageService.store(
3413
+ SessionsList_1.WORKSPACE_GROUP_CAPPED_KEY,
3414
+ true,
3415
+ StorageScope.PROFILE,
3416
+ StorageTarget.USER
3417
+ );
3418
+ this.expandedSessionGroups.clear();
3419
+ this.expandedMoreFolders = false;
3420
+ this.update();
3421
+ }
3422
+ setWorkspaceGroupCapped(capped) {
3423
+ this.workspaceGroupCapped = capped;
3424
+ this.storageService.store(
3425
+ SessionsList_1.WORKSPACE_GROUP_CAPPED_KEY,
3426
+ capped,
3427
+ StorageScope.PROFILE,
3428
+ StorageTarget.USER
3429
+ );
3430
+ if (capped) {
3431
+ this.expandedSessionGroups.clear();
3432
+ }
3433
+ this.update();
3434
+ }
3435
+ isWorkspaceGroupCapped() {
3436
+ return this.workspaceGroupCapped;
3437
+ }
3438
+ setOpenWindowSourceFolder(folder) {
3439
+ const before = this.openWindowSourceFolder?.toString();
3440
+ const after = folder?.toString();
3441
+ if (before === after) {
3442
+ return;
3443
+ }
3444
+ this.openWindowSourceFolder = folder;
3445
+ this.update();
3446
+ }
3447
+ collapseAllSections() {
3448
+ this.suspendCollapseStatePersistence = true;
3449
+ try {
3450
+ this.tree.collapseAll();
3451
+ } finally {
3452
+ this.suspendCollapseStatePersistence = false;
3453
+ }
3454
+ this.saveBulkCollapseState(true);
3455
+ }
3456
+ getSavedCollapseState(sectionId) {
3457
+ const raw = this.storageService.get(SessionsList_1.SECTION_COLLAPSE_STATE_KEY, StorageScope.PROFILE);
3458
+ if (raw) {
3459
+ try {
3460
+ const state = JSON.parse(raw);
3461
+ if (typeof state[sectionId] === "boolean") {
3462
+ return state[sectionId];
3463
+ }
3464
+ } catch {}
3465
+ }
3466
+ return undefined;
3467
+ }
3468
+ saveSectionCollapseState(sectionId, collapsed) {
3469
+ let state = {};
3470
+ const raw = this.storageService.get(SessionsList_1.SECTION_COLLAPSE_STATE_KEY, StorageScope.PROFILE);
3471
+ if (raw) {
3472
+ try {
3473
+ const parsed = JSON.parse(raw);
3474
+ if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
3475
+ state = parsed;
3476
+ }
3477
+ } catch {}
3478
+ }
3479
+ state[sectionId] = collapsed;
3480
+ this.storageService.store(
3481
+ SessionsList_1.SECTION_COLLAPSE_STATE_KEY,
3482
+ JSON.stringify(state),
3483
+ StorageScope.PROFILE,
3484
+ StorageTarget.USER
3485
+ );
3486
+ }
3487
+ saveBulkCollapseState(collapsed) {
3488
+ const state = {};
3489
+ for (const child of this.tree.getNode(null).children) {
3490
+ if (child.element && isSessionSection(child.element)) {
3491
+ state[child.element.id] = collapsed;
3492
+ }
3493
+ }
3494
+ this.storageService.store(
3495
+ SessionsList_1.SECTION_COLLAPSE_STATE_KEY,
3496
+ JSON.stringify(state),
3497
+ StorageScope.PROFILE,
3498
+ StorageTarget.USER
3499
+ );
3500
+ }
3501
+ };
3502
+ SessionsList = SessionsList_1 = ( __decorate([( __param(2, ISessionsManagementService)), ( __param(3, ISessionsService)), ( __param(4, ICustomViewService)), ( __param(5, ISessionsListModelService)), ( __param(6, ISessionGroupsService)), ( __param(7, ISessionSectionOrderService)), ( __param(8, IAgentHostFilterService)), ( __param(9, IInstantiationService)), ( __param(10, IContextKeyService)), ( __param(11, IStorageService)), ( __param(12, IContextMenuService)), ( __param(13, IMenuService)), ( __param(14, IKeybindingService)), ( __param(15, ICommandService)), ( __param(16, IAutomationService)), ( __param(17, IVoicePlaybackService)), ( __param(18, IWorkbenchAssignmentService)), ( __param(19, IConfigurationService)), ( __param(20, IUriIdentityService)), ( __param(21, IAgentHostConnectionsService)), ( __param(22, IOpenerService)), ( __param(23, ILabelService)), ( __param(24, IPreferencesService))], SessionsList));
3503
+ function getFirstApprovalAcrossChats(approvalModel, session, reader) {
3504
+ let oldest;
3505
+ for (const chat of session.chats.read(reader)) {
3506
+ const approval = approvalModel.getApproval(chat.resource).read(reader);
3507
+ if (approval && (!oldest || approval.since.getTime() < oldest.since.getTime())) {
3508
+ oldest = approval;
3509
+ }
3510
+ }
3511
+ return oldest;
3512
+ }
3513
+ function getMainChatApproval(approvalModel, session, reader) {
3514
+ const mainChat = session.mainChat.read(reader);
3515
+ if (!mainChat?.resource) {
3516
+ return undefined;
3517
+ }
3518
+ return approvalModel.getApproval(mainChat.resource).read(reader);
3519
+ }
3520
+ function getSessionRowApproval(approvalModel, session, reader, aggregate) {
3521
+ return aggregate ? getFirstApprovalAcrossChats(approvalModel, session, reader) : getMainChatApproval(approvalModel, session, reader);
3522
+ }
3523
+ function sessionMatchesFolder(session, folder) {
3524
+ const workspace = session.workspace.get();
3525
+ if (!workspace) {
3526
+ return false;
3527
+ }
3528
+ const folderStr = ( folder.toString());
3529
+ for (const folder of workspace.folders) {
3530
+ if (folder.workingDirectory?.toString() === folderStr || ( folder.root.toString()) === folderStr) {
3531
+ return true;
3532
+ }
3533
+ }
3534
+ return false;
3535
+ }
3536
+ function sortSessions(sessions, sorting, getSortKey) {
3537
+ const key = getSortKey ?? defaultSortKey;
3538
+ return [...sessions].sort((a, b) => key(b, sorting) - key(a, sorting));
3539
+ }
3540
+ function limitSessionsForList(sessions, limit, options) {
3541
+ if (!options.enabled || sessions.length <= limit) {
3542
+ return {
3543
+ sessions,
3544
+ showMore: undefined
3545
+ };
3546
+ }
3547
+ if (options.expanded) {
3548
+ return {
3549
+ sessions,
3550
+ showMore: {
3551
+ showMore: true,
3552
+ kind: "sessions",
3553
+ mode: "less",
3554
+ sectionId: options.sectionId,
3555
+ sectionLabel: options.sectionLabel,
3556
+ remainingCount: 0
3557
+ }
3558
+ };
3559
+ }
3560
+ const visibleSessions = sessions.slice(0, limit);
3561
+ if (options.revealSessionId !== undefined) {
3562
+ const revealIndex = sessions.findIndex(session => session.sessionId === options.revealSessionId);
3563
+ if (revealIndex >= limit) {
3564
+ visibleSessions.push(sessions[revealIndex]);
3565
+ }
3566
+ }
3567
+ const remainingCount = sessions.length - visibleSessions.length;
3568
+ return {
3569
+ sessions: visibleSessions,
3570
+ showMore: remainingCount > 0 ? {
3571
+ showMore: true,
3572
+ kind: "sessions",
3573
+ mode: "more",
3574
+ sectionId: options.sectionId,
3575
+ sectionLabel: options.sectionLabel,
3576
+ remainingCount
3577
+ } : undefined
3578
+ };
3579
+ }
3580
+ function defaultSortKey(session, sorting) {
3581
+ if (sorting === SessionsSorting.Updated) {
3582
+ return session.updatedAt.get().getTime();
3583
+ }
3584
+ return session.createdAt.getTime();
3585
+ }
3586
+ function computeReorderSortChanges(input) {
3587
+ const {
3588
+ draggedIds,
3589
+ naturalKeys,
3590
+ aboveKey,
3591
+ belowKey,
3592
+ now,
3593
+ fallbackStep
3594
+ } = input;
3595
+ const count = draggedIds.length;
3596
+ const upperFit = aboveKey ?? Number.POSITIVE_INFINITY;
3597
+ const lowerFit = belowKey ?? Number.NEGATIVE_INFINITY;
3598
+ let naturalFits = true;
3599
+ for (let i = 0; i < count; i++) {
3600
+ if (!(naturalKeys[i] < upperFit && naturalKeys[i] > lowerFit)) {
3601
+ naturalFits = false;
3602
+ break;
3603
+ }
3604
+ if (i > 0 && !(naturalKeys[i] < naturalKeys[i - 1])) {
3605
+ naturalFits = false;
3606
+ break;
3607
+ }
3608
+ }
3609
+ const set = ( new Map());
3610
+ const clear = [];
3611
+ if (naturalFits) {
3612
+ for (const id of draggedIds) {
3613
+ clear.push(id);
3614
+ }
3615
+ } else {
3616
+ const upper = aboveKey ?? now;
3617
+ const lower = belowKey ?? (upper - (count + 1) * fallbackStep);
3618
+ const step = (upper - lower) / (count + 1);
3619
+ for (let i = 0; i < count; i++) {
3620
+ set.set(draggedIds[i], upper - (i + 1) * step);
3621
+ }
3622
+ }
3623
+ return {
3624
+ set,
3625
+ clear
3626
+ };
3627
+ }
3628
+ const QUICK_CHATS_SECTION_ID = "quickchats";
3629
+ function isQuickChatSession(session) {
3630
+ return session.isQuickChat?.get() ?? false;
3631
+ }
3632
+ function isAutomationSession(session) {
3633
+ return session.isAutomation?.get() ?? false;
3634
+ }
3635
+ function groupSessionsForList(
3636
+ sessions,
3637
+ grouping,
3638
+ sorting,
3639
+ isSessionPinned,
3640
+ getSortKey,
3641
+ archivedSectionLabel = getChatSessionArchivedSectionLabel(ChatSessionArchiveActionWording.MarkAsDone)
3642
+ ) {
3643
+ const sorted = sortSessions(
3644
+ sessions.filter(session => !isAutomationSession(session)),
3645
+ sorting,
3646
+ getSortKey
3647
+ );
3648
+ const pinned = [];
3649
+ const archived = [];
3650
+ const quickChats = [];
3651
+ const regular = [];
3652
+ for (const session of sorted) {
3653
+ if (session.isArchived.get()) {
3654
+ archived.push(session);
3655
+ } else if (isSessionPinned(session)) {
3656
+ pinned.push(session);
3657
+ } else if (isQuickChatSession(session)) {
3658
+ quickChats.push(session);
3659
+ } else {
3660
+ regular.push(session);
3661
+ }
3662
+ }
3663
+ const sections = [];
3664
+ if (pinned.length > 0) {
3665
+ sections.push({
3666
+ id: "pinned",
3667
+ label: ( localize(4829, "Pinned")),
3668
+ sessions: pinned
3669
+ });
3670
+ }
3671
+ if (quickChats.length > 0) {
3672
+ sections.push({
3673
+ id: QUICK_CHATS_SECTION_ID,
3674
+ label: ( localize(4816, "Chats")),
3675
+ sessions: quickChats
3676
+ });
3677
+ }
3678
+ sections.push(
3679
+ ...(grouping === SessionsGrouping.Workspace ? groupByWorkspace(regular) : groupByDate(regular, sorting, getSortKey))
3680
+ );
3681
+ if (archived.length > 0) {
3682
+ sections.push({
3683
+ id: "archived",
3684
+ label: archivedSectionLabel,
3685
+ sessions: archived
3686
+ });
3687
+ }
3688
+ return sections;
3689
+ }
3690
+ function sessionWorkspaceLabel(session) {
3691
+ return session.workspace.get()?.label || ( localize(4830, "Unknown"));
3692
+ }
3693
+ function groupByWorkspace(sessions) {
3694
+ const groups = ( new Map());
3695
+ for (const session of sessions) {
3696
+ const label = sessionWorkspaceLabel(session);
3697
+ let group = groups.get(label);
3698
+ if (!group) {
3699
+ group = [];
3700
+ groups.set(label, group);
3701
+ }
3702
+ group.push(session);
3703
+ }
3704
+ const unknownWorkspaceLabel = ( localize(4830, "Unknown"));
3705
+ const order = [...( groups.keys())].filter(k => k !== unknownWorkspaceLabel).sort((a, b) => a.localeCompare(b));
3706
+ const result = order.map(label => ({
3707
+ id: `workspace:${label}`,
3708
+ label,
3709
+ sessions: groups.get(label)
3710
+ }));
3711
+ const unknownWorkspace = groups.get(unknownWorkspaceLabel);
3712
+ if (unknownWorkspace) {
3713
+ result.push({
3714
+ id: `workspace:${unknownWorkspaceLabel}`,
3715
+ label: unknownWorkspaceLabel,
3716
+ sessions: unknownWorkspace
3717
+ });
3718
+ }
3719
+ return result;
3720
+ }
3721
+ const RECENT_SESSIONS_LIMIT = 10;
3722
+ const RECENT_SESSIONS_LIMIT_WITH_UPDATES = 15;
3723
+ const RECENTLY_UPDATED_SESSION_THRESHOLD_MS = 24 * 60 * 60 * 1000;
3724
+ function groupByDate(sessions, sorting, getSortKey) {
3725
+ const key = getSortKey ?? defaultSortKey;
3726
+ const now = ( new Date());
3727
+ const startOfToday = ( new Date(now.getFullYear(), now.getMonth(), now.getDate())).getTime();
3728
+ const startOfWeek = startOfToday - 7 * 86_400_000;
3729
+ const recentlyUpdatedThreshold = now.getTime() - RECENTLY_UPDATED_SESSION_THRESHOLD_MS;
3730
+ const recent = [];
3731
+ const older = [];
3732
+ for (const session of sessions) {
3733
+ const time = key(session, sorting);
3734
+ const wasRecentlyUpdated = sorting === SessionsSorting.Created && session.updatedAt.get().getTime() >= recentlyUpdatedThreshold;
3735
+ const isWithinRecentLimit = recent.length < RECENT_SESSIONS_LIMIT && time >= startOfWeek;
3736
+ const isWithinUpdatedRecentLimit = recent.length < RECENT_SESSIONS_LIMIT_WITH_UPDATES && wasRecentlyUpdated;
3737
+ if (isWithinRecentLimit || isWithinUpdatedRecentLimit) {
3738
+ recent.push(session);
3739
+ } else {
3740
+ older.push(session);
3741
+ }
3742
+ }
3743
+ const sections = [];
3744
+ const addGroup = (id, label, groupSessions) => {
3745
+ if (groupSessions.length > 0) {
3746
+ sections.push({
3747
+ id,
3748
+ label,
3749
+ sessions: groupSessions
3750
+ });
3751
+ }
3752
+ };
3753
+ addGroup("recent", ( localize(4831, "Recent")), recent);
3754
+ addGroup("older", ( localize(4832, "Older")), older);
3755
+ return sections;
3756
+ }
3757
+ let SessionsFlatList = class SessionsFlatList extends Disposable {
3758
+ static {
3759
+ SessionsFlatList_1 = this;
3760
+ }
3761
+ static {
3762
+ this.ROW_HEIGHT = 54;
3763
+ }
3764
+ constructor(
3765
+ container,
3766
+ options,
3767
+ _sessionsService,
3768
+ _sessionsListModelService,
3769
+ _sessionsManagementService,
3770
+ instantiationService,
3771
+ contextKeyService,
3772
+ markdownRendererService,
3773
+ hoverService,
3774
+ menuService,
3775
+ contextMenuService,
3776
+ keybindingService,
3777
+ configurationService,
3778
+ sessionsProvidersService,
3779
+ voicePlaybackService,
3780
+ agentHostConnectionsService,
3781
+ openerService,
3782
+ labelService,
3783
+ preferencesService
3784
+ ) {
3785
+ super();
3786
+ this.options = options;
3787
+ this._sessionsService = _sessionsService;
3788
+ this._sessionsListModelService = _sessionsListModelService;
3789
+ this._sessionsManagementService = _sessionsManagementService;
3790
+ this.contextKeyService = contextKeyService;
3791
+ this.menuService = menuService;
3792
+ this.contextMenuService = contextMenuService;
3793
+ this.keybindingService = keybindingService;
3794
+ this._onDidChangeContentHeight = this._register(( new Emitter()));
3795
+ this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
3796
+ this._onDidApproveSession = this._register(( new Emitter()));
3797
+ this.onDidApproveSession = this._onDidApproveSession.event;
3798
+ this._sessions = [];
3799
+ const listRoot = append(container, $(".sessions-list-control"));
3800
+ const approvalModel = this.options.approvalModel ?? this._register(instantiationService.createInstance(AgentSessionApprovalModel));
3801
+ const agentSessionsService = instantiationService.invokeFunction(accessor => accessor.get(IAgentSessionsService));
3802
+ const useCompactQuickChatRows = this.options.useCompactQuickChatRows ?? true;
3803
+ const sessionRenderer = ( new SessionItemRenderer({
3804
+ grouping: () => SessionsGrouping.Date,
3805
+ isPinned: s => this._sessionsListModelService.isSessionPinned(s),
3806
+ visibleSessions: this._sessionsService.visibleSessions,
3807
+ getMultiSelectedSessions: s => [s],
3808
+ showHover: this.options.showSessionHover ?? true,
3809
+ useCompactQuickChatRows,
3810
+ approvalRowMaxLines: this.options.approvalRowMaxLines ?? DEFAULT_APPROVAL_ROW_MAX_LINES,
3811
+ aggregateChatApprovals: true,
3812
+ toolbarMenuId: this.options.toolbarMenuId ?? SessionItemToolbarMenuId,
3813
+ handleToolbarAction: this.options.onToolbarAction
3814
+ }, approvalModel, this.options.ciFixModel, instantiationService, contextKeyService, configurationService, markdownRendererService, hoverService, sessionsProvidersService, this._sessionsManagementService, agentHostConnectionsService, openerService, labelService, preferencesService, agentSessionsService, voicePlaybackService));
3815
+ this._delegate = ( new SessionsTreeDelegate(
3816
+ approvalModel,
3817
+ () => false,
3818
+ this.options.approvalRowMaxLines ?? DEFAULT_APPROVAL_ROW_MAX_LINES,
3819
+ this.options.ciFixModel,
3820
+ useCompactQuickChatRows,
3821
+ true
3822
+ ));
3823
+ this.tree = this._register(instantiationService.createInstance(
3824
+ WorkbenchObjectTree,
3825
+ "SessionsFlatList",
3826
+ listRoot,
3827
+ this._delegate,
3828
+ [sessionRenderer],
3829
+ {
3830
+ accessibilityProvider: ( new SessionsAccessibilityProvider(undefined, {
3831
+ grouping: () => SessionsGrouping.Date,
3832
+ isPinned: session => this._sessionsListModelService.isSessionPinned(session),
3833
+ includeQuickChatInAriaLabel: !useCompactQuickChatRows
3834
+ })),
3835
+ identityProvider: {
3836
+ getId: element => ( element.resource.toString())
3837
+ },
3838
+ horizontalScrolling: false,
3839
+ alwaysConsumeMouseWheel: this.options.alwaysConsumeMouseWheel ?? true,
3840
+ multipleSelectionSupport: false,
3841
+ indent: 0,
3842
+ overrideStyles: this.options.overrideStyles,
3843
+ renderIndentGuides: RenderIndentGuides.None,
3844
+ twistieAdditionalCssClass: () => "force-no-twistie"
3845
+ }
3846
+ ));
3847
+ this._register(this.tree.onDidOpen(e => {
3848
+ const element = e.element;
3849
+ if (!element || !isSessionItem(element)) {
3850
+ return;
3851
+ }
3852
+ if (this.options.markSessionReadOnOpen !== false) {
3853
+ this._sessionsManagementService.markRead(element);
3854
+ }
3855
+ const isLeftClick = isMouseEvent(e.browserEvent) && e.browserEvent.button === 0;
3856
+ const preserveFocus = isLeftClick ? false : (e.editorOptions.preserveFocus ?? false);
3857
+ this.options.onSessionOpen(element.resource, preserveFocus, e.sideBySide);
3858
+ }));
3859
+ if (this.options.contextMenuId) {
3860
+ this._register(this.tree.onContextMenu(e => this.onContextMenu(e)));
3861
+ }
3862
+ this._register(sessionRenderer.onDidChangeItemHeight(session => {
3863
+ if (this.tree.hasElement(session)) {
3864
+ this.tree.updateElementHeight(session, this._delegate.getHeight(session));
3865
+ this._onDidChangeContentHeight.fire();
3866
+ }
3867
+ }));
3868
+ this._register(
3869
+ sessionRenderer.onDidApproveSession(approved => this._onDidApproveSession.fire(approved))
3870
+ );
3871
+ }
3872
+ onContextMenu(e) {
3873
+ const session = e.element;
3874
+ if (!session || !isSessionItem(session) || !this.options.contextMenuId) {
3875
+ return;
3876
+ }
3877
+ const disposables = ( new DisposableStore());
3878
+ const contextKeyService = this.contextKeyService.createOverlay([
3879
+ [SessionIsArchivedContext.key, session.isArchived.get()],
3880
+ [SessionIsReadContext.key, session.isRead.get()],
3881
+ [SessionTypeContext.key, session.sessionType],
3882
+ [SessionProviderIdContext.key, session.providerId],
3883
+ [
3884
+ SessionSupportsRenameContext.key,
3885
+ session.capabilities.get().supportsRename ?? false
3886
+ ],
3887
+ [
3888
+ SessionSupportsDeleteContext.key,
3889
+ session.capabilities.get().supportsDelete ?? false
3890
+ ],
3891
+ [SessionItemStatusContext.key, session.status.get()]
3892
+ ]);
3893
+ const menu = disposables.add(this.menuService.createMenu(this.options.contextMenuId, contextKeyService));
3894
+ const actions = Separator.join(...menu.getActions({
3895
+ shouldForwardArgs: true
3896
+ }).map(([, groupActions]) => groupActions));
3897
+ if (actions.length === 0) {
3898
+ disposables.dispose();
3899
+ return;
3900
+ }
3901
+ const actionRunner = disposables.add(( new SessionItemActionRunner(selected => [selected], this.options.onContextMenuAction)));
3902
+ this.contextMenuService.showContextMenu({
3903
+ getActions: () => actions,
3904
+ getActionsContext: () => session,
3905
+ getAnchor: () => e.anchor,
3906
+ getKeyBinding: action => this.keybindingService.lookupKeybinding(action.id, contextKeyService, true) ?? undefined,
3907
+ actionRunner,
3908
+ onHide: () => disposables.dispose()
3909
+ });
3910
+ }
3911
+ setSessions(sessions) {
3912
+ this._sessions = sessions;
3913
+ this.tree.setChildren(null, sessions.map(session => ({
3914
+ element: session
3915
+ })));
3916
+ }
3917
+ getContentHeight() {
3918
+ return this._sessions.reduce((total, session) => total + this._delegate.getHeight(session), 0);
3919
+ }
3920
+ getRowHeight() {
3921
+ return SessionsFlatList_1.ROW_HEIGHT;
3922
+ }
3923
+ layout(height, width) {
3924
+ this.tree.layout(height, width);
3925
+ }
3926
+ focus() {
3927
+ this.tree.domFocus();
3928
+ }
3929
+ focusSession(session) {
3930
+ if (!this.tree.hasElement(session)) {
3931
+ return;
3932
+ }
3933
+ this.tree.setFocus([session]);
3934
+ this.tree.domFocus();
3935
+ }
3936
+ };
3937
+ SessionsFlatList = SessionsFlatList_1 = ( __decorate([( __param(2, ISessionsService)), ( __param(3, ISessionsListModelService)), ( __param(4, ISessionsManagementService)), ( __param(5, IInstantiationService)), ( __param(6, IContextKeyService)), ( __param(7, IMarkdownRendererService)), ( __param(8, IHoverService)), ( __param(9, IMenuService)), ( __param(10, IContextMenuService)), ( __param(11, IKeybindingService)), ( __param(12, IConfigurationService)), ( __param(13, ISessionsProvidersService)), ( __param(14, IVoicePlaybackService)), ( __param(15, IAgentHostConnectionsService)), ( __param(16, IOpenerService)), ( __param(17, ILabelService)), ( __param(18, IPreferencesService))], SessionsFlatList));
3938
+
3939
+ export { IsSessionPinnedContext, NEW_SESSION_FOR_WORKSPACE_ACTION_ID, QUICK_CHATS_SECTION_ID, SESSIONS_LIST_SHOW_EMPTY_DEFAULT_GROUPS_SETTING, SessionChatItem, SessionChatItemCanDeleteContext, SessionChatItemCanRenameContext, SessionChatItemIsUntitledContext, SessionGroupHasVisibleSessionsContext, SessionGroupIsEmptyContext, SessionGroupToolbarMenuId, SessionItemContextMenuId, SessionItemHasBranchNameContext, SessionItemInGroupContext, SessionItemStatusContext, SessionItemToolbarMenuId, SessionSectionHasGitHubRepositoryContext, SessionSectionHasNonCloudRepositoryContext, SessionSectionRenderer, SessionSectionToolbarMenuId, SessionSectionTypeContext, SessionsFlatList, SessionsGrouping, SessionsList, SessionsListFocusedChatItemContext, SessionsSorting, computeReorderSortChanges, getFirstApprovalAcrossChats, getSessionArchiveOnboardingTargetId, groupByDate, groupByWorkspace, groupSessionsForList, isAutomationSession, isQuickChatSession, limitSessionsForList, sortSessions };