@codingame/monaco-vscode-api 17.2.1 → 18.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 (803) hide show
  1. package/missing-services.js +282 -81
  2. package/package.json +8 -8
  3. package/services.d.ts +3 -4
  4. package/services.js +3 -3
  5. package/vscode/src/vs/base/browser/dnd.js +3 -2
  6. package/vscode/src/vs/base/browser/domImpl/domObservable.js +1 -1
  7. package/vscode/src/vs/base/browser/domImpl/n.js +5 -5
  8. package/vscode/src/vs/base/browser/markdownRenderer.d.ts +3 -3
  9. package/vscode/src/vs/base/browser/markdownRenderer.js +12 -10
  10. package/vscode/src/vs/base/browser/touch.js +1 -0
  11. package/vscode/src/vs/base/browser/ui/button/button.d.ts +10 -1
  12. package/vscode/src/vs/base/browser/ui/button/button.js +12 -4
  13. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  14. package/vscode/src/vs/base/browser/ui/list/list.d.ts +5 -2
  15. package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +1 -1
  16. package/vscode/src/vs/base/browser/ui/list/listPaging.js +3 -3
  17. package/vscode/src/vs/base/browser/ui/list/listView.js +5 -5
  18. package/vscode/src/vs/base/browser/ui/list/listWidget.js +7 -7
  19. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +4 -4
  20. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +6 -6
  21. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +14 -6
  22. package/vscode/src/vs/base/browser/ui/tree/abstractTree.d.ts +4 -3
  23. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +16 -15
  24. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +12 -12
  25. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.d.ts +1 -1
  26. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/tree/media/tree.css +2 -1
  28. package/vscode/src/vs/base/browser/ui/tree/objectTree.d.ts +3 -3
  29. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +7 -10
  30. package/vscode/src/vs/base/browser/ui/tree/tree.d.ts +6 -1
  31. package/vscode/src/vs/base/browser/webWorkerFactory.js +1 -4
  32. package/vscode/src/vs/base/common/arrays.d.ts +3 -1
  33. package/vscode/src/vs/base/common/arrays.js +5 -1
  34. package/vscode/src/vs/base/common/async.d.ts +18 -3
  35. package/vscode/src/vs/base/common/async.js +105 -39
  36. package/vscode/src/vs/base/common/buffer.d.ts +2 -0
  37. package/vscode/src/vs/base/common/buffer.js +36 -1
  38. package/vscode/src/vs/base/common/codicons.d.ts +5 -0
  39. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +5 -0
  40. package/vscode/src/vs/base/common/codiconsLibrary.js +5 -0
  41. package/vscode/src/vs/base/common/comparers.js +4 -3
  42. package/vscode/src/vs/base/common/date.d.ts +6 -4
  43. package/vscode/src/vs/base/common/date.js +43 -24
  44. package/vscode/src/vs/base/common/decorators.js +1 -0
  45. package/vscode/src/vs/base/common/errors.d.ts +6 -0
  46. package/vscode/src/vs/base/common/errors.js +11 -1
  47. package/vscode/src/vs/base/common/event.d.ts +2 -1
  48. package/vscode/src/vs/base/common/event.js +11 -3
  49. package/vscode/src/vs/base/common/hash.d.ts +1 -1
  50. package/vscode/src/vs/base/common/hash.js +2 -2
  51. package/vscode/src/vs/base/common/hotReloadHelpers.js +3 -2
  52. package/vscode/src/vs/base/common/htmlContent.d.ts +1 -1
  53. package/vscode/src/vs/base/common/iterator.d.ts +3 -1
  54. package/vscode/src/vs/base/common/iterator.js +20 -2
  55. package/vscode/src/vs/base/common/json.d.ts +1 -1
  56. package/vscode/src/vs/base/common/marshalling.d.ts +1 -1
  57. package/vscode/src/vs/base/common/marshallingIds.d.ts +1 -2
  58. package/vscode/src/vs/base/common/marshallingIds.js +0 -1
  59. package/vscode/src/vs/base/common/numbers.d.ts +1 -1
  60. package/vscode/src/vs/base/common/oauth.d.ts +143 -0
  61. package/vscode/src/vs/base/common/oauth.js +124 -0
  62. package/vscode/src/vs/base/common/observableInternal/base.d.ts +5 -75
  63. package/vscode/src/vs/base/common/observableInternal/base.js +2 -279
  64. package/vscode/src/vs/base/common/observableInternal/changeTracker.js +3 -0
  65. package/vscode/src/vs/base/common/observableInternal/commonFacade/cancellation.d.ts +1 -1
  66. package/vscode/src/vs/base/common/observableInternal/commonFacade/deps.d.ts +1 -1
  67. package/vscode/src/vs/base/common/observableInternal/{reducer.d.ts → experimental/reducer.d.ts} +5 -5
  68. package/vscode/src/vs/base/common/observableInternal/{reducer.js → experimental/reducer.js} +7 -5
  69. package/vscode/src/vs/base/common/observableInternal/experimental/utils.d.ts +4 -0
  70. package/vscode/src/vs/base/common/observableInternal/experimental/utils.js +47 -0
  71. package/vscode/src/vs/base/common/observableInternal/index.d.ts +21 -7
  72. package/vscode/src/vs/base/common/observableInternal/index.js +6 -3
  73. package/vscode/src/vs/base/common/observableInternal/logging/consoleObservableLogger.d.ts +5 -4
  74. package/vscode/src/vs/base/common/observableInternal/logging/consoleObservableLogger.js +1 -1
  75. package/vscode/src/vs/base/common/observableInternal/logging/debugger/devToolsLogger.d.ts +4 -3
  76. package/vscode/src/vs/base/common/observableInternal/logging/debugger/devToolsLogger.js +4 -4
  77. package/vscode/src/vs/base/common/observableInternal/logging/logging.d.ts +4 -3
  78. package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.d.ts +38 -0
  79. package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.js +111 -0
  80. package/vscode/src/vs/base/common/observableInternal/observables/constObservable.d.ts +2 -0
  81. package/vscode/src/vs/base/common/observableInternal/observables/constObservable.js +30 -0
  82. package/vscode/src/vs/base/common/observableInternal/observables/derived.d.ts +20 -0
  83. package/vscode/src/vs/base/common/observableInternal/observables/derived.js +58 -0
  84. package/vscode/src/vs/base/common/observableInternal/{derived.d.ts → observables/derivedImpl.d.ts} +14 -22
  85. package/vscode/src/vs/base/common/observableInternal/{derived.js → observables/derivedImpl.js} +63 -94
  86. package/vscode/src/vs/base/common/observableInternal/{lazyObservableValue.d.ts → observables/lazyObservableValue.d.ts} +4 -3
  87. package/vscode/src/vs/base/common/observableInternal/{lazyObservableValue.js → observables/lazyObservableValue.js} +3 -2
  88. package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.d.ts +32 -0
  89. package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.js +114 -0
  90. package/vscode/src/vs/base/common/observableInternal/observables/observableSignal.d.ts +6 -0
  91. package/vscode/src/vs/base/common/observableInternal/observables/observableSignal.js +42 -0
  92. package/vscode/src/vs/base/common/observableInternal/observables/observableSignalFromEvent.d.ts +4 -0
  93. package/vscode/src/vs/base/common/observableInternal/observables/observableSignalFromEvent.js +36 -0
  94. package/vscode/src/vs/base/common/observableInternal/observables/observableValue.d.ts +26 -0
  95. package/vscode/src/vs/base/common/observableInternal/observables/observableValue.js +98 -0
  96. package/vscode/src/vs/base/common/observableInternal/{api.d.ts → observables/observableValueOpts.d.ts} +3 -3
  97. package/vscode/src/vs/base/common/observableInternal/{api.js → observables/observableValueOpts.js} +6 -5
  98. package/vscode/src/vs/base/common/observableInternal/reactions/autorun.d.ts +21 -0
  99. package/vscode/src/vs/base/common/observableInternal/reactions/autorun.js +82 -0
  100. package/vscode/src/vs/base/common/observableInternal/reactions/autorunImpl.d.ts +44 -0
  101. package/vscode/src/vs/base/common/observableInternal/{autorun.js → reactions/autorunImpl.js} +50 -84
  102. package/vscode/src/vs/base/common/observableInternal/set.d.ts +20 -0
  103. package/vscode/src/vs/base/common/observableInternal/set.js +62 -0
  104. package/vscode/src/vs/base/common/observableInternal/transaction.d.ts +18 -0
  105. package/vscode/src/vs/base/common/observableInternal/transaction.js +91 -0
  106. package/vscode/src/vs/base/common/observableInternal/{promise.d.ts → utils/promise.d.ts} +3 -2
  107. package/vscode/src/vs/base/common/observableInternal/{promise.js → utils/promise.js} +10 -2
  108. package/vscode/src/vs/base/common/observableInternal/utils/runOnChange.d.ts +7 -0
  109. package/vscode/src/vs/base/common/observableInternal/utils/runOnChange.js +58 -0
  110. package/vscode/src/vs/base/common/observableInternal/utils/utils.d.ts +28 -0
  111. package/vscode/src/vs/base/common/observableInternal/utils/utils.js +200 -0
  112. package/vscode/src/vs/base/common/observableInternal/{utilsCancellation.d.ts → utils/utilsCancellation.d.ts} +2 -2
  113. package/vscode/src/vs/base/common/observableInternal/{utilsCancellation.js → utils/utilsCancellation.js} +7 -7
  114. package/vscode/src/vs/base/common/observableInternal/utils/valueWithChangeEvent.d.ts +10 -0
  115. package/vscode/src/vs/base/common/observableInternal/utils/valueWithChangeEvent.js +26 -0
  116. package/vscode/src/vs/base/common/product.d.ts +5 -2
  117. package/vscode/src/vs/base/common/strings.d.ts +1 -0
  118. package/vscode/src/vs/base/common/strings.js +4 -10
  119. package/vscode/src/vs/base/common/themables.d.ts +2 -2
  120. package/vscode/src/vs/base/common/themables.js +2 -2
  121. package/vscode/src/vs/base/common/types.d.ts +2 -1
  122. package/vscode/src/vs/base/common/types.js +4 -4
  123. package/vscode/src/vs/base/common/uri.d.ts +2 -2
  124. package/vscode/src/vs/base/common/uri.js +1 -1
  125. package/vscode/src/vs/editor/browser/config/editorConfiguration.d.ts +1 -1
  126. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +1 -1
  127. package/vscode/src/vs/editor/browser/config/elementSizeObserver.d.ts +1 -1
  128. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +1 -1
  129. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +3 -2
  130. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
  131. package/vscode/src/vs/editor/browser/gpu/contentSegmenter.js +1 -1
  132. package/vscode/src/vs/editor/browser/gpu/gpuDisposable.js +1 -1
  133. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +2 -2
  134. package/vscode/src/vs/editor/browser/observableCodeEditor.d.ts +7 -5
  135. package/vscode/src/vs/editor/browser/observableCodeEditor.js +11 -7
  136. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +1 -1
  137. package/vscode/src/vs/editor/browser/services/hoverService/hover.css +4 -0
  138. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.d.ts +1 -1
  139. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +5 -4
  140. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.d.ts +1 -1
  141. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
  142. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.d.ts +1 -1
  143. package/vscode/src/vs/editor/browser/viewParts/rulersGpu/rulersGpu.js +1 -1
  144. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +3 -2
  145. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +2 -2
  146. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -4
  147. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +2 -2
  148. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +8 -5
  149. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +9 -8
  150. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +1 -1
  151. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.d.ts +1 -1
  152. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +4 -3
  153. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +3 -3
  154. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +8 -8
  155. package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.d.ts +1 -1
  156. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +26 -26
  157. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +4 -3
  158. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.d.ts +2 -2
  159. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +8 -6
  160. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.d.ts +1 -1
  161. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +6 -4
  162. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +1 -1
  163. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.d.ts +1 -1
  164. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +7 -7
  165. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.d.ts +1 -1
  166. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +12 -11
  167. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +10 -7
  168. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +4 -3
  169. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +3 -3
  170. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.d.ts +2 -2
  171. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +8 -5
  172. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.d.ts +1 -1
  173. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +4 -3
  174. package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +1 -1
  175. package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +1 -1
  176. package/vscode/src/vs/editor/common/config/editorConfiguration.d.ts +1 -1
  177. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +1 -1
  178. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +159 -153
  179. package/vscode/src/vs/editor/common/config/editorOptions.js +543 -517
  180. package/vscode/src/vs/editor/{browser → common/core/2d}/rect.d.ts +1 -1
  181. package/vscode/src/vs/editor/{browser → common/core/2d}/rect.js +1 -1
  182. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  183. package/vscode/src/vs/editor/common/core/edits/edit.d.ts +48 -0
  184. package/vscode/src/vs/editor/common/core/edits/edit.js +227 -0
  185. package/vscode/src/vs/editor/common/core/edits/lengthEdit.d.ts +25 -0
  186. package/vscode/src/vs/editor/common/core/edits/lengthEdit.js +92 -0
  187. package/vscode/src/vs/editor/common/core/{lineEdit.d.ts → edits/lineEdit.d.ts} +9 -8
  188. package/vscode/src/vs/editor/common/core/{lineEdit.js → edits/lineEdit.js} +17 -17
  189. package/vscode/src/vs/editor/common/core/edits/stringEdit.d.ts +43 -0
  190. package/vscode/src/vs/editor/common/core/edits/stringEdit.js +215 -0
  191. package/vscode/src/vs/editor/common/core/edits/textEdit.d.ts +39 -0
  192. package/vscode/src/vs/editor/common/core/{textEdit.js → edits/textEdit.js} +75 -149
  193. package/vscode/src/vs/editor/common/core/{eolCounter.js → misc/eolCounter.js} +1 -1
  194. package/vscode/src/vs/editor/common/core/{indentation.js → misc/indentation.js} +2 -2
  195. package/vscode/src/vs/editor/common/core/{columnRange.d.ts → ranges/columnRange.d.ts} +1 -1
  196. package/vscode/src/vs/editor/common/core/{columnRange.js → ranges/columnRange.js} +2 -2
  197. package/vscode/src/vs/editor/common/core/{lineRange.d.ts → ranges/lineRange.d.ts} +6 -4
  198. package/vscode/src/vs/editor/common/core/{lineRange.js → ranges/lineRange.js} +12 -10
  199. package/vscode/src/vs/editor/common/core/{offsetRange.d.ts → ranges/offsetRange.d.ts} +2 -1
  200. package/vscode/src/vs/editor/common/core/{offsetRange.js → ranges/offsetRange.js} +7 -1
  201. package/vscode/src/vs/editor/common/core/{rangeSingleLine.d.ts → ranges/rangeSingleLine.d.ts} +1 -1
  202. package/vscode/src/vs/editor/common/core/{rangeSingleLine.js → ranges/rangeSingleLine.js} +1 -1
  203. package/vscode/src/vs/editor/common/core/text/abstractText.d.ts +35 -0
  204. package/vscode/src/vs/editor/common/core/text/abstractText.js +84 -0
  205. package/vscode/src/vs/editor/common/core/text/getPositionOffsetTransformerFromTextModel.d.ts +3 -0
  206. package/vscode/src/vs/editor/common/core/text/getPositionOffsetTransformerFromTextModel.js +20 -0
  207. package/vscode/src/vs/editor/common/core/{positionToOffset.d.ts → text/positionToOffset.d.ts} +9 -11
  208. package/vscode/src/vs/editor/common/core/{positionToOffset.js → text/positionToOffset.js} +14 -29
  209. package/vscode/src/vs/editor/common/core/{textLength.d.ts → text/textLength.d.ts} +3 -3
  210. package/vscode/src/vs/editor/common/core/{textLength.js → text/textLength.js} +3 -3
  211. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +1 -1
  212. package/vscode/src/vs/editor/common/cursorCommon.js +1 -1
  213. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.d.ts +1 -1
  214. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +1 -1
  215. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.js +1 -1
  216. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.js +1 -1
  217. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +1 -1
  218. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +3 -3
  219. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.d.ts +1 -1
  220. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +1 -1
  221. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.d.ts +1 -1
  222. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.d.ts +1 -1
  223. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +1 -1
  224. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.d.ts +1 -1
  225. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +1 -1
  226. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +4 -3
  227. package/vscode/src/vs/editor/common/diff/rangeMapping.js +7 -7
  228. package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -1
  229. package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
  230. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  231. package/vscode/src/vs/editor/common/languages.d.ts +4 -28
  232. package/vscode/src/vs/editor/common/languages.js +65 -59
  233. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.d.ts +1 -1
  234. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +1 -1
  235. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  236. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +1 -1
  237. package/vscode/src/vs/editor/common/model/textModel.d.ts +2 -0
  238. package/vscode/src/vs/editor/common/model/textModel.js +11 -6
  239. package/vscode/src/vs/editor/common/model/textModelStringEdit.d.ts +9 -0
  240. package/vscode/src/vs/editor/common/model/textModelStringEdit.js +45 -0
  241. package/vscode/src/vs/editor/common/model/textModelText.d.ts +2 -2
  242. package/vscode/src/vs/editor/common/model/textModelText.js +2 -2
  243. package/vscode/src/vs/editor/common/model/textModelTokens.d.ts +2 -2
  244. package/vscode/src/vs/editor/common/model/textModelTokens.js +3 -3
  245. package/vscode/src/vs/editor/common/model/{tokens.d.ts → tokens/abstractSyntaxTokenBackend.d.ts} +22 -17
  246. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +118 -0
  247. package/vscode/src/vs/editor/common/model/{tokenizationTextModelPart.d.ts → tokens/tokenizationTextModelPart.d.ts} +25 -25
  248. package/vscode/src/vs/editor/common/model/tokens/tokenizationTextModelPart.js +255 -0
  249. package/vscode/src/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.d.ts +37 -0
  250. package/vscode/src/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js +257 -0
  251. package/vscode/src/vs/editor/common/model/tokens/treeSitter/cursorUtils.d.ts +6 -0
  252. package/vscode/src/vs/editor/common/model/tokens/treeSitter/cursorUtils.js +76 -0
  253. package/vscode/src/vs/editor/common/model/tokens/treeSitter/tokenStore.d.ts +65 -0
  254. package/vscode/src/vs/editor/common/model/tokens/treeSitter/tokenStore.js +412 -0
  255. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.d.ts +40 -0
  256. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +172 -0
  257. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTokenizationImpl.d.ts +73 -0
  258. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTokenizationImpl.js +682 -0
  259. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.d.ts +53 -0
  260. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +381 -0
  261. package/vscode/src/vs/editor/common/model.d.ts +1 -0
  262. package/vscode/src/vs/editor/common/services/languageService.js +1 -1
  263. package/vscode/src/vs/editor/common/services/modelService.js +1 -1
  264. package/vscode/src/vs/editor/common/services/treeSitter/treeSitterLibraryService.service.d.ts +11 -0
  265. package/vscode/src/vs/editor/common/services/treeSitter/treeSitterLibraryService.service.js +6 -0
  266. package/vscode/src/vs/editor/common/services/treeSitter/treeSitterThemeService.service.d.ts +7 -0
  267. package/vscode/src/vs/editor/common/services/treeSitter/treeSitterThemeService.service.js +6 -0
  268. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +156 -154
  269. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +156 -154
  270. package/vscode/src/vs/editor/common/standaloneStrings.js +47 -47
  271. package/vscode/src/vs/editor/common/textModelEditReason.d.ts +16 -0
  272. package/vscode/src/vs/editor/common/textModelEditReason.js +29 -0
  273. package/vscode/src/vs/editor/common/tokens/contiguousMultilineTokens.d.ts +1 -1
  274. package/vscode/src/vs/editor/common/tokens/contiguousMultilineTokens.js +2 -2
  275. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -1
  276. package/vscode/src/vs/editor/common/tokens/lineTokens.js +1 -1
  277. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +1 -1
  278. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +1 -1
  279. package/vscode/src/vs/editor/common/tokens/tokenArray.js +1 -1
  280. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.d.ts +1 -1
  281. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +1 -1
  282. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +4 -2
  283. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.d.ts +3 -8
  284. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +6 -16
  285. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.d.ts +1 -1
  286. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +1 -1
  287. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +24 -17
  288. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  289. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  290. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  291. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  292. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  293. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -2
  294. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  295. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  296. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  297. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  298. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  299. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  300. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  301. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  302. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  303. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  304. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  305. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  306. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  307. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +3 -3
  308. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  309. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.d.ts +1 -1
  310. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -12
  311. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  312. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -4
  313. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  314. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  315. package/vscode/src/vs/editor/contrib/find/browser/findController.js +16 -16
  316. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +33 -28
  317. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  318. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  319. package/vscode/src/vs/editor/contrib/folding/browser/hiddenRangeModel.js +1 -1
  320. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  321. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  322. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  323. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  324. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  325. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  326. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  327. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  328. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  329. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  330. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  331. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  332. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  333. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  334. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  335. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  336. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  337. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  338. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  339. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  340. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +1 -1
  341. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.d.ts +1 -1
  342. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +1 -1
  343. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  344. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +20 -20
  345. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
  346. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +10 -6
  347. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +4 -4
  348. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.d.ts +2 -2
  349. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +15 -14
  350. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +2 -2
  351. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.js +2 -2
  352. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +0 -4
  353. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +5 -26
  354. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/computeGhostText.d.ts +2 -2
  355. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/computeGhostText.js +2 -2
  356. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
  357. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.js +6 -6
  358. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +21 -20
  359. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +59 -23
  360. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +8 -8
  361. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +10 -9
  362. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
  363. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.js +2 -2
  364. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +12 -11
  365. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +46 -31
  366. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +5 -4
  367. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +7 -7
  368. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/singleTextEditHelpers.d.ts +3 -3
  369. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/singleTextEditHelpers.js +3 -3
  370. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +4 -4
  371. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +3 -3
  372. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +2 -1
  373. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +6 -2
  374. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +5 -3
  375. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +14 -5
  376. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.d.ts +2 -2
  377. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +9 -9
  378. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +3 -2
  379. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +18 -22
  380. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +1 -1
  381. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +53 -43
  382. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +4 -3
  383. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +3 -3
  384. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +1 -1
  385. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +4 -3
  386. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +4 -4
  387. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +1 -1
  388. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +68 -22
  389. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +5 -5
  390. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +6 -9
  391. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +6 -6
  392. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.d.ts +1 -1
  393. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +5 -4
  394. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.d.ts +1 -1
  395. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +8 -8
  396. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.d.ts +1 -1
  397. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +8 -13
  398. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +7 -5
  399. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.d.ts +2 -2
  400. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +12 -16
  401. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.d.ts +1 -1
  402. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +4 -4
  403. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +21 -21
  404. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.d.ts +9 -8
  405. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +31 -9
  406. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  407. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  408. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  409. package/vscode/src/vs/editor/contrib/linesOperations/browser/sortLinesCommand.d.ts +2 -2
  410. package/vscode/src/vs/editor/contrib/linesOperations/browser/sortLinesCommand.js +3 -8
  411. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  412. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  413. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  414. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  415. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  416. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  417. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  418. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  419. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +9 -8
  420. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  421. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  422. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.d.ts +1 -1
  423. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  424. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  425. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  426. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  427. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  428. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -1
  429. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +2 -2
  430. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  431. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  432. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  433. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  434. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  435. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  436. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  437. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  438. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  439. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  440. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +26 -25
  441. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  442. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  443. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +11 -11
  444. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  445. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +0 -2
  446. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +4 -5
  447. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.d.ts +11 -0
  448. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.js +21 -0
  449. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  450. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +6 -0
  451. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +81 -68
  452. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  453. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -1
  454. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +15 -11
  455. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +2 -1
  456. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +9 -9
  457. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -1
  458. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +11 -8
  459. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  460. package/vscode/src/vs/platform/actions/common/actions.d.ts +9 -0
  461. package/vscode/src/vs/platform/actions/common/actions.js +9 -0
  462. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  463. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  464. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
  465. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  466. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  467. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  468. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  469. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +1 -2
  470. package/vscode/src/vs/platform/diagnostics/common/diagnostics.js +2 -1
  471. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  472. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  473. package/vscode/src/vs/platform/editor/common/editor.d.ts +6 -1
  474. package/vscode/src/vs/platform/environment/common/argv.d.ts +1 -0
  475. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.service.d.ts +1 -1
  476. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +2 -3
  477. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +20 -21
  478. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +2 -1
  479. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  480. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.service.d.ts +1 -1
  481. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +15 -7
  482. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  483. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  484. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +10 -0
  485. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +6 -6
  486. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +7 -7
  487. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  488. package/vscode/src/vs/platform/files/common/files.js +6 -6
  489. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  490. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  491. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  492. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  493. package/vscode/src/vs/platform/log/common/log.js +6 -6
  494. package/vscode/src/vs/platform/markers/common/markerService.js +3 -2
  495. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  496. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +22 -0
  497. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.js +7 -0
  498. package/vscode/src/vs/platform/notification/common/notification.service.d.ts +1 -3
  499. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  500. package/vscode/src/vs/platform/observable/common/wrapInHotClass.js +1 -1
  501. package/vscode/src/vs/platform/observable/common/wrapInReloadableClass.js +1 -1
  502. package/vscode/src/vs/platform/product/common/product.js +3 -3
  503. package/vscode/src/vs/platform/progress/common/progress.js +1 -0
  504. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +7 -0
  505. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +9 -1
  506. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  507. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  508. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +8 -8
  509. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +4 -3
  510. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  511. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -1
  512. package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
  513. package/vscode/src/vs/platform/request/common/request.js +18 -18
  514. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  515. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -1
  516. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +1 -1
  517. package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +1 -1
  518. package/vscode/src/vs/platform/terminal/common/terminalDataBuffering.js +1 -1
  519. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +2 -2
  520. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  521. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  522. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  523. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
  524. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +47 -47
  525. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  526. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  527. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  528. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  529. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  530. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  531. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  532. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  533. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  534. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +1 -1
  535. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  536. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -2
  537. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.service.d.ts +1 -1
  538. package/vscode/src/vs/platform/window/common/window.d.ts +12 -4
  539. package/vscode/src/vs/platform/window/common/window.js +41 -6
  540. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  541. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +14 -12
  542. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +4 -2
  543. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +42 -15
  544. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +4 -0
  545. package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +64 -3
  546. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +495 -5
  547. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +0 -2
  548. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +84 -75
  549. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -0
  550. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  551. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  552. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +3 -3
  553. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +4 -3
  554. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
  555. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +52 -20
  556. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  557. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +3 -1
  558. package/vscode/src/vs/workbench/api/common/extHostMcp.js +199 -29
  559. package/vscode/src/vs/workbench/api/common/extHostNotebook.d.ts +1 -1
  560. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  561. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +3 -3
  562. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.d.ts +1 -4
  563. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +2 -17
  564. package/vscode/src/vs/workbench/api/common/extHostProgress.d.ts +9 -2
  565. package/vscode/src/vs/workbench/api/common/extHostProgress.js +19 -6
  566. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -0
  567. package/vscode/src/vs/workbench/api/common/extHostSCM.js +11 -0
  568. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  569. package/vscode/src/vs/workbench/api/common/extHostStorage.d.ts +1 -1
  570. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  571. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  572. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -4
  573. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  574. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +9 -8
  575. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +70 -45
  576. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +14 -19
  577. package/vscode/src/vs/workbench/api/common/extHostTypes.js +12 -19
  578. package/vscode/src/vs/workbench/api/common/extHostUrls.d.ts +7 -2
  579. package/vscode/src/vs/workbench/api/common/extHostUrls.js +15 -6
  580. package/vscode/src/vs/workbench/api/common/extHostWindow.d.ts +1 -0
  581. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  582. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +19 -5
  583. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  584. package/vscode/src/vs/workbench/api/worker/extHost.worker.services.js +2 -0
  585. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -1
  586. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  587. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  588. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  589. package/vscode/src/vs/workbench/common/contextkeys.d.ts +4 -5
  590. package/vscode/src/vs/workbench/common/contextkeys.js +72 -73
  591. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  592. package/vscode/src/vs/workbench/common/editor.js +4 -4
  593. package/vscode/src/vs/workbench/common/theme.js +160 -160
  594. package/vscode/src/vs/workbench/common/views.js +4 -4
  595. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +184 -150
  596. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  597. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
  598. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +4 -2
  599. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextPickService.service.d.ts +8 -0
  600. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextPickService.service.js +6 -0
  601. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +10 -15
  602. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +7 -9
  603. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +3 -12
  604. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +1 -1
  605. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +7 -1
  606. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +50 -37
  607. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +4 -3
  608. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
  609. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +2 -2
  610. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +42 -26
  611. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +102 -96
  612. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +17 -3
  613. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +26 -2
  614. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +21 -6
  615. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +1 -1
  616. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -1
  617. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -1
  618. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +1 -0
  619. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +4 -1
  620. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +38 -13
  621. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +67 -1
  622. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +11 -2
  623. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +6 -6
  624. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
  625. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +1 -1
  626. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +6 -2
  627. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +6 -12
  628. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.d.ts +12 -5
  629. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.service.d.ts +11 -6
  630. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +3 -9
  631. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  632. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +6 -5
  633. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  634. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +5 -5
  635. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  636. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  637. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  638. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  639. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  640. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  641. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  642. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  643. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  644. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  645. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  646. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -0
  647. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
  648. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +6 -2
  649. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +5 -2
  650. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +3 -3
  651. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +10 -6
  652. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  653. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +2 -2
  654. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  655. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  656. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  657. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  658. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  659. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +1 -1
  660. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +1 -1
  661. package/vscode/src/vs/workbench/contrib/issue/common/issue.service.d.ts +0 -5
  662. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  663. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  664. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.d.ts +2 -1
  665. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +6 -3
  666. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +133 -8
  667. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +132 -16
  668. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +26 -1
  669. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.js +3 -1
  670. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +404 -0
  671. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.js +14 -0
  672. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +1 -1
  673. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +3 -3
  674. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
  675. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
  676. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +1 -1
  677. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.service.d.ts +2 -1
  678. package/vscode/src/vs/workbench/contrib/scm/common/history.d.ts +14 -4
  679. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +1 -1
  680. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +1 -1
  681. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +6 -2
  682. package/vscode/src/vs/workbench/contrib/search/browser/replace.service.d.ts +1 -1
  683. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/searchViewModelWorkbenchService.service.d.ts +1 -1
  684. package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.service.d.ts +1 -1
  685. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  686. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  687. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  688. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  689. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  690. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +8 -0
  691. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +14 -6
  692. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +1 -1
  693. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -1
  694. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service.d.ts +1 -1
  695. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.d.ts +1 -1
  696. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  697. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  698. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  699. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  700. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.d.ts +6 -0
  701. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.js +6 -0
  702. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +3 -3
  703. package/vscode/src/vs/workbench/services/activity/common/activity.service.d.ts +1 -1
  704. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.d.ts +1 -0
  705. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +3 -1
  706. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service.d.ts +14 -0
  707. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service.js +6 -0
  708. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.service.d.ts +19 -0
  709. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.service.js +6 -0
  710. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpUsageService.service.d.ts +10 -0
  711. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpUsageService.service.js +6 -0
  712. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +15 -0
  713. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +8 -2
  714. package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.d.ts +15 -0
  715. package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service.d.ts +18 -0
  716. package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service.js +6 -0
  717. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.d.ts +9 -0
  718. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.js +6 -0
  719. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.d.ts +2 -1
  720. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +12 -4
  721. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  722. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +7 -5
  723. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +2 -3
  724. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  725. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +1 -1
  726. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +0 -1
  727. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -3
  728. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  729. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
  730. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +1 -1
  731. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
  732. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -1
  733. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +2 -4
  734. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  735. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +2 -2
  736. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  737. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  738. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  739. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +2 -1
  740. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  741. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  742. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  743. package/vscode/src/vs/workbench/services/search/common/search.d.ts +11 -1
  744. package/vscode/src/vs/workbench/services/search/common/search.js +10 -1
  745. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +1 -1
  746. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.service.d.ts +2 -1
  747. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  748. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  749. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  750. package/vscode/src/vs/workbench/services/title/browser/titleService.service.d.ts +2 -1
  751. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -12
  752. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.d.ts +1 -1
  753. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.d.ts +1 -1
  754. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
  755. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +1 -1
  756. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
  757. package/vscode-dts/vscode.d.ts +162 -1
  758. package/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts +1 -0
  759. package/vscode-dts/vscode.proposed.authIssuers.d.ts +30 -0
  760. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +12 -1
  761. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +10 -17
  762. package/vscode-dts/vscode.proposed.chatProvider.d.ts +18 -0
  763. package/vscode-dts/vscode.proposed.contribLanguageModelToolSets.d.ts +6 -0
  764. package/vscode-dts/vscode.proposed.d.ts +2 -2
  765. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +0 -5
  766. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +1 -3
  767. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +1 -1
  768. package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +7 -32
  769. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +2 -0
  770. package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +0 -59
  771. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +0 -78
  772. package/vscode/src/vs/base/common/observableInternal/utils.js +0 -486
  773. package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +0 -43
  774. package/vscode/src/vs/editor/common/core/offsetEdit.js +0 -335
  775. package/vscode/src/vs/editor/common/core/textEdit.d.ts +0 -71
  776. package/vscode/src/vs/editor/common/model/textModelOffsetEdit.d.ts +0 -10
  777. package/vscode/src/vs/editor/common/model/textModelOffsetEdit.js +0 -39
  778. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +0 -507
  779. package/vscode/src/vs/editor/common/model/tokens.js +0 -81
  780. package/vscode/src/vs/editor/common/model/treeSitterTokenStoreService.service.d.ts +0 -24
  781. package/vscode/src/vs/editor/common/model/treeSitterTokenStoreService.service.js +0 -6
  782. package/vscode/src/vs/editor/common/model/treeSitterTokens.d.ts +0 -31
  783. package/vscode/src/vs/editor/common/model/treeSitterTokens.js +0 -112
  784. package/vscode/src/vs/editor/common/services/treeSitterParserService.service.d.ts +0 -27
  785. package/vscode/src/vs/editor/common/services/treeSitterParserService.service.js +0 -7
  786. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterService.d.ts +0 -19
  787. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterService.js +0 -29
  788. package/vscode/src/vs/platform/native/common/native.d.ts +0 -168
  789. package/vscode/src/vs/workbench/services/treeSitter/browser/treeSitterTokenizationFeature.service.d.ts +0 -4
  790. package/vscode/src/vs/workbench/services/treeSitter/browser/treeSitterTokenizationFeature.service.js +0 -6
  791. package/vscode-dts/vscode.proposed.mcpConfigurationProvider.d.ts +0 -139
  792. package/vscode-dts/vscode.proposed.notebookCellExecutionState.d.ts +0 -52
  793. /package/vscode/src/vs/editor/browser/{dnd.d.ts → dataTransfer.d.ts} +0 -0
  794. /package/vscode/src/vs/editor/browser/{dnd.js → dataTransfer.js} +0 -0
  795. /package/vscode/src/vs/editor/common/core/{dimension.d.ts → 2d/dimension.d.ts} +0 -0
  796. /package/vscode/src/vs/editor/{browser → common/core/2d}/point.d.ts +0 -0
  797. /package/vscode/src/vs/editor/{browser → common/core/2d}/point.js +0 -0
  798. /package/vscode/src/vs/editor/common/core/{eolCounter.d.ts → misc/eolCounter.d.ts} +0 -0
  799. /package/vscode/src/vs/editor/common/core/{indentation.d.ts → misc/indentation.d.ts} +0 -0
  800. /package/vscode/src/vs/editor/common/core/{rgba.d.ts → misc/rgba.d.ts} +0 -0
  801. /package/vscode/src/vs/editor/common/core/{rgba.js → misc/rgba.js} +0 -0
  802. /package/vscode/src/vs/editor/common/core/{textModelDefaults.d.ts → misc/textModelDefaults.d.ts} +0 -0
  803. /package/vscode/src/vs/editor/common/core/{textModelDefaults.js → misc/textModelDefaults.js} +0 -0
@@ -1,19 +1,44 @@
1
1
 
2
2
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
3
+ import { localize } from '../../../nls.js';
3
4
  import { Emitter, Event } from '../../../base/common/event.js';
4
5
  import { MainContext } from './extHost.protocol.js';
5
- import { Disposable } from './extHostTypes.js';
6
+ import { Disposable, ProgressLocation } from './extHostTypes.js';
6
7
  import { ExtensionIdentifier } from '../../../platform/extensions/common/extensions.js';
7
8
  import { INTERNAL_AUTH_PROVIDER_PREFIX } from '../../services/authentication/common/authentication.js';
8
9
  import { createDecorator } from '../../../platform/instantiation/common/instantiation.js';
9
10
  import { IExtHostRpcService } from './extHostRpcService.js';
11
+ import { URI } from '../../../base/common/uri.js';
12
+ import { fetchDynamicRegistration, isAuthorizationTokenResponse, getClaimsFromJWT } from '../../../base/common/oauth.js';
13
+ import { IExtHostWindow } from './extHostWindow.js';
14
+ import { IExtHostInitDataService } from './extHostInitDataService.js';
15
+ import { ILoggerService } from '../../../platform/log/common/log.service.js';
16
+ import '../../../base/common/observableInternal/index.js';
17
+ import { stringHash } from '../../../base/common/hash.js';
18
+ import { DisposableStore } from '../../../base/common/lifecycle.js';
19
+ import { IExtHostUrlsService } from './extHostUrls.js';
20
+ import { encodeBase64, VSBuffer } from '../../../base/common/buffer.js';
21
+ import { equals } from '../../../base/common/arrays.js';
22
+ import { IExtHostProgress } from './extHostProgress.js';
23
+ import { isCancellationError, CancellationError } from '../../../base/common/errors.js';
24
+ import { raceCancellationError } from '../../../base/common/async.js';
25
+ import { observableValue } from '../../../base/common/observableInternal/observables/observableValue.js';
26
+ import { derivedOpts } from '../../../base/common/observableInternal/observables/derived.js';
27
+ import { autorun } from '../../../base/common/observableInternal/reactions/autorun.js';
10
28
 
11
29
  const IExtHostAuthentication = ( createDecorator('IExtHostAuthentication'));
12
30
  let ExtHostAuthentication = class ExtHostAuthentication {
13
- constructor(extHostRpc) {
31
+ constructor(extHostRpc, _initData, _extHostWindow, _extHostUrls, _extHostProgress, _extHostLoggerService) {
32
+ this._initData = _initData;
33
+ this._extHostWindow = _extHostWindow;
34
+ this._extHostUrls = _extHostUrls;
35
+ this._extHostProgress = _extHostProgress;
36
+ this._extHostLoggerService = _extHostLoggerService;
37
+ this._dynamicAuthProviderCtor = DynamicAuthProvider;
14
38
  this._authenticationProviders = ( new Map());
15
39
  this._onDidChangeSessions = ( new Emitter());
16
40
  this._getSessionTaskSingler = ( new TaskSingler());
41
+ this._onDidDynamicAuthProviderTokensChange = ( new Emitter());
17
42
  this._proxy = ( extHostRpc.getProxy(MainContext.MainThreadAuthentication));
18
43
  }
19
44
  getExtensionScopedSessionsEvent(extensionId) {
@@ -50,7 +75,7 @@ let ExtHostAuthentication = class ExtHostAuthentication {
50
75
  }
51
76
  this._authenticationProviders.set(id, { label, provider, options: options ?? { supportsMultipleAccounts: false } });
52
77
  const listener = provider.onDidChangeSessions(e => this._proxy.$sendDidChangeSessions(id, e));
53
- this._proxy.$registerAuthenticationProvider(id, label, options?.supportsMultipleAccounts ?? false);
78
+ this._proxy.$registerAuthenticationProvider(id, label, options?.supportsMultipleAccounts ?? false, options?.supportedAuthorizationServers);
54
79
  return ( new Disposable(() => {
55
80
  listener.dispose();
56
81
  this._authenticationProviders.delete(id);
@@ -60,6 +85,7 @@ let ExtHostAuthentication = class ExtHostAuthentication {
60
85
  async $createSession(providerId, scopes, options) {
61
86
  const providerData = this._authenticationProviders.get(providerId);
62
87
  if (providerData) {
88
+ options.authorizationServer = URI.revive(options.authorizationServer);
63
89
  return await providerData.provider.createSession(scopes, options);
64
90
  }
65
91
  throw ( new Error(`Unable to find authentication provider with handle: ${providerId}`));
@@ -74,6 +100,7 @@ let ExtHostAuthentication = class ExtHostAuthentication {
74
100
  async $getSessions(providerId, scopes, options) {
75
101
  const providerData = this._authenticationProviders.get(providerId);
76
102
  if (providerData) {
103
+ options.authorizationServer = URI.revive(options.authorizationServer);
77
104
  return await providerData.provider.getSessions(scopes, options);
78
105
  }
79
106
  throw ( new Error(`Unable to find authentication provider with handle: ${providerId}`));
@@ -84,9 +111,49 @@ let ExtHostAuthentication = class ExtHostAuthentication {
84
111
  }
85
112
  return Promise.resolve();
86
113
  }
114
+ $onDidUnregisterAuthenticationProvider(id) {
115
+ const providerData = this._authenticationProviders.get(id);
116
+ if (providerData?.disposable) {
117
+ providerData.disposable.dispose();
118
+ this._authenticationProviders.delete(id);
119
+ }
120
+ return Promise.resolve();
121
+ }
122
+ async $registerDynamicAuthProvider(authorizationServerComponents, serverMetadata, resourceMetadata, clientId, initialTokens) {
123
+ if (!clientId) {
124
+ if (!serverMetadata.registration_endpoint) {
125
+ throw ( new Error('Server does not support dynamic registration'));
126
+ }
127
+ try {
128
+ const registration = await fetchDynamicRegistration(serverMetadata.registration_endpoint, this._initData.environment.appName);
129
+ clientId = registration.client_id;
130
+ }
131
+ catch (err) {
132
+ throw ( new Error(`Dynamic registration failed: ${err.message}`));
133
+ }
134
+ }
135
+ const provider = new this._dynamicAuthProviderCtor(this._extHostWindow, this._extHostUrls, this._initData, this._extHostProgress, this._extHostLoggerService, this._proxy, URI.revive(authorizationServerComponents), serverMetadata, resourceMetadata, clientId, this._onDidDynamicAuthProviderTokensChange, initialTokens || []);
136
+ const disposable = provider.onDidChangeSessions(e => this._proxy.$sendDidChangeSessions(provider.id, e));
137
+ this._authenticationProviders.set(provider.id, {
138
+ label: provider.label,
139
+ provider,
140
+ disposable: Disposable.from(provider, disposable),
141
+ options: { supportsMultipleAccounts: false }
142
+ });
143
+ await this._proxy.$registerDynamicAuthenticationProvider(provider.id, provider.label, provider.authorizationServer, provider.clientId);
144
+ return provider.id;
145
+ }
146
+ async $onDidChangeDynamicAuthProviderTokens(authProviderId, clientId, tokens) {
147
+ this._onDidDynamicAuthProviderTokensChange.fire({ authProviderId, clientId, tokens });
148
+ }
87
149
  };
88
150
  ExtHostAuthentication = ( __decorate([
89
- ( __param(0, IExtHostRpcService))
151
+ ( __param(0, IExtHostRpcService)),
152
+ ( __param(1, IExtHostInitDataService)),
153
+ ( __param(2, IExtHostWindow)),
154
+ ( __param(3, IExtHostUrlsService)),
155
+ ( __param(4, IExtHostProgress)),
156
+ ( __param(5, ILoggerService))
90
157
  ], ExtHostAuthentication));
91
158
  class TaskSingler {
92
159
  constructor() {
@@ -102,5 +169,428 @@ class TaskSingler {
102
169
  return promise;
103
170
  }
104
171
  }
172
+ let DynamicAuthProvider = class DynamicAuthProvider {
173
+ constructor(_extHostWindow, _extHostUrls, _initData, _extHostProgress, loggerService, _proxy, authorizationServer, _serverMetadata, _resourceMetadata, clientId, onDidDynamicAuthProviderTokensChange, initialTokens) {
174
+ this._extHostWindow = _extHostWindow;
175
+ this._extHostUrls = _extHostUrls;
176
+ this._initData = _initData;
177
+ this._extHostProgress = _extHostProgress;
178
+ this._proxy = _proxy;
179
+ this.authorizationServer = authorizationServer;
180
+ this._serverMetadata = _serverMetadata;
181
+ this._resourceMetadata = _resourceMetadata;
182
+ this.clientId = clientId;
183
+ this._onDidChangeSessions = ( new Emitter());
184
+ this.onDidChangeSessions = this._onDidChangeSessions.event;
185
+ const stringifiedServer = ( authorizationServer.toString(true));
186
+ this.id = _resourceMetadata?.resource
187
+ ? stringifiedServer + ' ' + _resourceMetadata?.resource
188
+ : stringifiedServer;
189
+ this.label = _resourceMetadata?.resource_name ?? this.authorizationServer.authority;
190
+ this._logger = loggerService.createLogger(stringifiedServer, { name: this.label });
191
+ this._disposable = ( new DisposableStore());
192
+ this._disposable.add(this._onDidChangeSessions);
193
+ const scopedEvent = Event.chain(onDidDynamicAuthProviderTokensChange.event, $ => ( $
194
+ .filter(e => e.authProviderId === this.id && e.clientId === clientId)
195
+ .map(e => e.tokens)));
196
+ this._tokenStore = this._disposable.add(( new TokenStore({
197
+ onDidChange: scopedEvent,
198
+ set: (tokens) => _proxy.$setSessionsForDynamicAuthProvider(stringifiedServer, this.clientId, tokens),
199
+ }, initialTokens, this._logger)));
200
+ this._disposable.add(this._tokenStore.onDidChangeSessions(e => this._onDidChangeSessions.fire(e)));
201
+ this._createFlows = [{
202
+ label: ( localize(2574, "URL Handler")),
203
+ handler: (scopes, progress, token) => this._createWithUrlHandler(scopes, progress, token)
204
+ }];
205
+ }
206
+ async getSessions(scopes, _options) {
207
+ this._logger.info(`Getting sessions for scopes: ${scopes?.join(' ') ?? 'all'}`);
208
+ if (!scopes) {
209
+ return this._tokenStore.sessions;
210
+ }
211
+ const sortedScopes = [...scopes].sort();
212
+ const scopeStr = scopes.join(' ');
213
+ let sessions = this._tokenStore.sessions.filter(session => equals([...session.scopes].sort(), sortedScopes));
214
+ this._logger.info(`Found ${sessions.length} sessions for scopes: ${scopeStr}`);
215
+ if (sessions.length) {
216
+ const newTokens = [];
217
+ const removedTokens = [];
218
+ const tokenMap = ( new Map(( this._tokenStore.tokens.map(token => [token.access_token, token]))));
219
+ for (const session of sessions) {
220
+ const token = tokenMap.get(session.accessToken);
221
+ if (token && token.expires_in) {
222
+ const now = Date.now();
223
+ const expiresInMS = token.expires_in * 1000;
224
+ if (now > token.created_at + expiresInMS - (5 * 60 * 1000)) {
225
+ this._logger.info(`Token for session ${session.id} is about to expire, refreshing...`);
226
+ removedTokens.push(token);
227
+ if (!token.refresh_token) {
228
+ this._logger.warn(`No refresh token available for scopes ${session.scopes.join(' ')}. Throwing away token.`);
229
+ continue;
230
+ }
231
+ try {
232
+ const newToken = await this.exchangeRefreshTokenForToken(token.refresh_token);
233
+ if (newToken.scope !== scopeStr) {
234
+ this._logger.warn(`Token scopes '${newToken.scope}' do not match requested scopes '${scopeStr}'. Overwriting token with what was requested...`);
235
+ newToken.scope = scopeStr;
236
+ }
237
+ this._logger.info(`Successfully created a new token for scopes ${session.scopes.join(' ')}.`);
238
+ newTokens.push(newToken);
239
+ }
240
+ catch (err) {
241
+ this._logger.error(`Failed to refresh token: ${err}`);
242
+ }
243
+ }
244
+ }
245
+ }
246
+ if (newTokens.length || removedTokens.length) {
247
+ this._tokenStore.update({ added: newTokens, removed: removedTokens });
248
+ sessions = this._tokenStore.sessions.filter(session => equals([...session.scopes].sort(), sortedScopes));
249
+ }
250
+ this._logger.info(`Found ${sessions.length} sessions for scopes: ${scopeStr}`);
251
+ return sessions;
252
+ }
253
+ return [];
254
+ }
255
+ async createSession(scopes, _options) {
256
+ this._logger.info(`Creating session for scopes: ${scopes.join(' ')}`);
257
+ let token;
258
+ for (let i = 0; i < this._createFlows.length; i++) {
259
+ const { handler } = this._createFlows[i];
260
+ try {
261
+ token = await this._extHostProgress.withProgressFromSource({ label: this.label, id: this.id }, {
262
+ location: ProgressLocation.Notification,
263
+ title: ( localize(2575, "Authenticating to '{0}'", this.label)),
264
+ cancellable: true
265
+ }, (progress, token) => handler(scopes, progress, token));
266
+ if (token) {
267
+ break;
268
+ }
269
+ }
270
+ catch (err) {
271
+ const nextMode = this._createFlows[i + 1]?.label;
272
+ if (!nextMode) {
273
+ break;
274
+ }
275
+ const message = isCancellationError(err)
276
+ ? ( localize(
277
+ 2576,
278
+ "Having trouble authenticating to '{0}'? Would you like to try a different way? ({1})",
279
+ this.label,
280
+ nextMode
281
+ ))
282
+ : ( localize(
283
+ 2577,
284
+ "You have not yet finished authenticating to '{0}'. Would you like to try a different way? ({1})",
285
+ this.label,
286
+ nextMode
287
+ ));
288
+ const result = await this._proxy.$showContinueNotification(message);
289
+ if (!result) {
290
+ throw ( new CancellationError());
291
+ }
292
+ this._logger.error(`Failed to create token via flow '${nextMode}': ${err}`);
293
+ }
294
+ }
295
+ if (!token) {
296
+ throw ( new Error('Failed to create authentication token'));
297
+ }
298
+ if (token.scope !== scopes.join(' ')) {
299
+ this._logger.warn(`Token scopes '${token.scope}' do not match requested scopes '${scopes.join(' ')}'. Overwriting token with what was requested...`);
300
+ token.scope = scopes.join(' ');
301
+ }
302
+ this._tokenStore.update({ added: [{ ...token, created_at: Date.now() }], removed: [] });
303
+ const session = this._tokenStore.sessions.find(t => t.accessToken === token.access_token);
304
+ this._logger.info(`Created session for scopes: ${token.scope}`);
305
+ return session;
306
+ }
307
+ async removeSession(sessionId) {
308
+ this._logger.info(`Removing session with id: ${sessionId}`);
309
+ const session = this._tokenStore.sessions.find(session => session.id === sessionId);
310
+ if (!session) {
311
+ this._logger.error(`Session with id ${sessionId} not found`);
312
+ return;
313
+ }
314
+ const token = this._tokenStore.tokens.find(token => token.access_token === session.accessToken);
315
+ if (!token) {
316
+ this._logger.error(`Failed to retrieve token for removed session: ${session.id}`);
317
+ return;
318
+ }
319
+ this._tokenStore.update({ added: [], removed: [token] });
320
+ this._logger.info(`Removed token for session: ${session.id} with scopes: ${session.scopes.join(' ')}`);
321
+ }
322
+ dispose() {
323
+ this._disposable.dispose();
324
+ }
325
+ async _createWithUrlHandler(scopes, progress, token) {
326
+ const codeVerifier = this.generateRandomString(64);
327
+ const codeChallenge = await this.generateCodeChallenge(codeVerifier);
328
+ const nonce = this.generateRandomString(32);
329
+ const callbackUri = ( URI.parse(
330
+ `${this._initData.environment.appUriScheme}://dynamicauthprovider/${this.authorizationServer.authority}/authorize?nonce=${nonce}`
331
+ ));
332
+ let state;
333
+ try {
334
+ state = await this._extHostUrls.createAppUri(callbackUri);
335
+ }
336
+ catch (error) {
337
+ throw ( new Error(`Failed to create external URI: ${error}`));
338
+ }
339
+ const authorizationUrl = ( new URL(this._serverMetadata.authorization_endpoint));
340
+ authorizationUrl.searchParams.append('client_id', this.clientId);
341
+ authorizationUrl.searchParams.append('response_type', 'code');
342
+ authorizationUrl.searchParams.append('state', ( state.toString()));
343
+ authorizationUrl.searchParams.append('code_challenge', codeChallenge);
344
+ authorizationUrl.searchParams.append('code_challenge_method', 'S256');
345
+ const scopeString = scopes.join(' ');
346
+ if (scopeString) {
347
+ authorizationUrl.searchParams.append('scope', scopeString);
348
+ }
349
+ if (this._resourceMetadata?.resource) {
350
+ authorizationUrl.searchParams.append('resource', this._resourceMetadata.resource);
351
+ }
352
+ const redirectUri = 'https://vscode.dev/redirect';
353
+ authorizationUrl.searchParams.append('redirect_uri', redirectUri);
354
+ const promise = this.waitForAuthorizationCode(callbackUri);
355
+ this._logger.info(`Opening authorization URL for scopes: ${scopeString}`);
356
+ this._logger.trace(`Authorization URL: ${( authorizationUrl.toString())}`);
357
+ const opened = await this._extHostWindow.openUri(( authorizationUrl.toString()), {});
358
+ if (!opened) {
359
+ throw ( new CancellationError());
360
+ }
361
+ progress.report({
362
+ message: ( localize(2578, "Complete the authentication in the browser window that has opened.")),
363
+ });
364
+ let code;
365
+ try {
366
+ const response = await raceCancellationError(promise, token);
367
+ code = response.code;
368
+ }
369
+ catch (err) {
370
+ if (isCancellationError(err)) {
371
+ this._logger.info('Authorization code request was cancelled by the user.');
372
+ throw err;
373
+ }
374
+ this._logger.error(`Failed to receive authorization code: ${err}`);
375
+ throw ( new Error(`Failed to receive authorization code: ${err}`));
376
+ }
377
+ this._logger.info(`Authorization code received for scopes: ${scopeString}`);
378
+ const tokenResponse = await this.exchangeCodeForToken(code, codeVerifier, redirectUri);
379
+ return tokenResponse;
380
+ }
381
+ generateRandomString(length) {
382
+ const array = ( new Uint8Array(length));
383
+ crypto.getRandomValues(array);
384
+ return ( Array.from(array)
385
+ .map(b => ( b.toString(16)).padStart(2, '0')))
386
+ .join('')
387
+ .substring(0, length);
388
+ }
389
+ async generateCodeChallenge(codeVerifier) {
390
+ const encoder = ( new TextEncoder());
391
+ const data = encoder.encode(codeVerifier);
392
+ const digest = await crypto.subtle.digest('SHA-256', data);
393
+ return encodeBase64(VSBuffer.wrap(( new Uint8Array(digest))), false, false)
394
+ .replace(/\+/g, '-')
395
+ .replace(/\//g, '_')
396
+ .replace(/=+$/, '');
397
+ }
398
+ async waitForAuthorizationCode(expectedState) {
399
+ const result = await this._proxy.$waitForUriHandler(expectedState);
400
+ const codeMatch = /[?&]code=([^&]+)/.exec(result.query || '');
401
+ if (!codeMatch || codeMatch.length < 2) {
402
+ throw ( new Error('Authentication failed: No authorization code received'));
403
+ }
404
+ return { code: codeMatch[1] };
405
+ }
406
+ async exchangeCodeForToken(code, codeVerifier, redirectUri) {
407
+ if (!this._serverMetadata.token_endpoint) {
408
+ throw ( new Error('Token endpoint not available in server metadata'));
409
+ }
410
+ const tokenRequest = ( new URLSearchParams());
411
+ tokenRequest.append('client_id', this.clientId);
412
+ tokenRequest.append('grant_type', 'authorization_code');
413
+ tokenRequest.append('code', code);
414
+ tokenRequest.append('redirect_uri', redirectUri);
415
+ tokenRequest.append('code_verifier', codeVerifier);
416
+ const response = await fetch(this._serverMetadata.token_endpoint, {
417
+ method: 'POST',
418
+ headers: {
419
+ 'Content-Type': 'application/x-www-form-urlencoded',
420
+ 'Accept': 'application/json'
421
+ },
422
+ body: ( tokenRequest.toString())
423
+ });
424
+ if (!response.ok) {
425
+ const text = await response.text();
426
+ throw ( new Error(
427
+ `Token exchange failed: ${response.status} ${response.statusText} - ${text}`
428
+ ));
429
+ }
430
+ const result = await response.json();
431
+ if (isAuthorizationTokenResponse(result)) {
432
+ return result;
433
+ }
434
+ throw ( new Error(`Invalid authorization token response: ${JSON.stringify(result)}`));
435
+ }
436
+ async exchangeRefreshTokenForToken(refreshToken) {
437
+ if (!this._serverMetadata.token_endpoint) {
438
+ throw ( new Error('Token endpoint not available in server metadata'));
439
+ }
440
+ const tokenRequest = ( new URLSearchParams());
441
+ tokenRequest.append('client_id', this.clientId);
442
+ tokenRequest.append('grant_type', 'refresh_token');
443
+ tokenRequest.append('refresh_token', refreshToken);
444
+ const response = await fetch(this._serverMetadata.token_endpoint, {
445
+ method: 'POST',
446
+ headers: {
447
+ 'Content-Type': 'application/x-www-form-urlencoded',
448
+ 'Accept': 'application/json'
449
+ },
450
+ body: ( tokenRequest.toString())
451
+ });
452
+ if (!response.ok) {
453
+ const text = await response.text();
454
+ throw ( new Error(
455
+ `Token exchange failed: ${response.status} ${response.statusText} - ${text}`
456
+ ));
457
+ }
458
+ const result = await response.json();
459
+ if (isAuthorizationTokenResponse(result)) {
460
+ return {
461
+ ...result,
462
+ created_at: Date.now(),
463
+ };
464
+ }
465
+ throw ( new Error(`Invalid authorization token response: ${JSON.stringify(result)}`));
466
+ }
467
+ };
468
+ DynamicAuthProvider = ( __decorate([
469
+ ( __param(0, IExtHostWindow)),
470
+ ( __param(1, IExtHostUrlsService)),
471
+ ( __param(2, IExtHostInitDataService)),
472
+ ( __param(3, IExtHostProgress)),
473
+ ( __param(4, ILoggerService))
474
+ ], DynamicAuthProvider));
475
+ class TokenStore {
476
+ constructor(_persistence, initialTokens, _logger) {
477
+ this._persistence = _persistence;
478
+ this._logger = _logger;
479
+ this._onDidChangeSessions = ( new Emitter());
480
+ this.onDidChangeSessions = this._onDidChangeSessions.event;
481
+ this._disposable = ( new DisposableStore());
482
+ this._tokensObservable = observableValue('tokens', initialTokens);
483
+ this._sessionsObservable = derivedOpts({ equalsFn: (a, b) => equals(a, b, (a, b) => a.accessToken === b.accessToken) }, (reader) => ( this._tokensObservable.read(reader).map(t => this._getSessionFromToken(t))));
484
+ this._disposable.add(this._registerChangeEventAutorun());
485
+ this._disposable.add(this._persistence.onDidChange((tokens) => this._tokensObservable.set(tokens, undefined)));
486
+ }
487
+ get tokens() {
488
+ return this._tokensObservable.get();
489
+ }
490
+ get sessions() {
491
+ return this._sessionsObservable.get();
492
+ }
493
+ dispose() {
494
+ this._disposable.dispose();
495
+ }
496
+ update({ added, removed }) {
497
+ this._logger.trace(`Updating tokens: added ${added.length}, removed ${removed.length}`);
498
+ const currentTokens = [...this._tokensObservable.get()];
499
+ for (const token of removed) {
500
+ const index = currentTokens.findIndex(t => t.access_token === token.access_token);
501
+ if (index !== -1) {
502
+ currentTokens.splice(index, 1);
503
+ }
504
+ }
505
+ for (const token of added) {
506
+ const index = currentTokens.findIndex(t => t.access_token === token.access_token);
507
+ if (index === -1) {
508
+ currentTokens.push(token);
509
+ }
510
+ else {
511
+ currentTokens[index] = token;
512
+ }
513
+ }
514
+ if (added.length || removed.length) {
515
+ this._tokensObservable.set(currentTokens, undefined);
516
+ void this._persistence.set(currentTokens);
517
+ }
518
+ this._logger.trace(`Tokens updated: ${currentTokens.length} tokens stored.`);
519
+ }
520
+ _registerChangeEventAutorun() {
521
+ let previousSessions = [];
522
+ return autorun((reader) => {
523
+ this._logger.trace('Checking for session changes...');
524
+ const currentSessions = this._sessionsObservable.read(reader);
525
+ if (previousSessions === currentSessions) {
526
+ this._logger.trace('No session changes detected.');
527
+ return;
528
+ }
529
+ if (!currentSessions || currentSessions.length === 0) {
530
+ this._logger.trace('All sessions removed.');
531
+ if (previousSessions.length > 0) {
532
+ this._onDidChangeSessions.fire({
533
+ added: [],
534
+ removed: previousSessions,
535
+ changed: []
536
+ });
537
+ previousSessions = [];
538
+ }
539
+ return;
540
+ }
541
+ const added = [];
542
+ const removed = [];
543
+ for (const current of currentSessions) {
544
+ const exists = ( previousSessions.some(prev => prev.accessToken === current.accessToken));
545
+ if (!exists) {
546
+ added.push(current);
547
+ }
548
+ }
549
+ for (const prev of previousSessions) {
550
+ const exists = ( currentSessions.some(current => current.accessToken === prev.accessToken));
551
+ if (!exists) {
552
+ removed.push(prev);
553
+ }
554
+ }
555
+ if (added.length > 0 || removed.length > 0) {
556
+ this._logger.trace(`Sessions changed: added ${added.length}, removed ${removed.length}`);
557
+ this._onDidChangeSessions.fire({ added, removed, changed: [] });
558
+ }
559
+ previousSessions = currentSessions;
560
+ });
561
+ }
562
+ _getSessionFromToken(token) {
563
+ let claims;
564
+ if (token.id_token) {
565
+ try {
566
+ claims = getClaimsFromJWT(token.id_token);
567
+ }
568
+ catch (e) {
569
+ }
570
+ }
571
+ if (!claims) {
572
+ try {
573
+ claims = getClaimsFromJWT(token.access_token);
574
+ }
575
+ catch (e) {
576
+ }
577
+ }
578
+ const scopes = token.scope
579
+ ? token.scope.split(' ')
580
+ : claims?.scope
581
+ ? claims.scope.split(' ')
582
+ : [];
583
+ return {
584
+ id: ( stringHash(token.access_token, 0).toString()),
585
+ accessToken: token.access_token,
586
+ account: {
587
+ id: claims?.sub || 'unknown',
588
+ label: claims?.preferred_username || claims?.name || claims?.email || 'MCP',
589
+ },
590
+ scopes: scopes,
591
+ idToken: token.id_token
592
+ };
593
+ }
594
+ }
105
595
 
106
- export { ExtHostAuthentication, IExtHostAuthentication };
596
+ export { DynamicAuthProvider, ExtHostAuthentication, IExtHostAuthentication };
@@ -53,7 +53,6 @@ export declare class ExtHostChatAgents2 extends Disposable implements ExtHostCha
53
53
  history: IChatAgentHistoryEntryDto[];
54
54
  }, token: CancellationToken): Promise<IChatAgentResult | undefined>;
55
55
  private getDiagnosticsWhenEnabled;
56
- private getTools2ForRequest;
57
56
  private getToolsForRequest;
58
57
  private prepareHistoryTurns;
59
58
  $releaseSession(sessionId: string): void;
@@ -64,5 +63,4 @@ export declare class ExtHostChatAgents2 extends Disposable implements ExtHostCha
64
63
  $acceptAction(handle: number, result: IChatAgentResult, event: IChatUserActionEvent): void;
65
64
  $invokeCompletionProvider(handle: number, query: string, token: CancellationToken): Promise<IChatAgentCompletionItem[]>;
66
65
  $provideChatTitle(handle: number, context: IChatAgentHistoryEntryDto[], token: CancellationToken): Promise<string | undefined>;
67
- $provideSampleQuestions(handle: number, location: ChatAgentLocation, token: CancellationToken): Promise<IChatFollowup[] | undefined>;
68
66
  }