@codingame/monaco-vscode-api 8.0.4 → 9.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 (705) hide show
  1. package/api.js +9 -10
  2. package/debugProtocol.d.ts +69 -5
  3. package/extensions.d.ts +5 -3
  4. package/extensions.js +1 -1
  5. package/localExtensionHost.js +2 -2
  6. package/missing-services.js +19 -3
  7. package/package.json +9 -8
  8. package/service-override/extensions.d.ts +1 -1
  9. package/service-override/tools/editor.d.ts +4 -4
  10. package/service-override/tools/editor.js +7 -3
  11. package/services.js +2 -2
  12. package/tools.js +1 -1
  13. package/vscode/src/vs/base/browser/browser.js +4 -3
  14. package/vscode/src/vs/base/browser/defaultWorkerFactory.js +83 -13
  15. package/vscode/src/vs/base/browser/dom.js +6 -12
  16. package/vscode/src/vs/base/browser/markdownRenderer.js +57 -68
  17. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  19. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -3
  20. package/vscode/src/vs/base/browser/ui/button/button.js +26 -1
  21. package/vscode/src/vs/base/browser/ui/dialog/dialog.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -7
  23. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  24. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +3 -3
  26. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +2 -2
  27. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
  28. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +7 -0
  29. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -2
  30. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +8 -6
  31. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +2 -2
  32. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +6 -6
  33. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  34. package/vscode/src/vs/base/browser/ui/list/listView.js +2 -2
  35. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  36. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -0
  39. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +1 -1
  40. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -6
  41. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +1 -1
  42. package/vscode/src/vs/base/common/actions.js +1 -1
  43. package/vscode/src/vs/base/common/amd.js +119 -0
  44. package/vscode/src/vs/base/common/async.d.ts +13 -1
  45. package/vscode/src/vs/base/common/date.js +76 -60
  46. package/vscode/src/vs/base/common/errorMessage.js +6 -6
  47. package/vscode/src/vs/base/common/event.d.ts +6 -0
  48. package/vscode/src/vs/base/common/event.js +5 -0
  49. package/vscode/src/vs/base/common/jsonErrorMessages.js +9 -9
  50. package/vscode/src/vs/base/common/keybindingLabels.js +20 -20
  51. package/vscode/src/vs/base/common/network.js +15 -13
  52. package/vscode/src/vs/base/common/performance.js +1 -1
  53. package/vscode/src/vs/base/common/platform.js +3 -1
  54. package/vscode/src/vs/base/common/product.d.ts +0 -1
  55. package/vscode/src/vs/base/common/worker/simpleWorker.js +136 -127
  56. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +18 -66
  57. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +5 -18
  58. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +3 -3
  59. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +5 -5
  60. package/vscode/src/vs/editor/browser/coreCommands.js +3 -3
  61. package/vscode/src/vs/editor/browser/editorExtensions.js +6 -6
  62. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +115 -221
  63. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +2 -2
  64. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +5 -2
  65. package/vscode/src/vs/editor/browser/view/viewLayer.js +20 -20
  66. package/vscode/src/vs/editor/browser/view/viewOverlays.js +5 -6
  67. package/vscode/src/vs/editor/browser/view.js +1 -3
  68. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +10 -14
  69. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +3 -1
  70. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -3
  71. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  72. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +14 -14
  73. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  74. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -1
  75. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +7 -7
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +4 -4
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  82. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +4 -4
  83. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +15 -5
  84. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +1 -1
  85. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +59 -50
  86. package/vscode/src/vs/editor/common/config/editorOptions.js +1 -1
  87. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  88. package/vscode/src/vs/editor/common/cursor/cursor.js +1 -1
  89. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +1 -1
  90. package/vscode/src/vs/editor/common/editorContextKeys.js +47 -47
  91. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  92. package/vscode/src/vs/editor/common/languages.js +29 -28
  93. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  94. package/vscode/src/vs/editor/common/model/textModel.js +8 -39
  95. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +84 -74
  96. package/vscode/src/vs/editor/common/model/tokens.js +82 -0
  97. package/vscode/src/vs/editor/common/model/treeSitterTokens.js +69 -0
  98. package/vscode/src/vs/editor/common/model.d.ts +2 -0
  99. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +39 -241
  100. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +3 -2
  101. package/vscode/src/vs/editor/common/services/editorWorkerBootstrap.js +27 -0
  102. package/vscode/src/vs/editor/common/services/editorWorkerHost.js +10 -0
  103. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  104. package/vscode/src/vs/editor/common/services/languageService.js +10 -37
  105. package/vscode/src/vs/editor/common/services/modelService.js +6 -17
  106. package/vscode/src/vs/editor/common/services/textModelSync/textModelSync.impl.js +323 -0
  107. package/vscode/src/vs/editor/common/services/treeSitterParserService.js +3 -0
  108. package/vscode/src/vs/editor/common/standaloneStrings.js +57 -28
  109. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  110. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  111. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  112. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  113. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  114. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  115. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  116. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +28 -28
  117. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  118. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +14 -6
  119. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  120. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +14 -1
  121. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +41 -29
  122. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  123. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +2 -2
  124. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +1 -1
  125. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +2 -2
  126. package/vscode/src/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js +13 -13
  127. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +7 -7
  128. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +10 -30
  129. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  130. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  131. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  132. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +3 -3
  133. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -15
  134. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  135. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +1 -1
  136. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  137. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  138. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  139. package/vscode/src/vs/editor/contrib/find/browser/findController.js +26 -25
  140. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +27 -27
  141. package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +4 -1
  142. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -3
  143. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  144. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.d.ts +2 -1
  145. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +5 -13
  146. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.d.ts +3 -1
  147. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +2 -2
  148. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  149. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  150. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  151. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  152. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  153. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +1 -1
  154. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  155. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +9 -4
  156. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  157. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +10 -14
  158. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  159. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  160. package/vscode/src/vs/editor/contrib/hover/browser/{hoverController.js → contentHoverController2.js} +26 -84
  161. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  162. package/vscode/src/vs/editor/contrib/hover/browser/{contentHoverController.js → contentHoverWidgetWrapper.js} +20 -5
  163. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +5 -5
  164. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  165. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +37 -37
  166. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +4 -2
  167. package/vscode/src/vs/editor/contrib/hover/browser/hoverUtils.js +12 -0
  168. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverController.js +166 -0
  169. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverWidget.js +24 -4
  170. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  171. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +7 -6
  172. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  173. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  174. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{commands.js → controller/commands.js} +26 -26
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionContextKeys.js → controller/inlineCompletionContextKeys.js} +14 -14
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsController.js → controller/inlineCompletionsController.js} +35 -35
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{hoverParticipant.js → hintsWidget/hoverParticipant.js} +23 -23
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsHintsWidget.css.js → hintsWidget/inlineCompletionsHintsWidget.css.js} +1 -1
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsHintsWidget.js → hintsWidget/inlineCompletionsHintsWidget.js} +38 -38
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +3 -3
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +2 -2
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{ghostText.js → model/ghostText.js} +5 -5
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsModel.js → model/inlineCompletionsModel.js} +27 -27
  185. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsSource.js → model/inlineCompletionsSource.js} +16 -16
  186. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{provideInlineCompletions.js → model/provideInlineCompletions.js} +11 -11
  187. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{singleTextEdit.js → model/singleTextEdit.js} +6 -6
  188. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{suggestWidgetInlineCompletionProvider.js → model/suggestWidgetAdaptor.js} +11 -11
  189. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{ghostText.css.js → view/ghostTextView.css.js} +1 -1
  190. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{ghostTextWidget.js → view/ghostTextView.js} +29 -29
  191. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  192. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +1 -1
  193. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +6 -6
  194. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +2 -2
  195. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +1 -1
  196. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  197. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  198. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  199. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  200. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  201. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  202. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  203. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  204. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +17 -17
  205. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  206. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -5
  207. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  208. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  209. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  210. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -8
  211. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  212. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  213. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  214. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  215. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  216. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +28 -13
  217. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +6 -3
  218. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +16 -16
  219. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  220. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  221. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  222. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  223. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  224. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  225. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  226. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  227. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +64 -0
  228. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +62 -89
  229. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  230. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -3
  231. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +0 -1
  232. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -1
  233. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +24 -3
  234. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterService.js +13 -0
  235. package/vscode/src/vs/nls.js +4 -3
  236. package/vscode/src/vs/nls.messages.js +7 -0
  237. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +49 -49
  238. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  239. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +4 -4
  240. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css.js +1 -1
  241. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  242. package/vscode/src/vs/platform/actions/browser/buttonbar.js +8 -7
  243. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  244. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  245. package/vscode/src/vs/platform/actions/common/actions.d.ts +2 -0
  246. package/vscode/src/vs/platform/actions/common/actions.js +2 -0
  247. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  248. package/vscode/src/vs/platform/actions/common/menuService.js +17 -7
  249. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +45 -5
  250. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +6 -0
  251. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  252. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  253. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  254. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  255. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  256. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  257. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +4 -4
  258. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -2
  259. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  260. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
  261. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  262. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +19 -27
  263. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +16 -10
  264. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  265. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  266. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  267. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  268. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  269. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  270. package/vscode/src/vs/platform/markers/common/markerService.js +0 -1
  271. package/vscode/src/vs/platform/markers/common/markers.js +3 -3
  272. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +1 -1
  273. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +8 -8
  274. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  275. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -8
  276. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +3 -3
  277. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +43 -35
  278. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  279. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +10 -7
  280. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +12 -2
  281. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +10 -1
  282. package/vscode/src/vs/platform/request/common/request.js +14 -14
  283. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +19 -4
  284. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +11 -8
  285. package/vscode/src/vs/platform/terminal/common/terminal.js +9 -5
  286. package/vscode/src/vs/platform/theme/common/colorUtils.js +4 -3
  287. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  288. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  289. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
  290. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +45 -45
  291. package/vscode/src/vs/platform/theme/common/colors/listColors.js +37 -33
  292. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  293. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  294. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +8 -8
  295. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  296. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  297. package/vscode/src/vs/platform/theme/common/iconRegistry.js +5 -5
  298. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  299. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  300. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  301. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  302. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  303. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  304. package/vscode/src/vs/platform/window/common/window.js +16 -1
  305. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  306. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +20 -73
  307. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +98 -52
  308. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  309. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  310. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +4 -4
  311. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +5 -5
  312. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +55 -13
  313. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +6 -6
  314. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  315. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +11 -11
  316. package/vscode/src/vs/workbench/api/common/extHostSearch.js +48 -5
  317. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  318. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  319. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  320. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  321. package/vscode/src/vs/workbench/api/common/extHostTesting.js +22 -9
  322. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  323. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  324. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +147 -48
  325. package/vscode/src/vs/workbench/api/common/extHostTypes.js +17 -10
  326. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +231 -81
  327. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  328. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.esm.js +3 -0
  329. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  330. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +154 -148
  331. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  332. package/vscode/src/vs/workbench/browser/actions/windowActions.js +25 -25
  333. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +21 -21
  334. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  335. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  336. package/vscode/src/vs/workbench/browser/labels.js +2 -2
  337. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +11 -11
  338. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +11 -11
  339. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  340. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  341. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +41 -41
  342. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +11 -11
  343. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
  344. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +6 -6
  345. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +131 -131
  346. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +2 -2
  347. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +16 -16
  348. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +13 -13
  349. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  350. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +9 -9
  351. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
  352. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +74 -72
  353. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +2 -2
  354. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1 -1
  355. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +19 -9
  356. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  357. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  358. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  359. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  360. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +15 -15
  361. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsCenter.css.js +1 -1
  362. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsList.css.js +1 -1
  363. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsToasts.css.js +1 -1
  364. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +17 -17
  365. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  366. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +6 -6
  367. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +9 -9
  368. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
  369. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
  370. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +2 -2
  371. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
  372. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +34 -34
  373. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +18 -18
  374. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
  375. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  376. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -7
  377. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +1 -1
  378. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +4 -4
  379. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +9 -6
  380. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  381. package/vscode/src/vs/workbench/browser/window.js +24 -17
  382. package/vscode/src/vs/workbench/browser/workbench.contribution.js +217 -217
  383. package/vscode/src/vs/workbench/common/configuration.js +10 -10
  384. package/vscode/src/vs/workbench/common/contextkeys.js +70 -70
  385. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  386. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  387. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  388. package/vscode/src/vs/workbench/common/theme.js +156 -156
  389. package/vscode/src/vs/workbench/common/views.js +5 -5
  390. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +178 -137
  391. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +13 -13
  392. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +6 -0
  393. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +88 -61
  394. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +4 -4
  395. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  396. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +289 -0
  397. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +11 -11
  399. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +2 -2
  400. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +8 -8
  401. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +1 -1
  402. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +1 -1
  403. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +3 -2
  404. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +15 -9
  405. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +31 -74
  406. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.service.js +3 -0
  407. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +1 -1
  408. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatConfirmationWidget.css.js +1 -1
  409. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -2
  410. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +5 -12
  411. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +73 -60
  412. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +139 -50
  413. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +36 -19
  414. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +26 -3
  415. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +39 -31
  416. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +50 -37
  418. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +7 -20
  419. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  420. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +62 -1
  421. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +6 -6
  422. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +36 -17
  423. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +105 -40
  424. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +35 -2
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +12 -5
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +13 -1
  427. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +17 -21
  428. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +17 -1
  429. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +3 -0
  430. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
  431. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +15 -15
  432. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +10 -10
  433. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +6 -6
  434. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  435. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  436. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  437. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
  438. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  439. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  440. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -6
  441. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +33 -1
  442. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +13 -34
  443. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  444. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  445. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  446. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  447. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  448. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  449. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +5 -5
  450. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +3 -3
  451. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +4 -4
  452. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  453. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +18 -4
  454. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +15 -4
  455. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +0 -8
  456. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +10 -10
  457. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -6
  458. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +13 -6
  459. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +17 -13
  460. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +64 -30
  461. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +85 -11
  462. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  463. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +6 -4
  464. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +9 -9
  465. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +30 -0
  466. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  467. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +15 -9
  468. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +65 -60
  469. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +21 -16
  470. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -74
  471. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  472. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  473. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +45 -41
  474. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  475. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +4 -4
  476. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +260 -0
  477. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  478. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  479. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +18 -11
  480. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  481. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +3 -0
  482. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  483. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +2 -2
  484. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  485. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +24 -24
  486. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  487. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  488. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  489. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  490. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +4 -4
  491. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  492. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  493. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +20 -20
  494. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  495. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +85 -85
  496. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +8 -8
  497. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  498. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +33 -33
  499. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +52 -87
  500. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  501. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  502. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  503. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  504. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +18 -14
  505. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  506. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  507. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  508. package/vscode/src/vs/workbench/contrib/files/common/files.d.ts +1 -0
  509. package/vscode/src/vs/workbench/contrib/files/common/files.js +14 -14
  510. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  511. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  512. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  513. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  514. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  515. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +73 -93
  516. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +11 -18
  517. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +234 -112
  518. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +53 -138
  519. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +33 -38
  520. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +249 -117
  521. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +85 -44
  522. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +93 -41
  523. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  524. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  525. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +63 -45
  526. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -0
  527. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +27 -0
  528. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +54 -0
  529. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +95 -25
  530. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +1 -1
  531. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +29 -29
  532. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  533. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +269 -0
  534. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.js +40 -0
  535. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  536. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  537. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +58 -6
  538. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +2 -1
  539. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  540. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +6 -6
  541. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  542. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +3 -3
  543. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +12 -5
  544. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +3 -3
  545. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +5 -5
  546. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +2 -2
  547. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  548. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  549. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +49 -0
  550. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1515 -0
  551. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +266 -0
  552. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +630 -0
  553. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +113 -0
  554. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +37 -0
  555. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css.js +4 -0
  556. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +729 -0
  557. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +28 -0
  558. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +445 -0
  559. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +184 -0
  560. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +454 -0
  561. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +256 -0
  562. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +45 -0
  563. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  564. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  565. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -3
  566. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +9 -9
  567. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +62 -43
  568. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  569. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +4 -4
  570. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +29 -7
  571. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +13 -12
  572. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +53 -14
  573. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  574. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  575. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  576. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  578. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellEditorPool.js +114 -0
  579. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +0 -1
  580. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +1 -1
  581. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  582. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +16 -9
  583. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +32 -2
  584. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +2 -2
  585. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +14 -5
  586. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookHorizontalTracker.js +47 -0
  587. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +35 -30
  588. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  589. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +4 -0
  590. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +2 -3
  591. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +105 -0
  592. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +9 -3
  593. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +11 -18
  594. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  595. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +12 -12
  596. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +18 -17
  597. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +54 -49
  598. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  599. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  600. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  601. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +60 -60
  602. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +2 -2
  603. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +23 -23
  604. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +2 -1
  605. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +10 -10
  606. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +4 -5
  607. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  608. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +10 -10
  609. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +14 -33
  610. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  611. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +1 -1
  612. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +2 -2
  613. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  614. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  615. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  616. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  617. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  618. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +5 -5
  619. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +3 -3
  620. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +18 -1
  621. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +4 -4
  622. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +32 -32
  623. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +3 -0
  624. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +7 -7
  625. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  626. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +16 -16
  627. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +28 -28
  628. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  629. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +8 -4
  630. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +2 -1
  631. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  632. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  633. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  634. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  635. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  636. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  637. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +7 -7
  638. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +2 -1
  639. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  640. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  641. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +15 -15
  642. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +6 -8
  643. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +10 -3
  644. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  645. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
  646. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  647. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -2
  648. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +1 -0
  649. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +5 -0
  650. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +83 -83
  651. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  652. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  653. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +3 -3
  654. package/vscode/src/vs/workbench/services/output/common/output.js +1 -2
  655. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  656. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  657. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +2 -2
  658. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  659. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +5 -5
  660. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +62 -30
  661. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +42 -12
  662. package/vscode/src/vs/workbench/services/search/common/search.js +69 -34
  663. package/vscode/src/vs/workbench/services/search/common/searchExtConversionTypes.js +144 -0
  664. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +9 -29
  665. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +7 -7
  666. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +77 -93
  667. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  668. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +7 -4
  669. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  670. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  671. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +8 -9
  672. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  673. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +11 -11
  674. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +7 -7
  675. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +20 -17
  676. package/vscode-dts/vscode.proposed.aiTextSearchProviderNew.d.ts +1 -85
  677. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +42 -13
  678. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +5 -0
  679. package/vscode-dts/vscode.proposed.chatProvider.d.ts +1 -1
  680. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -17
  681. package/vscode-dts/vscode.proposed.contribChatParticipantDetection.d.ts +6 -0
  682. package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +6 -0
  683. package/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts +7 -0
  684. package/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts +8 -0
  685. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +6 -3
  686. package/vscode-dts/vscode.proposed.extensionsAny.d.ts +1 -0
  687. package/vscode-dts/vscode.proposed.fileSearchProviderNew.d.ts +7 -6
  688. package/vscode-dts/vscode.proposed.findFiles2New.d.ts +36 -11
  689. package/vscode-dts/vscode.proposed.findTextInFilesNew.d.ts +51 -30
  690. package/vscode-dts/vscode.proposed.interactive.d.ts +0 -2
  691. package/vscode-dts/vscode.proposed.lmTools.d.ts +119 -20
  692. package/vscode-dts/vscode.proposed.notebookReplDocument.d.ts +20 -0
  693. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +1 -0
  694. package/vscode-dts/vscode.proposed.testObserver.d.ts +6 -0
  695. package/vscode-dts/vscode.proposed.textSearchCompleteNew.d.ts +1 -9
  696. package/vscode-dts/vscode.proposed.textSearchProviderNew.d.ts +58 -17
  697. package/workers/editor.worker.js +1 -1
  698. package/workers/extensionHost.worker.js +1 -3
  699. package/external/vscode-marked/lib/marked.esm.js +0 -2199
  700. package/vscode/src/vs/editor/browser/services/webWorker.js +0 -57
  701. package/vscode/src/vs/editor/editor.worker.js +0 -21
  702. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +0 -70
  703. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +0 -338
  704. package/vscode-dts/vscode.proposed.testMessageStackTrace.d.ts +0 -38
  705. /package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{commandIds.js → controller/commandIds.js} +0 -0
@@ -3,15 +3,15 @@ import { raceCancellation } from '../../../base/common/async.js';
3
3
  import { toErrorMessage } from '../../../base/common/errorMessage.js';
4
4
  import { Emitter } from '../../../base/common/event.js';
5
5
  import { Iterable } from '../../../base/common/iterator.js';
6
- import { Disposable, DisposableMap, DisposableStore } from '../../../base/common/lifecycle.js';
6
+ import { Disposable, DisposableMap, toDisposable, DisposableStore } from '../../../base/common/lifecycle.js';
7
7
  import { revive } from '../../../base/common/marshalling.js';
8
8
  import { StopWatch } from '../../../base/common/stopwatch.js';
9
9
  import { assertType } from '../../../base/common/types.js';
10
10
  import { URI } from '../../../base/common/uri.js';
11
11
  import { ExtensionIdentifier } from '../../../platform/extensions/common/extensions.js';
12
12
  import { MainContext } from './extHost.protocol.js';
13
- import { Selection, Range, ChatAgentRequest, ChatAgentResult, ChatFollowup, ChatAgentUserActionEvent, ChatAgentCompletionItem, ChatLocation, ChatAgentValueReference, ChatResponsePart, MarkdownString, ChatResponseMarkdownPart as ChatResponseMarkdownPart$1, ChatResponseMarkdownWithVulnerabilitiesPart as ChatResponseMarkdownWithVulnerabilitiesPart$1, ChatResponseFilesPart, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatTask, ChatResponseProgressPart, ChatResponseWarningPart as ChatResponseWarningPart$1, ChatResponseReferencePart, ChatResponseCodeCitationPart, ChatResponseTextEditPart, ChatResponseDetectedParticipantPart, ChatResponseConfirmationPart, ChatTaskResult } from './extHostTypeConverters.js';
14
- import { ChatRequestEditorData, ChatRequestNotebookData, LanguageModelError, ChatRequestTurn, ChatResponseTurn, ChatResultFeedbackKind, ChatResponseMarkdownPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseWarningPart, ChatResponseTextEditPart as ChatResponseTextEditPart$1, ChatResponseDetectedParticipantPart as ChatResponseDetectedParticipantPart$1, ChatResponseConfirmationPart as ChatResponseConfirmationPart$1, ChatResponseCodeCitationPart as ChatResponseCodeCitationPart$1, ChatResponseReferencePart as ChatResponseReferencePart$1, ThemeIcon, ChatResponseFileTreePart, ChatResponseAnchorPart as ChatResponseAnchorPart$1, ChatResponseCommandButtonPart as ChatResponseCommandButtonPart$1, ChatResponseProgressPart2, MarkdownString as MarkdownString$1 } from './extHostTypes.js';
13
+ import { ChatAgentRequest, ChatLocation, Selection, Range, ChatAgentResult, ChatFollowup, ChatAgentUserActionEvent, ChatAgentCompletionItem, ChatResponseMarkdownPart as ChatResponseMarkdownPart$1, ChatResponseMarkdownWithVulnerabilitiesPart as ChatResponseMarkdownWithVulnerabilitiesPart$1, ChatResponseFilesPart, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatTask, ChatResponseProgressPart, ChatResponseWarningPart as ChatResponseWarningPart$1, ChatResponseReferencePart, ChatResponseCodeCitationPart, ChatResponseTextEditPart, ChatResponseDetectedParticipantPart, ChatResponseConfirmationPart, ChatResponsePart, ChatLanguageModelToolReference, MarkdownString, ChatTaskResult, ChatPromptReference } from './extHostTypeConverters.js';
14
+ import { ChatRequestEditorData, LanguageModelError, ChatResponseTurn, ChatResponseMarkdownPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseWarningPart, ChatResponseTextEditPart as ChatResponseTextEditPart$1, ChatResponseDetectedParticipantPart as ChatResponseDetectedParticipantPart$1, ChatResponseConfirmationPart as ChatResponseConfirmationPart$1, ChatResponseCodeCitationPart as ChatResponseCodeCitationPart$1, ChatResponseMovePart, ChatResponseReferencePart as ChatResponseReferencePart$1, ChatRequestNotebookData, ChatRequestTurn, ChatResultFeedbackKind, ChatResponseFileTreePart, ChatResponseAnchorPart as ChatResponseAnchorPart$1, ChatResponseCommandButtonPart as ChatResponseCommandButtonPart$1, ChatResponseProgressPart2, ThemeIcon, MarkdownString as MarkdownString$1 } from './extHostTypes.js';
15
15
  import { ChatAgentLocation } from '../../contrib/chat/common/chatAgents.js';
16
16
  import { ChatAgentVoteDirection } from '../../contrib/chat/common/chatService.js';
17
17
  import { checkProposedApiEnabled, isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
@@ -46,7 +46,7 @@ class ChatAgentResponseStream {
46
46
  }
47
47
  }
48
48
  const _report = (progress, task) => {
49
- if (typeof this._firstProgress === 'undefined' && 'content' in progress) {
49
+ if (typeof this._firstProgress === 'undefined' && (progress.kind === 'markdownContent' || progress.kind === 'markdownVuln')) {
50
50
  this._firstProgress = this._stopWatch.elapsed();
51
51
  }
52
52
  if (task) {
@@ -66,7 +66,7 @@ class ChatAgentResponseStream {
66
66
  }
67
67
  };
68
68
  Promise.all([progressReporterPromise, task?.(progressReporter)]).then(([handle, res]) => {
69
- if (handle !== undefined && res !== undefined) {
69
+ if (handle !== undefined) {
70
70
  this._proxy.$handleProgressChunk(this._request.requestId, ChatTaskResult.from(res), handle);
71
71
  }
72
72
  });
@@ -134,10 +134,10 @@ class ChatAgentResponseStream {
134
134
  },
135
135
  reference2(value, iconPath, options) {
136
136
  throwIfDone(this.reference);
137
- if ('variableName' in value) {
137
+ if (typeof value === 'object' && 'variableName' in value) {
138
138
  checkProposedApiEnabled(that._extension, 'chatParticipantAdditions');
139
139
  }
140
- if ('variableName' in value && !value.value) {
140
+ if (typeof value === 'object' && 'variableName' in value && !value.value) {
141
141
  const matchingVarData = that._request.variables.variables.find(v => v.name === value.variableName);
142
142
  if (matchingVarData) {
143
143
  let references;
@@ -201,7 +201,8 @@ class ChatAgentResponseStream {
201
201
  part instanceof ChatResponseDetectedParticipantPart$1 ||
202
202
  part instanceof ChatResponseWarningPart ||
203
203
  part instanceof ChatResponseConfirmationPart$1 ||
204
- part instanceof ChatResponseCodeCitationPart$1) {
204
+ part instanceof ChatResponseCodeCitationPart$1 ||
205
+ part instanceof ChatResponseMovePart) {
205
206
  checkProposedApiEnabled(that._extension, 'chatParticipantAdditions');
206
207
  }
207
208
  if (part instanceof ChatResponseReferencePart$1) {
@@ -220,12 +221,14 @@ class ChatAgentResponseStream {
220
221
  }
221
222
  class ExtHostChatAgents2 extends Disposable {
222
223
  static { this._idPool = 0; }
224
+ static { this._participantDetectionProviderIdPool = 0; }
223
225
  constructor(mainContext, _logService, _commands, _documents) {
224
226
  super();
225
227
  this._logService = _logService;
226
228
  this._commands = _commands;
227
229
  this._documents = _documents;
228
230
  this._agents = ( new Map());
231
+ this._participantDetectionProviders = ( new Map());
229
232
  this._sessionDisposables = this._register(( new DisposableMap()));
230
233
  this._completionDisposables = this._register(( new DisposableMap()));
231
234
  this._proxy = ( mainContext.getProxy(MainContext.MainThreadChatAgents2));
@@ -247,6 +250,38 @@ class ExtHostChatAgents2 extends Disposable {
247
250
  this._proxy.$registerAgent(handle, extension.identifier, id, { isSticky: true }, dynamicProps);
248
251
  return agent.apiAgent;
249
252
  }
253
+ registerChatParticipantDetectionProvider(provider) {
254
+ const handle = ExtHostChatAgents2._participantDetectionProviderIdPool++;
255
+ this._participantDetectionProviders.set(handle, provider);
256
+ this._proxy.$registerChatParticipantDetectionProvider(handle);
257
+ return toDisposable(() => {
258
+ this._participantDetectionProviders.delete(handle);
259
+ this._proxy.$unregisterChatParticipantDetectionProvider(handle);
260
+ });
261
+ }
262
+ async $detectChatParticipant(handle, requestDto, context, options, token) {
263
+ const { request, location, history } = await this._createRequest(requestDto, context);
264
+ const provider = this._participantDetectionProviders.get(handle);
265
+ if (!provider) {
266
+ return undefined;
267
+ }
268
+ return provider.provideParticipantDetection(ChatAgentRequest.to(request, location), { history }, { participants: options.participants, location: ChatLocation.to(options.location) }, token);
269
+ }
270
+ async _createRequest(requestDto, context) {
271
+ const request = revive(requestDto);
272
+ const convertedHistory = await this.prepareHistoryTurns(request.agentId, context);
273
+ let location;
274
+ if (request.locationData?.type === ChatAgentLocation.Editor) {
275
+ const document = this._documents.getDocument(request.locationData.document);
276
+ location = new ChatRequestEditorData(document, Selection.to(request.locationData.selection), Range.to(request.locationData.wholeRange));
277
+ }
278
+ else if (request.locationData?.type === ChatAgentLocation.Notebook) {
279
+ const cell = this._documents.getDocument(request.locationData.sessionInputUri);
280
+ location = new ChatRequestNotebookData(cell);
281
+ }
282
+ else ;
283
+ return { request, location, history: convertedHistory };
284
+ }
250
285
  async $invokeAgent(handle, requestDto, context, token) {
251
286
  const agent = this._agents.get(handle);
252
287
  if (!agent) {
@@ -254,33 +289,22 @@ class ExtHostChatAgents2 extends Disposable {
254
289
  `[CHAT](${handle}) CANNOT invoke agent because the agent is not registered`
255
290
  ));
256
291
  }
257
- const request = revive(requestDto);
258
- let sessionDisposables = this._sessionDisposables.get(request.sessionId);
259
- if (!sessionDisposables) {
260
- sessionDisposables = ( new DisposableStore());
261
- this._sessionDisposables.set(request.sessionId, sessionDisposables);
262
- }
263
- const stream = ( new ChatAgentResponseStream(
264
- agent.extension,
265
- request,
266
- this._proxy,
267
- this._commands.converter,
268
- sessionDisposables
269
- ));
292
+ let stream;
270
293
  try {
271
- const convertedHistory = await this.prepareHistoryTurns(request.agentId, context);
272
- let location2;
273
- if (request.locationData?.type === ChatAgentLocation.Editor) {
274
- const document = this._documents.getDocument(request.locationData.document);
275
- location2 = new ChatRequestEditorData(document, Selection.to(request.locationData.selection), Range.to(request.locationData.wholeRange));
276
- }
277
- else if (request.locationData?.type === ChatAgentLocation.Notebook) {
278
- const cell = this._documents.getDocument(request.locationData.sessionInputUri);
279
- location2 = new ChatRequestNotebookData(cell);
280
- }
281
- else if (request.locationData?.type === ChatAgentLocation.Terminal) {
294
+ const { request, location, history } = await this._createRequest(requestDto, context);
295
+ let sessionDisposables = this._sessionDisposables.get(request.sessionId);
296
+ if (!sessionDisposables) {
297
+ sessionDisposables = ( new DisposableStore());
298
+ this._sessionDisposables.set(request.sessionId, sessionDisposables);
282
299
  }
283
- const task = agent.invoke(ChatAgentRequest.to(request, location2), { history: convertedHistory }, stream.apiObject, token);
300
+ stream = ( new ChatAgentResponseStream(
301
+ agent.extension,
302
+ request,
303
+ this._proxy,
304
+ this._commands.converter,
305
+ sessionDisposables
306
+ ));
307
+ const task = agent.invoke(ChatAgentRequest.to(request, location), { history }, stream.apiObject, token);
284
308
  return await raceCancellation(Promise.resolve(task).then((result) => {
285
309
  if (result?.metadata) {
286
310
  try {
@@ -289,7 +313,7 @@ class ExtHostChatAgents2 extends Disposable {
289
313
  catch (err) {
290
314
  const msg = `result.metadata MUST be JSON.stringify-able. Got error: ${err.message}`;
291
315
  this._logService.error(`[${agent.extension.identifier.value}] [@${agent.id}] ${msg}`, agent.extension);
292
- return { errorDetails: { message: msg }, timings: stream.timings };
316
+ return { errorDetails: { message: msg }, timings: stream?.timings, nextQuestion: result.nextQuestion };
293
317
  }
294
318
  }
295
319
  let errorDetails;
@@ -302,7 +326,7 @@ class ExtHostChatAgents2 extends Disposable {
302
326
  if (errorDetails?.responseIsRedacted) {
303
327
  checkProposedApiEnabled(agent.extension, 'chatParticipantPrivate');
304
328
  }
305
- return { errorDetails, timings: stream.timings, metadata: result?.metadata };
329
+ return { errorDetails, timings: stream?.timings, metadata: result?.metadata, nextQuestion: result?.nextQuestion };
306
330
  }), token);
307
331
  }
308
332
  catch (e) {
@@ -313,7 +337,7 @@ class ExtHostChatAgents2 extends Disposable {
313
337
  return { errorDetails: { message: toErrorMessage(e), responseIsIncomplete: true } };
314
338
  }
315
339
  finally {
316
- stream.close();
340
+ stream?.close();
317
341
  }
318
342
  }
319
343
  async prepareHistoryTurns(agentId, context) {
@@ -325,8 +349,13 @@ class ExtHostChatAgents2 extends Disposable {
325
349
  { ...ehResult, metadata: undefined };
326
350
  const varsWithoutTools = ( h.request.variables.variables
327
351
  .filter(v => !v.isTool)
328
- .map(ChatAgentValueReference.to));
329
- res.push(new ChatRequestTurn(h.request.message, h.request.command, varsWithoutTools, h.request.agentId));
352
+ .map(ChatPromptReference.to));
353
+ const toolReferences = ( h.request.variables.variables
354
+ .filter(v => v.isTool)
355
+ .map(ChatLanguageModelToolReference.to));
356
+ const turn = new ChatRequestTurn(h.request.message, h.request.command, varsWithoutTools, h.request.agentId);
357
+ turn.toolReferences = toolReferences;
358
+ res.push(turn);
330
359
  const parts = coalesce(( h.response.map(r => ChatResponsePart.toContent(r, this._commands.converter))));
331
360
  res.push(new ChatResponseTurn(parts, result, h.request.agentId, h.request.command));
332
361
  }
@@ -353,14 +382,14 @@ class ExtHostChatAgents2 extends Disposable {
353
382
  })
354
383
  .map(f => ChatFollowup.from(f, request)));
355
384
  }
356
- $acceptFeedback(handle, result, vote, reportIssue) {
385
+ $acceptFeedback(handle, result, voteAction) {
357
386
  const agent = this._agents.get(handle);
358
387
  if (!agent) {
359
388
  return;
360
389
  }
361
390
  const ehResult = ChatAgentResult.to(result);
362
391
  let kind;
363
- switch (vote) {
392
+ switch (voteAction.direction) {
364
393
  case ChatAgentVoteDirection.Down:
365
394
  kind = ChatResultFeedbackKind.Unhelpful;
366
395
  break;
@@ -368,9 +397,12 @@ class ExtHostChatAgents2 extends Disposable {
368
397
  kind = ChatResultFeedbackKind.Helpful;
369
398
  break;
370
399
  }
371
- agent.acceptFeedback(reportIssue ?
372
- ( Object.freeze({ result: ehResult, kind, reportIssue })) :
373
- ( Object.freeze({ result: ehResult, kind })));
400
+ const feedback = {
401
+ result: ehResult,
402
+ kind,
403
+ unhelpfulReason: isProposedApiEnabled(agent.extension, 'chatParticipantAdditions') ? voteAction.reason : undefined,
404
+ };
405
+ agent.acceptFeedback(( Object.freeze(feedback)));
374
406
  }
375
407
  $acceptAction(handle, result, event) {
376
408
  const agent = this._agents.get(handle);
@@ -410,6 +442,14 @@ class ExtHostChatAgents2 extends Disposable {
410
442
  }
411
443
  return await agent.provideWelcomeMessage(ChatLocation.to(location), token);
412
444
  }
445
+ async $provideChatTitle(handle, context, token) {
446
+ const agent = this._agents.get(handle);
447
+ if (!agent) {
448
+ return;
449
+ }
450
+ const history = await this.prepareHistoryTurns(agent.id, { history: context });
451
+ return await agent.provideTitle({ history }, token);
452
+ }
413
453
  async $provideSampleQuestions(handle, location, token) {
414
454
  const agent = this._agents.get(handle);
415
455
  if (!agent) {
@@ -470,6 +510,12 @@ class ExtHostChatAgent {
470
510
  }
471
511
  }));
472
512
  }
513
+ async provideTitle(context, token) {
514
+ if (!this._titleProvider) {
515
+ return;
516
+ }
517
+ return (await this._titleProvider.provideChatTitle(context, token)) ?? undefined;
518
+ }
473
519
  async provideSampleQuestions(location, token) {
474
520
  if (!this._welcomeMessageProvider || !this._welcomeMessageProvider.provideSampleQuestions) {
475
521
  return [];
@@ -539,15 +585,6 @@ class ExtHostChatAgent {
539
585
  that._followupProvider = v;
540
586
  updateMetadataSoon();
541
587
  },
542
- get isDefault() {
543
- checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
544
- return that._isDefault;
545
- },
546
- set isDefault(v) {
547
- checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
548
- that._isDefault = v;
549
- updateMetadataSoon();
550
- },
551
588
  get helpTextPrefix() {
552
589
  checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
553
590
  return that._helpTextPrefix;
@@ -622,6 +659,15 @@ class ExtHostChatAgent {
622
659
  checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
623
660
  return that._welcomeMessageProvider;
624
661
  },
662
+ set titleProvider(v) {
663
+ checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
664
+ that._titleProvider = v;
665
+ updateMetadataSoon();
666
+ },
667
+ get titleProvider() {
668
+ checkProposedApiEnabled(that.extension, 'defaultChatParticipant');
669
+ return that._titleProvider;
670
+ },
625
671
  onDidPerformAction: !isProposedApiEnabled(this.extension, 'chatParticipantAdditions')
626
672
  ? undefined
627
673
  : this._onDidPerformAction.event,
@@ -460,7 +460,7 @@ function createExtHostComments(mainContext, commands, documents) {
460
460
  }
461
461
  get activeCommentThread() {
462
462
  checkProposedApiEnabled(this._extension, 'activeComment');
463
- return this._activeThread;
463
+ return this._activeThread?.value;
464
464
  }
465
465
  constructor(_extension, _handle, _id, _label) {
466
466
  this._extension = _extension;
@@ -105,7 +105,7 @@ class DiagnosticCollection {
105
105
  marker.push({
106
106
  severity: MarkerSeverity.Info,
107
107
  message: ( localize(
108
- 4582,
108
+ 4884,
109
109
  "Not showing {0} further errors and warnings.",
110
110
  diagnostics.length - this._maxDiagnosticsPerFile
111
111
  )),
@@ -316,7 +316,7 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
316
316
  });
317
317
  }
318
318
  _loadExtensionContext(extensionDescription, extensionInternalStore) {
319
- const lanuageModelAccessInformation = this._extHostLanguageModels.createLanguageModelAccessInformation(extensionDescription);
319
+ const languageModelAccessInformation = this._extHostLanguageModels.createLanguageModelAccessInformation(extensionDescription);
320
320
  const globalState = extensionInternalStore.add(( new ExtensionGlobalMemento(extensionDescription, this._storage)));
321
321
  const workspaceState = extensionInternalStore.add(( new ExtensionMemento(extensionDescription.identifier.value, false, this._storage)));
322
322
  const secrets = extensionInternalStore.add(( new ExtensionSecrets(extensionDescription, this._secretState)));
@@ -341,7 +341,7 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
341
341
  workspaceState,
342
342
  secrets,
343
343
  subscriptions: [],
344
- get languageModelAccessInformation() { return lanuageModelAccessInformation; },
344
+ get languageModelAccessInformation() { return languageModelAccessInformation; },
345
345
  get extensionUri() { return extensionDescription.extensionLocation; },
346
346
  get extensionPath() { return extensionDescription.extensionLocation.fsPath; },
347
347
  asAbsolutePath(relativePath) { return join(extensionDescription.extensionLocation.fsPath, relativePath); },
@@ -536,12 +536,12 @@ let AbstractExtHostExtensionService = AbstractExtHostExtensionService_1 = class
536
536
  async _doHandleExtensionTests() {
537
537
  const { extensionDevelopmentLocationURI, extensionTestsLocationURI } = this._initData.environment;
538
538
  if (!extensionDevelopmentLocationURI || !extensionTestsLocationURI) {
539
- throw ( new Error(localize(442, "Cannot load test runner.")));
539
+ throw ( new Error(localize(447, "Cannot load test runner.")));
540
540
  }
541
541
  const testRunner = await this._loadCommonJSModule(null, extensionTestsLocationURI, ( new ExtensionActivationTimesBuilder(false)));
542
542
  if (!testRunner || typeof testRunner.run !== 'function') {
543
543
  throw ( new Error(localize(
544
- 443,
544
+ 448,
545
545
  "Path {0} does not point to a valid extension test runner.",
546
546
  ( extensionTestsLocationURI.toString())
547
547
  )));
@@ -519,7 +519,7 @@ class DocumentPasteEditProvider {
519
519
  (edits.map((edit, i) => ({
520
520
  _cacheId: [cacheId, i],
521
521
  title: edit.title ?? ( localize(
522
- 4583,
522
+ 4885,
523
523
  "Paste using '{0}' extension",
524
524
  this._extension.displayName || this._extension.name
525
525
  )),
@@ -1776,7 +1776,7 @@ class DocumentDropEditAdapter {
1776
1776
  (editsArray.map((edit, i) => ({
1777
1777
  _cacheId: [cacheId, i],
1778
1778
  title: edit.title ?? ( localize(
1779
- 4584,
1779
+ 4886,
1780
1780
  "Drop using '{0}' extension",
1781
1781
  this._extension.displayName || this._extension.name
1782
1782
  )),
@@ -1923,13 +1923,13 @@ class ExtHostLanguageFeatures {
1923
1923
  return result;
1924
1924
  }
1925
1925
  $provideCodeLenses(handle, resource, token) {
1926
- return this._withAdapter(handle, CodeLensAdapter, adapter => adapter.provideCodeLenses(URI.revive(resource), token), undefined, token);
1926
+ return this._withAdapter(handle, CodeLensAdapter, adapter => adapter.provideCodeLenses(URI.revive(resource), token), undefined, token, resource.scheme === 'output');
1927
1927
  }
1928
1928
  $resolveCodeLens(handle, symbol, token) {
1929
- return this._withAdapter(handle, CodeLensAdapter, adapter => adapter.resolveCodeLens(symbol, token), undefined, undefined);
1929
+ return this._withAdapter(handle, CodeLensAdapter, adapter => adapter.resolveCodeLens(symbol, token), undefined, undefined, true);
1930
1930
  }
1931
1931
  $releaseCodeLenses(handle, cacheId) {
1932
- this._withAdapter(handle, CodeLensAdapter, adapter => Promise.resolve(adapter.releaseCodeLenses(cacheId)), undefined, undefined);
1932
+ this._withAdapter(handle, CodeLensAdapter, adapter => Promise.resolve(adapter.releaseCodeLenses(cacheId)), undefined, undefined, true);
1933
1933
  }
1934
1934
  registerDefinitionProvider(extension, selector, provider) {
1935
1935
  const handle = this._addNewAdapter(( (new DefinitionAdapter(this._documents, provider))), extension);
@@ -1,39 +1,81 @@
1
+ import { raceCancellation } from '../../../base/common/async.js';
2
+ import { CancellationToken } from '../../../base/common/cancellation.js';
3
+ import { CancellationError } from '../../../base/common/errors.js';
1
4
  import { toDisposable } from '../../../base/common/lifecycle.js';
2
5
  import { revive } from '../../../base/common/marshalling.js';
6
+ import { generateUuid } from '../../../base/common/uuid.js';
3
7
  import { MainContext } from './extHost.protocol.js';
4
- import { LanguageModelToolDescription } from './extHostTypeConverters.js';
8
+ import { LanguageModelToolResult, LanguageModelToolDescription } from './extHostTypeConverters.js';
5
9
  class ExtHostLanguageModelTools {
6
10
  constructor(mainContext) {
7
11
  this._registeredTools = ( new Map());
12
+ this._tokenCountFuncs = ( new Map());
8
13
  this._allTools = ( new Map());
9
14
  this._proxy = ( mainContext.getProxy(MainContext.MainThreadLanguageModelTools));
10
15
  this._proxy.$getTools().then(tools => {
11
16
  for (const tool of tools) {
12
- this._allTools.set(tool.name, revive(tool));
17
+ this._allTools.set(tool.id, revive(tool));
13
18
  }
14
19
  });
15
20
  }
16
- async invokeTool(name, parameters, token) {
17
- return await this._proxy.$invokeTool(name, parameters, token);
21
+ async $countTokensForInvocation(callId, input, token) {
22
+ const fn = this._tokenCountFuncs.get(callId);
23
+ if (!fn) {
24
+ throw ( new Error(`Tool invocation call ${callId} not found`));
25
+ }
26
+ return await fn(input, token);
18
27
  }
19
- async $acceptToolDelta(delta) {
20
- if (delta.added) {
21
- this._allTools.set(delta.added.name, delta.added);
28
+ async invokeTool(toolId, options, token) {
29
+ const callId = generateUuid();
30
+ if (options.tokenOptions) {
31
+ this._tokenCountFuncs.set(callId, options.tokenOptions.countTokens);
32
+ }
33
+ try {
34
+ const result = await this._proxy.$invokeTool({
35
+ toolId,
36
+ callId,
37
+ parameters: options.parameters,
38
+ tokenBudget: options.tokenOptions?.tokenBudget,
39
+ }, token);
40
+ return LanguageModelToolResult.to(result);
22
41
  }
23
- if (delta.removed) {
24
- this._allTools.delete(delta.removed);
42
+ finally {
43
+ this._tokenCountFuncs.delete(callId);
44
+ }
45
+ }
46
+ $onDidChangeTools(tools) {
47
+ this._allTools.clear();
48
+ for (const tool of tools) {
49
+ this._allTools.set(tool.id, tool);
25
50
  }
26
51
  }
27
52
  get tools() {
28
53
  return ( Array.from(( this._allTools.values()))
29
54
  .map(tool => LanguageModelToolDescription.to(tool)));
30
55
  }
31
- async $invokeTool(name, parameters, token) {
32
- const item = this._registeredTools.get(name);
56
+ async $invokeTool(dto, token) {
57
+ const item = this._registeredTools.get(dto.toolId);
33
58
  if (!item) {
34
- throw ( new Error(`Unknown tool ${name}`));
59
+ throw ( new Error(`Unknown tool ${dto.toolId}`));
60
+ }
61
+ const options = { parameters: dto.parameters };
62
+ if (dto.tokenBudget !== undefined) {
63
+ options.tokenOptions = {
64
+ tokenBudget: dto.tokenBudget,
65
+ countTokens: this._tokenCountFuncs.get(dto.callId) || ((value, token = CancellationToken.None) => this._proxy.$countTokensForInvocation(dto.callId, value, token))
66
+ };
67
+ }
68
+ const extensionResult = await raceCancellation(Promise.resolve(item.tool.invoke(options, token)), token);
69
+ if (!extensionResult) {
70
+ throw ( new CancellationError());
71
+ }
72
+ for (const key of ( Object.keys(extensionResult))) {
73
+ const value = extensionResult[key];
74
+ if (value instanceof Promise) {
75
+ throw ( new Error(`Tool result for '${key}' cannot be a Promise`));
76
+ }
35
77
  }
36
- return await item.tool.invoke(parameters, token);
78
+ return LanguageModelToolResult.from(extensionResult);
37
79
  }
38
80
  registerTool(extension, name, tool) {
39
81
  this._registeredTools.set(name, { extension, tool });
@@ -15,7 +15,7 @@ import { MainContext } from './extHost.protocol.js';
15
15
  import { IExtHostAuthentication } from './extHostAuthentication.js';
16
16
  import { IExtHostRpcService } from './extHostRpcService.js';
17
17
  import { LanguageModelChatMessage } from './extHostTypeConverters.js';
18
- import { LanguageModelError, LanguageModelChatMessageRole, LanguageModelFunctionResultPart, LanguageModelTextPart, LanguageModelFunctionUsePart } from './extHostTypes.js';
18
+ import { LanguageModelError, LanguageModelChatMessageRole, LanguageModelToolResultPart, LanguageModelTextPart, LanguageModelToolCallPart } from './extHostTypes.js';
19
19
  import { INTERNAL_AUTH_PROVIDER_PREFIX } from '../../services/authentication/common/authentication.js';
20
20
  import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
21
21
  var ExtHostLanguageModels_1;
@@ -78,7 +78,7 @@ class LanguageModelResponse {
78
78
  out = new LanguageModelTextPart(fragment.part.value);
79
79
  }
80
80
  else {
81
- out = new LanguageModelFunctionUsePart(fragment.part.name, fragment.part.parameters);
81
+ out = new LanguageModelToolCallPart(fragment.part.name, fragment.part.toolCallId, fragment.part.parameters);
82
82
  }
83
83
  res.stream.emitOne(out);
84
84
  }
@@ -157,8 +157,8 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
157
157
  return;
158
158
  }
159
159
  let part;
160
- if (fragment.part instanceof LanguageModelFunctionUsePart) {
161
- part = { type: 'function_use', name: fragment.part.name, parameters: fragment.part.parameters };
160
+ if (fragment.part instanceof LanguageModelToolCallPart) {
161
+ part = { type: 'tool_use', name: fragment.part.name, parameters: fragment.part.parameters, toolCallId: fragment.part.toolCallId };
162
162
  }
163
163
  else if (fragment.part instanceof LanguageModelTextPart) {
164
164
  part = { type: 'text', value: fragment.part.value };
@@ -291,7 +291,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
291
291
  if (message.role === LanguageModelChatMessageRole.System) {
292
292
  checkProposedApiEnabled(extension, 'languageModelSystem');
293
293
  }
294
- if (message.content2 instanceof LanguageModelFunctionResultPart) {
294
+ if (( (message.content2.some(part => part instanceof LanguageModelToolResultPart)))) {
295
295
  checkProposedApiEnabled(extension, 'lmTools');
296
296
  }
297
297
  internalMessages.push(LanguageModelChatMessage.from(message));
@@ -329,7 +329,7 @@ let ExtHostLanguageModels = class ExtHostLanguageModels {
329
329
  }
330
330
  try {
331
331
  const detail = justification
332
- ? ( localize(577, "Justification: {1}", to.displayName, justification))
332
+ ? ( localize(955, "Justification: {1}", to.displayName, justification))
333
333
  : undefined;
334
334
  await this._extHostAuthentication.getSession(from, providerId, [], { forceNewSession: { detail } });
335
335
  this.$updateModelAccesslist([{ from: from.identifier, to: to.identifier, enabled: true }]);
@@ -6,7 +6,7 @@ import { IExtHostInitDataService } from './extHostInitDataService.js';
6
6
  let ExtHostLogService = class ExtHostLogService extends LogService {
7
7
  constructor(isWorker, loggerService, initData) {
8
8
  const id = initData.remote.isRemote ? 'remoteexthost' : isWorker ? 'workerexthost' : 'exthost';
9
- const name = initData.remote.isRemote ? ( localize(578, "Extension Host (Remote)")) : isWorker ? ( localize(579, "Extension Host (Worker)")) : ( localize(580, "Extension Host"));
9
+ const name = initData.remote.isRemote ? ( localize(956, "Extension Host (Remote)")) : isWorker ? ( localize(957, "Extension Host (Worker)")) : ( localize(958, "Extension Host"));
10
10
  super(loggerService.createLogger(id, { name }));
11
11
  }
12
12
  };
@@ -153,34 +153,34 @@ class ExtHostNotebookController {
153
153
  const document = this._documents.get(URI.revive(canonicalUri));
154
154
  return assertIsDefined(document?.apiNotebook);
155
155
  }
156
- async showNotebookDocument(notebookOrUri, options) {
157
- if (URI.isUri(notebookOrUri)) {
158
- notebookOrUri = await this.openNotebookDocument(notebookOrUri);
159
- }
156
+ async showNotebookDocument(notebook, options) {
160
157
  let resolvedOptions;
161
158
  if (typeof options === 'object') {
162
159
  resolvedOptions = {
163
160
  position: ViewColumn.from(options.viewColumn),
164
161
  preserveFocus: options.preserveFocus,
165
162
  selections: options.selections && ( options.selections.map(NotebookRange.from)),
166
- pinned: typeof options.preview === 'boolean' ? !options.preview : undefined
163
+ pinned: typeof options.preview === 'boolean' ? !options.preview : undefined,
164
+ label: options?.label
167
165
  };
168
166
  }
169
167
  else {
170
168
  resolvedOptions = {
171
- preserveFocus: false
169
+ preserveFocus: false,
170
+ pinned: true
172
171
  };
173
172
  }
174
- const editorId = await this._notebookEditorsProxy.$tryShowNotebookDocument(notebookOrUri.uri, notebookOrUri.notebookType, resolvedOptions);
173
+ const viewType = options?.asRepl ? 'repl' : notebook.notebookType;
174
+ const editorId = await this._notebookEditorsProxy.$tryShowNotebookDocument(notebook.uri, viewType, resolvedOptions);
175
175
  const editor = editorId && this._editors.get(editorId)?.apiEditor;
176
176
  if (editor) {
177
177
  return editor;
178
178
  }
179
179
  if (editorId) {
180
- throw ( new Error(`Could NOT open editor for "${( notebookOrUri.uri.toString())}" because another editor opened in the meantime.`));
180
+ throw ( new Error(`Could NOT open editor for "${( notebook.uri.toString())}" because another editor opened in the meantime.`));
181
181
  }
182
182
  else {
183
- throw ( new Error(`Could NOT open editor for "${( notebookOrUri.uri.toString())}".`));
183
+ throw ( new Error(`Could NOT open editor for "${( notebook.uri.toString())}".`));
184
184
  }
185
185
  }
186
186
  async $provideNotebookCellStatusBarItems(handle, uri, index, token) {
@@ -254,7 +254,7 @@ class ExtHostNotebookController {
254
254
  throw ( new Error('Document version mismatch'));
255
255
  }
256
256
  if (!this._extHostFileSystem.value.isWritableFileSystem(uri.scheme)) {
257
- throw new FileOperationError(localize(4585, "Unable to modify read-only file '{0}'", this._resourceForError(uri)), FileOperationResult.FILE_PERMISSION_DENIED);
257
+ throw new FileOperationError(localize(4887, "Unable to modify read-only file '{0}'", this._resourceForError(uri)), FileOperationResult.FILE_PERMISSION_DENIED);
258
258
  }
259
259
  const data = {
260
260
  metadata: filter(document.apiNotebook.metadata, key => !(serializer.options?.transientDocumentMetadata ?? {})[key]),
@@ -426,7 +426,7 @@ class ExtHostNotebookController {
426
426
  if (typeof options?.mtime === 'number' && typeof options.etag === 'string' && options.etag !== ETAG_DISABLED &&
427
427
  typeof stat.mtime === 'number' && typeof stat.size === 'number' &&
428
428
  options.mtime < stat.mtime && options.etag !== etag({ mtime: options.mtime , size: stat.size })) {
429
- throw new FileOperationError(localize(4586, "File Modified Since"), FileOperationResult.FILE_MODIFIED_SINCE, options);
429
+ throw new FileOperationError(localize(4888, "File Modified Since"), FileOperationResult.FILE_MODIFIED_SINCE, options);
430
430
  }
431
431
  return;
432
432
  }