@codingame/monaco-vscode-api 21.6.0 → 22.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/missing-services.js +68 -78
  2. package/package.json +8 -8
  3. package/services.d.ts +4 -4
  4. package/services.js +5 -4
  5. package/vscode/product.json.js +1 -1
  6. package/vscode/src/vs/base/browser/dom.js +6 -3
  7. package/vscode/src/vs/base/browser/domSanitize.d.ts +8 -0
  8. package/vscode/src/vs/base/browser/domSanitize.js +49 -27
  9. package/vscode/src/vs/base/browser/domStylesheets.js +5 -1
  10. package/vscode/src/vs/base/browser/markdownRenderer.js +7 -5
  11. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  12. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +2 -2
  13. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  14. package/vscode/src/vs/base/browser/ui/menu/menu.js +1 -0
  15. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.d.ts +1 -1
  16. package/vscode/src/vs/base/common/async.js +6 -0
  17. package/vscode/src/vs/base/common/cancellation.d.ts +21 -0
  18. package/vscode/src/vs/base/common/cancellation.js +42 -1
  19. package/vscode/src/vs/base/common/codicons.d.ts +3 -0
  20. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +3 -0
  21. package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
  22. package/vscode/src/vs/base/common/decorators/cancelPreviousCalls.d.ts +84 -0
  23. package/vscode/src/vs/base/common/decorators.d.ts +1 -1
  24. package/vscode/src/vs/base/common/htmlContent.d.ts +2 -0
  25. package/vscode/src/vs/base/common/htmlContent.js +9 -6
  26. package/vscode/src/vs/base/common/lifecycle.js +21 -7
  27. package/vscode/src/vs/base/common/numbers.d.ts +0 -45
  28. package/vscode/src/vs/base/common/oauth.d.ts +33 -0
  29. package/vscode/src/vs/base/common/oauth.js +79 -3
  30. package/vscode/src/vs/base/common/observableInternal/base.d.ts +4 -0
  31. package/vscode/src/vs/base/common/observableInternal/index.js +3 -0
  32. package/vscode/src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.d.ts +4 -0
  33. package/vscode/src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +98 -0
  34. package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.d.ts +4 -0
  35. package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.js +8 -1
  36. package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.d.ts +1 -0
  37. package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.js +10 -0
  38. package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.d.ts +4 -0
  39. package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.js +3 -0
  40. package/vscode/src/vs/base/common/observableInternal/reactions/autorunImpl.d.ts +1 -0
  41. package/vscode/src/vs/base/common/observableInternal/reactions/autorunImpl.js +9 -0
  42. package/vscode/src/vs/base/common/product.d.ts +7 -1
  43. package/vscode/src/vs/base/common/strings.d.ts +0 -1
  44. package/vscode/src/vs/base/common/strings.js +9 -4
  45. package/vscode/src/vs/base/common/uriIpc.js +24 -1
  46. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +26 -16
  47. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.js +3 -3
  48. package/vscode/src/vs/editor/browser/services/hoverService/hover.css +1 -1
  49. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.d.ts +3 -1
  50. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -1
  51. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +8 -8
  52. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +4 -4
  53. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.d.ts +1 -0
  54. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +26 -1
  55. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  56. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +1 -1
  57. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +93 -85
  58. package/vscode/src/vs/editor/common/config/editorOptions.js +386 -351
  59. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  60. package/vscode/src/vs/editor/common/core/ranges/lineRange.d.ts +3 -3
  61. package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
  62. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  63. package/vscode/src/vs/editor/common/languages.d.ts +5 -1
  64. package/vscode/src/vs/editor/common/languages.js +56 -56
  65. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  66. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +86 -85
  67. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +86 -85
  68. package/vscode/src/vs/editor/common/standaloneStrings.js +47 -47
  69. package/vscode/src/vs/editor/common/textModelEditSource.d.ts +1 -0
  70. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  71. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +9 -7
  72. package/vscode/src/vs/editor/common/viewModel/screenReaderSimpleModel.d.ts +1 -0
  73. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  74. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  75. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  76. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  77. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  78. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  79. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  80. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  81. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  82. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  83. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  84. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  85. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  86. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  87. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  88. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  89. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  90. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  91. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  92. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  93. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  94. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  95. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  96. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  97. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  98. package/vscode/src/vs/editor/contrib/find/browser/findController.js +16 -16
  99. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +26 -26
  100. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.d.ts +1 -0
  101. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js +8 -0
  102. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +44 -0
  103. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.d.ts +10 -0
  104. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.js +81 -0
  105. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +21 -20
  106. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  107. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  108. package/vscode/src/vs/editor/contrib/format/browser/format.js +3 -0
  109. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  110. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  111. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  112. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  113. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.d.ts +4 -1
  114. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +20 -11
  115. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  116. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  117. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  118. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  119. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  120. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  121. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  122. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +2 -1
  123. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  124. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  125. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  126. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  127. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  128. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  129. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  130. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  131. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +2 -7
  132. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  133. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
  134. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  135. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +18 -13
  136. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  137. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  138. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +3 -1
  139. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +14 -6
  140. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +7 -1
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +154 -5
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +1 -0
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +3 -0
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +7 -3
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +18 -3
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/telemetry.d.ts +45 -0
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/telemetry.js +7 -0
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +16 -15
  149. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +5 -2
  150. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  151. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +2 -2
  152. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +24 -21
  153. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +13 -4
  154. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  155. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  156. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.d.ts +2 -1
  157. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +36 -35
  158. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  159. package/vscode/src/vs/editor/contrib/links/browser/links.js +11 -11
  160. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  161. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +3 -3
  162. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  163. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  164. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  165. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  166. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  167. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  168. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  169. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  170. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  171. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +3 -0
  172. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +13 -4
  173. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  174. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  175. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +12 -19
  176. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +10 -1
  177. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  178. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  179. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +18 -18
  180. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  181. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  182. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  183. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  184. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  185. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  186. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  187. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +26 -26
  188. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  189. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  190. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  191. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  192. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +1 -1
  193. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +0 -1
  194. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +1 -0
  195. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  196. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  197. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  198. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +9 -6
  199. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +13 -14
  200. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  201. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  202. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +1 -1
  203. package/vscode/src/vs/platform/actions/browser/toolbar.js +5 -5
  204. package/vscode/src/vs/platform/actions/common/actions.d.ts +2 -0
  205. package/vscode/src/vs/platform/actions/common/actions.js +2 -0
  206. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  207. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  208. package/vscode/src/vs/platform/assignment/common/assignment.d.ts +6 -1
  209. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +2 -2
  210. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
  211. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.d.ts +2 -0
  212. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +32 -3
  213. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  214. package/vscode/src/vs/platform/contextkey/common/contextkeys.d.ts +0 -1
  215. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +10 -11
  216. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  217. package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.d.ts +32 -0
  218. package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.js +86 -0
  219. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  220. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  221. package/vscode/src/vs/platform/environment/common/argv.d.ts +1 -0
  222. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +0 -1
  223. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +19 -19
  224. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  225. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  226. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.d.ts +1 -3
  227. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +1 -1
  228. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  229. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -1
  230. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +4 -3
  231. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +4 -3
  232. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  233. package/vscode/src/vs/platform/files/common/files.js +6 -6
  234. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  235. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  236. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  237. package/vscode/src/vs/platform/log/common/log.js +6 -6
  238. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  239. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  240. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifest.d.ts +10 -2
  241. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifest.js +10 -2
  242. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +3 -3
  243. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  244. package/vscode/src/vs/platform/product/common/product.js +3 -3
  245. package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +1 -0
  246. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +23 -15
  247. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +47 -13
  248. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +10 -61
  249. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +1 -1
  250. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  251. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  252. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.d.ts +6 -0
  253. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +10 -0
  254. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +10 -5
  255. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +4 -1
  256. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +10 -1
  257. package/vscode/src/vs/platform/request/common/request.js +34 -18
  258. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  259. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +2 -3
  260. package/vscode/src/vs/platform/terminal/common/terminal.js +6 -7
  261. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  262. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  263. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  264. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  265. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +47 -47
  266. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  267. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  268. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  269. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  270. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  271. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  272. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  273. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  274. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  275. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  276. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  277. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +11 -10
  278. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +25 -24
  279. package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +4 -4
  280. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +10 -18
  281. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +5 -0
  282. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +16 -4
  283. package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +1 -3
  284. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +9 -5
  285. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  286. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +0 -3
  287. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  288. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  289. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
  290. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +9 -4
  291. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +7 -2
  292. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  293. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +97 -9
  294. package/vscode/src/vs/workbench/api/common/extHostMcp.js +66 -62
  295. package/vscode/src/vs/workbench/api/common/extHostNotebook.d.ts +1 -1
  296. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  297. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +2 -0
  298. package/vscode/src/vs/workbench/api/common/extHostSCM.js +22 -0
  299. package/vscode/src/vs/workbench/api/common/extHostSecrets.d.ts +0 -1
  300. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +0 -3
  301. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  302. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  303. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +2 -2
  304. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +8 -8
  305. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +53 -3
  306. package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +2 -0
  307. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +5 -2
  308. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +6 -2
  309. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +60 -9
  310. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +18 -14
  311. package/vscode/src/vs/workbench/api/common/extHostTypes.js +7 -7
  312. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  313. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  314. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  315. package/vscode/src/vs/workbench/browser/actions/developerActions.js +262 -31
  316. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  317. package/vscode/src/vs/workbench/browser/contextkeys.d.ts +5 -7
  318. package/vscode/src/vs/workbench/browser/contextkeys.js +15 -43
  319. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  320. package/vscode/src/vs/workbench/common/contextkeys.js +73 -73
  321. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  322. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  323. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  324. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  325. package/vscode/src/vs/workbench/common/editor.js +4 -4
  326. package/vscode/src/vs/workbench/common/theme.js +167 -167
  327. package/vscode/src/vs/workbench/common/views.js +4 -4
  328. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.d.ts +3 -2
  329. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +175 -158
  330. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -1
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.d.ts +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextPickService.service.d.ts +1 -1
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.d.ts +1 -0
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -9
  336. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +7 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +61 -66
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +2 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatLayoutService.service.d.ts +1 -2
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +24 -8
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +8 -1
  343. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +6 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +0 -2
  345. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.d.ts +28 -3
  346. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +35 -6
  347. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +16 -6
  348. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +11 -8
  349. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +9 -2
  350. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +4 -4
  351. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +10 -3
  352. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +8 -4
  353. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +50 -42
  354. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +1 -1
  355. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +23 -8
  356. package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.d.ts +4 -3
  357. package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.js +29 -29
  358. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.js +4 -3
  359. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  360. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  361. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  362. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  363. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  364. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +7 -6
  365. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  366. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  367. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  368. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  369. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  370. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  371. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  372. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  374. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.d.ts +3 -1
  377. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +4 -4
  379. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  380. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  381. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  382. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  383. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  385. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  386. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  387. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.d.ts +6 -1
  388. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +33 -0
  389. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +16 -5
  390. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +2 -2
  391. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +217 -60
  392. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  393. package/vscode/src/vs/workbench/contrib/scm/common/history.d.ts +2 -0
  394. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  395. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  396. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  397. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  398. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  399. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +7 -7
  400. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.service.d.ts +1 -1
  401. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +16 -3
  402. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +18 -6
  403. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +42 -8
  404. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +2 -1
  405. package/vscode/src/vs/workbench/contrib/testing/common/constants.d.ts +1 -0
  406. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +12 -11
  407. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  408. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +2 -2
  409. package/vscode/src/vs/workbench/services/activity/common/activity.service.d.ts +1 -1
  410. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +4 -4
  411. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -2
  412. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +6 -6
  413. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +286 -0
  414. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +861 -0
  415. package/vscode/src/vs/workbench/{contrib → services}/chat/common/chatEntitlementService.service.d.ts +8 -2
  416. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  417. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  418. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +87 -87
  419. package/vscode/src/vs/workbench/services/language/common/languageService.js +30 -30
  420. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  421. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  422. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  423. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  424. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  425. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +1 -1
  426. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  427. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  428. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  429. package/vscode-dts/vscode.d.ts +92 -47
  430. package/vscode-dts/vscode.proposed.authenticationChallenges.d.ts +7 -80
  431. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +14 -1
  432. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +12 -0
  433. package/vscode-dts/vscode.proposed.chatProvider.d.ts +19 -0
  434. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +19 -11
  435. package/vscode-dts/vscode.proposed.d.ts +1 -1
  436. package/vscode-dts/{vscode.proposed.secretStorageKeys.d.ts → vscode.proposed.devDeviceId.d.ts} +3 -4
  437. package/vscode-dts/vscode.proposed.languageModelCapabilities.d.ts +5 -0
  438. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +2 -0
  439. package/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts +70 -16
  440. package/vscode/src/vs/workbench/contrib/chat/common/chatLayoutService.d.ts +0 -8
  441. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index.d.ts +0 -5
  442. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tokens.d.ts +0 -20
  443. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +0 -55
  444. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +0 -91
  445. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +0 -125
  446. /package/vscode/src/vs/workbench/{contrib → services}/chat/common/chatEntitlementService.service.js +0 -0
@@ -129,7 +129,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
129
129
  }
130
130
  this._clearModelCache(vendor);
131
131
  const modelInformation = (data.provider.provideLanguageModelChatInformation ? await data.provider.provideLanguageModelChatInformation(options, token) : await data.provider.prepareLanguageModelChatInformation(options, token)) ?? [];
132
- const modelMetadataAndIdentifier = ( modelInformation.map(m => {
132
+ const modelMetadataAndIdentifier = ( modelInformation.map((m) => {
133
133
  let auth;
134
134
  if (m.requiresAuthorization && isProposedApiEnabled(data.extension, 'chatProvider')) {
135
135
  auth = {
@@ -137,6 +137,9 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
137
137
  accountLabel: typeof m.requiresAuthorization === 'object' ? m.requiresAuthorization.label : undefined
138
138
  };
139
139
  }
140
+ if (m.capabilities.editTools) {
141
+ checkProposedApiEnabled(data.extension, 'chatProvider');
142
+ }
140
143
  return {
141
144
  metadata: {
142
145
  extension: data.extension.identifier,
@@ -156,6 +159,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
156
159
  modelPickerCategory: m.category ?? DEFAULT_MODEL_PICKER_CATEGORY,
157
160
  capabilities: m.capabilities ? {
158
161
  vision: m.capabilities.imageInput,
162
+ editTools: m.capabilities.editTools,
159
163
  toolCalling: !!m.capabilities.toolCalling,
160
164
  agentMode: !!m.capabilities.toolCalling
161
165
  } : undefined,
@@ -284,6 +288,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
284
288
  capabilities: {
285
289
  supportsImageToText: model.metadata.capabilities?.vision ?? false,
286
290
  supportsToolCalling: !!model.metadata.capabilities?.toolCalling,
291
+ editToolsHint: model.metadata.capabilities?.editTools,
287
292
  },
288
293
  maxInputTokens: model.metadata.maxInputTokens,
289
294
  countTokens(text, token) {
@@ -380,7 +385,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
380
385
  }
381
386
  try {
382
387
  const detail = justification
383
- ? ( localize(2632, "Justification: {1}", to.displayName, justification))
388
+ ? ( localize(2638, "Justification: {1}", to.displayName, justification))
384
389
  : undefined;
385
390
  await this._extHostAuthentication.getSession(from, providerId, [], { forceNewSession: { detail } });
386
391
  this.$updateModelAccesslist([{ from: from.identifier, to: to.identifier, enabled: true }]);
@@ -8,7 +8,7 @@ import { IExtHostInitDataService } from './extHostInitDataService.js';
8
8
  let ExtHostLogService = class ExtHostLogService extends LogService {
9
9
  constructor(isWorker, loggerService, initData) {
10
10
  const id = initData.remote.isRemote ? 'remoteexthost' : isWorker ? 'workerexthost' : 'exthost';
11
- const name = initData.remote.isRemote ? ( localize(2633, "Extension Host (Remote)")) : isWorker ? ( localize(2634, "Extension Host (Worker)")) : ( localize(2635, "Extension Host"));
11
+ const name = initData.remote.isRemote ? ( localize(2639, "Extension Host (Remote)")) : isWorker ? ( localize(2640, "Extension Host (Worker)")) : ( localize(2641, "Extension Host"));
12
12
  super(loggerService.createLogger(id, { name }));
13
13
  }
14
14
  };
@@ -1,25 +1,31 @@
1
1
  import * as vscode from "vscode";
2
- import { Disposable, IDisposable } from "../../../base/common/lifecycle.js";
2
+ import { Disposable, DisposableMap, IDisposable } from "../../../base/common/lifecycle.js";
3
+ import { URI, UriComponents } from "../../../base/common/uri.js";
3
4
  import { IExtensionDescription } from "../../../platform/extensions/common/extensions.js";
4
5
  import { ILogService } from "../../../platform/log/common/log.service.js";
5
- import { McpServerLaunch } from "../../contrib/mcp/common/mcpTypes.js";
6
- import { ExtHostMcpShape, MainThreadMcpShape } from "./extHost.protocol.js";
7
- import { IExtHostRpcService } from "./extHostRpcService.js";
6
+ import { McpServerLaunch, McpServerTransportHTTP } from "../../contrib/mcp/common/mcpTypes.js";
7
+ import { ExtHostMcpShape, IStartMcpOptions, MainThreadMcpShape } from "./extHost.protocol.js";
8
8
  import { IExtHostInitDataService } from "./extHostInitDataService.js";
9
+ import { IExtHostRpcService } from "./extHostRpcService.js";
10
+ import { IExtHostVariableResolverProvider } from "./extHostVariableResolverService.js";
11
+ import { IExtHostWorkspace } from "./extHostWorkspace.js";
9
12
  export declare const IExtHostMpcService: import("../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IExtHostMpcService>;
10
13
  export interface IExtHostMpcService extends ExtHostMcpShape {
11
14
  registerMcpConfigurationProvider(extension: IExtensionDescription, id: string, provider: vscode.McpServerDefinitionProvider): IDisposable;
12
15
  }
13
16
  export declare class ExtHostMcpService extends Disposable implements IExtHostMpcService {
14
- private readonly _logService;
17
+ protected readonly _logService: ILogService;
15
18
  private readonly _extHostInitData;
19
+ protected readonly _workspaceService: IExtHostWorkspace;
20
+ private readonly _variableResolver;
16
21
  protected _proxy: MainThreadMcpShape;
17
22
  private readonly _initialProviderPromises;
18
- private readonly _sseEventSources;
23
+ protected readonly _sseEventSources: DisposableMap<number, McpHTTPHandle>;
19
24
  private readonly _unresolvedMcpServers;
20
- constructor(extHostRpc: IExtHostRpcService, _logService: ILogService, _extHostInitData: IExtHostInitDataService);
21
- $startMcp(id: number, launch: McpServerLaunch.Serialized): void;
22
- protected _startMcp(id: number, launch: McpServerLaunch): void;
25
+ constructor(extHostRpc: IExtHostRpcService, _logService: ILogService, _extHostInitData: IExtHostInitDataService, _workspaceService: IExtHostWorkspace, _variableResolver: IExtHostVariableResolverProvider);
26
+ $startMcp(id: number, opts: IStartMcpOptions): void;
27
+ protected _startMcp(id: number, launch: McpServerLaunch, _defaultCwd?: URI, errorOnUserInteraction?: boolean): void;
28
+ $substituteVariables<T>(_workspaceFolder: UriComponents | undefined, value: T): Promise<T>;
23
29
  $stopMcp(id: number): void;
24
30
  $sendMessage(id: number, message: string): void;
25
31
  $waitForInitialCollectionProviders(): Promise<void>;
@@ -27,3 +33,85 @@ export declare class ExtHostMcpService extends Disposable implements IExtHostMpc
27
33
  /** {@link vscode.lm.registerMcpServerDefinitionProvider} */
28
34
  registerMcpConfigurationProvider(extension: IExtensionDescription, id: string, provider: vscode.McpServerDefinitionProvider): IDisposable;
29
35
  }
36
+ /**
37
+ * Implementation of both MCP HTTP Streaming as well as legacy SSE.
38
+ *
39
+ * The first request will POST to the endpoint, assuming HTTP streaming. If the
40
+ * server is legacy SSE, it should return some 4xx status in that case,
41
+ * and we'll automatically fall back to SSE and res
42
+ */
43
+ export declare class McpHTTPHandle extends Disposable {
44
+ private readonly _id;
45
+ private readonly _launch;
46
+ private readonly _proxy;
47
+ private readonly _logService;
48
+ private readonly _errorOnUserInteraction?;
49
+ private readonly _requestSequencer;
50
+ private readonly _postEndpoint;
51
+ private _mode;
52
+ private readonly _cts;
53
+ private readonly _abortCtrl;
54
+ private _authMetadata?;
55
+ constructor(_id: number, _launch: McpServerTransportHTTP, _proxy: MainThreadMcpShape, _logService: ILogService, _errorOnUserInteraction?: boolean | undefined);
56
+ send(message: string): Promise<void>;
57
+ _send(message: string): Promise<void>;
58
+ /**
59
+ * Sends a streamable-HTTP request.
60
+ * 1. Posts to the endpoint
61
+ * 2. Updates internal state as needed. Falls back to SSE if appropriate.
62
+ * 3. If the response body is empty, JSON, or a JSON stream, handle it appropriately.
63
+ */
64
+ private _sendStreamableHttp;
65
+ private _sseFallbackWithMessage;
66
+ private _populateAuthMetadata;
67
+ private _getAuthorizationServerMetadata;
68
+ private _handleSuccessfulStreamableHttp;
69
+ /**
70
+ * Attaches the SSE backchannel that streamable HTTP servers can use
71
+ * for async notifications. This is a "MAY" support, so if the server gives
72
+ * us a 4xx code, we'll stop trying to connect..
73
+ */
74
+ private _attachStreamableBackchannel;
75
+ /**
76
+ * Starts a legacy SSE attachment, where the SSE response is the session lifetime.
77
+ * Unlike `_attachStreamableBackchannel`, this fails the server if it disconnects.
78
+ */
79
+ private _attachSSE;
80
+ /**
81
+ * Sends a legacy SSE message to the server. The response is always empty and
82
+ * is otherwise received in {@link _attachSSE}'s loop.
83
+ */
84
+ private _sendLegacySSE;
85
+ /** Generic handle to pipe a response into an SSE parser. */
86
+ private _doSSE;
87
+ private _addAuthHeader;
88
+ private _log;
89
+ private _getErrText;
90
+ /**
91
+ * Helper method to perform fetch with 401 authentication retry logic.
92
+ * If the initial request returns 401 and we don't have auth metadata,
93
+ * it will populate the auth metadata and retry once.
94
+ */
95
+ private _fetchWithAuthRetry;
96
+ private _fetch;
97
+ protected _fetchInternal(url: string, init?: CommonRequestInit): Promise<CommonResponse>;
98
+ }
99
+ interface MinimalRequestInit {
100
+ method: string;
101
+ headers: Record<string, string>;
102
+ body?: Uint8Array<ArrayBuffer>;
103
+ }
104
+ export interface CommonRequestInit extends MinimalRequestInit {
105
+ signal?: AbortSignal;
106
+ redirect?: RequestRedirect;
107
+ }
108
+ export interface CommonResponse {
109
+ status: number;
110
+ statusText: string;
111
+ headers: Headers;
112
+ body?: ReadableStream | null;
113
+ url: string;
114
+ json(): Promise<any>;
115
+ text(): Promise<string>;
116
+ }
117
+ export {};
@@ -2,45 +2,59 @@
2
2
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
3
3
  import { Sequencer, DeferredPromise, timeout, raceCancellationError } from '../../../base/common/async.js';
4
4
  import { CancellationToken, CancellationTokenSource } from '../../../base/common/cancellation.js';
5
+ import { CancellationError } from '../../../base/common/errors.js';
5
6
  import { Disposable, DisposableMap, DisposableStore, toDisposable } from '../../../base/common/lifecycle.js';
7
+ import { parseWWWAuthenticateHeader, fetchResourceMetadata, getDefaultMetadataForUrl, AUTH_SERVER_METADATA_DISCOVERY_PATH, OPENID_CONNECT_DISCOVERY_PATH, isAuthorizationServerMetadata } from '../../../base/common/oauth.js';
6
8
  import { SSEParser } from '../../../base/common/sseParser.js';
9
+ import { URI } from '../../../base/common/uri.js';
10
+ import { ConfigurationTarget } from '../../../platform/configuration/common/configuration.js';
7
11
  import { ExtensionIdentifier } from '../../../platform/extensions/common/extensions.js';
8
12
  import { createDecorator } from '../../../platform/instantiation/common/instantiation.js';
9
13
  import { LogLevel, canLog } from '../../../platform/log/common/log.js';
10
14
  import { ILogService } from '../../../platform/log/common/log.service.js';
11
15
  import { StorageScope } from '../../../platform/storage/common/storage.js';
12
- import { McpServerLaunch, McpServerTransportType, McpConnectionState, extensionPrefixedIdentifier } from '../../contrib/mcp/common/mcpTypes.js';
16
+ import { McpServerLaunch, McpServerTransportType, McpConnectionState, extensionPrefixedIdentifier, UserInteractionRequiredError } from '../../contrib/mcp/common/mcpTypes.js';
17
+ import { MCP } from '../../contrib/mcp/common/modelContextProtocol.js';
13
18
  import { MainContext } from './extHost.protocol.js';
19
+ import { IExtHostInitDataService } from './extHostInitDataService.js';
14
20
  import { IExtHostRpcService } from './extHostRpcService.js';
15
21
  import { McpServerDefinition } from './extHostTypeConverters.js';
16
- import { parseWWWAuthenticateHeader, getDefaultMetadataForUrl, isAuthorizationProtectedResourceMetadata, AUTH_SERVER_METADATA_DISCOVERY_PATH, OPENID_CONNECT_DISCOVERY_PATH, isAuthorizationServerMetadata } from '../../../base/common/oauth.js';
17
- import { URI } from '../../../base/common/uri.js';
18
- import { MCP } from '../../contrib/mcp/common/modelContextProtocol.js';
19
- import { CancellationError } from '../../../base/common/errors.js';
20
- import { ConfigurationTarget } from '../../../platform/configuration/common/configuration.js';
21
- import { IExtHostInitDataService } from './extHostInitDataService.js';
22
+ import { IExtHostVariableResolverProvider } from './extHostVariableResolverService.js';
23
+ import { IExtHostWorkspace } from './extHostWorkspace.js';
22
24
 
23
25
  const IExtHostMpcService = ( createDecorator('IExtHostMpcService'));
24
26
  let ExtHostMcpService = class ExtHostMcpService extends Disposable {
25
- constructor(extHostRpc, _logService, _extHostInitData) {
27
+ constructor(extHostRpc, _logService, _extHostInitData, _workspaceService, _variableResolver) {
26
28
  super();
27
29
  this._logService = _logService;
28
30
  this._extHostInitData = _extHostInitData;
31
+ this._workspaceService = _workspaceService;
32
+ this._variableResolver = _variableResolver;
29
33
  this._initialProviderPromises = ( new Set());
30
34
  this._sseEventSources = this._register(( new DisposableMap()));
31
35
  this._unresolvedMcpServers = ( new Map());
32
36
  this._proxy = ( extHostRpc.getProxy(MainContext.MainThreadMcp));
33
37
  }
34
- $startMcp(id, launch) {
35
- this._startMcp(id, McpServerLaunch.fromSerialized(launch));
38
+ $startMcp(id, opts) {
39
+ this._startMcp(id, McpServerLaunch.fromSerialized(opts.launch), opts.defaultCwd && URI.revive(opts.defaultCwd), opts.errorOnUserInteraction);
36
40
  }
37
- _startMcp(id, launch) {
41
+ _startMcp(id, launch, _defaultCwd, errorOnUserInteraction) {
38
42
  if (launch.type === McpServerTransportType.HTTP) {
39
- this._sseEventSources.set(id, ( new McpHTTPHandle(id, launch, this._proxy, this._logService)));
43
+ this._sseEventSources.set(id, ( new McpHTTPHandle(id, launch, this._proxy, this._logService, errorOnUserInteraction)));
40
44
  return;
41
45
  }
42
46
  throw ( new Error('not implemented'));
43
47
  }
48
+ async $substituteVariables(_workspaceFolder, value) {
49
+ const folderURI = URI.revive(_workspaceFolder);
50
+ const folder = folderURI && (await this._workspaceService.resolveWorkspaceFolder(folderURI));
51
+ const variableResolver = await this._variableResolver.getResolver();
52
+ return variableResolver.resolveAsync(folder && {
53
+ uri: folder.uri,
54
+ name: folder.name,
55
+ index: folder.index,
56
+ }, value);
57
+ }
44
58
  $stopMcp(id) {
45
59
  if (( this._sseEventSources.has(id))) {
46
60
  this._sseEventSources.deleteAndDispose(id);
@@ -133,7 +147,9 @@ let ExtHostMcpService = class ExtHostMcpService extends Disposable {
133
147
  ExtHostMcpService = ( __decorate([
134
148
  ( __param(0, IExtHostRpcService)),
135
149
  ( __param(1, ILogService)),
136
- ( __param(2, IExtHostInitDataService))
150
+ ( __param(2, IExtHostInitDataService)),
151
+ ( __param(3, IExtHostWorkspace)),
152
+ ( __param(4, IExtHostVariableResolverProvider))
137
153
  ], ExtHostMcpService));
138
154
  var HttpMode;
139
155
  (function (HttpMode) {
@@ -144,12 +160,13 @@ var HttpMode;
144
160
  const MAX_FOLLOW_REDIRECTS = 5;
145
161
  const REDIRECT_STATUS_CODES = [301, 302, 303, 307, 308];
146
162
  class McpHTTPHandle extends Disposable {
147
- constructor(_id, _launch, _proxy, _logService) {
163
+ constructor(_id, _launch, _proxy, _logService, _errorOnUserInteraction) {
148
164
  super();
149
165
  this._id = _id;
150
166
  this._launch = _launch;
151
167
  this._proxy = _proxy;
152
168
  this._logService = _logService;
169
+ this._errorOnUserInteraction = _errorOnUserInteraction;
153
170
  this._requestSequencer = ( new Sequencer());
154
171
  this._postEndpoint = ( new DeferredPromise());
155
172
  this._mode = { value: HttpMode.Unknown };
@@ -236,13 +253,14 @@ class McpHTTPHandle extends Disposable {
236
253
  await this._sendLegacySSE(endpoint, message);
237
254
  }
238
255
  }
239
- async _populateAuthMetadata(url, originalResponse) {
256
+ async _populateAuthMetadata(mcpUrl, originalResponse) {
240
257
  let resourceMetadataChallenge;
241
258
  if (( originalResponse.headers.has('WWW-Authenticate'))) {
242
259
  const authHeader = originalResponse.headers.get('WWW-Authenticate');
243
260
  const challenges = parseWWWAuthenticateHeader(authHeader);
244
261
  for (const challenge of challenges) {
245
262
  if (challenge.scheme === 'Bearer' && challenge.params['resource_metadata']) {
263
+ this._log(LogLevel.Debug, `Found resource_metadata challenge in WWW-Authenticate header: ${challenge.params['resource_metadata']}`);
246
264
  resourceMetadataChallenge = challenge.params['resource_metadata'];
247
265
  break;
248
266
  }
@@ -251,17 +269,22 @@ class McpHTTPHandle extends Disposable {
251
269
  let serverMetadataUrl;
252
270
  let scopesSupported;
253
271
  let resource;
254
- if (resourceMetadataChallenge) {
255
- const resourceMetadata = await this._getResourceMetadata(resourceMetadataChallenge);
256
- if (( ( new URL(resourceMetadata.resource)).toString()) !== ( ( new URL(url)).toString())) {
257
- throw ( new Error(
258
- `Protected Resource Metadata resource "${resourceMetadata.resource}" does not match MCP server resolved resource "${url}". The MCP server must follow OAuth spec https://datatracker.ietf.org/doc/html/rfc9728#PRConfigurationValidation`
259
- ));
260
- }
272
+ try {
273
+ const resourceMetadata = await fetchResourceMetadata(mcpUrl, resourceMetadataChallenge, {
274
+ sameOriginHeaders: {
275
+ ...Object.fromEntries(this._launch.headers),
276
+ 'MCP-Protocol-Version': MCP.LATEST_PROTOCOL_VERSION
277
+ },
278
+ fetch: (url, init) => this._fetch(url, init)
279
+ });
261
280
  serverMetadataUrl = resourceMetadata.authorization_servers?.[0];
281
+ this._log(LogLevel.Debug, `Using auth server metadata url: ${serverMetadataUrl}`);
262
282
  scopesSupported = resourceMetadata.scopes_supported;
263
283
  resource = resourceMetadata;
264
284
  }
285
+ catch (e) {
286
+ this._log(LogLevel.Debug, `Could not fetch resource metadata: ${String(e)}`);
287
+ }
265
288
  const baseUrl = ( new URL(originalResponse.url)).origin;
266
289
  let addtionalHeaders = {};
267
290
  if (!serverMetadataUrl) {
@@ -272,6 +295,7 @@ class McpHTTPHandle extends Disposable {
272
295
  }
273
296
  try {
274
297
  const serverMetadataResponse = await this._getAuthorizationServerMetadata(serverMetadataUrl, addtionalHeaders);
298
+ this._log(LogLevel.Info, 'Populated auth metadata');
275
299
  this._authMetadata = {
276
300
  authorizationServer: ( URI.parse(serverMetadataUrl)),
277
301
  serverMetadata: serverMetadataResponse,
@@ -280,7 +304,7 @@ class McpHTTPHandle extends Disposable {
280
304
  return;
281
305
  }
282
306
  catch (e) {
283
- this._log(LogLevel.Warning, `Error populating auth metadata: ${String(e)}`);
307
+ this._log(LogLevel.Warning, `Error populating auth server metadata for ${serverMetadataUrl}: ${String(e)}`);
284
308
  }
285
309
  const defaultMetadata = getDefaultMetadataForUrl(( new URL(baseUrl)));
286
310
  defaultMetadata.scopes_supported = scopesSupported ?? defaultMetadata.scopes_supported ?? [];
@@ -289,43 +313,13 @@ class McpHTTPHandle extends Disposable {
289
313
  serverMetadata: defaultMetadata,
290
314
  resourceMetadata: resource
291
315
  };
292
- }
293
- async _getResourceMetadata(resourceMetadata) {
294
- const resourceMetadataUrl = ( new URL(resourceMetadata));
295
- const mcpServerUrl = ( new URL(( this._launch.uri.toString(true))));
296
- let additionalHeaders = {};
297
- if (resourceMetadataUrl.origin === mcpServerUrl.origin) {
298
- additionalHeaders = {
299
- ...Object.fromEntries(this._launch.headers)
300
- };
301
- }
302
- const resourceMetadataResponse = await this._fetch(resourceMetadata, {
303
- method: 'GET',
304
- headers: {
305
- ...additionalHeaders,
306
- 'Accept': 'application/json',
307
- 'MCP-Protocol-Version': MCP.LATEST_PROTOCOL_VERSION
308
- }
309
- });
310
- if (resourceMetadataResponse.status !== 200) {
311
- throw ( new Error(
312
- `Failed to fetch resource metadata: ${resourceMetadataResponse.status} ${await this._getErrText(resourceMetadataResponse)}`
313
- ));
314
- }
315
- const body = await resourceMetadataResponse.json();
316
- if (isAuthorizationProtectedResourceMetadata(body)) {
317
- return body;
318
- }
319
- else {
320
- throw ( new Error(
321
- `Invalid resource metadata. Expected to follow shape of https://datatracker.ietf.org/doc/html/rfc9728#name-protected-resource-metadata (Hints: is scopes_supported an array? Is resource a string?). Current payload: ${JSON.stringify(body)}`
322
- ));
323
- }
316
+ this._log(LogLevel.Info, 'Using default auth metadata');
324
317
  }
325
318
  async _getAuthorizationServerMetadata(authorizationServer, addtionalHeaders) {
326
319
  const authorizationServerUrl = ( new URL(authorizationServer));
327
320
  const extraPath = authorizationServerUrl.pathname === '/' ? '' : authorizationServerUrl.pathname;
328
321
  const pathToFetch = ( ( new URL(AUTH_SERVER_METADATA_DISCOVERY_PATH, authorizationServer)).toString()) + extraPath;
322
+ this._log(LogLevel.Debug, `Fetching auth server metadata url with path insertion: ${pathToFetch} ...`);
329
323
  let authServerMetadataResponse = await this._fetch(pathToFetch, {
330
324
  method: 'GET',
331
325
  headers: {
@@ -336,6 +330,7 @@ class McpHTTPHandle extends Disposable {
336
330
  });
337
331
  if (authServerMetadataResponse.status !== 200) {
338
332
  const openidPathInsertionUrl = ( ( new URL(OPENID_CONNECT_DISCOVERY_PATH, authorizationServer)).toString()) + extraPath;
333
+ this._log(LogLevel.Debug, `Fetching fallback openid connect discovery url with path insertion: ${openidPathInsertionUrl} ...`);
339
334
  authServerMetadataResponse = await this._fetch(openidPathInsertionUrl, {
340
335
  method: 'GET',
341
336
  headers: {
@@ -345,7 +340,9 @@ class McpHTTPHandle extends Disposable {
345
340
  }
346
341
  });
347
342
  if (authServerMetadataResponse.status !== 200) {
348
- authServerMetadataResponse = await this._fetch(( URI.joinPath(( URI.parse(authorizationServer)), OPENID_CONNECT_DISCOVERY_PATH).toString(true)), {
343
+ const openidPathAdditionUrl = ( URI.joinPath(( URI.parse(authorizationServer)), OPENID_CONNECT_DISCOVERY_PATH).toString(true));
344
+ this._log(LogLevel.Debug, `Fetching fallback openid connect discovery url with path addition: ${openidPathAdditionUrl} ...`);
345
+ authServerMetadataResponse = await this._fetch(openidPathAdditionUrl, {
349
346
  method: 'GET',
350
347
  headers: {
351
348
  ...addtionalHeaders,
@@ -531,12 +528,16 @@ class McpHTTPHandle extends Disposable {
531
528
  async _addAuthHeader(headers) {
532
529
  if (this._authMetadata) {
533
530
  try {
534
- const token = await this._proxy.$getTokenFromServerMetadata(this._id, this._authMetadata.authorizationServer, this._authMetadata.serverMetadata, this._authMetadata.resourceMetadata);
531
+ const token = await this._proxy.$getTokenFromServerMetadata(this._id, this._authMetadata.authorizationServer, this._authMetadata.serverMetadata, this._authMetadata.resourceMetadata, this._errorOnUserInteraction);
535
532
  if (token) {
536
533
  headers['Authorization'] = `Bearer ${token}`;
537
534
  }
538
535
  }
539
536
  catch (e) {
537
+ if (UserInteractionRequiredError.is(e)) {
538
+ this._proxy.$onDidChangeState(this._id, { state: McpConnectionState.Kind.Stopped, reason: 'needs-user-interaction' });
539
+ throw ( new CancellationError());
540
+ }
540
541
  this._log(LogLevel.Warning, `Error getting token from server metadata: ${String(e)}`);
541
542
  }
542
543
  }
@@ -555,12 +556,12 @@ class McpHTTPHandle extends Disposable {
555
556
  return res.statusText;
556
557
  }
557
558
  }
558
- async _fetchWithAuthRetry(url, init, headers) {
559
- const doFetch = () => this._fetch(url, init);
559
+ async _fetchWithAuthRetry(mcpUrl, init, headers) {
560
+ const doFetch = () => this._fetch(mcpUrl, init);
560
561
  let res = await doFetch();
561
562
  if (res.status === 401) {
562
563
  if (!this._authMetadata) {
563
- await this._populateAuthMetadata(url, res);
564
+ await this._populateAuthMetadata(mcpUrl, res);
564
565
  await this._addAuthHeader(headers);
565
566
  if (headers['Authorization']) {
566
567
  init.headers = headers;
@@ -584,7 +585,7 @@ class McpHTTPHandle extends Disposable {
584
585
  let currentUrl = url;
585
586
  let response;
586
587
  for (let redirectCount = 0; redirectCount < MAX_FOLLOW_REDIRECTS; redirectCount++) {
587
- response = await fetch(currentUrl, {
588
+ response = await this._fetchInternal(currentUrl, {
588
589
  ...init,
589
590
  signal: this._abortCtrl.signal,
590
591
  redirect: 'manual'
@@ -614,6 +615,9 @@ class McpHTTPHandle extends Disposable {
614
615
  }
615
616
  return response;
616
617
  }
618
+ _fetchInternal(url, init) {
619
+ return fetch(url, init);
620
+ }
617
621
  }
618
622
  function isJSON(str) {
619
623
  try {
@@ -625,4 +629,4 @@ function isJSON(str) {
625
629
  }
626
630
  }
627
631
 
628
- export { ExtHostMcpService, IExtHostMpcService };
632
+ export { ExtHostMcpService, IExtHostMpcService, McpHTTPHandle };
@@ -17,7 +17,7 @@ import { IExtHostConsumerFileSystem } from "./extHostFileSystemConsumer.js";
17
17
  import { ITextQuery } from "../../services/search/common/search.js";
18
18
  import { IExtHostSearch } from "./extHostSearch.js";
19
19
  import { IRawClosedNotebookFileMatch } from "../../contrib/search/common/searchNotebookHelpers.js";
20
- import { NotebookPriorityInfo } from "@codingame/monaco-vscode-4dda7789-5a25-5e8b-b2de-c2f11b1b96e5-common/vscode/vs/workbench/contrib/search/common/search";
20
+ import { NotebookPriorityInfo } from "@codingame/monaco-vscode-5084de40-f866-5cb5-9d9b-33a10f6f235d-common/vscode/vs/workbench/contrib/search/common/search";
21
21
  import { ILogService } from "../../../platform/log/common/log.service.js";
22
22
  export declare class ExtHostNotebookController implements ExtHostNotebookShape {
23
23
  private _textDocumentsAndEditors;
@@ -265,7 +265,7 @@ class ExtHostNotebookController {
265
265
  ));
266
266
  }
267
267
  if (!this._extHostFileSystem.value.isWritableFileSystem(uri.scheme)) {
268
- throw new FileOperationError(( localize(2636, "Unable to modify read-only file '{0}'", this._resourceForError(uri))), FileOperationResult.FILE_PERMISSION_DENIED);
268
+ throw new FileOperationError(( localize(2642, "Unable to modify read-only file '{0}'", this._resourceForError(uri))), FileOperationResult.FILE_PERMISSION_DENIED);
269
269
  }
270
270
  const data = {
271
271
  metadata: filter(document.apiNotebook.metadata, key => !(serializer.options?.transientDocumentMetadata ?? {})[key]),
@@ -444,7 +444,7 @@ class ExtHostNotebookController {
444
444
  if (typeof options?.mtime === 'number' && typeof options.etag === 'string' && options.etag !== ETAG_DISABLED &&
445
445
  typeof stat.mtime === 'number' && typeof stat.size === 'number' &&
446
446
  options.mtime < stat.mtime && options.etag !== etag({ mtime: options.mtime , size: stat.size })) {
447
- throw new FileOperationError(( localize(2637, "File Modified Since")), FileOperationResult.FILE_MODIFIED_SINCE, options);
447
+ throw new FileOperationError(( localize(2643, "File Modified Since")), FileOperationResult.FILE_MODIFIED_SINCE, options);
448
448
  }
449
449
  return;
450
450
  }
@@ -62,7 +62,9 @@ export declare class ExtHostSCM implements ExtHostSCMShape {
62
62
  number
63
63
  ] | undefined>;
64
64
  $setSelectedSourceControl(selectedSourceControlHandle: number | undefined): Promise<void>;
65
+ $resolveHistoryItem(sourceControlHandle: number, historyItemId: string, token: CancellationToken): Promise<SCMHistoryItemDto | undefined>;
65
66
  $resolveHistoryItemChatContext(sourceControlHandle: number, historyItemId: string, token: CancellationToken): Promise<string | undefined>;
67
+ $resolveHistoryItemChangeRangeChatContext(sourceControlHandle: number, historyItemId: string, historyItemParentId: string, path: string, token: CancellationToken): Promise<string | undefined>;
66
68
  $resolveHistoryItemRefsCommonAncestor(sourceControlHandle: number, historyItemRefs: string[], token: CancellationToken): Promise<string | undefined>;
67
69
  $provideHistoryItemRefs(sourceControlHandle: number, historyItemRefs: string[] | undefined, token: CancellationToken): Promise<SCMHistoryItemRefDto[] | undefined>;
68
70
  $provideHistoryItems(sourceControlHandle: number, options: vscode.SourceControlHistoryOptions, token: CancellationToken): Promise<SCMHistoryItemDto[] | undefined>;
@@ -851,6 +851,17 @@ let ExtHostSCM = class ExtHostSCM {
851
851
  this._selectedSourceControlHandle = selectedSourceControlHandle;
852
852
  return Promise.resolve(undefined);
853
853
  }
854
+ async $resolveHistoryItem(sourceControlHandle, historyItemId, token) {
855
+ try {
856
+ const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
857
+ const historyItem = await historyProvider?.resolveHistoryItem(historyItemId, token);
858
+ return historyItem ? toSCMHistoryItemDto(historyItem) : undefined;
859
+ }
860
+ catch (err) {
861
+ this.logService.error('ExtHostSCM#$resolveHistoryItem', err);
862
+ return undefined;
863
+ }
864
+ }
854
865
  async $resolveHistoryItemChatContext(sourceControlHandle, historyItemId, token) {
855
866
  try {
856
867
  const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
@@ -862,6 +873,17 @@ let ExtHostSCM = class ExtHostSCM {
862
873
  return undefined;
863
874
  }
864
875
  }
876
+ async $resolveHistoryItemChangeRangeChatContext(sourceControlHandle, historyItemId, historyItemParentId, path, token) {
877
+ try {
878
+ const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
879
+ const chatContext = await historyProvider?.resolveHistoryItemChangeRangeChatContext?.(historyItemId, historyItemParentId, path, token);
880
+ return chatContext ?? undefined;
881
+ }
882
+ catch (err) {
883
+ this.logService.error('ExtHostSCM#$resolveHistoryItemChangeRangeChatContext', err);
884
+ return undefined;
885
+ }
886
+ }
865
887
  async $resolveHistoryItemRefsCommonAncestor(sourceControlHandle, historyItemRefs, token) {
866
888
  try {
867
889
  const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
@@ -5,7 +5,6 @@ import { Event } from "../../../base/common/event.js";
5
5
  import { DisposableStore } from "../../../base/common/lifecycle.js";
6
6
  export declare class ExtensionSecrets implements vscode.SecretStorage {
7
7
  #private;
8
- private readonly _extensionDescription;
9
8
  protected readonly _id: string;
10
9
  readonly onDidChange: Event<vscode.SecretStorageChangeEvent>;
11
10
  readonly disposables: DisposableStore;
@@ -2,13 +2,11 @@
2
2
  import { ExtensionIdentifier } from '../../../platform/extensions/common/extensions.js';
3
3
  import { Event } from '../../../base/common/event.js';
4
4
  import { DisposableStore } from '../../../base/common/lifecycle.js';
5
- import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
6
5
 
7
6
  class ExtensionSecrets {
8
7
  #secretState;
9
8
  constructor(extensionDescription, secretState) {
10
9
  this.disposables = ( new DisposableStore());
11
- this._extensionDescription = extensionDescription;
12
10
  this._id = ExtensionIdentifier.toKey(extensionDescription.identifier);
13
11
  this.#secretState = secretState;
14
12
  this.onDidChange = ( Event.map(
@@ -30,7 +28,6 @@ class ExtensionSecrets {
30
28
  return this.#secretState.delete(this._id, key);
31
29
  }
32
30
  keys() {
33
- checkProposedApiEnabled(this._extensionDescription, 'secretStorageKeys');
34
31
  return ( this.#secretState.keys(this._id)) || [];
35
32
  }
36
33
  }
@@ -188,7 +188,7 @@ class ExtHostStatusBarEntry {
188
188
  }
189
189
  else {
190
190
  name = ( localize(
191
- 2638,
191
+ 2644,
192
192
  "{0} (Extension)",
193
193
  this._extension.displayName || this._extension.name
194
194
  ));
@@ -221,7 +221,7 @@ class StatusBarMessage {
221
221
  constructor(statusBar) {
222
222
  this._messages = [];
223
223
  this._item = statusBar.createStatusBarEntry(undefined, 'status.extensionMessage', StatusBarAlignment.Left, Number.MIN_VALUE);
224
- this._item.name = ( localize(2639, "Extension Status"));
224
+ this._item.name = ( localize(2645, "Extension Status"));
225
225
  }
226
226
  dispose() {
227
227
  this._messages.length = 0;
@@ -28,7 +28,7 @@ let ExtHostTelemetry = class ExtHostTelemetry extends Disposable {
28
28
  const id = initData.remote.isRemote ? 'remoteExtHostTelemetry' : isWorker ? 'workerExtHostTelemetry' : 'extHostTelemetry';
29
29
  this._outputLogger = this._register(loggerService.createLogger(id, {
30
30
  name: ( localize(
31
- 2640,
31
+ 2646,
32
32
  "Extension Telemetry{0}",
33
33
  this._inLoggingOnlyMode ? ' (Not Sent)' : ''
34
34
  )),
@@ -34,7 +34,7 @@ export interface IExtHostTerminalService extends ExtHostTerminalServiceShape, ID
34
34
  getEnvironmentVariableCollection(extension: IExtensionDescription): IEnvironmentVariableCollection;
35
35
  getTerminalById(id: number): ExtHostTerminal | null;
36
36
  getTerminalIdByApiObject(apiTerminal: vscode.Terminal): number | null;
37
- registerTerminalCompletionProvider(extension: IExtensionDescription, provider: vscode.TerminalCompletionProvider<vscode.TerminalCompletionItem>, ...triggerCharacters: string[]): vscode.Disposable;
37
+ registerTerminalCompletionProvider(extension: IExtensionDescription, id: string, provider: vscode.TerminalCompletionProvider<vscode.TerminalCompletionItem>, ...triggerCharacters: string[]): vscode.Disposable;
38
38
  }
39
39
  interface IEnvironmentVariableCollection extends vscode.EnvironmentVariableCollection {
40
40
  getScoped(scope: vscode.EnvironmentVariableScope): vscode.EnvironmentVariableCollection;
@@ -165,7 +165,7 @@ export declare abstract class BaseExtHostTerminalService extends Disposable impl
165
165
  $acceptProcessRequestCwd(id: number): void;
166
166
  $acceptProcessRequestLatency(id: number): Promise<number>;
167
167
  registerProfileProvider(extension: IExtensionDescription, id: string, provider: vscode.TerminalProfileProvider): vscode.Disposable;
168
- registerTerminalCompletionProvider(extension: IExtensionDescription, provider: vscode.TerminalCompletionProvider<TerminalCompletionItem>, ...triggerCharacters: string[]): vscode.Disposable;
168
+ registerTerminalCompletionProvider(extension: IExtensionDescription, id: string, provider: vscode.TerminalCompletionProvider<TerminalCompletionItem>, ...triggerCharacters: string[]): vscode.Disposable;
169
169
  $provideTerminalCompletions(id: string, options: ITerminalCompletionContextDto): Promise<TerminalCompletionListDto | undefined>;
170
170
  $acceptTerminalShellType(id: number, shellType: TerminalShellType | undefined): void;
171
171
  registerTerminalQuickFixProvider(id: string, extensionId: string, provider: vscode.TerminalQuickFixProvider): vscode.Disposable;