@codingame/monaco-vscode-api 16.1.0 → 17.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 (603) hide show
  1. package/missing-services.js +107 -2
  2. package/monaco.d.ts +2 -2
  3. package/package.json +10 -9
  4. package/services.d.ts +4 -4
  5. package/services.js +7 -18
  6. package/vscode/src/vs/base/browser/dom.d.ts +1 -0
  7. package/vscode/src/vs/base/browser/dom.js +6 -1
  8. package/vscode/src/vs/base/browser/mouseEvent.d.ts +2 -0
  9. package/vscode/src/vs/base/browser/mouseEvent.js +1 -0
  10. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  11. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.d.ts +2 -3
  12. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  13. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
  14. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +6 -1
  15. package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +2 -1
  16. package/vscode/src/vs/base/browser/ui/severityIcon/media/severityIcon.css +1 -3
  17. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +5 -1
  18. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +17 -4
  19. package/vscode/src/vs/base/common/arrays.d.ts +1 -0
  20. package/vscode/src/vs/base/common/arrays.js +5 -2
  21. package/vscode/src/vs/base/common/async.js +9 -2
  22. package/vscode/src/vs/base/common/codicons.d.ts +5 -0
  23. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +5 -0
  24. package/vscode/src/vs/base/common/codiconsLibrary.js +5 -0
  25. package/vscode/src/vs/base/common/color.d.ts +1 -0
  26. package/vscode/src/vs/base/common/color.js +10 -0
  27. package/vscode/src/vs/base/common/comparers.d.ts +2 -2
  28. package/vscode/src/vs/base/common/decorators.d.ts +1 -1
  29. package/vscode/src/vs/base/common/glob.d.ts +3 -0
  30. package/vscode/src/vs/base/common/glob.js +10 -1
  31. package/vscode/src/vs/base/common/marshallingIds.d.ts +2 -1
  32. package/vscode/src/vs/base/common/marshallingIds.js +1 -0
  33. package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +6 -8
  34. package/vscode/src/vs/base/common/observableInternal/autorun.js +15 -11
  35. package/vscode/src/vs/base/common/observableInternal/base.d.ts +0 -10
  36. package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +23 -0
  37. package/vscode/src/vs/base/common/observableInternal/changeTracker.js +30 -0
  38. package/vscode/src/vs/base/common/observableInternal/derived.d.ts +18 -13
  39. package/vscode/src/vs/base/common/observableInternal/derived.js +47 -18
  40. package/vscode/src/vs/base/common/observableInternal/index.d.ts +6 -5
  41. package/vscode/src/vs/base/common/observableInternal/index.js +2 -2
  42. package/vscode/src/vs/base/common/observableInternal/logging/logging.d.ts +2 -2
  43. package/vscode/src/vs/base/common/observableInternal/promise.d.ts +28 -0
  44. package/vscode/src/vs/base/common/observableInternal/promise.js +65 -0
  45. package/vscode/src/vs/base/common/observableInternal/reducer.d.ts +16 -0
  46. package/vscode/src/vs/base/common/observableInternal/reducer.js +36 -0
  47. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +2 -0
  48. package/vscode/src/vs/base/common/observableInternal/utils.js +19 -11
  49. package/vscode/src/vs/base/common/product.d.ts +5 -0
  50. package/vscode/src/vs/base/common/sseParser.d.ts +26 -0
  51. package/vscode/src/vs/base/common/sseParser.js +134 -0
  52. package/vscode/src/vs/base/common/stopwatch.js +2 -2
  53. package/vscode/src/vs/base/common/strings.d.ts +1 -0
  54. package/vscode/src/vs/base/common/strings.js +8 -19
  55. package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -0
  56. package/vscode/src/vs/base/common/ternarySearchTree.js +55 -13
  57. package/vscode/src/vs/editor/browser/config/editorConfiguration.d.ts +1 -0
  58. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -1
  59. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.css +1 -1
  60. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +6 -3
  61. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +86 -54
  62. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +0 -1
  63. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +12 -8
  64. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.d.ts +0 -1
  65. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +9 -6
  66. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +3 -3
  67. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -2
  68. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
  69. package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.d.ts +1 -1
  70. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +2 -0
  71. package/vscode/src/vs/editor/browser/services/hoverService/hover.css +8 -0
  72. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.d.ts +1 -0
  73. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +6 -1
  74. package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +1 -0
  75. package/vscode/src/vs/editor/browser/view/renderingContext.js +3 -0
  76. package/vscode/src/vs/editor/browser/view/viewLayer.d.ts +3 -1
  77. package/vscode/src/vs/editor/browser/view/viewLayer.js +13 -6
  78. package/vscode/src/vs/editor/browser/view/viewOverlays.js +4 -1
  79. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -5
  80. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -2
  81. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +0 -1
  82. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +6 -6
  83. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +3 -0
  84. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +2 -2
  85. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  86. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +5 -2
  88. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -1
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +1 -1
  91. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +10 -8
  92. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +19 -15
  93. package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +5 -0
  94. package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +20 -0
  95. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +24 -23
  96. package/vscode/src/vs/editor/common/config/editorOptions.js +3 -4
  97. package/vscode/src/vs/editor/common/core/columnRange.d.ts +11 -0
  98. package/vscode/src/vs/editor/common/core/columnRange.js +32 -0
  99. package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +1 -0
  100. package/vscode/src/vs/editor/common/core/offsetEdit.js +10 -0
  101. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +1 -0
  102. package/vscode/src/vs/editor/common/core/offsetRange.js +3 -0
  103. package/vscode/src/vs/editor/common/core/positionToOffset.d.ts +15 -3
  104. package/vscode/src/vs/editor/common/core/positionToOffset.js +45 -11
  105. package/vscode/src/vs/editor/common/core/rangeSingleLine.d.ts +9 -0
  106. package/vscode/src/vs/editor/common/core/rangeSingleLine.js +27 -0
  107. package/vscode/src/vs/editor/common/core/textEdit.d.ts +1 -0
  108. package/vscode/src/vs/editor/common/core/textEdit.js +41 -0
  109. package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -0
  110. package/vscode/src/vs/editor/common/languages/modesRegistry.d.ts +2 -2
  111. package/vscode/src/vs/editor/common/languages/modesRegistry.js +4 -2
  112. package/vscode/src/vs/editor/common/languages.d.ts +22 -1
  113. package/vscode/src/vs/editor/common/languages.js +7 -1
  114. package/vscode/src/vs/editor/common/model/textModel.d.ts +5 -1
  115. package/vscode/src/vs/editor/common/model/textModel.js +80 -18
  116. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
  117. package/vscode/src/vs/editor/common/model.d.ts +2 -1
  118. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +5 -0
  119. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +7 -1
  120. package/vscode/src/vs/editor/common/textModelEvents.d.ts +11 -0
  121. package/vscode/src/vs/editor/common/textModelEvents.js +14 -1
  122. package/vscode/src/vs/editor/common/tokens/common.d.ts +7 -0
  123. package/vscode/src/vs/editor/common/tokens/common.js +18 -0
  124. package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.d.ts +1 -1
  125. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -0
  126. package/vscode/src/vs/editor/common/tokens/lineTokens.js +3 -0
  127. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.d.ts +2 -0
  128. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +20 -0
  129. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.d.ts +2 -1
  130. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +9 -4
  131. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +1 -0
  132. package/vscode/src/vs/editor/common/tokens/tokenArray.js +4 -0
  133. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.d.ts +25 -0
  134. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +73 -0
  135. package/vscode/src/vs/editor/common/viewLayout/lineHeights.d.ts +35 -0
  136. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +339 -0
  137. package/vscode/src/vs/editor/common/viewLayout/linesLayout.d.ts +8 -6
  138. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +42 -49
  139. package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +6 -3
  140. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +16 -5
  141. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +1 -0
  142. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +44 -7
  143. package/vscode/src/vs/editor/common/viewModel.d.ts +5 -0
  144. package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
  145. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
  146. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +20 -14
  147. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
  148. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -1
  149. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.d.ts +1 -1
  150. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +4 -3
  151. package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +1 -3
  152. package/vscode/src/vs/editor/contrib/find/browser/findController.js +5 -11
  153. package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +1 -7
  154. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -15
  155. package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
  156. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +24 -23
  157. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  158. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  159. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  160. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  161. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  162. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  163. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  164. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  165. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  166. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  167. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  168. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +5 -5
  169. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  170. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  171. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  172. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  173. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  174. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +14 -12
  175. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  176. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  177. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -21
  178. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +0 -4
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +29 -41
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.d.ts +1 -0
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +11 -6
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  185. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
  186. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +1 -2
  187. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.d.ts +4 -4
  188. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +1 -2
  189. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +10 -0
  190. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +31 -2
  191. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
  192. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +16 -16
  193. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +156 -202
  194. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +21 -49
  195. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +135 -431
  196. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
  197. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +98 -0
  198. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +487 -0
  199. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +34 -32
  200. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +141 -132
  201. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +1 -1
  202. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +2 -2
  203. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +26 -0
  204. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +2 -7
  205. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +21 -20
  206. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +19 -7
  207. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +1 -1
  208. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +17 -9
  209. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +5 -13
  210. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +139 -188
  211. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +8 -6
  212. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -3
  213. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +4 -4
  214. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +6 -6
  215. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.d.ts +23 -0
  216. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +157 -0
  217. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +2 -0
  218. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +37 -20
  219. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +3 -2
  220. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +3 -4
  221. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.d.ts +6 -1
  222. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +28 -5
  223. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +21 -0
  224. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +215 -0
  225. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +0 -1
  226. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +0 -1
  227. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +2 -2
  228. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -3
  229. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +3 -4
  230. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -21
  231. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  232. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  233. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  234. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  235. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  236. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  237. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  238. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  239. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  240. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +17 -17
  241. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  242. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  243. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +23 -49
  244. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  245. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  246. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  247. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  248. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  249. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +8 -0
  250. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  251. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  252. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +1 -0
  253. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +24 -14
  254. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  255. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  256. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -18
  257. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  258. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  259. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  260. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  261. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  262. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  263. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +5 -10
  264. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  265. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  266. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  267. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  268. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  269. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +1 -1
  270. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +2 -2
  271. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -2
  272. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  273. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  274. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +23 -14
  275. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -0
  276. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +17 -3
  277. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +6 -1
  278. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +2 -1
  279. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -1
  280. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  281. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  282. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  283. package/vscode/src/vs/platform/actions/common/actions.js +2 -0
  284. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  285. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  286. package/vscode/src/vs/platform/clipboard/browser/clipboardService.d.ts +1 -0
  287. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +3 -0
  288. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +1 -0
  289. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -13
  290. package/vscode/src/vs/platform/configuration/common/configurations.js +1 -1
  291. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  292. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  293. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  294. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  295. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  296. package/vscode/src/vs/platform/dnd/browser/dnd.d.ts +5 -0
  297. package/vscode/src/vs/platform/dnd/browser/dnd.js +6 -2
  298. package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -0
  299. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +8 -2
  300. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +94 -4
  301. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
  302. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.d.ts +3 -2
  303. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +10 -7
  304. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  305. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +1 -1
  306. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +0 -1
  307. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +10 -11
  308. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  309. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
  310. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +7 -6
  311. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -8
  312. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  313. package/vscode/src/vs/platform/files/common/files.js +6 -6
  314. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  315. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +5 -4
  316. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  317. package/vscode/src/vs/platform/label/common/label.service.d.ts +1 -1
  318. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  319. package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -1
  320. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  321. package/vscode/src/vs/platform/log/common/log.js +6 -6
  322. package/vscode/src/vs/platform/markers/common/markerService.d.ts +2 -7
  323. package/vscode/src/vs/platform/markers/common/markerService.js +5 -5
  324. package/vscode/src/vs/platform/markers/common/markers.d.ts +7 -0
  325. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  326. package/vscode/src/vs/platform/markers/common/markers.service.d.ts +2 -7
  327. package/vscode/src/vs/platform/native/common/native.d.ts +168 -0
  328. package/vscode/src/vs/platform/notification/common/notification.d.ts +6 -2
  329. package/vscode/src/vs/platform/notification/common/notification.js +3 -2
  330. package/vscode/src/vs/platform/notification/common/notification.service.d.ts +2 -3
  331. package/vscode/src/vs/platform/product/common/product.js +93 -48
  332. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +4 -19
  333. package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +6 -3
  334. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +33 -10
  335. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  336. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +2 -0
  337. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +6 -0
  338. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +25 -18
  339. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.d.ts +5 -5
  340. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +58 -43
  341. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  342. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -1
  343. package/vscode/src/vs/platform/registry/common/platform.js +9 -1
  344. package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
  345. package/vscode/src/vs/platform/request/common/request.js +18 -18
  346. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  347. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  348. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +14 -1
  349. package/vscode/src/vs/platform/terminal/common/terminal.js +14 -1
  350. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -2
  351. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +4 -2
  352. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +7 -1
  353. package/vscode/src/vs/platform/theme/common/colorUtils.js +12 -4
  354. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  355. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  356. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
  357. package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +2 -0
  358. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +49 -47
  359. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  360. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  361. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  362. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  363. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  364. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  365. package/vscode/src/vs/platform/theme/common/iconRegistry.js +10 -8
  366. package/vscode/src/vs/platform/theme/common/themeService.d.ts +0 -8
  367. package/vscode/src/vs/platform/theme/common/themeService.js +4 -3
  368. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  369. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  370. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +1 -1
  371. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  372. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -2
  373. package/vscode/src/vs/platform/window/common/window.d.ts +4 -0
  374. package/vscode/src/vs/platform/window/common/window.js +2 -1
  375. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  376. package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +2 -2
  377. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +27 -20
  378. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +54 -19
  379. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  380. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.d.ts +14 -0
  381. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +38 -0
  382. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -0
  383. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
  384. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +30 -17
  385. package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +2 -0
  386. package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +0 -1
  387. package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -2
  388. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  389. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  390. package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +2 -0
  391. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +15 -4
  392. package/vscode/src/vs/workbench/api/common/extHostLabelService.d.ts +1 -1
  393. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +4 -0
  394. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +31 -6
  395. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -3
  396. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +60 -14
  397. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
  398. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +15 -9
  399. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  400. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +4 -3
  401. package/vscode/src/vs/workbench/api/common/extHostMcp.js +279 -82
  402. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  403. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +3 -0
  404. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.d.ts +2 -1
  405. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +4 -2
  406. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.d.ts +1 -1
  407. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -0
  408. package/vscode/src/vs/workbench/api/common/extHostSCM.js +21 -0
  409. package/vscode/src/vs/workbench/api/common/extHostSearch.js +1 -1
  410. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  411. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  412. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  413. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  414. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  415. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +27 -9
  416. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +201 -29
  417. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +67 -27
  418. package/vscode/src/vs/workbench/api/common/extHostTypes.js +79 -28
  419. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  420. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +7 -4
  421. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +34 -9
  422. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  423. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +1 -0
  424. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -0
  425. package/vscode/src/vs/workbench/browser/actions/developerActions.js +33 -33
  426. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  427. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
  428. package/vscode/src/vs/workbench/common/configuration.js +10 -16
  429. package/vscode/src/vs/workbench/common/contextkeys.d.ts +3 -0
  430. package/vscode/src/vs/workbench/common/contextkeys.js +73 -71
  431. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  432. package/vscode/src/vs/workbench/common/editor.d.ts +13 -9
  433. package/vscode/src/vs/workbench/common/editor.js +4 -4
  434. package/vscode/src/vs/workbench/common/theme.js +160 -160
  435. package/vscode/src/vs/workbench/common/views.js +4 -4
  436. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -147
  437. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  438. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
  439. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
  440. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
  441. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -14
  442. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +245 -0
  443. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +435 -0
  444. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +1 -1
  445. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +6 -9
  446. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +51 -49
  447. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +19 -26
  448. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +16 -23
  449. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
  450. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +2 -2
  451. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +585 -0
  452. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +1179 -0
  453. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +116 -0
  454. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +211 -0
  455. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +19 -6
  456. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +4 -4
  457. package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.service.d.ts +3 -1
  458. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -2
  459. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -7
  460. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  461. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -3
  462. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +12 -4
  463. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +33 -5
  464. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +14 -3
  465. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +18 -3
  466. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
  467. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +4 -0
  468. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +6 -0
  469. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +3 -1
  470. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +3 -0
  471. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +14 -4
  472. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.d.ts +28 -1
  473. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.service.d.ts +10 -4
  474. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +8 -25
  475. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +11 -97
  476. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +0 -3
  477. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  478. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  479. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  480. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  481. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  482. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.d.ts +1 -1
  483. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  484. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  485. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  486. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  487. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  488. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  489. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  490. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  491. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  492. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  493. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -1
  494. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
  495. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +171 -0
  496. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +85 -0
  497. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +2 -3
  498. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.d.ts +10 -0
  499. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +127 -0
  500. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  501. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
  502. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  503. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  504. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  505. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  506. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  507. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  508. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +3 -1
  509. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  510. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  511. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +1 -0
  512. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -8
  513. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +12 -10
  514. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  515. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +2 -2
  516. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +8 -4
  517. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -1
  518. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
  519. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
  520. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
  521. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
  522. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +4 -1
  523. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +11 -3
  524. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +77 -16
  525. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  526. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  527. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  528. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  529. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  530. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  531. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -2
  532. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  533. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  534. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  535. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  536. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +1 -1
  537. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.d.ts +1 -1
  538. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.d.ts +17 -0
  539. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.js +10 -0
  540. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +13 -0
  541. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +6 -0
  542. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.d.ts +2 -0
  543. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +61 -12
  544. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.d.ts +3 -2
  545. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +25 -29
  546. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +4 -1
  547. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +1 -0
  548. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  549. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  550. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
  551. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  552. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
  553. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
  554. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -2
  555. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
  556. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +4 -1
  557. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  558. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +2 -4
  559. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  560. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  561. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.d.ts +1 -0
  562. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +2 -0
  563. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  564. package/vscode/src/vs/workbench/services/output/common/output.js +6 -4
  565. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  566. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  567. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  568. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  569. package/vscode/src/vs/workbench/services/search/common/search.d.ts +2 -1
  570. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +5 -0
  571. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +6 -1
  572. package/vscode/src/vs/workbench/services/search/common/textSearchManager.d.ts +2 -2
  573. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +31 -23
  574. package/vscode/src/vs/workbench/services/textfile/common/encoding.d.ts +64 -0
  575. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +560 -0
  576. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +165 -0
  577. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +74 -0
  578. package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +12 -2
  579. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  580. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  581. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -12
  582. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -1
  583. package/vscode-dts/vscode.d.ts +204 -9
  584. package/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts +30 -0
  585. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +18 -16
  586. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +84 -5
  587. package/vscode-dts/vscode.proposed.chatProvider.d.ts +18 -16
  588. package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +1 -1
  589. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +1 -1
  590. package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +1 -1
  591. package/vscode-dts/vscode.proposed.d.ts +2 -2
  592. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  593. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +46 -8
  594. package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +106 -16
  595. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +2 -0
  596. package/vscode-dts/vscode.proposed.mcpConfigurationProvider.d.ts +115 -21
  597. package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +7 -3
  598. package/vscode-dts/vscode.proposed.textSearchProvider2.d.ts +23 -1
  599. package/vscode-dts/vscode.proposed.toolProgress.d.ts +25 -0
  600. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +1 -1
  601. package/workbench.d.ts +1 -1
  602. package/vscode-dts/vscode.proposed.languageModelToolsForAgent.d.ts +0 -8
  603. package/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts +0 -170
@@ -18,7 +18,7 @@ import { ChatAgentLocation } from '../../contrib/chat/common/constants.js';
18
18
  import { checkProposedApiEnabled, isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
19
19
  import { MainContext } from './extHost.protocol.js';
20
20
  import { ChatResponseWarningPart, ChatResponseReferencePart, ChatTaskResult, ChatTask, ChatResponseProgressPart, ChatResponseAnchorPart as ChatResponseAnchorPart$1, ChatResponsePart, ChatResponseConfirmationPart as ChatResponseConfirmationPart$1, ChatResponseNotebookEditPart as ChatResponseNotebookEditPart$1, ChatResponseTextEditPart as ChatResponseTextEditPart$1, ChatResponseCodeCitationPart as ChatResponseCodeCitationPart$1, ChatResponseCommandButtonPart as ChatResponseCommandButtonPart$1, ChatResponseFilesPart, ChatResponseCodeblockUriPart as ChatResponseCodeblockUriPart$1, ChatResponseMarkdownWithVulnerabilitiesPart as ChatResponseMarkdownWithVulnerabilitiesPart$1, ChatResponseMarkdownPart as ChatResponseMarkdownPart$1, ChatRequestDraft, ChatAgentRequest, ChatLocation, Selection, Range, ChatAgentResult, ChatPromptReference, ChatLanguageModelToolReference, ChatFollowup, ChatAgentUserActionEvent, ChatAgentCompletionItem, MarkdownString as MarkdownString$1 } from './extHostTypeConverters.js';
21
- import { MarkdownString, ChatResponseTextEditPart, ChatResponseNotebookEditPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseWarningPart as ChatResponseWarningPart$1, ChatResponseConfirmationPart, ChatResponseCodeCitationPart, ChatResponseMovePart, ChatResponseProgressPart2, ChatResponseReferencePart as ChatResponseReferencePart$1, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseFileTreePart, ChatResponseCodeblockUriPart, ChatResponseMarkdownPart, ChatRequestEditorData, ChatRequestNotebookData, LanguageModelError, ChatRequestTurn, ChatResponseTurn, ChatResultFeedbackKind, ThemeIcon } from './extHostTypes.js';
21
+ import { MarkdownString, ChatResponseTextEditPart, ChatResponseNotebookEditPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseWarningPart as ChatResponseWarningPart$1, ChatResponseConfirmationPart, ChatResponseCodeCitationPart, ChatResponseMovePart, ChatResponseExtensionsPart, ChatResponseProgressPart2, ChatResponseReferencePart as ChatResponseReferencePart$1, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseFileTreePart, ChatResponseCodeblockUriPart, ChatResponseMarkdownPart, ChatRequestEditorData, ChatRequestNotebookData, LanguageModelError, ChatRequestTurn, ChatResponseTurn, ChatResultFeedbackKind, ThemeIcon } from './extHostTypes.js';
22
22
 
23
23
  class ChatAgentResponseStream {
24
24
  constructor(_extension, _request, _proxy, _commandsConverter, _sessionDisposables) {
@@ -214,6 +214,7 @@ class ChatAgentResponseStream {
214
214
  part instanceof ChatResponseConfirmationPart ||
215
215
  part instanceof ChatResponseCodeCitationPart ||
216
216
  part instanceof ChatResponseMovePart ||
217
+ part instanceof ChatResponseExtensionsPart ||
217
218
  part instanceof ChatResponseProgressPart2) {
218
219
  checkProposedApiEnabled(that._extension, 'chatParticipantAdditions');
219
220
  }
@@ -331,8 +332,7 @@ class ExtHostChatAgents2 extends Disposable {
331
332
  }
332
333
  const { request, location, history } = await this._createRequest(requestDto, context, detector.extension);
333
334
  const model = await this.getModelForRequest(request, detector.extension);
334
- const includeInteractionId = isProposedApiEnabled(detector.extension, 'chatParticipantPrivate');
335
- const extRequest = ChatAgentRequest.to(includeInteractionId ? request : { ...request, requestId: '' }, location, model, this.getDiagnosticsWhenEnabled(detector.extension), this.getToolsForRequest(detector.extension, request));
335
+ const extRequest = ChatAgentRequest.to(request, location, model, this.getDiagnosticsWhenEnabled(detector.extension), this.getToolsForRequest(detector.extension, request), this.getTools2ForRequest(detector.extension, request), detector.extension);
336
336
  return detector.provider.provideParticipantDetection(extRequest, { history }, { participants: options.participants, location: ChatLocation.to(options.location) }, token);
337
337
  }
338
338
  async _createRequest(requestDto, context, extension) {
@@ -398,8 +398,7 @@ class ExtHostChatAgents2 extends Disposable {
398
398
  sessionDisposables
399
399
  ));
400
400
  const model = await this.getModelForRequest(request, agent.extension);
401
- const includeInteractionId = isProposedApiEnabled(agent.extension, 'chatParticipantPrivate');
402
- const extRequest = ChatAgentRequest.to(includeInteractionId ? request : { ...request, requestId: '' }, location, model, this.getDiagnosticsWhenEnabled(agent.extension), this.getToolsForRequest(agent.extension, request));
401
+ const extRequest = ChatAgentRequest.to(request, location, model, this.getDiagnosticsWhenEnabled(agent.extension), this.getToolsForRequest(agent.extension, request), this.getTools2ForRequest(agent.extension, request), agent.extension);
403
402
  inFlightRequest = { requestId: requestDto.requestId, extRequest };
404
403
  this._inFlightRequests.add(inFlightRequest);
405
404
  const task = agent.invoke(extRequest, { history }, stream.apiObject, token);
@@ -448,12 +447,28 @@ class ExtHostChatAgents2 extends Disposable {
448
447
  }
449
448
  return this._diagnostics.getDiagnostics();
450
449
  }
450
+ getTools2ForRequest(extension, request) {
451
+ if (!request.userSelectedTools2) {
452
+ return ( new Map());
453
+ }
454
+ const result = ( new Map());
455
+ for (const tool of this._tools.getTools(extension)) {
456
+ if (typeof request.userSelectedTools2[tool.name] === 'boolean') {
457
+ result.set(tool.name, request.userSelectedTools2[tool.name]);
458
+ }
459
+ }
460
+ return result;
461
+ }
451
462
  getToolsForRequest(extension, request) {
452
463
  if (!isNonEmptyArray(request.userSelectedTools)) {
453
464
  return undefined;
454
465
  }
455
466
  const selector = ( new Set(request.userSelectedTools));
456
- return this._tools.getTools(extension).filter(candidate => ( selector.has(candidate.name)));
467
+ const tools = this._tools.getTools(extension).filter(candidate => ( selector.has(candidate.name)));
468
+ return {
469
+ tools,
470
+ isExclusive: request.toolSelectionIsExclusive,
471
+ };
457
472
  }
458
473
  async prepareHistoryTurns(extension, agentId, context) {
459
474
  const res = [];
@@ -463,14 +478,15 @@ class ExtHostChatAgents2 extends Disposable {
463
478
  ehResult :
464
479
  { ...ehResult, metadata: undefined };
465
480
  const varsWithoutTools = ( h.request.variables.variables
466
- .filter(v => !v.isTool)
481
+ .filter(v => v.kind !== 'tool')
467
482
  .map(
468
483
  v => ChatPromptReference.to(v, this.getDiagnosticsWhenEnabled(extension))
469
484
  ));
470
485
  const toolReferences = ( h.request.variables.variables
471
- .filter(v => v.isTool)
486
+ .filter(v => v.kind === 'tool')
472
487
  .map(ChatLanguageModelToolReference.to));
473
- const turn = new ChatRequestTurn(h.request.message, h.request.command, varsWithoutTools, h.request.agentId, toolReferences);
488
+ const editedFileEvents = isProposedApiEnabled(extension, 'chatParticipantPrivate') ? h.request.editedFileEvents : undefined;
489
+ const turn = new ChatRequestTurn(h.request.message, h.request.command, varsWithoutTools, h.request.agentId, toolReferences, editedFileEvents);
474
490
  res.push(turn);
475
491
  const parts = coalesce(( h.response.map(r => ChatResponsePart.toContent(r, this._commands.converter))));
476
492
  res.push(new ChatResponseTurn(parts, result, h.request.agentId, h.request.command));
@@ -662,10 +678,7 @@ class ExtHostChatAgent {
662
678
  helpTextPostfix: (!this._helpTextPostfix || typeof this._helpTextPostfix === 'string') ? this._helpTextPostfix : MarkdownString$1.from(this._helpTextPostfix),
663
679
  supportIssueReporting: this._supportIssueReporting,
664
680
  requester: this._requester,
665
- welcomeMessageContent: this._welcomeMessageContent && {
666
- ...this._welcomeMessageContent,
667
- message: MarkdownString$1.from(this._welcomeMessageContent.message),
668
- }
681
+ additionalWelcomeMessage: (!this._additionalWelcomeMessage || typeof this._additionalWelcomeMessage === 'string') ? this._additionalWelcomeMessage : MarkdownString$1.from(this._additionalWelcomeMessage),
669
682
  });
670
683
  updateScheduled = false;
671
684
  });
@@ -761,14 +774,14 @@ class ExtHostChatAgent {
761
774
  checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
762
775
  return that._welcomeMessageProvider;
763
776
  },
764
- set welcomeMessageContent(v) {
777
+ set additionalWelcomeMessage(v) {
765
778
  checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
766
- that._welcomeMessageContent = v;
779
+ that._additionalWelcomeMessage = v;
767
780
  updateMetadataSoon();
768
781
  },
769
- get welcomeMessageContent() {
782
+ get additionalWelcomeMessage() {
770
783
  checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
771
- return that._welcomeMessageContent;
784
+ return that._additionalWelcomeMessage;
772
785
  },
773
786
  set titleProvider(v) {
774
787
  checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
@@ -34,6 +34,8 @@ class ExtHostCodeMapper {
34
34
  const request = {
35
35
  location: internalRequest.location,
36
36
  chatRequestId: internalRequest.chatRequestId,
37
+ chatRequestModel: internalRequest.chatRequestModel,
38
+ chatSessionId: internalRequest.chatSessionId,
37
39
  codeBlocks: ( internalRequest.codeBlocks.map(block => {
38
40
  return {
39
41
  code: block.code,
@@ -66,7 +66,6 @@ export declare class ApiCommandArgument<V, O = V> {
66
66
  static readonly Selection: ApiCommandArgument<extHostTypes.Selection, ISelection>;
67
67
  static readonly Number: ApiCommandArgument<number, number>;
68
68
  static readonly String: ApiCommandArgument<string, string>;
69
- static readonly StringArray: ApiCommandArgument<string[], string[]>;
70
69
  static Arr<T, K = T>(element: ApiCommandArgument<T, K>): ApiCommandArgument<T[], K[]>;
71
70
  static readonly CallHierarchyItem: ApiCommandArgument<vscode.CallHierarchyItem, {
72
71
  _sessionId: string;
@@ -22,6 +22,7 @@ import { StopWatch } from '../../../base/common/stopwatch.js';
22
22
  import { TelemetryTrustedValue } from '../../../platform/telemetry/common/telemetryUtils.js';
23
23
  import { IExtHostTelemetry } from './extHostTelemetry.js';
24
24
  import { generateUuid } from '../../../base/common/uuid.js';
25
+ import { isCancellationError } from '../../../base/common/errors.js';
25
26
 
26
27
  let ExtHostCommands = class ExtHostCommands {
27
28
  #proxy;
@@ -197,7 +198,9 @@ let ExtHostCommands = class ExtHostCommands {
197
198
  id = actual.command;
198
199
  }
199
200
  }
200
- this._logService.error(err, id, command.extension?.identifier);
201
+ if (!isCancellationError(err)) {
202
+ this._logService.error(err, id, command.extension?.identifier);
203
+ }
201
204
  if (!annotateError) {
202
205
  throw err;
203
206
  }
@@ -354,7 +357,6 @@ class ApiCommandArgument {
354
357
  )); }
355
358
  static { this.Number = ( new ApiCommandArgument('number', '', v => typeof v === 'number', v => v)); }
356
359
  static { this.String = ( new ApiCommandArgument('string', '', v => typeof v === 'string', v => v)); }
357
- static { this.StringArray = ApiCommandArgument.Arr(ApiCommandArgument.String); }
358
360
  static Arr(element) {
359
361
  return ( new ApiCommandArgument(
360
362
  `${element.name}_array`,
@@ -6,7 +6,7 @@ import { ExtHostDocuments } from "./extHostDocuments.js";
6
6
  import { IExtensionStoragePaths } from "./extHostStoragePaths.js";
7
7
  import { ExtHostWebviews } from "./extHostWebview.js";
8
8
  import { ExtHostWebviewPanels } from "./extHostWebviewPanels.js";
9
- import { EditorGroupColumn } from "@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
9
+ import { EditorGroupColumn } from "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
10
10
  import type * as vscode from "vscode";
11
11
  import * as extHostProtocol from "./extHost.protocol.js";
12
12
  export declare class ExtHostCustomEditors implements extHostProtocol.ExtHostCustomEditorsShape {
@@ -107,7 +107,7 @@ class DiagnosticCollection {
107
107
  marker.push({
108
108
  severity: MarkerSeverity.Info,
109
109
  message: ( localize(
110
- 2537,
110
+ 2555,
111
111
  "Not showing {0} further errors and warnings.",
112
112
  diagnostics.length - this._maxDiagnosticsPerFile
113
113
  )),
@@ -116,9 +116,11 @@ export declare abstract class AbstractExtHostExtensionService extends Disposable
116
116
  $test_up(b: VSBuffer): Promise<number>;
117
117
  $test_down(size: number): Promise<VSBuffer>;
118
118
  $updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise<void>;
119
+ protected _isESM(extensionDescription: IExtensionDescription | undefined, modulePath?: string): boolean;
119
120
  protected abstract _beforeAlmostReadyToRunExtensions(): Promise<void>;
120
121
  protected abstract _getEntryPoint(extensionDescription: IExtensionDescription): string | undefined;
121
122
  protected abstract _loadCommonJSModule<T extends object | undefined>(extensionId: IExtensionDescription | null, module: URI, activationTimesBuilder: ExtensionActivationTimesBuilder): Promise<T>;
123
+ protected abstract _loadESMModule<T>(extension: IExtensionDescription | null, module: URI, activationTimesBuilder: ExtensionActivationTimesBuilder): Promise<T>;
122
124
  abstract $setRemoteEnvironment(env: {
123
125
  [key: string]: string | null;
124
126
  }): Promise<void>;
@@ -304,10 +304,13 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
304
304
  }
305
305
  this._logService.info(`ExtensionService#_doActivateExtension ${extensionDescription.identifier.value}, startup: ${reason.startup}, activationEvent: '${reason.activationEvent}'${extensionDescription.identifier.value !== reason.extensionId.value ? `, root cause: ${reason.extensionId.value}` : ``}`);
306
306
  this._logService.flush();
307
+ const isESM = this._isESM(extensionDescription);
307
308
  const extensionInternalStore = ( new DisposableStore());
308
309
  const activationTimesBuilder = ( new ExtensionActivationTimesBuilder(reason.startup));
309
310
  return Promise.all([
310
- this._loadCommonJSModule(extensionDescription, joinPath(extensionDescription.extensionLocation, entryPoint), activationTimesBuilder),
311
+ isESM
312
+ ? this._loadESMModule(extensionDescription, joinPath(extensionDescription.extensionLocation, entryPoint), activationTimesBuilder)
313
+ : this._loadCommonJSModule(extensionDescription, joinPath(extensionDescription.extensionLocation, entryPoint), activationTimesBuilder),
311
314
  this._loadExtensionContext(extensionDescription, extensionInternalStore)
312
315
  ]).then(values => {
313
316
  mark(`code/extHost/willActivateExtension/${extensionDescription.identifier.value}`);
@@ -538,12 +541,16 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
538
541
  async _doHandleExtensionTests() {
539
542
  const { extensionDevelopmentLocationURI, extensionTestsLocationURI } = this._initData.environment;
540
543
  if (!extensionDevelopmentLocationURI || !extensionTestsLocationURI) {
541
- throw ( new Error(( localize(2538, "Cannot load test runner."))));
544
+ throw ( new Error(( localize(2556, "Cannot load test runner."))));
542
545
  }
543
- const testRunner = await this._loadCommonJSModule(null, extensionTestsLocationURI, ( new ExtensionActivationTimesBuilder(false)));
546
+ const extensionDescription = (await this.getExtensionPathIndex()).findSubstr(extensionTestsLocationURI);
547
+ const isESM = this._isESM(extensionDescription, extensionTestsLocationURI.path);
548
+ const testRunner = await (isESM
549
+ ? this._loadESMModule(null, extensionTestsLocationURI, ( new ExtensionActivationTimesBuilder(false)))
550
+ : this._loadCommonJSModule(null, extensionTestsLocationURI, ( new ExtensionActivationTimesBuilder(false))));
544
551
  if (!testRunner || typeof testRunner.run !== 'function') {
545
552
  throw ( new Error(( localize(
546
- 2539,
553
+ 2557,
547
554
  "Path {0} does not point to a valid extension test runner.",
548
555
  (extensionTestsLocationURI.toString())
549
556
  ))));
@@ -825,6 +832,10 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
825
832
  this._remoteConnectionData = connectionData;
826
833
  this._onDidChangeRemoteConnectionData.fire();
827
834
  }
835
+ _isESM(extensionDescription, modulePath) {
836
+ modulePath ??= extensionDescription?.main;
837
+ return modulePath?.endsWith('.mjs') || (extensionDescription?.type === 'module' && !modulePath?.endsWith('.cjs'));
838
+ }
828
839
  };
829
840
  AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = ( __decorate([
830
841
  ( __param(0, IInstantiationService)),
@@ -1,4 +1,4 @@
1
- import { ResourceLabelFormatter } from "@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common/vscode/vs/platform/label/common/label";
1
+ import { ResourceLabelFormatter } from "@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/label/common/label";
2
2
  import { IDisposable } from "../../../base/common/lifecycle.js";
3
3
  import { ExtHostLabelServiceShape, IMainContext } from "./extHost.protocol.js";
4
4
  export declare class ExtHostLabelService implements ExtHostLabelServiceShape {
@@ -107,6 +107,10 @@ export declare class ExtHostLanguageFeatures implements extHostProtocol.ExtHostL
107
107
  $provideInlineEditsForRange(handle: number, resource: UriComponents, range: IRange, context: languages.InlineCompletionContext, token: CancellationToken): Promise<extHostProtocol.IdentifiableInlineCompletions | undefined>;
108
108
  $handleInlineCompletionDidShow(handle: number, pid: number, idx: number, updatedInsertText: string): void;
109
109
  $handleInlineCompletionPartialAccept(handle: number, pid: number, idx: number, acceptedCharacters: number, info: languages.PartialAcceptInfo): void;
110
+ $handleInlineCompletionEndOfLifetime(handle: number, pid: number, idx: number, reason: languages.InlineCompletionEndOfLifeReason<{
111
+ pid: number;
112
+ idx: number;
113
+ }>): void;
110
114
  $handleInlineCompletionRejection(handle: number, pid: number, idx: number): void;
111
115
  $freeInlineCompletionsList(handle: number, pid: number): void;
112
116
  registerInlineEditProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.InlineEditProvider): vscode.Disposable;
@@ -20,7 +20,7 @@ import { ExtensionIdentifier } from '../../../platform/extensions/common/extensi
20
20
  import { isProposedApiEnabled, checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
21
21
  import { Cache } from './cache.js';
22
22
  import { ISuggestResultDtoField, ISuggestDataDtoField, MainContext } from './extHost.protocol.js';
23
- import { DocumentSymbol as DocumentSymbol$1, Range, SymbolTag, SymbolKind, DefinitionLink, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, MultiDocumentHighlight, location, Selection as Selection$1, CodeActionTriggerKind, WorkspaceEdit, Diagnostic, DataTransfer, DataTransferItem, TextEdit, WorkspaceSymbol, CompletionContext, MarkdownString, CompletionItemTag, CompletionItemKind, IconPath, PartialAcceptInfo, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DocumentSelector } from './extHostTypeConverters.js';
23
+ import { DocumentSymbol as DocumentSymbol$1, Range, SymbolTag, SymbolKind, DefinitionLink, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, MultiDocumentHighlight, location, Selection as Selection$1, CodeActionTriggerKind, WorkspaceEdit, Diagnostic, DataTransfer, DataTransferItem, TextEdit, WorkspaceSymbol, CompletionContext, MarkdownString, CompletionItemTag, CompletionItemKind, IconPath, PartialAcceptInfo, InlineCompletionEndOfLifeReason, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DocumentSelector } from './extHostTypeConverters.js';
24
24
  import { DocumentSymbol, Range as Range$2, CodeActionKind, CodeAction, InternalDataTransferItem, DataTransfer as DataTransfer$1, DocumentDropOrPasteEditKind, NewSymbolNameTriggerKind, SemanticTokens, SemanticTokensEdits, SemanticTokensEdit, CompletionList, SnippetString, InlineCompletionTriggerKind, InlineEditTriggerKind, Location, Disposable, SyntaxTokenType } from './extHostTypes.js';
25
25
 
26
26
  class DocumentSymbolAdapter {
@@ -541,7 +541,7 @@ class DocumentPasteEditProvider {
541
541
  return (edits.map((edit, i) => ({
542
542
  _cacheId: [cacheId, i],
543
543
  title: edit.title ?? ( localize(
544
- 2540,
544
+ 2558,
545
545
  "Paste using '{0}' extension",
546
546
  this._extension.displayName || this._extension.name
547
547
  )),
@@ -1090,7 +1090,8 @@ class InlineCompletionAdapter {
1090
1090
  return isProposedApiEnabled(this._extension, 'inlineCompletionsAdditions')
1091
1091
  && (typeof this._provider.handleDidShowCompletionItem === 'function'
1092
1092
  || typeof this._provider.handleDidPartiallyAcceptCompletionItem === 'function'
1093
- || typeof this._provider.handleDidRejectCompletionItem === 'function');
1093
+ || typeof this._provider.handleDidRejectCompletionItem === 'function'
1094
+ || typeof this._provider.handleEndOfLifetime === 'function');
1094
1095
  }
1095
1096
  async provideInlineCompletions(resource, position, context, token) {
1096
1097
  const doc = this._documents.getDocument(resource);
@@ -1150,6 +1151,10 @@ class InlineCompletionAdapter {
1150
1151
  completeBracketPairs: this._isAdditionsProposedApiEnabled ? item.completeBracketPairs : false,
1151
1152
  isInlineEdit: this._isAdditionsProposedApiEnabled ? item.isInlineEdit : false,
1152
1153
  showInlineEditMenu: this._isAdditionsProposedApiEnabled ? item.showInlineEditMenu : false,
1154
+ displayLocation: (item.displayLocation && this._isAdditionsProposedApiEnabled) ? {
1155
+ range: Range.from(item.displayLocation.range),
1156
+ label: item.displayLocation.label,
1157
+ } : undefined,
1153
1158
  warning: (item.warning && this._isAdditionsProposedApiEnabled) ? {
1154
1159
  message: MarkdownString.from(item.warning.message),
1155
1160
  icon: item.warning.icon ? IconPath.fromThemeIcon(item.warning.icon) : undefined,
@@ -1259,6 +1264,15 @@ class InlineCompletionAdapter {
1259
1264
  }
1260
1265
  }
1261
1266
  }
1267
+ handleEndOfLifetime(pid, idx, reason) {
1268
+ const completionItem = this._references.get(pid)?.items[idx];
1269
+ if (completionItem) {
1270
+ if (this._provider.handleEndOfLifetime && this._isAdditionsProposedApiEnabled) {
1271
+ const r = InlineCompletionEndOfLifeReason.to(reason, ref => this._references.get(ref.pid)?.items[ref.idx]);
1272
+ this._provider.handleEndOfLifetime(completionItem, r);
1273
+ }
1274
+ }
1275
+ }
1262
1276
  handleRejection(pid, idx) {
1263
1277
  const completionItem = this._references.get(pid)?.items[idx];
1264
1278
  if (completionItem) {
@@ -1804,7 +1818,7 @@ class DocumentDropEditAdapter {
1804
1818
  return (editsArray.map((edit, i) => ({
1805
1819
  _cacheId: [cacheId, i],
1806
1820
  title: edit.title ?? ( localize(
1807
- 2541,
1821
+ 2559,
1808
1822
  "Drop using '{0}' extension",
1809
1823
  this._extension.displayName || this._extension.name
1810
1824
  )),
@@ -2179,10 +2193,16 @@ class ExtHostLanguageFeatures {
2179
2193
  this._withAdapter(handle, CompletionsAdapter, adapter => adapter.releaseCompletionItems(id), undefined, undefined);
2180
2194
  }
2181
2195
  registerInlineCompletionsProvider(extension, selector, provider, metadata) {
2196
+ const eventHandle = typeof provider.onDidChange === 'function' && isProposedApiEnabled(extension, 'inlineCompletionsAdditions') ? this._nextHandle() : undefined;
2182
2197
  const adapter = ( new InlineCompletionAdapter(extension, this._documents, provider, this._commands.converter));
2183
2198
  const handle = this._addNewAdapter(adapter, extension);
2184
- this._proxy.$registerInlineCompletionsSupport(handle, this._transformDocumentSelector(selector, extension), adapter.supportsHandleEvents, ExtensionIdentifier.toKey(extension.identifier.value), metadata?.yieldTo?.map(extId => ExtensionIdentifier.toKey(extId)) || [], metadata?.displayName, metadata?.debounceDelayMs);
2185
- return this._createDisposable(handle);
2199
+ let result = this._createDisposable(handle);
2200
+ if (eventHandle !== undefined) {
2201
+ const subscription = provider.onDidChange(_ => this._proxy.$emitInlineCompletionsChange(eventHandle));
2202
+ result = Disposable.from(result, subscription);
2203
+ }
2204
+ this._proxy.$registerInlineCompletionsSupport(handle, this._transformDocumentSelector(selector, extension), adapter.supportsHandleEvents, ExtensionIdentifier.toKey(extension.identifier.value), metadata?.yieldTo?.map(extId => ExtensionIdentifier.toKey(extId)) || [], metadata?.displayName, metadata?.debounceDelayMs, eventHandle);
2205
+ return result;
2186
2206
  }
2187
2207
  $provideInlineCompletions(handle, resource, position, context, token) {
2188
2208
  return this._withAdapter(handle, InlineCompletionAdapter, adapter => adapter.provideInlineCompletions(URI.revive(resource), position, context, token), undefined, token);
@@ -2200,6 +2220,11 @@ class ExtHostLanguageFeatures {
2200
2220
  adapter.handlePartialAccept(pid, idx, acceptedCharacters, info);
2201
2221
  }, undefined, undefined);
2202
2222
  }
2223
+ $handleInlineCompletionEndOfLifetime(handle, pid, idx, reason) {
2224
+ this._withAdapter(handle, InlineCompletionAdapter, async (adapter) => {
2225
+ adapter.handleEndOfLifetime(pid, idx, reason);
2226
+ }, undefined, undefined);
2227
+ }
2203
2228
  $handleInlineCompletionRejection(handle, pid, idx) {
2204
2229
  this._withAdapter(handle, InlineCompletionAdapter, async (adapter) => {
2205
2230
  adapter.handleRejection(pid, idx);
@@ -3,8 +3,8 @@ import { CancellationToken } from "../../../base/common/cancellation.js";
3
3
  import { IDisposable } from "../../../base/common/lifecycle.js";
4
4
  import { IExtensionDescription } from "../../../platform/extensions/common/extensions.js";
5
5
  import { IPreparedToolInvocation, IToolInvocation, IToolResult } from "../../contrib/chat/common/languageModelToolsService.js";
6
+ import { Dto, SerializableObjectWithBuffers } from "../../services/extensions/common/proxyIdentifier.js";
6
7
  import { ExtHostLanguageModelToolsShape, IMainContext, IToolDataDto } from "./extHost.protocol.js";
7
- import { Dto } from "../../services/extensions/common/proxyIdentifier.js";
8
8
  import { ExtHostLanguageModels } from "./extHostLanguageModels.js";
9
9
  export declare class ExtHostLanguageModelTools implements ExtHostLanguageModelToolsShape {
10
10
  private readonly _languageModels;
@@ -12,13 +12,12 @@ export declare class ExtHostLanguageModelTools implements ExtHostLanguageModelTo
12
12
  private readonly _proxy;
13
13
  private readonly _tokenCountFuncs;
14
14
  private readonly _allTools;
15
- private readonly _toolInputProcessors;
16
15
  constructor(mainContext: IMainContext, _languageModels: ExtHostLanguageModels);
17
16
  $countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise<number>;
18
17
  invokeTool(extension: IExtensionDescription, toolId: string, options: vscode.LanguageModelToolInvocationOptions<any>, token?: CancellationToken): Promise<vscode.LanguageModelToolResult>;
19
18
  $onDidChangeTools(tools: IToolDataDto[]): void;
20
19
  getTools(extension: IExtensionDescription): vscode.LanguageModelToolInformation[];
21
- $invokeTool(dto: IToolInvocation, token: CancellationToken): Promise<Dto<IToolResult>>;
20
+ $invokeTool(dto: IToolInvocation, token: CancellationToken): Promise<Dto<IToolResult> | SerializableObjectWithBuffers<Dto<IToolResult>>>;
22
21
  private getModel;
23
22
  $prepareToolInvocation(toolId: string, input: any, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
24
23
  registerTool(extension: IExtensionDescription, id: string, tool: vscode.LanguageModelTool<any>): IDisposable;
@@ -6,26 +6,49 @@ import { toDisposable } from '../../../base/common/lifecycle.js';
6
6
  import { revive } from '../../../base/common/marshalling.js';
7
7
  import { generateUuid } from '../../../base/common/uuid.js';
8
8
  import { isToolInvocationContext } from '../../contrib/chat/common/languageModelToolsService.js';
9
+ import { InternalEditToolId, ExtensionEditToolId } from '../../contrib/chat/common/tools/editFileTool.js';
10
+ import { InternalFetchWebPageToolId } from '../../contrib/chat/common/tools/tools.js';
9
11
  import { isProposedApiEnabled, checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
12
+ import { SerializableObjectWithBuffers } from '../../services/extensions/common/proxyIdentifier.js';
10
13
  import { MainContext } from './extHost.protocol.js';
11
- import { LanguageModelToolResult, LanguageModelToolDescription, MarkdownString } from './extHostTypeConverters.js';
12
- import { InternalFetchWebPageToolId } from '../../contrib/chat/common/tools/tools.js';
13
- import { EditToolData, EditToolInputProcessor, InternalEditToolId, ExtensionEditToolId } from '../../contrib/chat/common/tools/editFileTool.js';
14
+ import { LanguageModelToolResult2, MarkdownString } from './extHostTypeConverters.js';
15
+ import { SearchExtensionsToolId } from '../../contrib/extensions/common/searchExtensionsTool.js';
14
16
 
17
+ class Tool {
18
+ constructor(data) {
19
+ this._data = data;
20
+ }
21
+ update(newData) {
22
+ this._data = newData;
23
+ }
24
+ get data() {
25
+ return this._data;
26
+ }
27
+ get apiObject() {
28
+ if (!this._apiObject) {
29
+ const that = this;
30
+ this._apiObject = ( Object.freeze({
31
+ get name() { return that._data.id; },
32
+ get description() { return that._data.modelDescription; },
33
+ get inputSchema() { return that._data.inputSchema; },
34
+ get tags() { return that._data.tags ?? []; },
35
+ }));
36
+ }
37
+ return this._apiObject;
38
+ }
39
+ }
15
40
  class ExtHostLanguageModelTools {
16
41
  constructor(mainContext, _languageModels) {
17
42
  this._languageModels = _languageModels;
18
43
  this._registeredTools = ( new Map());
19
44
  this._tokenCountFuncs = ( new Map());
20
45
  this._allTools = ( new Map());
21
- this._toolInputProcessors = ( new Map());
22
46
  this._proxy = ( mainContext.getProxy(MainContext.MainThreadLanguageModelTools));
23
47
  this._proxy.$getTools().then(tools => {
24
48
  for (const tool of tools) {
25
- this._allTools.set(tool.id, revive(tool));
49
+ this._allTools.set(tool.id, ( new Tool(revive(tool))));
26
50
  }
27
51
  });
28
- this._toolInputProcessors.set(EditToolData.id, ( new EditToolInputProcessor()));
29
52
  }
30
53
  async $countTokensForInvocation(callId, input, token) {
31
54
  const fn = this._tokenCountFuncs.get(callId);
@@ -46,36 +69,47 @@ class ExtHostLanguageModelTools {
46
69
  if ((toolId === InternalEditToolId || toolId === ExtensionEditToolId) && !isProposedApiEnabled(extension, 'chatParticipantPrivate')) {
47
70
  throw ( new Error(`Invalid tool: ${toolId}`));
48
71
  }
49
- const processedInput = this._toolInputProcessors.get(toolId)?.processInput(options.input) ?? options.input;
50
72
  const result = await this._proxy.$invokeTool({
51
73
  toolId,
52
74
  callId,
53
- parameters: processedInput,
75
+ parameters: options.input,
54
76
  tokenBudget: options.tokenizationOptions?.tokenBudget,
55
77
  context: options.toolInvocationToken,
56
78
  chatRequestId: isProposedApiEnabled(extension, 'chatParticipantPrivate') ? options.chatRequestId : undefined,
57
79
  chatInteractionId: isProposedApiEnabled(extension, 'chatParticipantPrivate') ? options.chatInteractionId : undefined,
58
80
  }, token);
59
- return LanguageModelToolResult.to(revive(result));
81
+ const dto = result instanceof SerializableObjectWithBuffers ? result.value : result;
82
+ return LanguageModelToolResult2.to(revive(dto));
60
83
  }
61
84
  finally {
62
85
  this._tokenCountFuncs.delete(callId);
63
86
  }
64
87
  }
65
88
  $onDidChangeTools(tools) {
66
- this._allTools.clear();
89
+ const oldTools = ( new Set(( this._registeredTools.keys())));
67
90
  for (const tool of tools) {
68
- this._allTools.set(tool.id, tool);
91
+ oldTools.delete(tool.id);
92
+ const existing = this._allTools.get(tool.id);
93
+ if (existing) {
94
+ existing.update(tool);
95
+ }
96
+ else {
97
+ this._allTools.set(tool.id, ( new Tool(revive(tool))));
98
+ }
99
+ }
100
+ for (const id of oldTools) {
101
+ this._allTools.delete(id);
69
102
  }
70
103
  }
71
104
  getTools(extension) {
72
105
  return ( Array.from(( this._allTools.values()))
73
- .map(tool => LanguageModelToolDescription.to(tool)))
106
+ .map(tool => tool.apiObject))
74
107
  .filter(tool => {
75
108
  switch (tool.name) {
76
109
  case InternalEditToolId:
77
110
  case ExtensionEditToolId:
78
111
  case InternalFetchWebPageToolId:
112
+ case SearchExtensionsToolId:
79
113
  return isProposedApiEnabled(extension, 'chatParticipantPrivate');
80
114
  default:
81
115
  return true;
@@ -108,11 +142,23 @@ class ExtHostLanguageModelTools {
108
142
  countTokens: this._tokenCountFuncs.get(dto.callId) || ((value, token = CancellationToken.None) => this._proxy.$countTokensForInvocation(dto.callId, value, token))
109
143
  };
110
144
  }
111
- const extensionResult = await raceCancellation(Promise.resolve(item.tool.invoke(options, token)), token);
145
+ let progress;
146
+ if (isProposedApiEnabled(item.extension, 'toolProgress')) {
147
+ progress = {
148
+ report: value => {
149
+ this._proxy.$acceptToolProgress(dto.callId, {
150
+ message: MarkdownString.fromStrict(value.message),
151
+ increment: value.increment,
152
+ total: 100,
153
+ });
154
+ }
155
+ };
156
+ }
157
+ const extensionResult = await raceCancellation(Promise.resolve(item.tool.invoke(options, token, progress)), token);
112
158
  if (!extensionResult) {
113
159
  throw ( new CancellationError());
114
160
  }
115
- return LanguageModelToolResult.from(extensionResult, item.extension);
161
+ return LanguageModelToolResult2.from(extensionResult, item.extension);
116
162
  }
117
163
  async getModel(modelId, extension) {
118
164
  let model;
@@ -58,7 +58,7 @@ export declare class ExtHostLanguageModels implements ExtHostLanguageModelsShape
58
58
  }[]): void;
59
59
  private readonly _languageAccessInformationExtensions;
60
60
  createLanguageModelAccessInformation(from: Readonly<IExtensionDescription>): vscode.LanguageModelAccessInformation;
61
- fileIsIgnored(extension: IExtensionDescription, uri: vscode.Uri, token: vscode.CancellationToken): Promise<boolean>;
61
+ fileIsIgnored(extension: IExtensionDescription, uri: vscode.Uri, token?: vscode.CancellationToken): Promise<boolean>;
62
62
  $isFileIgnored(handle: number, uri: UriComponents, token: CancellationToken): Promise<boolean>;
63
63
  registerIgnoredFileProvider(extension: IExtensionDescription, provider: vscode.LanguageModelIgnoredFileProvider): vscode.Disposable;
64
64
  }
@@ -18,8 +18,10 @@ import { MainContext } from './extHost.protocol.js';
18
18
  import { IExtHostAuthentication } from './extHostAuthentication.js';
19
19
  import { IExtHostRpcService } from './extHostRpcService.js';
20
20
  import { LanguageModelChatMessage2 } from './extHostTypeConverters.js';
21
- import { LanguageModelTextPart, LanguageModelToolCallPart, LanguageModelError, LanguageModelChatMessageRole } from './extHostTypes.js';
21
+ import { LanguageModelTextPart, LanguageModelToolCallPart, LanguageModelDataPart, LanguageModelError, LanguageModelChatMessageRole } from './extHostTypes.js';
22
22
  import { SerializableObjectWithBuffers } from '../../services/extensions/common/proxyIdentifier.js';
23
+ import { VSBuffer } from '../../../base/common/buffer.js';
24
+ import { DEFAULT_MODEL_PICKER_CATEGORY } from '../../contrib/chat/common/modelPicker/modelPickerWidget.js';
23
25
 
24
26
  var ExtHostLanguageModels_1;
25
27
  const IExtHostLanguageModels = ( createDecorator('IExtHostLanguageModels'));
@@ -80,6 +82,9 @@ class LanguageModelResponse {
80
82
  if (fragment.part.type === 'text') {
81
83
  out = new LanguageModelTextPart(fragment.part.value);
82
84
  }
85
+ else if (fragment.part.type === 'data') {
86
+ out = new LanguageModelTextPart('');
87
+ }
83
88
  else {
84
89
  out = new LanguageModelToolCallPart(fragment.part.toolCallId, fragment.part.name, fragment.part.parameters);
85
90
  }
@@ -135,6 +140,8 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
135
140
  vendor: metadata.vendor ?? ExtensionIdentifier.toKey(extension.identifier),
136
141
  name: metadata.name ?? '',
137
142
  family: metadata.family ?? '',
143
+ cost: metadata.cost,
144
+ description: metadata.description,
138
145
  version: metadata.version,
139
146
  maxInputTokens: metadata.maxInputTokens,
140
147
  maxOutputTokens: metadata.maxOutputTokens,
@@ -142,6 +149,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
142
149
  targetExtensions: metadata.extensions,
143
150
  isDefault: metadata.isDefault,
144
151
  isUserSelectable: metadata.isUserSelectable,
152
+ modelPickerCategory: metadata.category ?? DEFAULT_MODEL_PICKER_CATEGORY,
145
153
  capabilities: metadata.capabilities,
146
154
  });
147
155
  const responseReceivedListener = provider.onDidReceiveLanguageModelResponse2?.(({ extensionId, participant, tokenCount }) => {
@@ -170,6 +178,9 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
170
178
  else if (fragment.part instanceof LanguageModelTextPart) {
171
179
  part = { type: 'text', value: fragment.part.value };
172
180
  }
181
+ else if (fragment.part instanceof LanguageModelDataPart) {
182
+ part = { type: 'data', value: { mimeType: fragment.part.mimeType, data: VSBuffer.wrap(fragment.part.data) } };
183
+ }
173
184
  if (!part) {
174
185
  this._logService.warn(`[CHAT](${data.extension.value}) UNKNOWN part ${JSON.stringify(fragment)}`);
175
186
  return;
@@ -178,12 +189,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
178
189
  }));
179
190
  let value;
180
191
  try {
181
- if (data.provider.provideLanguageModelResponse2) {
182
- value = data.provider.provideLanguageModelResponse2(( messages.value.map(LanguageModelChatMessage2.to)), options, ExtensionIdentifier.toKey(from), progress, token);
183
- }
184
- else {
185
- value = data.provider.provideLanguageModelResponse(( messages.value.map(LanguageModelChatMessage2.to)), options, ExtensionIdentifier.toKey(from), progress, token);
186
- }
192
+ value = data.provider.provideLanguageModelResponse(( messages.value.map(LanguageModelChatMessage2.to)), options, ExtensionIdentifier.toKey(from), progress, token);
187
193
  }
188
194
  catch (err) {
189
195
  throw err;
@@ -344,7 +350,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
344
350
  }
345
351
  try {
346
352
  const detail = justification
347
- ? ( localize(2542, "Justification: {1}", to.displayName, justification))
353
+ ? ( localize(2560, "Justification: {1}", to.displayName, justification))
348
354
  : undefined;
349
355
  await this._extHostAuthentication.getSession(from, providerId, [], { forceNewSession: { detail } });
350
356
  this.$updateModelAccesslist([{ from: from.identifier, to: to.identifier, enabled: true }]);
@@ -435,7 +441,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
435
441
  }
436
442
  };
437
443
  }
438
- fileIsIgnored(extension, uri, token) {
444
+ fileIsIgnored(extension, uri, token = CancellationToken.None) {
439
445
  checkProposedApiEnabled(extension, 'chatParticipantAdditions');
440
446
  return this._proxy.$fileIsIgnored(uri, token);
441
447
  }
@@ -8,7 +8,7 @@ import { IExtHostInitDataService } from './extHostInitDataService.js';
8
8
  let ExtHostLogService = class ExtHostLogService extends LogService {
9
9
  constructor(isWorker, loggerService, initData) {
10
10
  const id = initData.remote.isRemote ? 'remoteexthost' : isWorker ? 'workerexthost' : 'exthost';
11
- const name = initData.remote.isRemote ? ( localize(2543, "Extension Host (Remote)")) : isWorker ? ( localize(2544, "Extension Host (Worker)")) : ( localize(2545, "Extension Host"));
11
+ const name = initData.remote.isRemote ? ( localize(2561, "Extension Host (Remote)")) : isWorker ? ( localize(2562, "Extension Host (Worker)")) : ( localize(2563, "Extension Host"));
12
12
  super(loggerService.createLogger(id, { name }));
13
13
  }
14
14
  };