@codingame/monaco-vscode-api 31.0.1 → 32.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (975) hide show
  1. package/external/@vscode/tree-sitter-wasm/wasm/tree-sitter.js +14 -14
  2. package/external/vscode-semver/semver.js +43 -43
  3. package/external/vscode-textmate/release/main.js +1 -1
  4. package/missing-services.js +143 -47
  5. package/package.json +9 -9
  6. package/services.js +3 -3
  7. package/vscode/product.json.js +1 -1
  8. package/vscode/src/vs/base/browser/animatedValue.d.ts +49 -0
  9. package/vscode/src/vs/{editor/contrib/inlineCompletions/browser/model/animation.js → base/browser/animatedValue.js} +32 -23
  10. package/vscode/src/vs/base/browser/dom.d.ts +42 -2
  11. package/vscode/src/vs/base/browser/dom.js +28 -3
  12. package/vscode/src/vs/base/browser/mouseEvent.js +2 -8
  13. package/vscode/src/vs/base/browser/overlayLayoutElement.d.ts +9 -6
  14. package/vscode/src/vs/base/browser/overlayLayoutElement.js +55 -90
  15. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +3 -2
  16. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +11 -20
  17. package/vscode/src/vs/base/browser/ui/button/button.d.ts +7 -0
  18. package/vscode/src/vs/base/browser/ui/button/button.js +15 -0
  19. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  20. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.d.ts +0 -1
  21. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +0 -3
  22. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +1 -1
  23. package/vscode/src/vs/base/common/async.d.ts +2 -0
  24. package/vscode/src/vs/base/common/async.js +8 -2
  25. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  26. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +3 -0
  27. package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
  28. package/vscode/src/vs/base/common/event.d.ts +9 -3
  29. package/vscode/src/vs/base/common/event.js +12 -7
  30. package/vscode/src/vs/base/common/filters.js +31 -6
  31. package/vscode/src/vs/base/common/htmlContent.d.ts +9 -0
  32. package/vscode/src/vs/base/common/network.js +2 -2
  33. package/vscode/src/vs/base/common/objects.d.ts +13 -0
  34. package/vscode/src/vs/base/common/objects.js +33 -1
  35. package/vscode/src/vs/base/common/observableInternal/index.d.ts +2 -2
  36. package/vscode/src/vs/base/common/observableInternal/reactions/autorun.d.ts +26 -0
  37. package/vscode/src/vs/base/common/observableInternal/reactions/autorun.js +24 -1
  38. package/vscode/src/vs/base/common/observableInternal/utils/promise.d.ts +13 -0
  39. package/vscode/src/vs/base/common/observableInternal/utils/promise.js +23 -1
  40. package/vscode/src/vs/base/common/paging.js +2 -66
  41. package/vscode/src/vs/base/common/platform.d.ts +0 -1
  42. package/vscode/src/vs/base/common/policy.d.ts +12 -1
  43. package/vscode/src/vs/base/common/product.d.ts +8 -6
  44. package/vscode/src/vs/base/common/resources.js +2 -2
  45. package/vscode/src/vs/base/common/yaml.d.ts +24 -0
  46. package/vscode/src/vs/base/common/yaml.js +6 -1
  47. package/vscode/src/vs/base/parts/ipc/common/ipc.net.d.ts +14 -1
  48. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +29 -1
  49. package/vscode/src/vs/base/parts/storage/common/storage.d.ts +13 -0
  50. package/vscode/src/vs/base/parts/storage/common/storage.js +48 -2
  51. package/vscode/src/vs/editor/browser/config/elementSizeObserver.js +1 -1
  52. package/vscode/src/vs/editor/browser/controller/mouseHandler.d.ts +0 -1
  53. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +0 -3
  54. package/vscode/src/vs/editor/browser/editorDom.d.ts +6 -3
  55. package/vscode/src/vs/editor/browser/editorDom.js +9 -2
  56. package/vscode/src/vs/editor/browser/observableCodeEditor.js +1 -1
  57. package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +0 -1
  58. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +0 -3
  59. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.d.ts +1 -0
  60. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +56 -9
  61. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.d.ts +0 -1
  62. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +0 -3
  63. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.d.ts +0 -1
  64. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +0 -3
  65. package/vscode/src/vs/editor/browser/viewParts/margin/margin.d.ts +0 -1
  66. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +0 -3
  67. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.d.ts +0 -1
  68. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +0 -3
  69. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.d.ts +0 -1
  70. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +0 -3
  71. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +2 -2
  72. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  73. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +12 -12
  74. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  75. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +4 -4
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +12 -6
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +4 -4
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +1 -1
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +1 -1
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +5 -1
  84. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
  85. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +1 -1
  86. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.d.ts +5 -3
  87. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +41 -13
  88. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +1 -1
  89. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +73 -55
  90. package/vscode/src/vs/editor/common/config/editorOptions.js +371 -370
  91. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +72 -72
  92. package/vscode/src/vs/editor/common/editorContextKeys.js +49 -49
  93. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  94. package/vscode/src/vs/editor/common/languages.js +56 -56
  95. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  96. package/vscode/src/vs/editor/common/services/languageService.js +2 -1
  97. package/vscode/src/vs/editor/common/standaloneStrings.js +50 -50
  98. package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +0 -1
  99. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +0 -3
  100. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  101. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  102. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  103. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  104. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  105. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  106. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  107. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +18 -18
  108. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  109. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  110. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  111. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  112. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  113. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  114. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  117. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  118. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +13 -13
  119. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  122. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +5 -5
  123. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  124. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  125. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  126. package/vscode/src/vs/editor/contrib/find/browser/findController.js +17 -17
  127. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +28 -28
  128. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  129. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  130. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  131. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  132. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  133. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +13 -13
  134. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +33 -33
  135. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  136. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  137. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  138. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  139. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  140. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  141. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  142. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  143. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  144. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  145. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +22 -22
  146. package/vscode/src/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  147. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +7 -7
  148. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  149. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  150. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +18 -18
  151. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -5
  152. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  153. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  154. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  155. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  156. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +4 -4
  157. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +3 -4
  158. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +2 -2
  159. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  160. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +2 -2
  161. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +9 -3
  162. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  163. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +1 -1
  164. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  165. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  166. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  167. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  168. package/vscode/src/vs/editor/contrib/links/browser/links.js +6 -6
  169. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  170. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +1 -1
  171. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  172. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  173. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  174. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  175. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  176. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  177. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +11 -11
  178. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  179. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  180. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  181. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  182. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  183. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  184. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +1 -1
  185. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +1 -0
  186. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +39 -24
  187. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.d.ts +1 -0
  188. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +36 -24
  189. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  190. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  191. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
  192. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  193. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  194. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  195. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  196. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  197. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  198. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  199. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  200. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  201. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  202. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  203. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  204. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  205. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.d.ts +0 -2
  206. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +0 -6
  207. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +5 -0
  208. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  209. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  210. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +52 -10
  211. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +242 -90
  212. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +97 -23
  213. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +15 -12
  214. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +3 -3
  215. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  216. package/vscode/src/vs/platform/actions/common/actions.d.ts +6 -3
  217. package/vscode/src/vs/platform/actions/common/actions.js +18 -9
  218. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  219. package/vscode/src/vs/platform/actions/common/menuService.d.ts +2 -1
  220. package/vscode/src/vs/platform/actions/common/menuService.js +6 -5
  221. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.d.ts +21 -18
  222. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.js +11 -0
  223. package/vscode/src/vs/platform/agentHost/browser/nullSshRemoteAgentHostService.d.ts +3 -0
  224. package/vscode/src/vs/platform/agentHost/browser/nullSshRemoteAgentHostService.js +6 -0
  225. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.service.d.ts +47 -0
  226. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.service.js +6 -0
  227. package/vscode/src/vs/platform/agentHost/common/agentHostUri.js +1 -1
  228. package/vscode/src/vs/platform/agentHost/common/agentPluginManager.d.ts +2 -2
  229. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +63 -22
  230. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.d.ts +56 -6
  231. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.js +49 -4
  232. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.d.ts +12 -1
  233. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.d.ts +2 -0
  234. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.d.ts +21 -1
  235. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +14 -10
  236. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +957 -0
  237. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +18 -0
  238. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +135 -71
  239. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +1673 -0
  240. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.js +126 -0
  241. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
  242. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +22 -0
  243. package/vscode/src/vs/platform/browserView/common/browserView.d.ts +67 -38
  244. package/vscode/src/vs/platform/browserView/common/browserView.js +57 -0
  245. package/vscode/src/vs/platform/browserView/common/browserViewTelemetry.d.ts +2 -1
  246. package/vscode/src/vs/platform/browserView/common/playwrightService.service.d.ts +24 -7
  247. package/vscode/src/vs/platform/browserView/common/playwrightService.service.js +6 -0
  248. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +14 -0
  249. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
  250. package/vscode/src/vs/platform/configuration/common/configurations.d.ts +2 -0
  251. package/vscode/src/vs/platform/configuration/common/configurations.js +8 -3
  252. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +2 -1
  253. package/vscode/src/vs/platform/contextkey/common/contextkey.js +10 -10
  254. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  255. package/vscode/src/vs/platform/contextkey/common/scanner.js +6 -6
  256. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +1 -1
  257. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +2 -1
  258. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  259. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  260. package/vscode/src/vs/platform/editor/common/editor.d.ts +11 -0
  261. package/vscode/src/vs/platform/environment/common/argv.d.ts +4 -1
  262. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -0
  263. package/vscode/src/vs/platform/environment/common/environmentService.d.ts +1 -1
  264. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
  265. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  266. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  267. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  268. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
  269. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +18 -0
  270. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +19 -1
  271. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  272. package/vscode/src/vs/platform/files/common/files.js +6 -6
  273. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  274. package/vscode/src/vs/platform/hover/browser/hoverService.js +15 -9
  275. package/vscode/src/vs/platform/hover/browser/hoverWidget.d.ts +1 -0
  276. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +21 -4
  277. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  278. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.d.ts +0 -1
  279. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -8
  280. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  281. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  282. package/vscode/src/vs/platform/list/browser/listService.js +25 -25
  283. package/vscode/src/vs/platform/log/common/log.d.ts +7 -0
  284. package/vscode/src/vs/platform/log/common/log.js +38 -17
  285. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  286. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  287. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +1 -1
  288. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +5 -5
  289. package/vscode/src/vs/platform/native/common/native.d.ts +2 -9
  290. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.d.ts +5 -3
  291. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  292. package/vscode/src/vs/platform/policy/common/policy.d.ts +8 -1
  293. package/vscode/src/vs/platform/product/common/product.js +3 -3
  294. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +1 -1
  295. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  296. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  297. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +6 -6
  298. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +1 -1
  299. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  300. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
  301. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  302. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  303. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +1 -1
  304. package/vscode/src/vs/platform/request/common/request.js +20 -20
  305. package/vscode/src/vs/platform/sandbox/common/settings.d.ts +5 -1
  306. package/vscode/src/vs/platform/sandbox/common/settings.js +4 -0
  307. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.service.d.ts +8 -2
  308. package/vscode/src/vs/platform/storage/common/storage.d.ts +13 -1
  309. package/vscode/src/vs/platform/storage/common/storage.js +48 -0
  310. package/vscode/src/vs/platform/storage/common/storage.service.d.ts +2 -1
  311. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +5 -0
  312. package/vscode/src/vs/platform/telemetry/common/telemetry.js +4 -1
  313. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  314. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +3 -0
  315. package/vscode/src/vs/platform/terminal/common/terminal.js +3 -0
  316. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +97 -31
  317. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
  318. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +6 -0
  319. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  320. package/vscode/src/vs/platform/theme/common/colors/baseColors.d.ts +1 -0
  321. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +27 -18
  322. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  323. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  324. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +48 -48
  325. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  326. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  327. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  328. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
  329. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.d.ts +1 -0
  330. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +18 -10
  331. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  332. package/vscode/src/vs/platform/theme/common/iconRegistry.js +7 -7
  333. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +11 -11
  334. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  335. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  336. package/vscode/src/vs/platform/url/common/trustedDomains.d.ts +1 -0
  337. package/vscode/src/vs/platform/url/common/trustedDomains.js +2 -2
  338. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +26 -2
  339. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +35 -31
  340. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.service.d.ts +3 -2
  341. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  342. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +37 -11
  343. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
  344. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
  345. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +2 -0
  346. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  347. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  348. package/vscode/src/vs/platform/webWorker/browser/webWorkerServiceImpl.d.ts +1 -1
  349. package/vscode/src/vs/platform/workspace/common/workspace.d.ts +7 -1
  350. package/vscode/src/vs/platform/workspace/common/workspace.js +9 -3
  351. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
  352. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +61 -4
  353. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +86 -5
  354. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +11 -1
  355. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -5
  356. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +29 -9
  357. package/vscode/src/vs/workbench/api/common/extHostChatDebug.js +7 -0
  358. package/vscode/src/vs/workbench/api/common/extHostChatInputNotification.d.ts +9 -0
  359. package/vscode/src/vs/workbench/api/common/extHostChatInputNotification.js +114 -0
  360. package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +2 -0
  361. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +89 -16
  362. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +3 -0
  363. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +139 -8
  364. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  365. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +2 -2
  366. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  367. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.js +3 -3
  368. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
  369. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -1
  370. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +11 -2
  371. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  372. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  373. package/vscode/src/vs/workbench/api/common/extHostSCM.js +20 -0
  374. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  375. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  376. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  377. package/vscode/src/vs/workbench/api/common/extHostTreeViews.d.ts +1 -1
  378. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  379. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +5 -1
  380. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +20 -3
  381. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +14 -0
  382. package/vscode/src/vs/workbench/api/common/extHostTypes.js +17 -1
  383. package/vscode/src/vs/workbench/api/common/extHostWebview.d.ts +11 -0
  384. package/vscode/src/vs/workbench/api/common/extHostWebview.js +9 -0
  385. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  386. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
  387. package/vscode/src/vs/workbench/browser/actions/developerActions.js +59 -35
  388. package/vscode/src/vs/workbench/browser/actions/layoutActions.d.ts +1 -2
  389. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +141 -188
  390. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  391. package/vscode/src/vs/workbench/browser/actions/windowActions.js +34 -34
  392. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +32 -32
  393. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  394. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  395. package/vscode/src/vs/workbench/browser/labels.js +4 -4
  396. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +23 -23
  397. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +26 -26
  398. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +4 -4
  399. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  400. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +9 -9
  401. package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
  402. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +1 -1
  403. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +3 -3
  404. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  405. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  406. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +41 -38
  407. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -12
  408. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
  409. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +32 -14
  410. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.d.ts +2 -0
  411. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +160 -137
  412. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +56 -36
  413. package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +2 -1
  414. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +1 -1
  415. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +9 -8
  416. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +12 -12
  417. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  418. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +28 -3
  419. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +1 -1
  420. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
  421. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
  422. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
  423. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.d.ts +9 -0
  424. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +80 -4
  425. package/vscode/src/vs/workbench/browser/parts/editor/media/modalEditorPart.css +4 -0
  426. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css +15 -7
  427. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.d.ts +3 -1
  428. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +62 -31
  429. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.d.ts +1 -0
  430. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +12 -3
  431. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.d.ts +1 -0
  432. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +6 -0
  433. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  434. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.d.ts +1 -0
  435. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +6 -0
  436. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  437. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  438. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  439. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +19 -19
  440. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +22 -22
  441. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  442. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +6 -6
  443. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +13 -13
  444. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
  445. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
  446. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +2 -2
  447. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
  448. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +4 -4
  449. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +3 -3
  450. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +27 -27
  451. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +3 -3
  452. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +2 -2
  453. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
  454. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +12 -85
  455. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.d.ts +7 -0
  456. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +17 -16
  457. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
  458. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  459. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -7
  460. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +4 -4
  461. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +5 -5
  462. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
  463. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  464. package/vscode/src/vs/workbench/browser/window.js +15 -14
  465. package/vscode/src/vs/workbench/browser/workbench.contribution.js +332 -317
  466. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  467. package/vscode/src/vs/workbench/common/contextkeys.d.ts +3 -0
  468. package/vscode/src/vs/workbench/common/contextkeys.js +91 -83
  469. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  470. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +2 -1
  471. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  472. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  473. package/vscode/src/vs/workbench/common/editor.d.ts +8 -0
  474. package/vscode/src/vs/workbench/common/editor.js +4 -4
  475. package/vscode/src/vs/workbench/common/memento.d.ts +1 -0
  476. package/vscode/src/vs/workbench/common/memento.js +19 -0
  477. package/vscode/src/vs/workbench/common/theme.js +161 -161
  478. package/vscode/src/vs/workbench/common/views.d.ts +9 -9
  479. package/vscode/src/vs/workbench/common/views.js +11 -11
  480. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.d.ts +2 -1
  481. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -156
  482. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  483. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.d.ts +25 -5
  484. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.js +63 -39
  485. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.d.ts +39 -33
  486. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.js +454 -0
  487. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.service.d.ts +20 -10
  488. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +97 -67
  489. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service.d.ts +2 -1
  490. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +4 -8
  491. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +14 -16
  492. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.d.ts +17 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +36 -2
  494. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +129 -0
  495. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.service.d.ts +51 -0
  496. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.service.js +6 -0
  497. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +3 -4
  498. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +20 -5
  499. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service.d.ts +2 -1
  500. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  501. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +8 -0
  502. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +6 -4
  503. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  504. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +2 -2
  505. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +13 -1
  506. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +103 -67
  507. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -3
  508. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.service.d.ts +26 -0
  509. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.service.js +6 -0
  510. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service.d.ts +17 -0
  511. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.service.js +6 -0
  512. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service.d.ts +31 -0
  513. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service.js +6 -0
  514. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service.d.ts +36 -0
  515. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service.js +6 -0
  516. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
  517. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +3 -0
  518. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +94 -85
  519. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +14 -1
  520. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +6 -3
  521. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariables.d.ts +7 -0
  522. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +4 -0
  523. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +26 -30
  524. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +94 -54
  525. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.service.d.ts +14 -9
  526. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +49 -4
  527. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +129 -3
  528. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.js +15 -2
  529. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +23 -1
  530. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +14 -2
  531. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +15 -3
  532. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +64 -49
  533. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +162 -45
  534. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.service.d.ts +38 -1
  535. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  536. package/vscode/src/vs/workbench/contrib/chat/common/enablement.d.ts +3 -3
  537. package/vscode/src/vs/workbench/contrib/chat/common/enablement.js +11 -11
  538. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  539. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +6 -7
  540. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +42 -122
  541. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +7 -1
  542. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +17 -2
  543. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +48 -13
  544. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart.d.ts +8 -1
  545. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart.js +2 -1
  546. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatPlanReviewData.d.ts +2 -0
  547. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatPlanReviewData.js +9 -0
  548. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.d.ts +5 -0
  549. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.js +13 -0
  550. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +1 -1
  551. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +7 -1
  552. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +1 -1
  553. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service.d.ts +1 -1
  554. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +50 -0
  555. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +32 -0
  556. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.service.d.ts +1 -1
  557. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginGitService.service.d.ts +17 -1
  558. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service.d.ts +11 -0
  559. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +100 -39
  560. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +0 -4
  561. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +1 -2
  562. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +12 -3
  563. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +20 -16
  564. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +50 -0
  565. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +77 -0
  566. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +77 -0
  567. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +120 -0
  568. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +10 -0
  569. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +23 -0
  570. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +18 -18
  571. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +20 -20
  572. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +91 -77
  573. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +2 -0
  574. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +4 -0
  575. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +5 -0
  576. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +29 -1
  577. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +5 -18
  578. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +1 -4
  579. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +1 -1
  580. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +234 -0
  581. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +1686 -0
  582. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +191 -0
  583. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +734 -0
  584. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.d.ts +2 -1
  585. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.js +6 -3
  586. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.d.ts +1 -0
  587. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +14 -3
  588. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.d.ts +4 -2
  589. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +55 -36
  590. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +6 -1
  591. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +10 -10
  592. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +7 -7
  593. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +3 -3
  594. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +3 -3
  595. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +4 -4
  596. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.d.ts +6 -0
  597. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  598. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +25 -5
  599. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +3 -3
  600. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +39 -0
  601. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service.d.ts +12 -0
  602. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service.js +6 -0
  603. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
  604. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  605. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  606. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  607. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  608. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
  609. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  610. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  611. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  612. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  613. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  614. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  615. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  616. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +12 -12
  617. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  618. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  619. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  620. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  621. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
  622. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  623. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  624. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  625. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  626. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  627. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  628. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.d.ts +2 -1
  629. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +22 -13
  630. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  631. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  632. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  633. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  634. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  635. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  636. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.d.ts +101 -0
  637. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.js +428 -0
  638. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.d.ts +1 -0
  639. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +7 -13
  640. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  641. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  642. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +22 -15
  643. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +91 -76
  644. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  645. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +17 -15
  646. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  647. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  648. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  649. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  650. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  651. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  652. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  653. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  654. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +26 -21
  655. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  656. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  657. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  658. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  659. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
  660. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  661. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  662. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  663. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  664. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  665. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  666. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.d.ts +7 -0
  667. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service.d.ts +2 -1
  668. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.d.ts +11 -0
  669. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +181 -181
  670. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -25
  671. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  672. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +30 -30
  673. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  674. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -1
  675. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  676. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  677. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  678. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  679. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  680. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  681. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  682. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  683. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  684. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +49 -49
  685. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +94 -89
  686. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  687. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  688. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  689. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +30 -27
  690. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +54 -51
  691. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  692. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  693. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  694. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  695. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  696. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  697. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  698. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  699. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  700. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  701. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  702. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  703. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  704. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  705. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +4 -5
  706. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  707. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  708. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +67 -66
  709. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +40 -40
  710. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.d.ts +5 -0
  711. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +49 -43
  712. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +22 -16
  713. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +10 -2
  714. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
  715. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  716. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  717. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  718. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  719. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +8 -8
  720. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +4 -4
  721. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  722. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +4 -4
  723. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  724. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  725. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  726. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  727. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  728. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  729. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  730. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.d.ts +0 -1
  731. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +34 -48
  732. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  733. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  734. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  735. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  736. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  737. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  738. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  739. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  740. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  741. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  742. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  743. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  744. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  745. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  746. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  747. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  748. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  749. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +11 -11
  750. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +60 -60
  751. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.d.ts +8 -2
  752. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +30 -7
  753. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.d.ts +1 -0
  754. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +5 -4
  755. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  756. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  757. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  758. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  759. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  760. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  761. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +15 -51
  762. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +19 -14
  763. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  764. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.d.ts +17 -1
  765. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +66 -3
  766. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  767. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  768. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  769. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  770. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  771. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  772. package/vscode/src/vs/workbench/contrib/search/browser/searchView.d.ts +1 -1
  773. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +57 -57
  774. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
  775. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  776. package/vscode/src/vs/workbench/contrib/search/common/search.d.ts +5 -5
  777. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  778. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  779. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  780. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  781. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  782. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  783. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  784. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +6 -6
  785. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  786. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  787. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service.d.ts +9 -0
  788. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +6 -0
  789. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  790. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  791. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  792. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  793. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -1
  794. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +10 -10
  795. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  796. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  797. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  798. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.d.ts +3 -0
  799. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +3 -0
  800. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  801. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  802. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +9 -9
  803. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +189 -69
  804. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  805. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  806. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +6 -3
  807. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
  808. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  809. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  810. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  811. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  812. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  813. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  814. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  815. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  816. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  817. package/vscode/src/vs/workbench/contrib/webview/browser/webview.d.ts +2 -4
  818. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
  819. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.d.ts +1 -2
  820. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +9 -24
  821. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.js +14 -14
  822. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  823. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
  824. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  825. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +19 -7
  826. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +137 -84
  827. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +10 -0
  828. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  829. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  830. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  831. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +2 -2
  832. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +7 -3
  833. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +7 -4
  834. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +14 -3
  835. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -0
  836. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
  837. package/vscode/src/vs/workbench/services/environment/browser/environmentService.d.ts +1 -1
  838. package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +9 -9
  839. package/vscode/src/vs/workbench/services/environment/common/environmentService.service.d.ts +0 -1
  840. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  841. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  842. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  843. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.d.ts +4 -0
  844. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +39 -1
  845. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service.d.ts +1 -0
  846. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
  847. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  848. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  849. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  850. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.d.ts +43 -0
  851. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.js +33 -0
  852. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.service.d.ts +14 -0
  853. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.service.js +6 -0
  854. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  855. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  856. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  857. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +2 -2
  858. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +30 -30
  859. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  860. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  861. package/vscode/src/vs/workbench/services/search/common/ignoreFile.js +7 -2
  862. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +3 -3
  863. package/vscode/src/vs/workbench/services/search/common/search.d.ts +1 -1
  864. package/vscode/src/vs/workbench/services/storage/browser/storageService.d.ts +4 -0
  865. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +30 -2
  866. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  867. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +20 -15
  868. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  869. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  870. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  871. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  872. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  873. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.d.ts +0 -1
  874. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -5
  875. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  876. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  877. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  878. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +3 -3
  879. package/vscode-dts/vscode.d.ts +3 -1
  880. package/{vscode/src/vs/workbench/contrib/extensions/browser/media/extensionManagement.css → vscode-dts/vscode.proposed.agentsWindowConfiguration.d.ts} +3 -7
  881. package/vscode-dts/vscode.proposed.chatDebug.d.ts +31 -0
  882. package/vscode-dts/vscode.proposed.chatInputNotification.d.ts +118 -0
  883. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +14 -0
  884. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +32 -0
  885. package/vscode-dts/vscode.proposed.chatPromptFiles.d.ts +29 -0
  886. package/vscode-dts/vscode.proposed.chatProvider.d.ts +2 -8
  887. package/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts +16 -0
  888. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +68 -10
  889. package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +1 -1
  890. package/vscode-dts/vscode.proposed.customEditorDiffs.d.ts +67 -0
  891. package/vscode-dts/vscode.proposed.customEditorPriority.d.ts +6 -0
  892. package/vscode-dts/vscode.proposed.d.ts +6 -0
  893. package/vscode-dts/vscode.proposed.documentDiff.d.ts +145 -0
  894. package/vscode-dts/vscode.proposed.languageModelPricing.d.ts +70 -0
  895. package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -58
  896. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.d.ts +0 -32
  897. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.d.ts +0 -14
  898. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +0 -145
  899. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.d.ts +0 -19
  900. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.js +0 -25
  901. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.d.ts +0 -76
  902. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +0 -470
  903. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.d.ts +0 -25
  904. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +0 -83
  905. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.d.ts +0 -20
  906. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +0 -66
  907. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.d.ts +0 -83
  908. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +0 -1359
  909. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.d.ts +0 -11
  910. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +0 -49
  911. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.d.ts +0 -22
  912. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +0 -728
  913. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.d.ts +0 -63
  914. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +0 -522
  915. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.d.ts +0 -19
  916. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +0 -18
  917. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.d.ts +0 -71
  918. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +0 -263
  919. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.d.ts +0 -5
  920. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +0 -2201
  921. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.d.ts +0 -9
  922. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +0 -40
  923. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.d.ts +0 -9
  924. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +0 -77
  925. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.d.ts +0 -16
  926. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +0 -93
  927. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.d.ts +0 -27
  928. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +0 -100
  929. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.d.ts +0 -151
  930. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +0 -1031
  931. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.d.ts +0 -235
  932. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +0 -1600
  933. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.d.ts +0 -314
  934. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +0 -3449
  935. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.d.ts +0 -44
  936. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +0 -368
  937. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.d.ts +0 -9
  938. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +0 -30
  939. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.d.ts +0 -9
  940. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +0 -30
  941. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css +0 -910
  942. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css +0 -229
  943. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-dark.svg +0 -31
  944. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-hc.svg +0 -31
  945. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading.svg +0 -31
  946. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css +0 -86
  947. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.d.ts +0 -9
  948. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +0 -38
  949. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.d.ts +0 -9
  950. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +0 -41
  951. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.d.ts +0 -11
  952. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +0 -38
  953. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.d.ts +0 -33
  954. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +0 -179
  955. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.d.ts +0 -11
  956. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +0 -90
  957. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.d.ts +0 -24
  958. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +0 -50
  959. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.d.ts +0 -15
  960. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +0 -47
  961. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.service.d.ts +0 -10
  962. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.service.js +0 -6
  963. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.d.ts +0 -72
  964. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +0 -998
  965. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.d.ts +0 -17
  966. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +0 -49
  967. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.d.ts +0 -5
  968. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +0 -12
  969. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.d.ts +0 -88
  970. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +0 -464
  971. package/vscode/src/vs/workbench/contrib/mcp/browser/media/mcpServerEditor.css +0 -94
  972. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.d.ts +0 -16
  973. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +0 -475
  974. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +0 -34
  975. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +0 -874
@@ -1,1600 +0,0 @@
1
-
2
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
3
- import { localize } from '../../../../nls.js';
4
- import { Disposable, DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';
5
- import { Emitter, Event } from '../../../../base/common/event.js';
6
- import { isCancellationError, getErrorMessage, CancellationError } from '../../../../base/common/errors.js';
7
- import { PagedModel, DelayedPagedModel } from '../../../../base/common/paging.js';
8
- import { SortOrder, SortBy, ExtensionGalleryError, ExtensionGalleryErrorCode } from '../../../../platform/extensionManagement/common/extensionManagement.js';
9
- import { EnablementState } from '../../../services/extensionManagement/common/extensionManagement.js';
10
- import { IExtensionManagementServerService, IWorkbenchExtensionManagementService, IWorkbenchExtensionEnablementService } from '../../../services/extensionManagement/common/extensionManagement.service.js';
11
- import { IExtensionRecommendationsService } from '../../../services/extensionRecommendations/common/extensionRecommendations.service.js';
12
- import { areSameExtensions, getExtensionDependencies } from '../../../../platform/extensionManagement/common/extensionManagementUtil.js';
13
- import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
14
- import { IContextMenuService } from '../../../../platform/contextview/browser/contextView.service.js';
15
- import { append, $ } from '../../../../base/browser/dom.js';
16
- import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
17
- import { ExtensionResultsListFocused, ExtensionState } from '../common/extensions.js';
18
- import { IExtensionsWorkbenchService } from '../common/extensions.service.js';
19
- import { Query } from '../common/extensionQuery.js';
20
- import { toExtension } from '../../../services/extensions/common/extensions.js';
21
- import { IExtensionService } from '../../../services/extensions/common/extensions.service.js';
22
- import { IThemeService } from '../../../../platform/theme/common/themeService.service.js';
23
- import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.service.js';
24
- import { CountBadge } from '../../../../base/browser/ui/countBadge/countBadge.js';
25
- import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
26
- import '../../../../platform/notification/common/notification.js';
27
- import { INotificationService } from '../../../../platform/notification/common/notification.service.js';
28
- import { ViewPane, ViewPaneShowActions } from '../../../browser/parts/views/viewPane.js';
29
- import { IWorkspaceContextService } from '../../../../platform/workspace/common/workspace.service.js';
30
- import { coalesce, distinct, range } from '../../../../base/common/arrays.js';
31
- import { alert } from '../../../../base/browser/ui/aria/aria.js';
32
- import { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';
33
- import { ActionRunner } from '../../../../base/common/actions.js';
34
- import { ExtensionIdentifierMap, isLanguagePackExtension, ExtensionIdentifier } from '../../../../platform/extensions/common/extensions.js';
35
- import { createCancelablePromise, ThrottledDelayer } from '../../../../base/common/async.js';
36
- import { IProductService } from '../../../../platform/product/common/productService.service.js';
37
- import { SeverityIcon } from '../../../../base/browser/ui/severityIcon/severityIcon.js';
38
- import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
39
- import { IViewDescriptorService } from '../../../common/views.service.js';
40
- import { IOpenerService } from '../../../../platform/opener/common/opener.service.js';
41
- import { StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';
42
- import { IStorageService } from '../../../../platform/storage/common/storage.service.js';
43
- import { IExtensionManifestPropertiesService } from '../../../services/extensions/common/extensionManifestPropertiesService.service.js';
44
- import { isVirtualWorkspace } from '../../../../platform/workspace/common/virtualWorkspace.js';
45
- import { IWorkspaceTrustManagementService } from '../../../../platform/workspace/common/workspaceTrust.service.js';
46
- import { ILogService } from '../../../../platform/log/common/log.service.js';
47
- import { isOfflineError } from '../../../../base/parts/request/common/request.js';
48
- import { defaultCountBadgeStyles } from '../../../../platform/theme/browser/defaultStyles.js';
49
- import { Registry } from '../../../../platform/registry/common/platform.js';
50
- import { Extensions } from '../../../services/extensionManagement/common/extensionFeatures.js';
51
- import { IExtensionFeaturesManagementService } from '../../../services/extensionManagement/common/extensionFeatures.service.js';
52
- import { isString } from '../../../../base/common/types.js';
53
- import { IUriIdentityService } from '../../../../platform/uriIdentity/common/uriIdentity.service.js';
54
- import { IHoverService } from '../../../../platform/hover/browser/hover.service.js';
55
- import { ExtensionsList } from './extensionsViewer.js';
56
- import Severity$1 from '../../../../base/common/severity.js';
57
-
58
- var ExtensionsListView_1;
59
- const NONE_CATEGORY = "none";
60
- class ExtensionsViewState extends Disposable {
61
- constructor() {
62
- super(...arguments);
63
- this._onFocus = this._register(( new Emitter()));
64
- this.onFocus = this._onFocus.event;
65
- this._onBlur = this._register(( new Emitter()));
66
- this.onBlur = this._onBlur.event;
67
- this.currentlyFocusedItems = [];
68
- this.filters = {};
69
- }
70
- onFocusChange(extensions) {
71
- this.currentlyFocusedItems.forEach(extension => this._onBlur.fire(extension));
72
- this.currentlyFocusedItems = extensions;
73
- this.currentlyFocusedItems.forEach(extension => this._onFocus.fire(extension));
74
- }
75
- }
76
- var LocalSortBy;
77
- (function(LocalSortBy) {
78
- LocalSortBy["UpdateDate"] = "UpdateDate";
79
- })(LocalSortBy || (LocalSortBy = {}));
80
- function isLocalSortBy(value) {
81
- switch (value) {
82
- case LocalSortBy.UpdateDate:
83
- return true;
84
- }
85
- }
86
- class AbstractExtensionsListView extends ViewPane {}
87
- let ExtensionsListView = class ExtensionsListView extends AbstractExtensionsListView {
88
- static {
89
- ExtensionsListView_1 = this;
90
- }
91
- static {
92
- this.RECENT_UPDATE_DURATION = 7 * 24 * 60 * 60 * 1000;
93
- }
94
- constructor(
95
- options,
96
- viewletViewOptions,
97
- notificationService,
98
- keybindingService,
99
- contextMenuService,
100
- instantiationService,
101
- themeService,
102
- extensionService,
103
- extensionsWorkbenchService,
104
- extensionRecommendationsService,
105
- telemetryService,
106
- hoverService,
107
- configurationService,
108
- contextService,
109
- extensionManagementServerService,
110
- extensionManifestPropertiesService,
111
- extensionManagementService,
112
- workspaceService,
113
- productService,
114
- contextKeyService,
115
- viewDescriptorService,
116
- openerService,
117
- storageService,
118
- workspaceTrustManagementService,
119
- extensionEnablementService,
120
- extensionFeaturesManagementService,
121
- uriIdentityService,
122
- logService
123
- ) {
124
- super({
125
- ...viewletViewOptions,
126
- showActions: ViewPaneShowActions.Always,
127
- maximumBodySize: options.flexibleHeight ? (storageService.getNumber(`${viewletViewOptions.id}.size`, StorageScope.PROFILE, 0) ? undefined : 0) : undefined
128
- }, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, hoverService);
129
- this.options = options;
130
- this.notificationService = notificationService;
131
- this.extensionService = extensionService;
132
- this.extensionsWorkbenchService = extensionsWorkbenchService;
133
- this.extensionRecommendationsService = extensionRecommendationsService;
134
- this.telemetryService = telemetryService;
135
- this.contextService = contextService;
136
- this.extensionManagementServerService = extensionManagementServerService;
137
- this.extensionManifestPropertiesService = extensionManifestPropertiesService;
138
- this.extensionManagementService = extensionManagementService;
139
- this.workspaceService = workspaceService;
140
- this.productService = productService;
141
- this.storageService = storageService;
142
- this.workspaceTrustManagementService = workspaceTrustManagementService;
143
- this.extensionEnablementService = extensionEnablementService;
144
- this.extensionFeaturesManagementService = extensionFeaturesManagementService;
145
- this.uriIdentityService = uriIdentityService;
146
- this.logService = logService;
147
- this.list = null;
148
- this.queryRequest = null;
149
- this.contextMenuActionRunner = this._register(( new ActionRunner()));
150
- if (this.options.onDidChangeTitle) {
151
- this._register(this.options.onDidChangeTitle(title => this.updateTitle(title)));
152
- }
153
- this._register(this.contextMenuActionRunner.onDidRun((
154
- {
155
- error
156
- }
157
- ) => error && this.notificationService.error(error)));
158
- this.registerActions();
159
- }
160
- registerActions() {}
161
- renderHeader(container) {
162
- container.classList.add("extension-view-header");
163
- super.renderHeader(container);
164
- if (!this.options.hideBadge) {
165
- this.badge = this._register(( new CountBadge(append(container, $(".count-badge-wrapper")), {}, defaultCountBadgeStyles)));
166
- }
167
- }
168
- renderBody(container) {
169
- super.renderBody(container);
170
- const messageContainer = append(container, $(".message-container"));
171
- const messageSeverityIcon = append(messageContainer, $(""));
172
- const messageBox = append(messageContainer, $(".message"));
173
- const extensionsList = append(container, $(".extensions-list"));
174
- this.extensionsViewState = this._register(( new ExtensionsViewState()));
175
- this.list = this._register(
176
- this.instantiationService.createInstance(ExtensionsList, extensionsList, this.id, {}, this.extensionsViewState)
177
- ).list;
178
- ExtensionResultsListFocused.bindTo(this.list.contextKeyService);
179
- this._register(
180
- this.list.onDidChangeFocus(e => this.extensionsViewState?.onFocusChange(coalesce(e.elements)), this)
181
- );
182
- this.bodyTemplate = {
183
- extensionsList,
184
- messageBox,
185
- messageContainer,
186
- messageSeverityIcon
187
- };
188
- if (this.queryResult) {
189
- this.setModel(this.queryResult.model);
190
- }
191
- }
192
- layoutBody(height, width) {
193
- super.layoutBody(height, width);
194
- if (this.bodyTemplate) {
195
- this.bodyTemplate.extensionsList.style.height = height + "px";
196
- }
197
- this.list?.layout(height, width);
198
- }
199
- async show(query, refresh) {
200
- if (this.queryRequest) {
201
- if (!refresh && this.queryRequest.query === query) {
202
- return this.queryRequest.request;
203
- }
204
- this.queryRequest.request.cancel();
205
- this.queryRequest = null;
206
- }
207
- if (this.queryResult) {
208
- this.queryResult.disposables.dispose();
209
- this.queryResult = undefined;
210
- if (this.extensionsViewState) {
211
- this.extensionsViewState.filters = {};
212
- }
213
- }
214
- const parsedQuery = Query.parse(query);
215
- const options = {
216
- sortOrder: SortOrder.Default
217
- };
218
- switch (parsedQuery.sortBy) {
219
- case "installs":
220
- options.sortBy = SortBy.InstallCount;
221
- break;
222
- case "rating":
223
- options.sortBy = SortBy.WeightedRating;
224
- break;
225
- case "name":
226
- options.sortBy = SortBy.Title;
227
- break;
228
- case "publishedDate":
229
- options.sortBy = SortBy.PublishedDate;
230
- break;
231
- case "updateDate":
232
- options.sortBy = LocalSortBy.UpdateDate;
233
- break;
234
- }
235
- const request = createCancelablePromise(async token => {
236
- try {
237
- this.queryResult = await this.query(parsedQuery, options, token);
238
- const model = this.queryResult.model;
239
- this.setModel(model, this.queryResult.message);
240
- if (this.queryResult.onDidChangeModel) {
241
- this.queryResult.disposables.add(this.queryResult.onDidChangeModel(model => {
242
- if (this.queryResult) {
243
- this.queryResult.model = model;
244
- this.updateModel(model);
245
- }
246
- }));
247
- }
248
- return model;
249
- } catch (e) {
250
- const model = ( new PagedModel([]));
251
- if (!isCancellationError(e)) {
252
- this.logService.error(e);
253
- this.setModel(model, this.getMessage(e));
254
- }
255
- return this.list ? this.list.model : model;
256
- }
257
- });
258
- request.finally(() => this.queryRequest = null);
259
- this.queryRequest = {
260
- query,
261
- request
262
- };
263
- return request;
264
- }
265
- count() {
266
- return this.queryResult?.model.length ?? 0;
267
- }
268
- showEmptyModel() {
269
- const emptyModel = ( new PagedModel([]));
270
- this.setModel(emptyModel);
271
- return Promise.resolve(emptyModel);
272
- }
273
- async query(query, options, token) {
274
- const idRegex = /@id:(([a-z0-9A-Z][a-z0-9\-A-Z]*)\.([a-z0-9A-Z][a-z0-9\-A-Z]*))/g;
275
- const ids = [];
276
- let idMatch;
277
- while ((idMatch = idRegex.exec(query.value)) !== null) {
278
- const name = idMatch[1];
279
- ids.push(name);
280
- }
281
- if (ids.length) {
282
- const model = await this.queryByIds(ids, options, token);
283
- return {
284
- model,
285
- disposables: ( new DisposableStore())
286
- };
287
- }
288
- if (ExtensionsListView_1.isLocalExtensionsQuery(query.value, query.sortBy)) {
289
- return this.queryLocal(query, options);
290
- }
291
- if (ExtensionsListView_1.isSearchPopularQuery(query.value)) {
292
- query.value = query.value.replace("@popular", "");
293
- options.sortBy = !options.sortBy ? SortBy.InstallCount : options.sortBy;
294
- } else if (ExtensionsListView_1.isSearchRecentlyPublishedQuery(query.value)) {
295
- query.value = query.value.replace("@recentlyPublished", "");
296
- options.sortBy = !options.sortBy ? SortBy.PublishedDate : options.sortBy;
297
- }
298
- const galleryQueryOptions = {
299
- ...options,
300
- sortBy: isLocalSortBy(options.sortBy) ? undefined : options.sortBy
301
- };
302
- return this.queryGallery(query, galleryQueryOptions, token);
303
- }
304
- async queryByIds(ids, options, token) {
305
- const idsSet = ids.reduce((result, id) => {
306
- result.add(id.toLowerCase());
307
- return result;
308
- }, ( new Set()));
309
- const result = (await this.extensionsWorkbenchService.queryLocal(this.options.server)).filter(e => ( idsSet.has(e.identifier.id.toLowerCase())));
310
- const galleryIds = result.length ? ids.filter(id => result.every(r => !areSameExtensions(r.identifier, {
311
- id
312
- }))) : ids;
313
- if (galleryIds.length) {
314
- const galleryResult = await this.extensionsWorkbenchService.getExtensions(( galleryIds.map(id => ({
315
- id
316
- }))), {
317
- source: "queryById"
318
- }, token);
319
- result.push(...galleryResult);
320
- }
321
- return ( new PagedModel(result));
322
- }
323
- async queryLocal(query, options) {
324
- const local = await this.extensionsWorkbenchService.queryLocal(this.options.server);
325
- let {
326
- extensions,
327
- canIncludeInstalledExtensions,
328
- description
329
- } = await this.filterLocal(local, this.extensionService.extensions, query, options);
330
- const disposables = ( new DisposableStore());
331
- const onDidChangeModel = disposables.add(( new Emitter()));
332
- if (canIncludeInstalledExtensions) {
333
- let isDisposed = false;
334
- disposables.add(toDisposable(() => isDisposed = true));
335
- disposables.add(Event.debounce(Event.any(Event.filter(
336
- this.extensionsWorkbenchService.onChange,
337
- e => e?.state === ExtensionState.Installed
338
- ), this.extensionService.onDidChangeExtensions), () => undefined)(async () => {
339
- const local = this.options.server ? this.extensionsWorkbenchService.installed.filter(e => e.server === this.options.server) : this.extensionsWorkbenchService.local;
340
- const {
341
- extensions: newExtensions
342
- } = await this.filterLocal(local, this.extensionService.extensions, query, options);
343
- if (!isDisposed) {
344
- const mergedExtensions = this.mergeAddedExtensions(extensions, newExtensions);
345
- if (mergedExtensions) {
346
- extensions = mergedExtensions;
347
- onDidChangeModel.fire(( new PagedModel(extensions)));
348
- }
349
- }
350
- }));
351
- }
352
- return {
353
- model: ( new PagedModel(extensions)),
354
- message: description ? {
355
- text: description,
356
- severity: Severity$1.Info
357
- } : undefined,
358
- onDidChangeModel: onDidChangeModel.event,
359
- disposables
360
- };
361
- }
362
- async filterLocal(local, runningExtensions, query, options) {
363
- const value = query.value;
364
- let extensions = [];
365
- let description;
366
- const includeBuiltin = /@builtin/i.test(value);
367
- const canIncludeInstalledExtensions = !includeBuiltin;
368
- if (/@installed/i.test(value)) {
369
- extensions = this.filterInstalledExtensions(local, runningExtensions, query, options);
370
- } else if (/@outdated/i.test(value)) {
371
- extensions = this.filterOutdatedExtensions(local, query, options);
372
- } else if (/@disabled/i.test(value)) {
373
- extensions = this.filterDisabledExtensions(local, runningExtensions, query, options, includeBuiltin);
374
- } else if (/@enabled/i.test(value)) {
375
- extensions = this.filterEnabledExtensions(local, runningExtensions, query, options, includeBuiltin);
376
- } else if (/@workspaceUnsupported/i.test(value)) {
377
- extensions = this.filterWorkspaceUnsupportedExtensions(local, query, options);
378
- } else if (/@deprecated/i.test(query.value)) {
379
- extensions = await this.filterDeprecatedExtensions(local, query, options);
380
- } else if (/@recentlyUpdated/i.test(query.value)) {
381
- extensions = this.filterRecentlyUpdatedExtensions(local, query, options);
382
- } else if (/@restartrequired/i.test(query.value)) {
383
- extensions = this.filterRestartRequiredExtensions(local, query, options);
384
- } else if (/@contribute:/i.test(query.value)) {
385
- extensions = this.filterExtensionsByFeature(local, query);
386
- } else if (includeBuiltin) {
387
- extensions = this.filterBuiltinExtensions(local, query, options);
388
- }
389
- return {
390
- extensions,
391
- canIncludeInstalledExtensions,
392
- description
393
- };
394
- }
395
- filterBuiltinExtensions(local, query, options) {
396
- let {
397
- value,
398
- includedCategories,
399
- excludedCategories
400
- } = this.parseCategories(query.value);
401
- value = value.replaceAll(/@builtin/gi, "").replaceAll(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase();
402
- const result = local.filter(
403
- e => e.isBuiltin && (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1) && this.filterExtensionByCategory(e, includedCategories, excludedCategories)
404
- );
405
- return this.sortExtensions(result, options);
406
- }
407
- filterExtensionByCategory(e, includedCategories, excludedCategories) {
408
- if (!includedCategories.length && !excludedCategories.length) {
409
- return true;
410
- }
411
- if (e.categories.length) {
412
- if (excludedCategories.length && ( e.categories.some(category => excludedCategories.includes(category.toLowerCase())))) {
413
- return false;
414
- }
415
- return ( e.categories.some(category => includedCategories.includes(category.toLowerCase())));
416
- } else {
417
- return includedCategories.includes(NONE_CATEGORY);
418
- }
419
- }
420
- parseCategories(value) {
421
- const includedCategories = [];
422
- const excludedCategories = [];
423
- value = value.replace(
424
- /\bcategory:("([^"]*)"|([^"]\S*))(\s+|\b|$)/g,
425
- (_, quotedCategory, category) => {
426
- const entry = (category || quotedCategory || "").toLowerCase();
427
- if (entry.startsWith("-")) {
428
- if (excludedCategories.indexOf(entry) === -1) {
429
- excludedCategories.push(entry);
430
- }
431
- } else {
432
- if (includedCategories.indexOf(entry) === -1) {
433
- includedCategories.push(entry);
434
- }
435
- }
436
- return "";
437
- }
438
- );
439
- return {
440
- value,
441
- includedCategories,
442
- excludedCategories
443
- };
444
- }
445
- filterInstalledExtensions(local, runningExtensions, query, options) {
446
- let {
447
- value,
448
- includedCategories,
449
- excludedCategories
450
- } = this.parseCategories(query.value);
451
- value = value.replace(/@installed/g, "").replace(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase();
452
- const matchingText = e => (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1 || e.description.toLowerCase().indexOf(value) > -1) && this.filterExtensionByCategory(e, includedCategories, excludedCategories);
453
- let result;
454
- if (options.sortBy !== undefined) {
455
- result = local.filter(e => !e.isBuiltin && matchingText(e));
456
- result = this.sortExtensions(result, options);
457
- } else {
458
- result = local.filter(
459
- e => (!e.isBuiltin || e.outdated || e.runtimeState !== undefined) && matchingText(e)
460
- );
461
- const runningExtensionsById = runningExtensions.reduce((result, e) => {
462
- result.set(e.identifier.value, e);
463
- return result;
464
- }, ( new ExtensionIdentifierMap()));
465
- const defaultSort = (e1, e2) => {
466
- const running1 = runningExtensionsById.get(e1.identifier.id);
467
- const isE1Running = !!running1 && this.extensionManagementServerService.getExtensionManagementServer(toExtension(running1)) === e1.server;
468
- const running2 = runningExtensionsById.get(e2.identifier.id);
469
- const isE2Running = running2 && this.extensionManagementServerService.getExtensionManagementServer(toExtension(running2)) === e2.server;
470
- if ((isE1Running && isE2Running)) {
471
- return e1.displayName.localeCompare(e2.displayName);
472
- }
473
- const isE1LanguagePackExtension = e1.local && isLanguagePackExtension(e1.local.manifest);
474
- const isE2LanguagePackExtension = e2.local && isLanguagePackExtension(e2.local.manifest);
475
- if (!isE1Running && !isE2Running) {
476
- if (isE1LanguagePackExtension) {
477
- return -1;
478
- }
479
- if (isE2LanguagePackExtension) {
480
- return 1;
481
- }
482
- return e1.displayName.localeCompare(e2.displayName);
483
- }
484
- if ((isE1Running && isE2LanguagePackExtension) || (isE2Running && isE1LanguagePackExtension)) {
485
- return e1.displayName.localeCompare(e2.displayName);
486
- }
487
- return isE1Running ? -1 : 1;
488
- };
489
- const incompatible = [];
490
- const deprecated = [];
491
- const outdated = [];
492
- const actionRequired = [];
493
- const noActionRequired = [];
494
- for (const e of result) {
495
- if (e.enablementState === EnablementState.DisabledByInvalidExtension) {
496
- incompatible.push(e);
497
- } else if (e.deprecationInfo) {
498
- deprecated.push(e);
499
- } else if (e.outdated && this.extensionEnablementService.isEnabledEnablementState(e.enablementState)) {
500
- outdated.push(e);
501
- } else if (e.runtimeState) {
502
- actionRequired.push(e);
503
- } else {
504
- noActionRequired.push(e);
505
- }
506
- }
507
- result = [
508
- ...incompatible.sort(defaultSort),
509
- ...deprecated.sort(defaultSort),
510
- ...outdated.sort(defaultSort),
511
- ...actionRequired.sort(defaultSort),
512
- ...noActionRequired.sort(defaultSort)
513
- ];
514
- }
515
- return result;
516
- }
517
- filterOutdatedExtensions(local, query, options) {
518
- let {
519
- value,
520
- includedCategories,
521
- excludedCategories
522
- } = this.parseCategories(query.value);
523
- value = value.replace(/@outdated/g, "").replace(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase();
524
- const result = local.sort((e1, e2) => e1.displayName.localeCompare(e2.displayName)).filter(
525
- extension => extension.outdated && (extension.name.toLowerCase().indexOf(value) > -1 || extension.displayName.toLowerCase().indexOf(value) > -1) && this.filterExtensionByCategory(extension, includedCategories, excludedCategories)
526
- );
527
- return this.sortExtensions(result, options);
528
- }
529
- filterDisabledExtensions(local, runningExtensions, query, options, includeBuiltin) {
530
- let {
531
- value,
532
- includedCategories,
533
- excludedCategories
534
- } = this.parseCategories(query.value);
535
- value = value.replaceAll(/@disabled|@builtin/gi, "").replaceAll(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase();
536
- if (includeBuiltin) {
537
- local = local.filter(e => e.isBuiltin);
538
- }
539
- const result = local.sort((e1, e2) => e1.displayName.localeCompare(e2.displayName)).filter(e => runningExtensions.every(r => !areSameExtensions({
540
- id: r.identifier.value,
541
- uuid: r.uuid
542
- }, e.identifier)) && (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1) && this.filterExtensionByCategory(e, includedCategories, excludedCategories));
543
- return this.sortExtensions(result, options);
544
- }
545
- filterEnabledExtensions(local, runningExtensions, query, options, includeBuiltin) {
546
- let {
547
- value,
548
- includedCategories,
549
- excludedCategories
550
- } = this.parseCategories(query.value);
551
- value = value ? value.replaceAll(/@enabled|@builtin/gi, "").replaceAll(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase() : "";
552
- local = local.filter(e => e.isBuiltin === includeBuiltin);
553
- const result = local.sort((e1, e2) => e1.displayName.localeCompare(e2.displayName)).filter(e => ( runningExtensions.some(r => areSameExtensions({
554
- id: r.identifier.value,
555
- uuid: r.uuid
556
- }, e.identifier))) && (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1) && this.filterExtensionByCategory(e, includedCategories, excludedCategories));
557
- return this.sortExtensions(result, options);
558
- }
559
- filterWorkspaceUnsupportedExtensions(local, query, options) {
560
- const queryString = query.value;
561
- const match = queryString.match(
562
- /^\s*@workspaceUnsupported(?::(untrusted|virtual)(Partial)?)?(?:\s+([^\s]*))?/i
563
- );
564
- if (!match) {
565
- return [];
566
- }
567
- const type = match[1]?.toLowerCase();
568
- const partial = !!match[2];
569
- const nameFilter = match[3]?.toLowerCase();
570
- if (nameFilter) {
571
- local = local.filter(
572
- extension => extension.name.toLowerCase().indexOf(nameFilter) > -1 || extension.displayName.toLowerCase().indexOf(nameFilter) > -1
573
- );
574
- }
575
- const hasVirtualSupportType = (extension, supportType) => {
576
- return extension.local && this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(extension.local.manifest) === supportType;
577
- };
578
- const hasRestrictedSupportType = (extension, supportType) => {
579
- if (!extension.local) {
580
- return false;
581
- }
582
- const enablementState = this.extensionEnablementService.getEnablementState(extension.local);
583
- if (enablementState !== EnablementState.EnabledGlobally && enablementState !== EnablementState.EnabledWorkspace && enablementState !== EnablementState.DisabledByTrustRequirement && enablementState !== EnablementState.DisabledByExtensionDependency) {
584
- return false;
585
- }
586
- if (this.extensionManifestPropertiesService.getExtensionUntrustedWorkspaceSupportType(extension.local.manifest) === supportType) {
587
- return true;
588
- }
589
- if (supportType === false) {
590
- const dependencies = getExtensionDependencies(( local.map(ext => ext.local)), extension.local);
591
- return ( dependencies.some(
592
- ext => this.extensionManifestPropertiesService.getExtensionUntrustedWorkspaceSupportType(ext.manifest) === supportType
593
- ));
594
- }
595
- return false;
596
- };
597
- const inVirtualWorkspace = isVirtualWorkspace(this.workspaceService.getWorkspace());
598
- const inRestrictedWorkspace = !this.workspaceTrustManagementService.isWorkspaceTrusted();
599
- if (type === "virtual") {
600
- local = local.filter(
601
- extension => inVirtualWorkspace && hasVirtualSupportType(extension, partial ? "limited" : false) && !(inRestrictedWorkspace && hasRestrictedSupportType(extension, false))
602
- );
603
- } else if (type === "untrusted") {
604
- local = local.filter(
605
- extension => hasRestrictedSupportType(extension, partial ? "limited" : false) && !(inVirtualWorkspace && hasVirtualSupportType(extension, false))
606
- );
607
- } else {
608
- local = local.filter(
609
- extension => inVirtualWorkspace && !hasVirtualSupportType(extension, true) || inRestrictedWorkspace && !hasRestrictedSupportType(extension, true)
610
- );
611
- }
612
- return this.sortExtensions(local, options);
613
- }
614
- async filterDeprecatedExtensions(local, query, options) {
615
- const value = query.value.replace(/@deprecated/g, "").replace(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase();
616
- const extensionsControlManifest = await this.extensionManagementService.getExtensionsControlManifest();
617
- const deprecatedExtensionIds = ( Object.keys(extensionsControlManifest.deprecated));
618
- local = local.filter(
619
- e => deprecatedExtensionIds.includes(e.identifier.id) && (!value || e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1)
620
- );
621
- return this.sortExtensions(local, options);
622
- }
623
- filterRecentlyUpdatedExtensions(local, query, options) {
624
- let {
625
- value,
626
- includedCategories,
627
- excludedCategories
628
- } = this.parseCategories(query.value);
629
- const currentTime = Date.now();
630
- local = local.filter(
631
- e => !e.isBuiltin && !e.outdated && e.local?.updated && e.local?.installedTimestamp !== undefined && currentTime - e.local.installedTimestamp < ExtensionsListView_1.RECENT_UPDATE_DURATION
632
- );
633
- value = value.replace(/@recentlyUpdated/g, "").replace(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase();
634
- const result = local.filter(
635
- e => (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1) && this.filterExtensionByCategory(e, includedCategories, excludedCategories)
636
- );
637
- options.sortBy = options.sortBy ?? LocalSortBy.UpdateDate;
638
- return this.sortExtensions(result, options);
639
- }
640
- filterRestartRequiredExtensions(local, query, options) {
641
- let {
642
- value,
643
- includedCategories,
644
- excludedCategories
645
- } = this.parseCategories(query.value);
646
- local = local.filter(e => e.runtimeState !== undefined);
647
- value = value.replace(/@restartrequired/gi, "").replace(/@sort:(\w+)(-\w*)?/g, "").trim().toLowerCase();
648
- const result = local.filter(
649
- e => (e.name.toLowerCase().indexOf(value) > -1 || e.displayName.toLowerCase().indexOf(value) > -1) && this.filterExtensionByCategory(e, includedCategories, excludedCategories)
650
- );
651
- return this.sortExtensions(result, options);
652
- }
653
- filterExtensionsByFeature(local, query) {
654
- const value = query.value.replace(/@contribute:/g, "").trim();
655
- const featureId = value.split(" ")[0];
656
- const feature = ( Registry.as(Extensions.ExtensionFeaturesRegistry)).getExtensionFeature(featureId);
657
- if (!feature) {
658
- return [];
659
- }
660
- if (this.extensionsViewState) {
661
- this.extensionsViewState.filters.featureId = featureId;
662
- }
663
- const renderer = feature.renderer ? this.instantiationService.createInstance(feature.renderer) : undefined;
664
- try {
665
- const result = [];
666
- for (const e of local) {
667
- if (!e.local) {
668
- continue;
669
- }
670
- const accessData = this.extensionFeaturesManagementService.getAccessData(( new ExtensionIdentifier(e.identifier.id)), featureId);
671
- const shouldRender = renderer?.shouldRender(e.local.manifest);
672
- if (accessData || shouldRender) {
673
- result.push([e, accessData?.accessTimes.length ?? 0]);
674
- }
675
- }
676
- return ( result.sort(([, a], [, b]) => b - a).map(([e]) => e));
677
- } finally {
678
- renderer?.dispose();
679
- }
680
- }
681
- mergeAddedExtensions(extensions, newExtensions) {
682
- const oldExtensions = [...extensions];
683
- const findPreviousExtensionIndex = from => {
684
- let index = -1;
685
- const previousExtensionInNew = newExtensions[from];
686
- if (previousExtensionInNew) {
687
- index = oldExtensions.findIndex(e => areSameExtensions(e.identifier, previousExtensionInNew.identifier));
688
- if (index === -1) {
689
- return findPreviousExtensionIndex(from - 1);
690
- }
691
- }
692
- return index;
693
- };
694
- let hasChanged = false;
695
- for (let index = 0; index < newExtensions.length; index++) {
696
- const extension = newExtensions[index];
697
- if (extensions.every(r => !areSameExtensions(r.identifier, extension.identifier))) {
698
- hasChanged = true;
699
- extensions.splice(findPreviousExtensionIndex(index - 1) + 1, 0, extension);
700
- }
701
- }
702
- return hasChanged ? extensions : undefined;
703
- }
704
- async queryGallery(query, options, token) {
705
- const hasUserDefinedSortOrder = options.sortBy !== undefined;
706
- if (!hasUserDefinedSortOrder && !query.value.trim()) {
707
- options.sortBy = SortBy.InstallCount;
708
- }
709
- if (this.isRecommendationsQuery(query)) {
710
- const model = await this.queryRecommendations(query, options, token);
711
- return {
712
- model,
713
- disposables: ( new DisposableStore())
714
- };
715
- }
716
- const text = query.value;
717
- if (!text) {
718
- options.source = "viewlet";
719
- const pager = await this.extensionsWorkbenchService.queryGallery(options, token);
720
- return {
721
- model: ( new PagedModel(pager)),
722
- disposables: ( new DisposableStore())
723
- };
724
- }
725
- if (/\bext:([^\s]+)\b/g.test(text)) {
726
- options.text = text;
727
- options.source = "file-extension-tags";
728
- const pager = await this.extensionsWorkbenchService.queryGallery(options, token);
729
- return {
730
- model: ( new PagedModel(pager)),
731
- disposables: ( new DisposableStore())
732
- };
733
- }
734
- options.text = text.substring(0, 350);
735
- options.source = "searchText";
736
- if (hasUserDefinedSortOrder || /\b(category|tag):([^\s]+)\b/gi.test(text) || /\bfeatured(\s+|\b|$)/gi.test(text)) {
737
- const pager = await this.extensionsWorkbenchService.queryGallery(options, token);
738
- return {
739
- model: ( new PagedModel(pager)),
740
- disposables: ( new DisposableStore())
741
- };
742
- }
743
- try {
744
- const [pager, preferredExtensions] = await Promise.all([
745
- this.extensionsWorkbenchService.queryGallery(options, token),
746
- this.getPreferredExtensions(options.text.toLowerCase(), token).catch(() => [])
747
- ]);
748
- const model = preferredExtensions.length ? ( new PreferredExtensionsPagedModel(preferredExtensions, pager)) : ( new PagedModel(pager));
749
- return {
750
- model,
751
- disposables: ( new DisposableStore())
752
- };
753
- } catch (error) {
754
- if (isCancellationError(error)) {
755
- throw error;
756
- }
757
- if (!(error instanceof ExtensionGalleryError)) {
758
- throw error;
759
- }
760
- const searchText = options.text.toLowerCase();
761
- const localExtensions = this.extensionsWorkbenchService.local.filter(
762
- e => !e.isBuiltin && (e.name.toLowerCase().indexOf(searchText) > -1 || e.displayName.toLowerCase().indexOf(searchText) > -1 || e.description.toLowerCase().indexOf(searchText) > -1)
763
- );
764
- if (localExtensions.length) {
765
- const message = this.getMessage(error);
766
- return {
767
- model: ( new PagedModel(localExtensions)),
768
- disposables: ( new DisposableStore()),
769
- message: {
770
- text: ( localize(9506, "{0} Showing local extensions.", message.text)),
771
- severity: message.severity
772
- }
773
- };
774
- }
775
- throw error;
776
- }
777
- }
778
- async getPreferredExtensions(searchText, token) {
779
- const preferredExtensions = this.extensionsWorkbenchService.local.filter(
780
- e => !e.isBuiltin && (e.name.toLowerCase().indexOf(searchText) > -1 || e.displayName.toLowerCase().indexOf(searchText) > -1 || e.description.toLowerCase().indexOf(searchText) > -1)
781
- );
782
- const preferredExtensionUUIDs = ( new Set());
783
- if (preferredExtensions.length) {
784
- const extesionsToFetch = [];
785
- for (const extension of preferredExtensions) {
786
- if (extension.identifier.uuid) {
787
- preferredExtensionUUIDs.add(extension.identifier.uuid);
788
- }
789
- if (!extension.gallery && extension.identifier.uuid) {
790
- extesionsToFetch.push(extension.identifier);
791
- }
792
- }
793
- if (extesionsToFetch.length) {
794
- this.extensionsWorkbenchService.getExtensions(extesionsToFetch, CancellationToken.None).catch(e => null );
795
- }
796
- }
797
- const preferredResults = [];
798
- try {
799
- const manifest = await this.extensionManagementService.getExtensionsControlManifest();
800
- if (Array.isArray(manifest.search)) {
801
- for (const s of manifest.search) {
802
- if (s.query && s.query.toLowerCase() === searchText && Array.isArray(s.preferredResults)) {
803
- preferredResults.push(...s.preferredResults);
804
- break;
805
- }
806
- }
807
- }
808
- if (preferredResults.length) {
809
- const result = await this.extensionsWorkbenchService.getExtensions(( preferredResults.map(id => ({
810
- id
811
- }))), token);
812
- for (const extension of result) {
813
- if (extension.identifier.uuid && !( preferredExtensionUUIDs.has(extension.identifier.uuid))) {
814
- preferredExtensions.push(extension);
815
- }
816
- }
817
- }
818
- } catch (e) {
819
- this.logService.warn("Failed to get preferred results from the extensions control manifest.", e);
820
- }
821
- return preferredExtensions;
822
- }
823
- sortExtensions(extensions, options) {
824
- switch (options.sortBy) {
825
- case SortBy.InstallCount:
826
- extensions = extensions.sort(
827
- (e1, e2) => typeof e2.installCount === "number" && typeof e1.installCount === "number" ? e2.installCount - e1.installCount : NaN
828
- );
829
- break;
830
- case LocalSortBy.UpdateDate:
831
- extensions = extensions.sort(
832
- (e1, e2) => typeof e2.local?.installedTimestamp === "number" && typeof e1.local?.installedTimestamp === "number" ? e2.local.installedTimestamp - e1.local.installedTimestamp : typeof e2.local?.installedTimestamp === "number" ? 1 : typeof e1.local?.installedTimestamp === "number" ? -1 : NaN
833
- );
834
- break;
835
- case SortBy.AverageRating:
836
- case SortBy.WeightedRating:
837
- extensions = extensions.sort(
838
- (e1, e2) => typeof e2.rating === "number" && typeof e1.rating === "number" ? e2.rating - e1.rating : NaN
839
- );
840
- break;
841
- default:
842
- extensions = extensions.sort((e1, e2) => e1.displayName.localeCompare(e2.displayName));
843
- break;
844
- }
845
- if (options.sortOrder === SortOrder.Descending) {
846
- extensions = extensions.reverse();
847
- }
848
- return extensions;
849
- }
850
- isRecommendationsQuery(query) {
851
- return ExtensionsListView_1.isWorkspaceRecommendedExtensionsQuery(query.value) || ExtensionsListView_1.isKeymapsRecommendedExtensionsQuery(query.value) || ExtensionsListView_1.isLanguageRecommendedExtensionsQuery(query.value) || ExtensionsListView_1.isExeRecommendedExtensionsQuery(query.value) || ExtensionsListView_1.isRemoteRecommendedExtensionsQuery(query.value) || /@recommended:all/i.test(query.value) || ExtensionsListView_1.isSearchRecommendedExtensionsQuery(query.value) || ExtensionsListView_1.isRecommendedExtensionsQuery(query.value);
852
- }
853
- async queryRecommendations(query, options, token) {
854
- if (ExtensionsListView_1.isWorkspaceRecommendedExtensionsQuery(query.value)) {
855
- return this.getWorkspaceRecommendationsModel(query, options, token);
856
- }
857
- if (ExtensionsListView_1.isKeymapsRecommendedExtensionsQuery(query.value)) {
858
- return this.getKeymapRecommendationsModel(query, options, token);
859
- }
860
- if (ExtensionsListView_1.isLanguageRecommendedExtensionsQuery(query.value)) {
861
- return this.getLanguageRecommendationsModel(query, options, token);
862
- }
863
- if (ExtensionsListView_1.isExeRecommendedExtensionsQuery(query.value)) {
864
- return this.getExeRecommendationsModel(query, options, token);
865
- }
866
- if (ExtensionsListView_1.isRemoteRecommendedExtensionsQuery(query.value)) {
867
- return this.getRemoteRecommendationsModel(query, options, token);
868
- }
869
- if (/@recommended:all/i.test(query.value)) {
870
- return this.getAllRecommendationsModel(options, token);
871
- }
872
- if (ExtensionsListView_1.isSearchRecommendedExtensionsQuery(query.value) || (ExtensionsListView_1.isRecommendedExtensionsQuery(query.value) && options.sortBy !== undefined)) {
873
- return this.searchRecommendations(query, options, token);
874
- }
875
- if (ExtensionsListView_1.isRecommendedExtensionsQuery(query.value)) {
876
- return this.getOtherRecommendationsModel(query, options, token);
877
- }
878
- return ( new PagedModel([]));
879
- }
880
- async getInstallableRecommendations(recommendations, options, token) {
881
- const result = [];
882
- if (recommendations.length) {
883
- const galleryExtensions = [];
884
- const resourceExtensions = [];
885
- for (const recommendation of recommendations) {
886
- if (typeof recommendation === "string") {
887
- galleryExtensions.push(recommendation);
888
- } else {
889
- resourceExtensions.push(recommendation);
890
- }
891
- }
892
- if (galleryExtensions.length) {
893
- try {
894
- const extensions = await this.extensionsWorkbenchService.getExtensions(( galleryExtensions.map(id => ({
895
- id
896
- }))), {
897
- source: options.source
898
- }, token);
899
- for (const extension of extensions) {
900
- if (extension.gallery && !extension.deprecationInfo && (await this.extensionManagementService.canInstall(extension.gallery)) === true) {
901
- result.push(extension);
902
- }
903
- }
904
- } catch (error) {
905
- if (!resourceExtensions.length || !this.isOfflineError(error)) {
906
- throw error;
907
- }
908
- }
909
- }
910
- if (resourceExtensions.length) {
911
- const extensions = await this.extensionsWorkbenchService.getResourceExtensions(resourceExtensions, true);
912
- for (const extension of extensions) {
913
- if ((await this.extensionsWorkbenchService.canInstall(extension)) === true) {
914
- result.push(extension);
915
- }
916
- }
917
- }
918
- }
919
- return result;
920
- }
921
- async getWorkspaceRecommendations() {
922
- const recommendations = await this.extensionRecommendationsService.getWorkspaceRecommendations();
923
- const {
924
- important
925
- } = await this.extensionRecommendationsService.getConfigBasedRecommendations();
926
- for (const configBasedRecommendation of important) {
927
- if (!recommendations.find(extensionId => extensionId === configBasedRecommendation)) {
928
- recommendations.push(configBasedRecommendation);
929
- }
930
- }
931
- return recommendations;
932
- }
933
- async getWorkspaceRecommendationsModel(query, options, token) {
934
- const recommendations = await this.getWorkspaceRecommendations();
935
- const installableRecommendations = (await this.getInstallableRecommendations(recommendations, {
936
- ...options,
937
- source: "recommendations-workspace"
938
- }, token));
939
- return ( new PagedModel(installableRecommendations));
940
- }
941
- async getKeymapRecommendationsModel(query, options, token) {
942
- const value = query.value.replace(/@recommended:keymaps/g, "").trim().toLowerCase();
943
- const recommendations = this.extensionRecommendationsService.getKeymapRecommendations();
944
- const installableRecommendations = (await this.getInstallableRecommendations(recommendations, {
945
- ...options,
946
- source: "recommendations-keymaps"
947
- }, token)).filter(extension => extension.identifier.id.toLowerCase().indexOf(value) > -1);
948
- return ( new PagedModel(installableRecommendations));
949
- }
950
- async getLanguageRecommendationsModel(query, options, token) {
951
- const value = query.value.replace(/@recommended:languages/g, "").trim().toLowerCase();
952
- const recommendations = this.extensionRecommendationsService.getLanguageRecommendations();
953
- const installableRecommendations = (await this.getInstallableRecommendations(recommendations, {
954
- ...options,
955
- source: "recommendations-languages"
956
- }, token)).filter(extension => extension.identifier.id.toLowerCase().indexOf(value) > -1);
957
- return ( new PagedModel(installableRecommendations));
958
- }
959
- async getRemoteRecommendationsModel(query, options, token) {
960
- const value = query.value.replace(/@recommended:remotes/g, "").trim().toLowerCase();
961
- const recommendations = this.extensionRecommendationsService.getRemoteRecommendations();
962
- const installableRecommendations = (await this.getInstallableRecommendations(recommendations, {
963
- ...options,
964
- source: "recommendations-remotes"
965
- }, token)).filter(extension => extension.identifier.id.toLowerCase().indexOf(value) > -1);
966
- return ( new PagedModel(installableRecommendations));
967
- }
968
- async getExeRecommendationsModel(query, options, token) {
969
- const exe = query.value.replace(/@exe:/g, "").trim().toLowerCase();
970
- const {
971
- important,
972
- others
973
- } = await this.extensionRecommendationsService.getExeBasedRecommendations(exe.startsWith("\"") ? exe.substring(1, exe.length - 1) : exe);
974
- const installableRecommendations = await this.getInstallableRecommendations([...important, ...others], {
975
- ...options,
976
- source: "recommendations-exe"
977
- }, token);
978
- return ( new PagedModel(installableRecommendations));
979
- }
980
- async getOtherRecommendationsModel(query, options, token) {
981
- const otherRecommendations = await this.getOtherRecommendations();
982
- const installableRecommendations = await this.getInstallableRecommendations(otherRecommendations, {
983
- ...options,
984
- source: "recommendations-other",
985
- sortBy: undefined
986
- }, token);
987
- const result = coalesce(( otherRecommendations.map(
988
- id => installableRecommendations.find(i => areSameExtensions(i.identifier, {
989
- id
990
- }))
991
- )));
992
- return ( new PagedModel(result));
993
- }
994
- async getOtherRecommendations() {
995
- const local = ( (await this.extensionsWorkbenchService.queryLocal(this.options.server)).map(e => e.identifier.id.toLowerCase()));
996
- const workspaceRecommendations = ( (await this.getWorkspaceRecommendations()).map(
997
- extensionId => isString(extensionId) ? extensionId.toLowerCase() : extensionId
998
- ));
999
- return distinct((await Promise.all([
1000
- this.extensionRecommendationsService.getImportantRecommendations(), this.extensionRecommendationsService.getFileBasedRecommendations(), this.extensionRecommendationsService.getOtherRecommendations()])).flat().filter(
1001
- extensionId => !local.includes(extensionId.toLowerCase()) && !workspaceRecommendations.includes(extensionId.toLowerCase())
1002
- ), extensionId => extensionId.toLowerCase());
1003
- }
1004
- async getAllRecommendationsModel(options, token) {
1005
- const localExtensions = await this.extensionsWorkbenchService.queryLocal(this.options.server);
1006
- const localExtensionIds = ( localExtensions.map(e => e.identifier.id.toLowerCase()));
1007
- const allRecommendations = distinct((await Promise.all([
1008
- this.getWorkspaceRecommendations(), this.extensionRecommendationsService.getImportantRecommendations(), this.extensionRecommendationsService.getFileBasedRecommendations(), this.extensionRecommendationsService.getOtherRecommendations()])).flat().filter(extensionId => {
1009
- if (isString(extensionId)) {
1010
- return !localExtensionIds.includes(extensionId.toLowerCase());
1011
- }
1012
- return !( localExtensions.some(
1013
- localExtension => localExtension.local && this.uriIdentityService.extUri.isEqual(localExtension.local.location, extensionId)
1014
- ));
1015
- }));
1016
- const installableRecommendations = await this.getInstallableRecommendations(allRecommendations, {
1017
- ...options,
1018
- source: "recommendations-all",
1019
- sortBy: undefined
1020
- }, token);
1021
- const result = [];
1022
- for (let i = 0; i < installableRecommendations.length && result.length < 8; i++) {
1023
- const recommendation = allRecommendations[i];
1024
- if (isString(recommendation)) {
1025
- const extension = installableRecommendations.find(extension => areSameExtensions(extension.identifier, {
1026
- id: recommendation
1027
- }));
1028
- if (extension) {
1029
- result.push(extension);
1030
- }
1031
- } else {
1032
- const extension = installableRecommendations.find(
1033
- extension => extension.resourceExtension && this.uriIdentityService.extUri.isEqual(extension.resourceExtension.location, recommendation)
1034
- );
1035
- if (extension) {
1036
- result.push(extension);
1037
- }
1038
- }
1039
- }
1040
- return ( new PagedModel(result));
1041
- }
1042
- async searchRecommendations(query, options, token) {
1043
- const value = query.value.replace(/@recommended/g, "").trim().toLowerCase();
1044
- const recommendations = distinct([
1045
- ...(await this.getWorkspaceRecommendations()),
1046
- ...(await this.getOtherRecommendations())
1047
- ]);
1048
- const installableRecommendations = (await this.getInstallableRecommendations(recommendations, {
1049
- ...options,
1050
- source: "recommendations",
1051
- sortBy: undefined
1052
- }, token)).filter(extension => extension.identifier.id.toLowerCase().indexOf(value) > -1);
1053
- return ( new PagedModel(this.sortExtensions(installableRecommendations, options)));
1054
- }
1055
- setModel(model, message, donotResetScrollTop) {
1056
- if (this.list) {
1057
- this.list.model = ( new DelayedPagedModel(model));
1058
- this.updateBody(message);
1059
- if (!donotResetScrollTop) {
1060
- this.list.scrollTop = 0;
1061
- }
1062
- }
1063
- if (this.badge) {
1064
- this.badge.setCount(this.count());
1065
- }
1066
- }
1067
- updateModel(model) {
1068
- if (this.list) {
1069
- this.list.model = ( new DelayedPagedModel(model));
1070
- this.updateBody();
1071
- }
1072
- if (this.badge) {
1073
- this.badge.setCount(this.count());
1074
- }
1075
- }
1076
- updateBody(message) {
1077
- if (this.bodyTemplate) {
1078
- const count = this.count();
1079
- this.bodyTemplate.extensionsList.classList.toggle("hidden", count === 0);
1080
- this.bodyTemplate.messageContainer.classList.toggle("hidden", !message && count > 0);
1081
- if (this.isBodyVisible()) {
1082
- if (message) {
1083
- this.bodyTemplate.messageSeverityIcon.className = SeverityIcon.className(message.severity);
1084
- this.bodyTemplate.messageBox.textContent = message.text;
1085
- } else if (this.count() === 0) {
1086
- this.bodyTemplate.messageSeverityIcon.className = "";
1087
- this.bodyTemplate.messageBox.textContent = ( localize(9507, "No extensions found."));
1088
- }
1089
- if (this.bodyTemplate.messageBox.textContent) {
1090
- alert(this.bodyTemplate.messageBox.textContent);
1091
- }
1092
- }
1093
- }
1094
- this.updateSize();
1095
- }
1096
- getMessage(error) {
1097
- if (this.isOfflineError(error)) {
1098
- return {
1099
- text: ( localize(
1100
- 9508,
1101
- "Unable to search the Marketplace when offline, please check your network connection."
1102
- )),
1103
- severity: Severity$1.Warning
1104
- };
1105
- } else {
1106
- return {
1107
- text: ( localize(9509, "Error while fetching extensions. {0}", getErrorMessage(error))),
1108
- severity: Severity$1.Error
1109
- };
1110
- }
1111
- }
1112
- isOfflineError(error) {
1113
- if (error instanceof ExtensionGalleryError) {
1114
- return error.code === ExtensionGalleryErrorCode.Offline;
1115
- }
1116
- return isOfflineError(error);
1117
- }
1118
- updateSize() {
1119
- if (this.options.flexibleHeight) {
1120
- this.maximumBodySize = this.list?.model.length ? Number.POSITIVE_INFINITY : 0;
1121
- this.storageService.store(
1122
- `${this.id}.size`,
1123
- this.list?.model.length || 0,
1124
- StorageScope.PROFILE,
1125
- StorageTarget.MACHINE
1126
- );
1127
- }
1128
- }
1129
- dispose() {
1130
- super.dispose();
1131
- if (this.queryRequest) {
1132
- this.queryRequest.request.cancel();
1133
- this.queryRequest = null;
1134
- }
1135
- if (this.queryResult) {
1136
- this.queryResult.disposables.dispose();
1137
- this.queryResult = undefined;
1138
- }
1139
- this.list = null;
1140
- }
1141
- static isLocalExtensionsQuery(query, sortBy) {
1142
- return this.isInstalledExtensionsQuery(query) || this.isSearchInstalledExtensionsQuery(query) || this.isOutdatedExtensionsQuery(query) || this.isEnabledExtensionsQuery(query) || this.isDisabledExtensionsQuery(query) || this.isBuiltInExtensionsQuery(query) || this.isSearchBuiltInExtensionsQuery(query) || this.isBuiltInGroupExtensionsQuery(query) || this.isSearchDeprecatedExtensionsQuery(query) || this.isSearchWorkspaceUnsupportedExtensionsQuery(query) || this.isSearchRecentlyUpdatedQuery(query) || this.isRestartRequiredQuery(query) || this.isSearchExtensionUpdatesQuery(query) || this.isSortInstalledExtensionsQuery(query, sortBy) || this.isFeatureExtensionsQuery(query);
1143
- }
1144
- static isSearchBuiltInExtensionsQuery(query) {
1145
- return /@builtin\s.+|.+\s@builtin/i.test(query);
1146
- }
1147
- static isBuiltInExtensionsQuery(query) {
1148
- return /^@builtin$/i.test(query.trim());
1149
- }
1150
- static isBuiltInGroupExtensionsQuery(query) {
1151
- return /^@builtin:.+$/i.test(query.trim());
1152
- }
1153
- static isSearchWorkspaceUnsupportedExtensionsQuery(query) {
1154
- return /^\s*@workspaceUnsupported(:(untrusted|virtual)(Partial)?)?(\s|$)/i.test(query);
1155
- }
1156
- static isInstalledExtensionsQuery(query) {
1157
- return /@installed$/i.test(query) && !/@mcp/i.test(query) && !/@agentPlugins/i.test(query);
1158
- }
1159
- static isSearchInstalledExtensionsQuery(query) {
1160
- return (/@installed\s./i.test(query) && !/@mcp/i.test(query) && !/@agentPlugins/i.test(query)) || this.isFeatureExtensionsQuery(query);
1161
- }
1162
- static isOutdatedExtensionsQuery(query) {
1163
- return /@outdated/i.test(query);
1164
- }
1165
- static isEnabledExtensionsQuery(query) {
1166
- return /@enabled/i.test(query) && !/@builtin/i.test(query);
1167
- }
1168
- static isDisabledExtensionsQuery(query) {
1169
- return /@disabled/i.test(query) && !/@builtin/i.test(query);
1170
- }
1171
- static isSearchDeprecatedExtensionsQuery(query) {
1172
- return /@deprecated\s?.*/i.test(query);
1173
- }
1174
- static isRecommendedExtensionsQuery(query) {
1175
- return /^@recommended$/i.test(query.trim());
1176
- }
1177
- static isSearchRecommendedExtensionsQuery(query) {
1178
- return /@recommended\s.+/i.test(query);
1179
- }
1180
- static isWorkspaceRecommendedExtensionsQuery(query) {
1181
- return /@recommended:workspace/i.test(query);
1182
- }
1183
- static isExeRecommendedExtensionsQuery(query) {
1184
- return /@exe:.+/i.test(query);
1185
- }
1186
- static isRemoteRecommendedExtensionsQuery(query) {
1187
- return /@recommended:remotes/i.test(query);
1188
- }
1189
- static isKeymapsRecommendedExtensionsQuery(query) {
1190
- return /@recommended:keymaps/i.test(query);
1191
- }
1192
- static isLanguageRecommendedExtensionsQuery(query) {
1193
- return /@recommended:languages/i.test(query);
1194
- }
1195
- static isSortInstalledExtensionsQuery(query, sortBy) {
1196
- return (sortBy !== undefined && sortBy !== "" && query === "") || (!sortBy && /^@sort:\S*$/i.test(query));
1197
- }
1198
- static isSearchPopularQuery(query) {
1199
- return /@popular/i.test(query);
1200
- }
1201
- static isSearchRecentlyPublishedQuery(query) {
1202
- return /@recentlyPublished/i.test(query);
1203
- }
1204
- static isSearchRecentlyUpdatedQuery(query) {
1205
- return /@recentlyUpdated/i.test(query);
1206
- }
1207
- static isRestartRequiredQuery(query) {
1208
- return /@restartrequired/i.test(query);
1209
- }
1210
- static isSearchExtensionUpdatesQuery(query) {
1211
- return /@updates/i.test(query);
1212
- }
1213
- static isSortUpdateDateQuery(query) {
1214
- return /@sort:updateDate/i.test(query);
1215
- }
1216
- static isFeatureExtensionsQuery(query) {
1217
- return /@contribute:/i.test(query);
1218
- }
1219
- focus() {
1220
- super.focus();
1221
- if (!this.list) {
1222
- return;
1223
- }
1224
- if (!(this.list.getFocus().length || this.list.getSelection().length)) {
1225
- this.list.focusNext();
1226
- }
1227
- this.list.domFocus();
1228
- }
1229
- };
1230
- ExtensionsListView = ExtensionsListView_1 = ( __decorate([( __param(2, INotificationService)), ( __param(3, IKeybindingService)), ( __param(4, IContextMenuService)), ( __param(5, IInstantiationService)), ( __param(6, IThemeService)), ( __param(7, IExtensionService)), ( __param(8, IExtensionsWorkbenchService)), ( __param(9, IExtensionRecommendationsService)), ( __param(10, ITelemetryService)), ( __param(11, IHoverService)), ( __param(12, IConfigurationService)), ( __param(13, IWorkspaceContextService)), ( __param(14, IExtensionManagementServerService)), ( __param(15, IExtensionManifestPropertiesService)), ( __param(16, IWorkbenchExtensionManagementService)), ( __param(17, IWorkspaceContextService)), ( __param(18, IProductService)), ( __param(19, IContextKeyService)), ( __param(20, IViewDescriptorService)), ( __param(21, IOpenerService)), ( __param(22, IStorageService)), ( __param(23, IWorkspaceTrustManagementService)), ( __param(24, IWorkbenchExtensionEnablementService)), ( __param(25, IExtensionFeaturesManagementService)), ( __param(26, IUriIdentityService)), ( __param(27, ILogService))], ExtensionsListView));
1231
- class DefaultPopularExtensionsView extends ExtensionsListView {
1232
- async show() {
1233
- const query = this.extensionManagementServerService.webExtensionManagementServer && !this.extensionManagementServerService.localExtensionManagementServer && !this.extensionManagementServerService.remoteExtensionManagementServer ? "@web" : "";
1234
- return super.show(query);
1235
- }
1236
- }
1237
- class ServerInstalledExtensionsView extends ExtensionsListView {
1238
- async show(query) {
1239
- query = query ? query : "@installed";
1240
- if (!ExtensionsListView.isLocalExtensionsQuery(query) || ExtensionsListView.isSortInstalledExtensionsQuery(query)) {
1241
- query = query += " @installed";
1242
- }
1243
- return super.show(query.trim());
1244
- }
1245
- }
1246
- class EnabledExtensionsView extends ExtensionsListView {
1247
- async show(query) {
1248
- query = query || "@enabled";
1249
- return ExtensionsListView.isEnabledExtensionsQuery(query) ? super.show(query) : ExtensionsListView.isSortInstalledExtensionsQuery(query) ? super.show("@enabled " + query) : this.showEmptyModel();
1250
- }
1251
- }
1252
- class DisabledExtensionsView extends ExtensionsListView {
1253
- async show(query) {
1254
- query = query || "@disabled";
1255
- return ExtensionsListView.isDisabledExtensionsQuery(query) ? super.show(query) : ExtensionsListView.isSortInstalledExtensionsQuery(query) ? super.show("@disabled " + query) : this.showEmptyModel();
1256
- }
1257
- }
1258
- class OutdatedExtensionsView extends ExtensionsListView {
1259
- async show(query) {
1260
- query = query ? query : "@outdated";
1261
- if (ExtensionsListView.isSearchExtensionUpdatesQuery(query)) {
1262
- query = query.replace("@updates", "@outdated");
1263
- }
1264
- return super.show(query.trim());
1265
- }
1266
- updateSize() {
1267
- super.updateSize();
1268
- this.setExpanded(this.count() > 0);
1269
- }
1270
- }
1271
- class RecentlyUpdatedExtensionsView extends ExtensionsListView {
1272
- async show(query) {
1273
- query = query ? query : "@recentlyUpdated";
1274
- if (ExtensionsListView.isSearchExtensionUpdatesQuery(query)) {
1275
- query = query.replace("@updates", "@recentlyUpdated");
1276
- }
1277
- return super.show(query.trim());
1278
- }
1279
- }
1280
- let StaticQueryExtensionsView = class StaticQueryExtensionsView extends ExtensionsListView {
1281
- constructor(
1282
- options,
1283
- viewletViewOptions,
1284
- notificationService,
1285
- keybindingService,
1286
- contextMenuService,
1287
- instantiationService,
1288
- themeService,
1289
- extensionService,
1290
- extensionsWorkbenchService,
1291
- extensionRecommendationsService,
1292
- telemetryService,
1293
- hoverService,
1294
- configurationService,
1295
- contextService,
1296
- extensionManagementServerService,
1297
- extensionManifestPropertiesService,
1298
- extensionManagementService,
1299
- workspaceService,
1300
- productService,
1301
- contextKeyService,
1302
- viewDescriptorService,
1303
- openerService,
1304
- storageService,
1305
- workspaceTrustManagementService,
1306
- extensionEnablementService,
1307
- extensionFeaturesManagementService,
1308
- uriIdentityService,
1309
- logService
1310
- ) {
1311
- super(
1312
- options,
1313
- viewletViewOptions,
1314
- notificationService,
1315
- keybindingService,
1316
- contextMenuService,
1317
- instantiationService,
1318
- themeService,
1319
- extensionService,
1320
- extensionsWorkbenchService,
1321
- extensionRecommendationsService,
1322
- telemetryService,
1323
- hoverService,
1324
- configurationService,
1325
- contextService,
1326
- extensionManagementServerService,
1327
- extensionManifestPropertiesService,
1328
- extensionManagementService,
1329
- workspaceService,
1330
- productService,
1331
- contextKeyService,
1332
- viewDescriptorService,
1333
- openerService,
1334
- storageService,
1335
- workspaceTrustManagementService,
1336
- extensionEnablementService,
1337
- extensionFeaturesManagementService,
1338
- uriIdentityService,
1339
- logService
1340
- );
1341
- this.options = options;
1342
- }
1343
- show() {
1344
- return super.show(this.options.query);
1345
- }
1346
- };
1347
- StaticQueryExtensionsView = ( __decorate([( __param(2, INotificationService)), ( __param(3, IKeybindingService)), ( __param(4, IContextMenuService)), ( __param(5, IInstantiationService)), ( __param(6, IThemeService)), ( __param(7, IExtensionService)), ( __param(8, IExtensionsWorkbenchService)), ( __param(9, IExtensionRecommendationsService)), ( __param(10, ITelemetryService)), ( __param(11, IHoverService)), ( __param(12, IConfigurationService)), ( __param(13, IWorkspaceContextService)), ( __param(14, IExtensionManagementServerService)), ( __param(15, IExtensionManifestPropertiesService)), ( __param(16, IWorkbenchExtensionManagementService)), ( __param(17, IWorkspaceContextService)), ( __param(18, IProductService)), ( __param(19, IContextKeyService)), ( __param(20, IViewDescriptorService)), ( __param(21, IOpenerService)), ( __param(22, IStorageService)), ( __param(23, IWorkspaceTrustManagementService)), ( __param(24, IWorkbenchExtensionEnablementService)), ( __param(25, IExtensionFeaturesManagementService)), ( __param(26, IUriIdentityService)), ( __param(27, ILogService))], StaticQueryExtensionsView));
1348
- function toSpecificWorkspaceUnsupportedQuery(query, qualifier) {
1349
- if (!query) {
1350
- return "@workspaceUnsupported:" + qualifier;
1351
- }
1352
- const match = query.match(( new RegExp(`@workspaceUnsupported(:${qualifier})?(\\s|$)`, "i")));
1353
- if (match) {
1354
- if (!match[1]) {
1355
- return query.replace(/@workspaceUnsupported/gi, "@workspaceUnsupported:" + qualifier);
1356
- }
1357
- return query;
1358
- }
1359
- return undefined;
1360
- }
1361
- class UntrustedWorkspaceUnsupportedExtensionsView extends ExtensionsListView {
1362
- async show(query) {
1363
- const updatedQuery = toSpecificWorkspaceUnsupportedQuery(query, "untrusted");
1364
- return updatedQuery ? super.show(updatedQuery) : this.showEmptyModel();
1365
- }
1366
- }
1367
- class UntrustedWorkspacePartiallySupportedExtensionsView extends ExtensionsListView {
1368
- async show(query) {
1369
- const updatedQuery = toSpecificWorkspaceUnsupportedQuery(query, "untrustedPartial");
1370
- return updatedQuery ? super.show(updatedQuery) : this.showEmptyModel();
1371
- }
1372
- }
1373
- class VirtualWorkspaceUnsupportedExtensionsView extends ExtensionsListView {
1374
- async show(query) {
1375
- const updatedQuery = toSpecificWorkspaceUnsupportedQuery(query, "virtual");
1376
- return updatedQuery ? super.show(updatedQuery) : this.showEmptyModel();
1377
- }
1378
- }
1379
- class VirtualWorkspacePartiallySupportedExtensionsView extends ExtensionsListView {
1380
- async show(query) {
1381
- const updatedQuery = toSpecificWorkspaceUnsupportedQuery(query, "virtualPartial");
1382
- return updatedQuery ? super.show(updatedQuery) : this.showEmptyModel();
1383
- }
1384
- }
1385
- class DeprecatedExtensionsView extends ExtensionsListView {
1386
- async show(query) {
1387
- return ExtensionsListView.isSearchDeprecatedExtensionsQuery(query) ? super.show(query) : this.showEmptyModel();
1388
- }
1389
- }
1390
- class SearchMarketplaceExtensionsView extends ExtensionsListView {
1391
- constructor() {
1392
- super(...arguments);
1393
- this.reportSearchFinishedDelayer = this._register(( new ThrottledDelayer(2000)));
1394
- this.searchWaitPromise = Promise.resolve();
1395
- }
1396
- async show(query) {
1397
- const queryPromise = super.show(query);
1398
- this.reportSearchFinishedDelayer.trigger(() => this.reportSearchFinished());
1399
- this.searchWaitPromise = queryPromise.then(null, null);
1400
- return queryPromise;
1401
- }
1402
- async reportSearchFinished() {
1403
- await this.searchWaitPromise;
1404
- this.telemetryService.publicLog2("extensionsView:MarketplaceSearchFinished");
1405
- }
1406
- }
1407
- class DefaultRecommendedExtensionsView extends ExtensionsListView {
1408
- constructor() {
1409
- super(...arguments);
1410
- this.recommendedExtensionsQuery = "@recommended:all";
1411
- }
1412
- renderBody(container) {
1413
- super.renderBody(container);
1414
- this._register(this.extensionRecommendationsService.onDidChangeRecommendations(() => {
1415
- this.show("");
1416
- }));
1417
- }
1418
- async show(query) {
1419
- if (query && query.trim() !== this.recommendedExtensionsQuery) {
1420
- return this.showEmptyModel();
1421
- }
1422
- const model = await super.show(this.recommendedExtensionsQuery);
1423
- if (!( this.extensionsWorkbenchService.local.some(e => !e.isBuiltin))) {
1424
- this.setExpanded(model.length > 0);
1425
- }
1426
- return model;
1427
- }
1428
- }
1429
- class RecommendedExtensionsView extends ExtensionsListView {
1430
- constructor() {
1431
- super(...arguments);
1432
- this.recommendedExtensionsQuery = "@recommended";
1433
- }
1434
- renderBody(container) {
1435
- super.renderBody(container);
1436
- this._register(this.extensionRecommendationsService.onDidChangeRecommendations(() => {
1437
- this.show("");
1438
- }));
1439
- }
1440
- async show(query) {
1441
- return (query && query.trim() !== this.recommendedExtensionsQuery) ? this.showEmptyModel() : super.show(this.recommendedExtensionsQuery);
1442
- }
1443
- }
1444
- class WorkspaceRecommendedExtensionsView extends ExtensionsListView {
1445
- constructor() {
1446
- super(...arguments);
1447
- this.recommendedExtensionsQuery = "@recommended:workspace";
1448
- }
1449
- renderBody(container) {
1450
- super.renderBody(container);
1451
- this._register(
1452
- this.extensionRecommendationsService.onDidChangeRecommendations(() => this.show(this.recommendedExtensionsQuery))
1453
- );
1454
- this._register(
1455
- this.contextService.onDidChangeWorkbenchState(() => this.show(this.recommendedExtensionsQuery))
1456
- );
1457
- }
1458
- async show(query) {
1459
- const shouldShowEmptyView = query && query.trim() !== "@recommended" && query.trim() !== "@recommended:workspace";
1460
- const model = await (shouldShowEmptyView ? this.showEmptyModel() : super.show(this.recommendedExtensionsQuery));
1461
- this.setExpanded(model.length > 0);
1462
- return model;
1463
- }
1464
- async getInstallableWorkspaceRecommendations() {
1465
- const installed = (await this.extensionsWorkbenchService.queryLocal()).filter(l => l.enablementState !== EnablementState.DisabledByExtensionKind);
1466
- const recommendations = (await this.getWorkspaceRecommendations()).filter(
1467
- recommendation => installed.every(local => isString(recommendation) ? !areSameExtensions({
1468
- id: recommendation
1469
- }, local.identifier) : !this.uriIdentityService.extUri.isEqual(recommendation, local.local?.location))
1470
- );
1471
- return this.getInstallableRecommendations(recommendations, {
1472
- source: "install-all-workspace-recommendations"
1473
- }, CancellationToken.None);
1474
- }
1475
- async installWorkspaceRecommendations() {
1476
- const installableRecommendations = await this.getInstallableWorkspaceRecommendations();
1477
- if (installableRecommendations.length) {
1478
- const galleryExtensions = [];
1479
- const resourceExtensions = [];
1480
- for (const recommendation of installableRecommendations) {
1481
- if (recommendation.gallery) {
1482
- galleryExtensions.push({
1483
- extension: recommendation.gallery,
1484
- options: {}
1485
- });
1486
- } else {
1487
- resourceExtensions.push(recommendation);
1488
- }
1489
- }
1490
- await Promise.all([
1491
- this.extensionManagementService.installGalleryExtensions(galleryExtensions),
1492
- ...( resourceExtensions.map(extension => this.extensionsWorkbenchService.install(extension)))
1493
- ]);
1494
- } else {
1495
- this.notificationService.notify({
1496
- severity: Severity$1.Info,
1497
- message: ( localize(9510, "There are no extensions to install."))
1498
- });
1499
- }
1500
- }
1501
- }
1502
- class PreferredExtensionsPagedModel {
1503
- get onDidIncrementLength() {
1504
- return Event.None;
1505
- }
1506
- constructor(preferredExtensions, pager) {
1507
- this.preferredExtensions = preferredExtensions;
1508
- this.pager = pager;
1509
- this.resolved = ( new Map());
1510
- this.preferredGalleryExtensions = ( new Set());
1511
- this.resolvedGalleryExtensionsFromQuery = [];
1512
- for (let i = 0; i < this.preferredExtensions.length; i++) {
1513
- this.resolved.set(i, this.preferredExtensions[i]);
1514
- }
1515
- for (const e of preferredExtensions) {
1516
- if (e.identifier.uuid) {
1517
- this.preferredGalleryExtensions.add(e.identifier.uuid);
1518
- }
1519
- }
1520
- this.length = (preferredExtensions.length - this.preferredGalleryExtensions.size) + this.pager.total;
1521
- const totalPages = Math.ceil(this.pager.total / this.pager.pageSize);
1522
- this.populateResolvedExtensions(0, this.pager.firstPage);
1523
- this.pages = ( range(totalPages - 1).map(() => ({
1524
- promise: null,
1525
- cts: null,
1526
- promiseIndexes: ( new Set())
1527
- })));
1528
- }
1529
- isResolved(index) {
1530
- return ( this.resolved.has(index));
1531
- }
1532
- get(index) {
1533
- return this.resolved.get(index);
1534
- }
1535
- async resolve(index, cancellationToken) {
1536
- if (cancellationToken.isCancellationRequested) {
1537
- throw ( new CancellationError());
1538
- }
1539
- if (this.isResolved(index)) {
1540
- return this.get(index);
1541
- }
1542
- const indexInPagedModel = index - this.preferredExtensions.length + this.resolvedGalleryExtensionsFromQuery.length;
1543
- const pageIndex = Math.floor(indexInPagedModel / this.pager.pageSize);
1544
- const page = this.pages[pageIndex];
1545
- if (!page.promise) {
1546
- page.cts = ( new CancellationTokenSource());
1547
- page.promise = this.pager.getPage(pageIndex, page.cts.token).then(extensions => this.populateResolvedExtensions(pageIndex, extensions)).catch(e => {
1548
- page.promise = null;
1549
- throw e;
1550
- }).finally(() => page.cts = null);
1551
- }
1552
- const listener = cancellationToken.onCancellationRequested(() => {
1553
- if (!page.cts) {
1554
- return;
1555
- }
1556
- page.promiseIndexes.delete(index);
1557
- if (page.promiseIndexes.size === 0) {
1558
- page.cts.cancel();
1559
- }
1560
- });
1561
- page.promiseIndexes.add(index);
1562
- try {
1563
- await page.promise;
1564
- } finally {
1565
- listener.dispose();
1566
- }
1567
- return this.get(index);
1568
- }
1569
- populateResolvedExtensions(pageIndex, extensions) {
1570
- let adjustIndexOfNextPagesBy = 0;
1571
- const pageStartIndex = pageIndex * this.pager.pageSize;
1572
- for (let i = 0; i < extensions.length; i++) {
1573
- const e = extensions[i];
1574
- if (e.gallery?.identifier.uuid && ( this.preferredGalleryExtensions.has(e.gallery.identifier.uuid))) {
1575
- this.resolvedGalleryExtensionsFromQuery.push(e);
1576
- adjustIndexOfNextPagesBy++;
1577
- } else {
1578
- this.resolved.set(
1579
- this.preferredExtensions.length - this.resolvedGalleryExtensionsFromQuery.length + pageStartIndex + i,
1580
- e
1581
- );
1582
- }
1583
- }
1584
- if (pageIndex !== 0 && adjustIndexOfNextPagesBy) {
1585
- const nextPageStartIndex = (pageIndex + 1) * this.pager.pageSize;
1586
- const indices = [...( this.resolved.keys())].sort();
1587
- for (const index of indices) {
1588
- if (index >= nextPageStartIndex) {
1589
- const e = this.resolved.get(index);
1590
- if (e) {
1591
- this.resolved.delete(index);
1592
- this.resolved.set(index - adjustIndexOfNextPagesBy, e);
1593
- }
1594
- }
1595
- }
1596
- }
1597
- }
1598
- }
1599
-
1600
- export { AbstractExtensionsListView, DefaultPopularExtensionsView, DefaultRecommendedExtensionsView, DeprecatedExtensionsView, DisabledExtensionsView, EnabledExtensionsView, ExtensionsListView, NONE_CATEGORY, OutdatedExtensionsView, PreferredExtensionsPagedModel, RecentlyUpdatedExtensionsView, RecommendedExtensionsView, SearchMarketplaceExtensionsView, ServerInstalledExtensionsView, StaticQueryExtensionsView, UntrustedWorkspacePartiallySupportedExtensionsView, UntrustedWorkspaceUnsupportedExtensionsView, VirtualWorkspacePartiallySupportedExtensionsView, VirtualWorkspaceUnsupportedExtensionsView, WorkspaceRecommendedExtensionsView };