@codingame/monaco-vscode-api 6.0.2 → 7.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 (450) hide show
  1. package/README.md +93 -73
  2. package/api.js +1 -1
  3. package/debugProtocol.d.ts +10 -1
  4. package/extensions.d.ts +2 -0
  5. package/missing-services.js +21 -2
  6. package/monaco.d.ts +1 -1
  7. package/monaco.js +1 -1
  8. package/package.json +9 -9
  9. package/service-override/extensions.d.ts +1 -2
  10. package/services.js +4 -2
  11. package/vscode/src/vs/base/browser/dnd.js +1 -1
  12. package/vscode/src/vs/base/browser/dom.js +116 -5
  13. package/vscode/src/vs/base/browser/domObservable.js +16 -0
  14. package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
  15. package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
  16. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  17. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
  19. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
  20. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
  24. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
  25. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
  26. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
  28. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
  30. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
  33. package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
  34. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
  36. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  39. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  40. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
  41. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  42. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  43. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
  44. package/vscode/src/vs/base/common/assert.js +1 -1
  45. package/vscode/src/vs/base/common/collections.js +49 -1
  46. package/vscode/src/vs/base/common/equals.js +55 -5
  47. package/vscode/src/vs/base/common/errors.js +14 -1
  48. package/vscode/src/vs/base/common/event.js +2 -1
  49. package/vscode/src/vs/base/common/history.js +7 -4
  50. package/vscode/src/vs/base/common/iterator.js +9 -1
  51. package/vscode/src/vs/base/common/map.d.ts +41 -0
  52. package/vscode/src/vs/base/common/numbers.js +18 -1
  53. package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
  54. package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
  55. package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
  56. package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
  57. package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
  58. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
  59. package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
  60. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
  61. package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
  62. package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
  63. package/vscode/src/vs/base/common/product.d.ts +1 -0
  64. package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
  65. package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
  66. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  67. package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
  68. package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
  69. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
  70. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
  71. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
  72. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  73. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
  74. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
  75. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  76. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  77. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  88. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
  89. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  90. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
  91. package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
  92. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
  93. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
  94. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
  95. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
  96. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
  97. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  98. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
  99. package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
  100. package/vscode/src/vs/editor/common/languages.d.ts +20 -3
  101. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
  102. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
  103. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
  104. package/vscode/src/vs/editor/common/model/textModel.js +6 -2
  105. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
  106. package/vscode/src/vs/editor/common/model.d.ts +4 -0
  107. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  108. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
  109. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
  110. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
  111. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
  112. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
  117. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
  118. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
  119. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
  122. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
  123. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
  124. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
  125. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
  126. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  127. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
  130. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
  131. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
  132. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
  135. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
  136. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
  137. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
  138. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
  139. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
  140. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
  149. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  150. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
  151. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
  152. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  153. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
  155. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
  156. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
  157. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
  158. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
  159. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
  160. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
  161. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
  162. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  163. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  164. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
  165. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
  166. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
  167. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  168. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
  169. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
  170. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
  171. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
  172. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
  173. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
  174. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
  175. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
  176. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
  177. package/vscode/src/vs/editor/editor.api.d.ts +31 -5
  178. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
  179. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
  180. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
  181. package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
  182. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  183. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  184. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
  185. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
  186. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  187. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  188. package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
  189. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
  190. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
  191. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
  192. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
  193. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
  194. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
  195. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
  196. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
  197. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
  198. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  199. package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
  200. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
  201. package/vscode/src/vs/platform/files/common/watcher.js +21 -24
  202. package/vscode/src/vs/platform/list/browser/listService.js +2 -1
  203. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  204. package/vscode/src/vs/platform/opener/browser/link.js +1 -1
  205. package/vscode/src/vs/platform/product/common/product.js +1 -1
  206. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  207. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
  208. package/vscode/src/vs/platform/request/common/request.js +18 -8
  209. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
  210. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
  211. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
  212. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
  213. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  214. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
  215. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
  216. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
  217. package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
  218. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
  219. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
  220. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
  221. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
  222. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
  223. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
  224. package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
  225. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
  226. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  227. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  228. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
  229. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
  230. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
  231. package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
  232. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
  233. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  234. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
  235. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
  236. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
  237. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  238. package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
  239. package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
  240. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
  241. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
  242. package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
  243. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
  244. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
  245. package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
  246. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  247. package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
  249. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
  250. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
  251. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
  252. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  253. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
  254. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  255. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
  256. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
  257. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
  258. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
  259. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
  260. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  261. package/vscode/src/vs/workbench/browser/web.api.js +8 -0
  262. package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
  263. package/vscode/src/vs/workbench/common/configuration.js +1 -1
  264. package/vscode/src/vs/workbench/common/contributions.js +8 -1
  265. package/vscode/src/vs/workbench/common/editor.js +5 -1
  266. package/vscode/src/vs/workbench/common/theme.js +79 -454
  267. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
  268. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
  269. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
  285. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
  286. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
  287. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
  288. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
  290. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
  291. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
  296. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
  297. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
  301. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
  302. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
  303. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
  304. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
  305. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
  306. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
  307. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
  308. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
  309. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  310. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
  311. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
  312. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
  313. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
  314. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
  315. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
  319. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
  320. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
  321. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
  322. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
  323. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
  324. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
  325. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
  326. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
  327. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
  328. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
  329. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  330. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
  331. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
  332. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
  333. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  334. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
  342. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
  343. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  344. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  345. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
  346. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
  347. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  348. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
  349. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
  354. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
  355. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
  356. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
  357. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
  358. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  359. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
  360. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
  361. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
  362. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
  363. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
  364. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
  366. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
  381. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
  382. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
  383. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
  384. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
  385. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
  386. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
  387. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
  388. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
  389. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
  390. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
  391. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
  392. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
  393. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  394. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
  395. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
  396. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
  397. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
  398. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
  399. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
  400. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
  401. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
  402. package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
  403. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
  404. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
  405. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
  406. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  407. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
  408. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  409. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
  410. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
  411. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  412. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
  413. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
  414. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
  415. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
  416. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
  417. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
  418. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
  419. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
  420. package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
  421. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  422. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
  423. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  424. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
  425. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
  426. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
  427. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
  428. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
  429. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  430. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
  431. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
  432. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
  433. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
  434. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
  435. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
  436. package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
  437. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
  438. package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
  439. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
  440. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
  441. package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
  442. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
  443. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
  444. package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
  445. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
  446. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
  447. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
  448. package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
  449. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
  450. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
@@ -9,19 +9,23 @@ import { Disposable, toDisposable, DisposableStore } from '../../../base/common/
9
9
  import { MarshalledId } from '../../../base/common/marshallingIds.js';
10
10
  import { isDefined } from '../../../base/common/types.js';
11
11
  import { generateUuid } from '../../../base/common/uuid.js';
12
+ import { createDecorator } from '../../../platform/instantiation/common/instantiation.js';
12
13
  import { ILogService } from '../../../platform/log/common/log.service.js';
13
14
  import { MainContext } from './extHost.protocol.js';
15
+ import { IExtHostCommands } from './extHostCommands.js';
16
+ import { IExtHostDocumentsAndEditors } from './extHostDocumentsAndEditors.js';
14
17
  import { IExtHostRpcService } from './extHostRpcService.js';
15
18
  import { toItemFromContext, ExtHostTestItemCollection, TestItemImpl, TestItemRootImpl } from './extHostTestItem.js';
16
19
  import { TestMessage, TestCoverage, TestResults, TestTag, location, TestItem, Range } from './extHostTypeConverters.js';
17
20
  import { TestRunProfileKind, TestRunRequest, FileCoverage } from './extHostTypes.js';
18
21
  import { TestCommandId } from '../../contrib/testing/common/constants.js';
19
- import { TestId, TestPosition, TestIdPathParts } from '../../contrib/testing/common/testId.js';
22
+ import { TestId, TestPosition } from '../../contrib/testing/common/testId.js';
20
23
  import { InvalidTestItemError } from '../../contrib/testing/common/testItemCollection.js';
21
24
  import { TestsDiffOp, isStartControllerTests, TestRunProfileBitset, AbstractIncrementalTestCollection, TestResultState } from '../../contrib/testing/common/testTypes.js';
22
25
  import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
23
26
  let followupCounter = 0;
24
27
  const testResultInternalIDs = ( new WeakMap());
28
+ const IExtHostTesting = ( createDecorator('IExtHostTesting'));
25
29
  let ExtHostTesting = class ExtHostTesting extends Disposable {
26
30
  constructor(rpc, logService, commands, editors) {
27
31
  super();
@@ -172,9 +176,9 @@ let ExtHostTesting = class ExtHostTesting extends Disposable {
172
176
  }
173
177
  await this.proxy.$runTests({
174
178
  preserveFocus: req.preserveFocus ?? true,
179
+ group: profileGroupToBitset[profile.kind],
175
180
  targets: [{
176
181
  testIds: req.include?.map(t => ( TestId.fromExtHostTestItem(t, controller.collection.root.id).toString())) ?? [controller.collection.root.id],
177
- profileGroup: profileGroupToBitset[profile.kind],
178
182
  profileId: profile.profileId,
179
183
  controllerId: profile.controllerId,
180
184
  }],
@@ -191,8 +195,8 @@ let ExtHostTesting = class ExtHostTesting extends Disposable {
191
195
  }
192
196
  return Promise.resolve();
193
197
  }
194
- async $getCoverageDetails(coverageId, token) {
195
- const details = await this.runTracker.getCoverageDetails(coverageId, token);
198
+ async $getCoverageDetails(coverageId, testId, token) {
199
+ const details = await this.runTracker.getCoverageDetails(coverageId, testId, token);
196
200
  return details?.map(TestCoverage.fromDetails);
197
201
  }
198
202
  async $disposeRun(runId) {
@@ -301,6 +305,23 @@ let ExtHostTesting = class ExtHostTesting extends Disposable {
301
305
  }
302
306
  return this.commands.executeCommand(command.command, ...(command.arguments || []));
303
307
  }
308
+ $cancelExtensionTestRun(runId) {
309
+ if (runId === undefined) {
310
+ this.runTracker.cancelAllRuns();
311
+ }
312
+ else {
313
+ this.runTracker.cancelRunById(runId);
314
+ }
315
+ }
316
+ getMetadataForRun(run) {
317
+ for (const tracker of this.runTracker.trackers) {
318
+ const taskId = tracker.getTaskIdForRun(run);
319
+ if (taskId) {
320
+ return { taskId, runId: tracker.id };
321
+ }
322
+ }
323
+ return undefined;
324
+ }
304
325
  async runControllerTestRequest(req, isContinuous, token) {
305
326
  const lookup = this.controllers.get(req.controllerId);
306
327
  if (!lookup) {
@@ -338,18 +359,12 @@ let ExtHostTesting = class ExtHostTesting extends Disposable {
338
359
  }
339
360
  }
340
361
  }
341
- $cancelExtensionTestRun(runId) {
342
- if (runId === undefined) {
343
- this.runTracker.cancelAllRuns();
344
- }
345
- else {
346
- this.runTracker.cancelRunById(runId);
347
- }
348
- }
349
362
  };
350
363
  ExtHostTesting = ( __decorate([
351
364
  ( __param(0, IExtHostRpcService)),
352
- ( __param(1, ILogService))
365
+ ( __param(1, ILogService)),
366
+ ( __param(2, IExtHostCommands)),
367
+ ( __param(3, IExtHostDocumentsAndEditors))
353
368
  ], ExtHostTesting));
354
369
  const RUN_CANCEL_DEADLINE = 10_000;
355
370
  var TestRunTrackerState;
@@ -389,6 +404,14 @@ class TestRunTracker extends Disposable {
389
404
  didDisposeEmitter.dispose();
390
405
  }));
391
406
  }
407
+ getTaskIdForRun(run) {
408
+ for (const [taskId, { run: r }] of this.tasks) {
409
+ if (r === run) {
410
+ return taskId;
411
+ }
412
+ }
413
+ return undefined;
414
+ }
392
415
  cancel() {
393
416
  if (this.state === TestRunTrackerState.Running) {
394
417
  this.cts.cancel();
@@ -398,17 +421,29 @@ class TestRunTracker extends Disposable {
398
421
  this.forciblyEndTasks();
399
422
  }
400
423
  }
401
- getCoverageDetails(id, token) {
424
+ async getCoverageDetails(id, testId, token) {
402
425
  const [, taskId] = TestId.fromString(id).path;
403
426
  const coverage = this.publishedCoverage.get(id);
404
427
  if (!coverage) {
405
428
  return [];
406
429
  }
430
+ const { report, extIds } = coverage;
407
431
  const task = this.tasks.get(taskId);
408
432
  if (!task) {
409
433
  throw ( new Error('unreachable: run task was not found'));
410
434
  }
411
- return this.profile?.loadDetailedCoverage?.(task.run, coverage, token) ?? [];
435
+ let testItem;
436
+ if (testId && report instanceof FileCoverage) {
437
+ const index = extIds.indexOf(testId);
438
+ if (index === -1) {
439
+ return [];
440
+ }
441
+ testItem = report.fromTests[index];
442
+ }
443
+ const details = testItem
444
+ ? this.profile?.loadDetailedCoverageForTest?.(task.run, report, testItem, token)
445
+ : this.profile?.loadDetailedCoverage?.(task.run, report, token);
446
+ return (await details) ?? [];
412
447
  }
413
448
  createRun(name) {
414
449
  const runId = this.dto.id;
@@ -419,9 +454,6 @@ class TestRunTracker extends Disposable {
419
454
  this.logService.warn(`Setting the state of test "${test.id}" is a no-op after the run ends.`);
420
455
  return;
421
456
  }
422
- if (!this.dto.isIncluded(test)) {
423
- return;
424
- }
425
457
  this.ensureTestIsKnown(test);
426
458
  fn(test, ...args);
427
459
  };
@@ -438,7 +470,6 @@ class TestRunTracker extends Disposable {
438
470
  this.proxy.$appendTestMessagesInRun(runId, taskId, ( TestId.fromExtHostTestItem(test, ctrlId).toString()), converted);
439
471
  };
440
472
  let ended = false;
441
- const testItemCoverageId = ( new Map());
442
473
  const run = {
443
474
  isPersisted: this.dto.isPersisted,
444
475
  token: this.cts.token,
@@ -448,25 +479,16 @@ class TestRunTracker extends Disposable {
448
479
  if (ended) {
449
480
  return;
450
481
  }
451
- const testItem = coverage instanceof FileCoverage ? coverage.testItem : undefined;
452
- let testItemIdPart;
453
- if (testItem) {
482
+ const fromTests = coverage instanceof FileCoverage ? coverage.fromTests : [];
483
+ if (fromTests.length) {
454
484
  checkProposedApiEnabled(this.extension, 'attributableCoverage');
455
- if (!this.dto.isIncluded(testItem)) {
456
- throw ( new Error('Attempted to `addCoverage` for a test item not included in the run'));
457
- }
458
- this.ensureTestIsKnown(testItem);
459
- testItemIdPart = testItemCoverageId.get(testItem);
460
- if (testItemIdPart === undefined) {
461
- testItemIdPart = testItemCoverageId.size;
462
- testItemCoverageId.set(testItem, testItemIdPart);
485
+ for (const test of fromTests) {
486
+ this.ensureTestIsKnown(test);
463
487
  }
464
488
  }
465
489
  const uriStr = ( coverage.uri.toString());
466
- const id = ( ( new TestId(testItemIdPart !== undefined
467
- ? [runId, taskId, uriStr, String(testItemIdPart)]
468
- : [runId, taskId, uriStr])).toString());
469
- this.publishedCoverage.set(id, coverage);
490
+ const id = ( ( new TestId([runId, taskId, uriStr])).toString());
491
+ this.publishedCoverage.set(id, { report: coverage, extIds: ( fromTests.map(t => ( TestId.fromExtHostTestItem(t, ctrlId).toString()))) });
470
492
  this.proxy.$appendCoverage(runId, taskId, TestCoverage.fromFile(ctrlId, id, coverage));
471
493
  },
472
494
  enqueued: guardTestMutation(test => {
@@ -494,12 +516,7 @@ class TestRunTracker extends Disposable {
494
516
  return;
495
517
  }
496
518
  if (test) {
497
- if (this.dto.isIncluded(test)) {
498
- this.ensureTestIsKnown(test);
499
- }
500
- else {
501
- test = undefined;
502
- }
519
+ this.ensureTestIsKnown(test);
503
520
  }
504
521
  this.proxy.$appendOutputToRun(runId, taskId, VSBuffer.fromString(output), location$1 && location.from(location$1), test && ( TestId.fromExtHostTestItem(test, ctrlId).toString()));
505
522
  },
@@ -508,7 +525,6 @@ class TestRunTracker extends Disposable {
508
525
  return;
509
526
  }
510
527
  ended = true;
511
- testItemCoverageId.clear();
512
528
  this.proxy.$finishedTestRunTask(runId, taskId);
513
529
  if (!--this.running) {
514
530
  this.markEnded();
@@ -569,9 +585,9 @@ class TestRunCoordinator {
569
585
  this.tracked = ( new Map());
570
586
  this.trackedById = ( new Map());
571
587
  }
572
- getCoverageDetails(id, token) {
588
+ getCoverageDetails(id, testId, token) {
573
589
  const runId = TestId.root(id);
574
- return this.trackedById.get(runId)?.getCoverageDetails(id, token) || [];
590
+ return this.trackedById.get(runId)?.getCoverageDetails(id, testId, token) || [];
575
591
  }
576
592
  disposeTestRun(runId) {
577
593
  this.trackedById.get(runId)?.dispose();
@@ -636,39 +652,16 @@ const tryGetProfileFromTestRunReq = (request) => {
636
652
  };
637
653
  class TestRunDto {
638
654
  static fromPublic(controllerId, collection, request, persist) {
639
- return ( new TestRunDto(controllerId, generateUuid(), request.include?.map(t => ( TestId.fromExtHostTestItem(t, controllerId).toString())) ?? [controllerId], request.exclude?.map(t => ( TestId.fromExtHostTestItem(t, controllerId).toString())) ?? [], persist, collection));
655
+ return ( new TestRunDto(controllerId, generateUuid(), persist, collection));
640
656
  }
641
657
  static fromInternal(request, collection) {
642
- return ( new TestRunDto(
643
- request.controllerId,
644
- request.runId,
645
- request.testIds,
646
- request.excludeExtIds,
647
- true,
648
- collection
649
- ));
658
+ return ( new TestRunDto(request.controllerId, request.runId, true, collection));
650
659
  }
651
- constructor(controllerId, id, include, exclude, isPersisted, colllection) {
660
+ constructor(controllerId, id, isPersisted, colllection) {
652
661
  this.controllerId = controllerId;
653
662
  this.id = id;
654
663
  this.isPersisted = isPersisted;
655
664
  this.colllection = colllection;
656
- this.includePrefix = ( include.map(id => id + TestIdPathParts.Delimiter));
657
- this.excludePrefix = ( exclude.map(id => id + TestIdPathParts.Delimiter));
658
- }
659
- isIncluded(test) {
660
- const id = ( TestId.fromExtHostTestItem(test, this.controllerId).toString()) + TestIdPathParts.Delimiter;
661
- for (const prefix of this.excludePrefix) {
662
- if (id === prefix || id.startsWith(prefix)) {
663
- return false;
664
- }
665
- }
666
- for (const prefix of this.includePrefix) {
667
- if (id === prefix || id.startsWith(prefix)) {
668
- return true;
669
- }
670
- }
671
- return false;
672
665
  }
673
666
  }
674
667
  class MirroredChangeCollector {
@@ -912,4 +905,4 @@ function findTestInResultSnapshot(extId, snapshot) {
912
905
  }
913
906
  return undefined;
914
907
  }
915
- export { ExtHostTesting, TestRunCoordinator, TestRunDto, TestRunProfileImpl };
908
+ export { ExtHostTesting, IExtHostTesting, TestRunCoordinator, TestRunDto, TestRunProfileImpl };
@@ -1,11 +1,13 @@
1
1
  import { coalesce } from '../../../base/common/arrays.js';
2
2
  import { Emitter } from '../../../base/common/event.js';
3
+ import { Disposable } from '../../../base/common/lifecycle.js';
3
4
  import { MainContext } from './extHost.protocol.js';
4
5
  import { TextEditorDecorationType } from './extHostTextEditor.js';
5
6
  import { ViewColumn, Range, TextEditorLineNumbersStyle, Selection } from './extHostTypeConverters.js';
6
7
  import { TextEditorSelectionChangeKind } from './extHostTypes.js';
7
- class ExtHostEditors {
8
+ class ExtHostEditors extends Disposable {
8
9
  constructor(mainContext, _extHostDocumentsAndEditors) {
10
+ super();
9
11
  this._extHostDocumentsAndEditors = _extHostDocumentsAndEditors;
10
12
  this._onDidChangeTextEditorSelection = ( new Emitter());
11
13
  this._onDidChangeTextEditorOptions = ( new Emitter());
@@ -20,8 +22,8 @@ class ExtHostEditors {
20
22
  this.onDidChangeActiveTextEditor = this._onDidChangeActiveTextEditor.event;
21
23
  this.onDidChangeVisibleTextEditors = this._onDidChangeVisibleTextEditors.event;
22
24
  this._proxy = ( mainContext.getProxy(MainContext.MainThreadTextEditors));
23
- this._extHostDocumentsAndEditors.onDidChangeVisibleTextEditors(e => this._onDidChangeVisibleTextEditors.fire(e));
24
- this._extHostDocumentsAndEditors.onDidChangeActiveTextEditor(e => this._onDidChangeActiveTextEditor.fire(e));
25
+ this._register(this._extHostDocumentsAndEditors.onDidChangeVisibleTextEditors(e => this._onDidChangeVisibleTextEditors.fire(e)));
26
+ this._register(this._extHostDocumentsAndEditors.onDidChangeActiveTextEditor(e => this._onDidChangeActiveTextEditor.fire(e)));
25
27
  }
26
28
  getActiveTextEditor() {
27
29
  return this._extHostDocumentsAndEditors.activeEditor();
@@ -11,12 +11,12 @@ import { cloneAndChange } from '../../../base/common/objects.js';
11
11
  import { WellDefinedPrefixTree } from '../../../base/common/prefixTree.js';
12
12
  import { basename } from '../../../base/common/resources.js';
13
13
  import { ThemeIcon } from '../../../base/common/themables.js';
14
- import { isString, isNumber, isUndefinedOrNull, isEmptyObject, isDefined } from '../../../base/common/types.js';
14
+ import { isEmptyObject, isUndefinedOrNull, isString, isNumber, isDefined } from '../../../base/common/types.js';
15
15
  import { URI, isUriComponents } from '../../../base/common/uri.js';
16
16
  import { RenderLineNumbersType } from '../../../editor/common/config/editorOptions.js';
17
17
  import { Range as Range$2 } from '../../../editor/common/core/range.js';
18
18
  import { StandardTokenType } from '../../../editor/common/encodedTokenAttributes.js';
19
- import { SymbolKind as SymbolKind$2, CompletionItemInsertTextRule, CodeActionTriggerType, SymbolTag as SymbolTag$2, CompletionItemTag as CompletionItemTag$2, CompletionItemKind as CompletionItemKind$1, Command, FoldingRangeKind as FoldingRangeKind$2, CompletionTriggerKind as CompletionTriggerKind$2, PartialAcceptTriggerKind as PartialAcceptTriggerKind$2 } from '../../../editor/common/languages.js';
19
+ import { SymbolKind as SymbolKind$2, CompletionItemInsertTextRule, SymbolTag as SymbolTag$2, CompletionItemTag as CompletionItemTag$2, CompletionItemKind as CompletionItemKind$1, Command, FoldingRangeKind as FoldingRangeKind$2, CodeActionTriggerType, CompletionTriggerKind as CompletionTriggerKind$2, PartialAcceptTriggerKind as PartialAcceptTriggerKind$2 } from '../../../editor/common/languages.js';
20
20
  import { EndOfLineSequence, TrackedRangeStickiness } from '../../../editor/common/model.js';
21
21
  import { MarkerSeverity, MarkerTag } from '../../../platform/markers/common/markers.js';
22
22
  import { ProgressLocation as ProgressLocation$2 } from '../../../platform/progress/common/progress.js';
@@ -25,11 +25,11 @@ import { DEFAULT_EDITOR_ASSOCIATION, SaveReason } from '../../common/editor.js';
25
25
  import { ChatAgentLocation } from '../../contrib/chat/common/chatAgents.js';
26
26
  import { ChatMessageRole } from '../../contrib/chat/common/languageModels.js';
27
27
  import { DebugTreeItemCollapsibleState } from '../../contrib/debug/common/debug.js';
28
- import { CellEditType, CellKind, NotebookCellExecutionState as NotebookCellExecutionState$1, CellStatusbarAlignment } from '../../contrib/notebook/common/notebookCommon.js';
28
+ import { CellEditType, CellStatusbarAlignment, CellKind, NotebookCellExecutionState as NotebookCellExecutionState$1 } from '../../contrib/notebook/common/notebookCommon.js';
29
29
  import { TestId } from '../../contrib/testing/common/testId.js';
30
30
  import { namespaceTestTag, denamespaceTestTag, TestMessageType, DetailType } from '../../contrib/testing/common/testTypes.js';
31
31
  import { SIDE_GROUP, ACTIVE_GROUP } from '../../services/editor/common/editorService.js';
32
- import { Position as Position$1, Selection as Selection$1, Range as Range$1, Location as Location$1, Diagnostic as Diagnostic$1, ViewColumn as ViewColumn$1, MarkdownString as MarkdownString$1, WorkspaceEdit as WorkspaceEdit$1, FileEditType, SnippetTextEdit, SnippetString, TextEdit as TextEdit$1, SymbolKind as SymbolKind$1, SymbolInformation, CallHierarchyItem as CallHierarchyItem$1, CallHierarchyIncomingCall as CallHierarchyIncomingCall$1, CallHierarchyOutgoingCall as CallHierarchyOutgoingCall$1, VerboseHover, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineValueContext as InlineValueContext$1, CompletionItem as CompletionItem$1, InlayHint as InlayHint$1, DocumentLink as DocumentLink$1, ColorPresentation as ColorPresentation$1, Color as Color$1, NotebookRange as NotebookRange$1, NotebookCellOutputItem as NotebookCellOutputItem$1, NotebookCellOutput as NotebookCellOutput$1, TestTag as TestTag$1, CodeActionTriggerKind as CodeActionTriggerKind$1, TypeHierarchyItem as TypeHierarchyItem$1, LanguageModelChatMessage as LanguageModelChatMessage$1, LanguageModelChatMessageRole, ChatLocation as ChatLocation$1, DiagnosticRelatedInformation as DiagnosticRelatedInformation$1, DiagnosticSeverity as DiagnosticSeverity$1, SymbolTag as SymbolTag$1, DocumentSymbol as DocumentSymbol$1, EvaluatableExpression as EvaluatableExpression$1, DocumentHighlight as DocumentHighlight$1, MultiDocumentHighlight as MultiDocumentHighlight$1, CompletionItemTag as CompletionItemTag$1, CompletionItemKind as CompletionItemKind$2, InlayHintLabelPart as InlayHintLabelPart$1, SelectionRange as SelectionRange$1, FoldingRangeKind as FoldingRangeKind$1, RelativePattern, NotebookCellData as NotebookCellData$1, DataTransfer as DataTransfer$1, ChatResponseProgressPart as ChatResponseProgressPart$1, ChatResponseReferencePart as ChatResponseReferencePart$1, ChatResponseMarkdownPart as ChatResponseMarkdownPart$1, ChatResponseAnchorPart as ChatResponseAnchorPart$1, ChatResponseFileTreePart, ChatResponseCommandButtonPart as ChatResponseCommandButtonPart$1, ChatResponseTextEditPart as ChatResponseTextEditPart$1, ChatResponseMarkdownWithVulnerabilitiesPart as ChatResponseMarkdownWithVulnerabilitiesPart$1, ChatResponseDetectedParticipantPart as ChatResponseDetectedParticipantPart$1, ChatResponseWarningPart as ChatResponseWarningPart$1, DiagnosticTag as DiagnosticTag$1, EndOfLine as EndOfLine$1, CompletionTriggerKind as CompletionTriggerKind$1, NotebookCellKind as NotebookCellKind$1, InternalFileDataTransferItem, DataTransferFile, InternalDataTransferItem, PartialAcceptTriggerKind as PartialAcceptTriggerKind$1, StandardTokenType as StandardTokenType$1, TextDocumentSaveReason as TextDocumentSaveReason$1, TextEditorLineNumbersStyle as TextEditorLineNumbersStyle$1, ProgressLocation as ProgressLocation$1, NotebookCellExecutionState as NotebookCellExecutionState$2, TestMessage as TestMessage$1, validateTestCoverageCount, FileCoverage, NotebookData as NotebookData$1, NotebookCellStatusBarAlignment, NotebookRendererScript as NotebookRendererScript$1, DecorationRangeBehavior as DecorationRangeBehavior$1 } from './extHostTypes.js';
32
+ import { Position as Position$1, Selection as Selection$1, Range as Range$1, ViewColumn as ViewColumn$1, MarkdownString as MarkdownString$1, WorkspaceEdit as WorkspaceEdit$1, FileEditType, SnippetTextEdit, SnippetString, TextEdit as TextEdit$1, SymbolKind as SymbolKind$1, SymbolInformation, CallHierarchyItem as CallHierarchyItem$1, CallHierarchyIncomingCall as CallHierarchyIncomingCall$1, CallHierarchyOutgoingCall as CallHierarchyOutgoingCall$1, Location as Location$1, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineValueContext as InlineValueContext$1, CompletionItem as CompletionItem$1, InlayHint as InlayHint$1, DocumentLink as DocumentLink$1, ColorPresentation as ColorPresentation$1, Color as Color$1, NotebookRange as NotebookRange$1, NotebookCellData as NotebookCellData$1, NotebookCellOutputItem as NotebookCellOutputItem$1, NotebookCellOutput as NotebookCellOutput$1, TestTag as TestTag$1, TypeHierarchyItem as TypeHierarchyItem$1, ChatLocation as ChatLocation$1, Diagnostic as Diagnostic$1, SymbolTag as SymbolTag$1, DocumentSymbol as DocumentSymbol$1, VerboseHover, EvaluatableExpression as EvaluatableExpression$1, DocumentHighlight as DocumentHighlight$1, MultiDocumentHighlight as MultiDocumentHighlight$1, CompletionItemTag as CompletionItemTag$1, CompletionItemKind as CompletionItemKind$2, InlayHintLabelPart as InlayHintLabelPart$1, SelectionRange as SelectionRange$1, FoldingRangeKind as FoldingRangeKind$1, RelativePattern, NotebookData as NotebookData$1, NotebookCellStatusBarAlignment, CodeActionTriggerKind as CodeActionTriggerKind$1, DataTransfer as DataTransfer$1, LanguageModelFunctionResultPart, LanguageModelChatMessage as LanguageModelChatMessage$1, ChatResponseMarkdownPart as ChatResponseMarkdownPart$1, ChatResponseAnchorPart as ChatResponseAnchorPart$1, ChatResponseReferencePart as ChatResponseReferencePart$1, ChatResponseProgressPart as ChatResponseProgressPart$1, ChatResponseFileTreePart, ChatResponseCommandButtonPart as ChatResponseCommandButtonPart$1, ChatResponseTextEditPart as ChatResponseTextEditPart$1, ChatResponseMarkdownWithVulnerabilitiesPart as ChatResponseMarkdownWithVulnerabilitiesPart$1, ChatResponseDetectedParticipantPart as ChatResponseDetectedParticipantPart$1, ChatResponseWarningPart as ChatResponseWarningPart$1, DiagnosticRelatedInformation as DiagnosticRelatedInformation$1, DiagnosticSeverity as DiagnosticSeverity$1, EndOfLine as EndOfLine$1, NotebookCellKind as NotebookCellKind$1, LanguageModelChatMessageRole as LanguageModelChatMessageRole$1, DiagnosticTag as DiagnosticTag$1, CompletionTriggerKind as CompletionTriggerKind$1, TestMessage as TestMessage$1, validateTestCoverageCount, FileCoverage, InternalFileDataTransferItem, DataTransferFile, InternalDataTransferItem, PartialAcceptTriggerKind as PartialAcceptTriggerKind$1, StandardTokenType as StandardTokenType$1, TextDocumentSaveReason as TextDocumentSaveReason$1, TextEditorLineNumbersStyle as TextEditorLineNumbersStyle$1, ProgressLocation as ProgressLocation$1, NotebookCellExecutionState as NotebookCellExecutionState$2, NotebookRendererScript as NotebookRendererScript$1, DecorationRangeBehavior as DecorationRangeBehavior$1 } from './extHostTypes.js';
33
33
  var Selection;
34
34
  ( (function(Selection) {
35
35
  function to(selection) {
@@ -1234,7 +1234,9 @@ var DocumentLink;
1234
1234
  catch (err) {
1235
1235
  }
1236
1236
  }
1237
- return new DocumentLink$1(Range.to(link.range), target);
1237
+ const result = new DocumentLink$1(Range.to(link.range), target);
1238
+ result.tooltip = link.tooltip;
1239
+ return result;
1238
1240
  }
1239
1241
  DocumentLink.to = to;
1240
1242
  })(DocumentLink || (DocumentLink = {})));
@@ -1930,8 +1932,8 @@ var TestCoverage;
1930
1932
  statement: fromCoverageCount(coverage.statementCoverage),
1931
1933
  branch: coverage.branchCoverage && fromCoverageCount(coverage.branchCoverage),
1932
1934
  declaration: coverage.declarationCoverage && fromCoverageCount(coverage.declarationCoverage),
1933
- testId: coverage instanceof FileCoverage && coverage.testItem ?
1934
- ( TestId.fromExtHostTestItem(coverage.testItem, controllerId).toString()) : undefined,
1935
+ testIds: coverage instanceof FileCoverage && coverage.fromTests.length ?
1936
+ ( coverage.fromTests.map(t => ( TestId.fromExtHostTestItem(t, controllerId).toString()))) : undefined,
1935
1937
  };
1936
1938
  }
1937
1939
  TestCoverage.fromFile = fromFile;
@@ -2086,22 +2088,68 @@ var ChatFollowup;
2086
2088
  }
2087
2089
  ChatFollowup.to = to;
2088
2090
  })(ChatFollowup || (ChatFollowup = {})));
2091
+ var LanguageModelChatMessageRole;
2092
+ ( (function(LanguageModelChatMessageRole) {
2093
+ function to(role) {
2094
+ switch (role) {
2095
+ case ChatMessageRole.System: return LanguageModelChatMessageRole$1.System;
2096
+ case ChatMessageRole.User: return LanguageModelChatMessageRole$1.User;
2097
+ case ChatMessageRole.Assistant: return LanguageModelChatMessageRole$1.Assistant;
2098
+ }
2099
+ }
2100
+ LanguageModelChatMessageRole.to = to;
2101
+ function from(role) {
2102
+ switch (role) {
2103
+ case LanguageModelChatMessageRole$1.System: return ChatMessageRole.System;
2104
+ case LanguageModelChatMessageRole$1.User: return ChatMessageRole.User;
2105
+ case LanguageModelChatMessageRole$1.Assistant: return ChatMessageRole.Assistant;
2106
+ }
2107
+ return ChatMessageRole.User;
2108
+ }
2109
+ LanguageModelChatMessageRole.from = from;
2110
+ })(LanguageModelChatMessageRole || (LanguageModelChatMessageRole = {})));
2089
2111
  var LanguageModelChatMessage;
2090
2112
  ( (function(LanguageModelChatMessage) {
2091
2113
  function to(message) {
2092
- switch (message.role) {
2093
- case ChatMessageRole.System: return new LanguageModelChatMessage$1(LanguageModelChatMessageRole.System, message.content);
2094
- case ChatMessageRole.User: return new LanguageModelChatMessage$1(LanguageModelChatMessageRole.User, message.content);
2095
- case ChatMessageRole.Assistant: return new LanguageModelChatMessage$1(LanguageModelChatMessageRole.Assistant, message.content);
2114
+ let content = '';
2115
+ let content2;
2116
+ if (message.content.type === 'text') {
2117
+ content = message.content.value;
2118
+ }
2119
+ else {
2120
+ content2 = new LanguageModelFunctionResultPart(message.content.name, message.content.value, message.content.isError);
2096
2121
  }
2122
+ const role = LanguageModelChatMessageRole.to(message.role);
2123
+ const result = new LanguageModelChatMessage$1(role, content, message.name);
2124
+ if (content2 !== undefined) {
2125
+ result.content2 = content2;
2126
+ }
2127
+ return result;
2097
2128
  }
2098
2129
  LanguageModelChatMessage.to = to;
2099
2130
  function from(message) {
2100
- switch (message.role) {
2101
- case LanguageModelChatMessageRole.System: return { role: ChatMessageRole.System, content: message.content };
2102
- case LanguageModelChatMessageRole.User: return { role: ChatMessageRole.User, content: message.content };
2103
- case LanguageModelChatMessageRole.Assistant: return { role: ChatMessageRole.Assistant, content: message.content };
2131
+ const role = LanguageModelChatMessageRole.from(message.role);
2132
+ const name = message.name;
2133
+ let content;
2134
+ if (message.content2 instanceof LanguageModelFunctionResultPart) {
2135
+ content = {
2136
+ type: 'function_result',
2137
+ name: message.content2.name,
2138
+ value: message.content2.content,
2139
+ isError: message.content2.isError
2140
+ };
2141
+ }
2142
+ else {
2143
+ content = {
2144
+ type: 'text',
2145
+ value: message.content
2146
+ };
2104
2147
  }
2148
+ return {
2149
+ role,
2150
+ name,
2151
+ content
2152
+ };
2105
2153
  }
2106
2154
  LanguageModelChatMessage.from = from;
2107
2155
  })(LanguageModelChatMessage || (LanguageModelChatMessage = {})));
@@ -2568,4 +2616,15 @@ var DebugTreeItem;
2568
2616
  }
2569
2617
  DebugTreeItem.from = from;
2570
2618
  })(DebugTreeItem || (DebugTreeItem = {})));
2571
- export { CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, ChatAgentCompletionItem, ChatAgentRequest, ChatAgentResult, ChatAgentUserActionEvent, ChatAgentValueReference, ChatFollowup, ChatLocation, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseConfirmationPart, ChatResponseDetectedParticipantPart, ChatResponseFilesPart, ChatResponseMarkdownPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponsePart, ChatResponseProgressPart, ChatResponseReferencePart, ChatResponseTextEditPart, ChatResponseWarningPart, ChatTask, ChatTaskResult, CodeActionTriggerKind, Color, ColorPresentation, CompletionContext, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, DataTransfer, DataTransferItem, DebugTreeItem, DecorationRangeBehavior, DecorationRenderOptions, DefinitionLink, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, DocumentHighlight, DocumentLink, DocumentSelector, DocumentSymbol, EndOfLine, EvaluatableExpression, FoldingRange, FoldingRangeKind, GlobPattern, Hover, InlayHint, InlayHintKind, InlayHintLabelPart, InlineValue, InlineValueContext, LanguageModelChatMessage, LanguageSelector, Location, MappedEditsContext, MarkdownString, MultiDocumentHighlight, NotebookCellData, NotebookCellExecutionState, NotebookCellExecutionSummary, NotebookCellKind, NotebookCellOutput, NotebookCellOutputItem, NotebookData, NotebookDocumentContentOptions, NotebookExclusiveDocumentPattern, NotebookKernelSourceAction, NotebookRange, NotebookRendererScript, NotebookStatusBarItem, ParameterInformation, PartialAcceptInfo, PartialAcceptTriggerKind, Position, ProgressLocation, Range, Selection, SelectionRange, SignatureHelp, SignatureInformation, SymbolKind, SymbolTag, TerminalQuickFix, TestCoverage, TestItem, TestMessage, TestResults, TestTag, TextDocumentSaveReason, TextEdit, TextEditorLineNumbersStyle, TextEditorOpenOptions, ThemableDecorationAttachmentRenderOptions, ThemableDecorationRenderOptions, TokenType, TypeHierarchyItem, ViewBadge, ViewColumn, WorkspaceEdit, WorkspaceSymbol, fromRangeOrRangeWithMessage, isDecorationOptionsArr, location, pathOrURIToURI };
2619
+ var LanguageModelToolDescription;
2620
+ ( (function(LanguageModelToolDescription) {
2621
+ function to(item) {
2622
+ return {
2623
+ name: item.name,
2624
+ description: item.description,
2625
+ parametersSchema: item.parametersSchema,
2626
+ };
2627
+ }
2628
+ LanguageModelToolDescription.to = to;
2629
+ })(LanguageModelToolDescription || (LanguageModelToolDescription = {})));
2630
+ export { CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, ChatAgentCompletionItem, ChatAgentRequest, ChatAgentResult, ChatAgentUserActionEvent, ChatAgentValueReference, ChatFollowup, ChatLocation, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseConfirmationPart, ChatResponseDetectedParticipantPart, ChatResponseFilesPart, ChatResponseMarkdownPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponsePart, ChatResponseProgressPart, ChatResponseReferencePart, ChatResponseTextEditPart, ChatResponseWarningPart, ChatTask, ChatTaskResult, CodeActionTriggerKind, Color, ColorPresentation, CompletionContext, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, DataTransfer, DataTransferItem, DebugTreeItem, DecorationRangeBehavior, DecorationRenderOptions, DefinitionLink, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, DocumentHighlight, DocumentLink, DocumentSelector, DocumentSymbol, EndOfLine, EvaluatableExpression, FoldingRange, FoldingRangeKind, GlobPattern, Hover, InlayHint, InlayHintKind, InlayHintLabelPart, InlineValue, InlineValueContext, LanguageModelChatMessage, LanguageModelChatMessageRole, LanguageModelToolDescription, LanguageSelector, Location, MappedEditsContext, MarkdownString, MultiDocumentHighlight, NotebookCellData, NotebookCellExecutionState, NotebookCellExecutionSummary, NotebookCellKind, NotebookCellOutput, NotebookCellOutputItem, NotebookData, NotebookDocumentContentOptions, NotebookExclusiveDocumentPattern, NotebookKernelSourceAction, NotebookRange, NotebookRendererScript, NotebookStatusBarItem, ParameterInformation, PartialAcceptInfo, PartialAcceptTriggerKind, Position, ProgressLocation, Range, Selection, SelectionRange, SignatureHelp, SignatureInformation, SymbolKind, SymbolTag, TerminalQuickFix, TestCoverage, TestItem, TestMessage, TestResults, TestTag, TextDocumentSaveReason, TextEdit, TextEditorLineNumbersStyle, TextEditorOpenOptions, ThemableDecorationAttachmentRenderOptions, ThemableDecorationRenderOptions, TokenType, TypeHierarchyItem, ViewBadge, ViewColumn, WorkspaceEdit, WorkspaceSymbol, fromRangeOrRangeWithMessage, isDecorationOptionsArr, location, pathOrURIToURI };
@@ -3214,12 +3214,12 @@ class FileCoverage {
3214
3214
  coverage.detailedCoverage = details;
3215
3215
  return coverage;
3216
3216
  }
3217
- constructor(uri, statementCoverage, branchCoverage, declarationCoverage, testItem) {
3217
+ constructor(uri, statementCoverage, branchCoverage, declarationCoverage, fromTests = []) {
3218
3218
  this.uri = uri;
3219
3219
  this.statementCoverage = statementCoverage;
3220
3220
  this.branchCoverage = branchCoverage;
3221
3221
  this.declarationCoverage = declarationCoverage;
3222
- this.testItem = testItem;
3222
+ this.fromTests = fromTests;
3223
3223
  }
3224
3224
  }
3225
3225
  class StatementCoverage {
@@ -3492,9 +3492,22 @@ var LanguageModelChatMessageRole;
3492
3492
  LanguageModelChatMessageRole[LanguageModelChatMessageRole["Assistant"] = 2] = "Assistant";
3493
3493
  LanguageModelChatMessageRole[LanguageModelChatMessageRole["System"] = 3] = "System";
3494
3494
  })(LanguageModelChatMessageRole || (LanguageModelChatMessageRole = {})));
3495
+ class LanguageModelFunctionResultPart {
3496
+ constructor(name, content, isError) {
3497
+ this.name = name;
3498
+ this.content = content;
3499
+ this.isError = isError ?? false;
3500
+ }
3501
+ }
3495
3502
  class LanguageModelChatMessage {
3496
3503
  static User(content, name) {
3497
- return ( new LanguageModelChatMessage(LanguageModelChatMessageRole.User, content, name));
3504
+ const value = ( new LanguageModelChatMessage(
3505
+ LanguageModelChatMessageRole.User,
3506
+ typeof content === 'string' ? content : '',
3507
+ name
3508
+ ));
3509
+ value.content2 = content;
3510
+ return value;
3498
3511
  }
3499
3512
  static Assistant(content, name) {
3500
3513
  return ( new LanguageModelChatMessage(LanguageModelChatMessageRole.Assistant, content, name));
@@ -3502,7 +3515,19 @@ class LanguageModelChatMessage {
3502
3515
  constructor(role, content, name) {
3503
3516
  this.role = role;
3504
3517
  this.content = content;
3518
+ this.content2 = content;
3519
+ this.name = name;
3520
+ }
3521
+ }
3522
+ class LanguageModelFunctionUsePart {
3523
+ constructor(name, parameters) {
3505
3524
  this.name = name;
3525
+ this.parameters = parameters;
3526
+ }
3527
+ }
3528
+ class LanguageModelTextPart {
3529
+ constructor(value) {
3530
+ this.value = value;
3506
3531
  }
3507
3532
  }
3508
3533
  class LanguageModelChatSystemMessage {
@@ -3575,4 +3600,4 @@ var InlineEditTriggerKind;
3575
3600
  InlineEditTriggerKind[InlineEditTriggerKind["Invoke"] = 0] = "Invoke";
3576
3601
  InlineEditTriggerKind[InlineEditTriggerKind["Automatic"] = 1] = "Automatic";
3577
3602
  })(InlineEditTriggerKind || (InlineEditTriggerKind = {})));
3578
- export { BranchCoverage, Breakpoint, CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, ChatCompletionItem, ChatCopyKind, ChatEditorTabInput, ChatLocation, ChatRequestTurn, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseConfirmationPart, ChatResponseDetectedParticipantPart, ChatResponseFileTreePart, ChatResponseMarkdownPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseProgressPart, ChatResponseProgressPart2, ChatResponseReferencePart, ChatResponseTextEditPart, ChatResponseTurn, ChatResponseWarningPart, ChatResultFeedbackKind, ChatVariableLevel, CodeAction, CodeActionKind, CodeActionTriggerKind, CodeLens, Color, ColorInformation, ColorPresentation, ColorTheme, ColorThemeKind, CommentMode, CommentState, CommentThreadApplicability, CommentThreadCollapsibleState, CommentThreadState, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionList, CompletionTriggerKind, ConfigurationTarget, CustomEditorTabInput, CustomExecution, DataBreakpoint, DataTransfer, DataTransferFile, DataTransferItem, DebugAdapterExecutable, DebugAdapterInlineImplementation, DebugAdapterNamedPipeServer, DebugAdapterServer, DebugConsoleMode, DebugStackFrame, DebugThread, DebugVisualization, DeclarationCoverage, DecorationRangeBehavior, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Disposable, DocumentDropEdit, DocumentDropOrPasteEditKind, DocumentHighlight, DocumentHighlightKind, DocumentLink, DocumentPasteEdit, DocumentPasteTriggerKind, DocumentSymbol, EndOfLine, EnvironmentVariableMutatorType, EvaluatableExpression, ExtensionKind, ExtensionMode, ExtensionRuntime, ExternalUriOpenerPriority, FileChangeType, FileCoverage, FileDecoration, FileEditType, FileSystemError, FoldingRange, FoldingRangeKind, FunctionBreakpoint, Hover, HoverVerbosityAction, InlayHint, InlayHintKind, InlayHintLabelPart, InlineCompletionTriggerKind, InlineEdit, InlineEditTriggerKind, InlineSuggestion, InlineSuggestionList, InlineValueContext, InlineValueEvaluatableExpression, InlineValueText, InlineValueVariableLookup, InputBoxValidationSeverity, InteractiveEditorResponseFeedbackKind, InteractiveSessionVoteDirection, InteractiveWindowInput, InternalDataTransferItem, InternalFileDataTransferItem, KeywordRecognitionStatus, LanguageModelChatAssistantMessage, LanguageModelChatMessage, LanguageModelChatMessageRole, LanguageModelChatSystemMessage, LanguageModelChatUserMessage, LanguageModelError, LanguageStatusSeverity, LinkedEditingRanges, Location, ManagedResolvedAuthority, MarkdownString, MultiDocumentHighlight, NewSymbolName, NewSymbolNameTag, NewSymbolNameTriggerKind, NotebookCellData, NotebookCellExecutionState, NotebookCellKind, NotebookCellOutput, NotebookCellOutputItem, NotebookCellStatusBarAlignment, NotebookCellStatusBarItem, NotebookControllerAffinity, NotebookControllerAffinity2, NotebookData, NotebookDiffEditorTabInput, NotebookEdit, NotebookEditorRevealType, NotebookEditorTabInput, NotebookKernelSourceAction, NotebookRange, NotebookRendererScript, NotebookVariablesRequestKind, ParameterInformation, PartialAcceptTriggerKind, PortAttributes, PortAutoForwardAction, Position, ProcessExecution, ProgressLocation, QuickInputButtons, QuickPickItemKind, Range, RelatedInformationType, RelativePattern, RemoteAuthorityResolverError, ResolvedAuthority, Selection, SelectionRange, SemanticTokens, SemanticTokensBuilder, SemanticTokensEdit, SemanticTokensEdits, SemanticTokensLegend, ShellExecution, ShellQuoting, SignatureHelp, SignatureHelpTriggerKind, SignatureInformation, SnippetString, SnippetTextEdit, SourceBreakpoint, SourceControlInputBoxValidationType, SpeechToTextStatus, StandardTokenType, StatementCoverage, StatusBarAlignment, SymbolInformation, SymbolKind, SymbolTag, SyntaxTokenType, Task, TaskGroup, TaskPanelKind, TaskRevealKind, TaskScope, TerminalEditorTabInput, TerminalExitReason, TerminalLink, TerminalLocation, TerminalOutputAnchor, TerminalProfile, TerminalQuickFixCommand, TerminalQuickFixOpener, TerminalShellExecutionCommandLineConfidence, TestCoverageCount, TestMessage, TestResultState, TestRunProfileKind, TestRunRequest, TestTag, TextDiffTabInput, TextDocumentChangeReason, TextDocumentSaveReason, TextEdit, TextEditorLineNumbersStyle, TextEditorRevealType, TextEditorSelectionChangeKind, TextMergeTabInput, TextMultiDiffTabInput, TextTabInput, TextToSpeechStatus, ThemeColor, ThemeIcon, TimelineItem, TreeItem, TreeItemCheckboxState, TreeItemCollapsibleState, TypeHierarchyItem, VerboseHover, ViewBadge, ViewColumn, WebviewEditorTabInput, WorkspaceEdit, WorkspaceTrustState, asStatusBarItemIdentifier, setBreakpointId, validateTestCoverageCount };
3603
+ export { BranchCoverage, Breakpoint, CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, ChatCompletionItem, ChatCopyKind, ChatEditorTabInput, ChatLocation, ChatRequestTurn, ChatResponseAnchorPart, ChatResponseCommandButtonPart, ChatResponseConfirmationPart, ChatResponseDetectedParticipantPart, ChatResponseFileTreePart, ChatResponseMarkdownPart, ChatResponseMarkdownWithVulnerabilitiesPart, ChatResponseProgressPart, ChatResponseProgressPart2, ChatResponseReferencePart, ChatResponseTextEditPart, ChatResponseTurn, ChatResponseWarningPart, ChatResultFeedbackKind, ChatVariableLevel, CodeAction, CodeActionKind, CodeActionTriggerKind, CodeLens, Color, ColorInformation, ColorPresentation, ColorTheme, ColorThemeKind, CommentMode, CommentState, CommentThreadApplicability, CommentThreadCollapsibleState, CommentThreadState, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionList, CompletionTriggerKind, ConfigurationTarget, CustomEditorTabInput, CustomExecution, DataBreakpoint, DataTransfer, DataTransferFile, DataTransferItem, DebugAdapterExecutable, DebugAdapterInlineImplementation, DebugAdapterNamedPipeServer, DebugAdapterServer, DebugConsoleMode, DebugStackFrame, DebugThread, DebugVisualization, DeclarationCoverage, DecorationRangeBehavior, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Disposable, DocumentDropEdit, DocumentDropOrPasteEditKind, DocumentHighlight, DocumentHighlightKind, DocumentLink, DocumentPasteEdit, DocumentPasteTriggerKind, DocumentSymbol, EndOfLine, EnvironmentVariableMutatorType, EvaluatableExpression, ExtensionKind, ExtensionMode, ExtensionRuntime, ExternalUriOpenerPriority, FileChangeType, FileCoverage, FileDecoration, FileEditType, FileSystemError, FoldingRange, FoldingRangeKind, FunctionBreakpoint, Hover, HoverVerbosityAction, InlayHint, InlayHintKind, InlayHintLabelPart, InlineCompletionTriggerKind, InlineEdit, InlineEditTriggerKind, InlineSuggestion, InlineSuggestionList, InlineValueContext, InlineValueEvaluatableExpression, InlineValueText, InlineValueVariableLookup, InputBoxValidationSeverity, InteractiveEditorResponseFeedbackKind, InteractiveSessionVoteDirection, InteractiveWindowInput, InternalDataTransferItem, InternalFileDataTransferItem, KeywordRecognitionStatus, LanguageModelChatAssistantMessage, LanguageModelChatMessage, LanguageModelChatMessageRole, LanguageModelChatSystemMessage, LanguageModelChatUserMessage, LanguageModelError, LanguageModelFunctionResultPart, LanguageModelFunctionUsePart, LanguageModelTextPart, LanguageStatusSeverity, LinkedEditingRanges, Location, ManagedResolvedAuthority, MarkdownString, MultiDocumentHighlight, NewSymbolName, NewSymbolNameTag, NewSymbolNameTriggerKind, NotebookCellData, NotebookCellExecutionState, NotebookCellKind, NotebookCellOutput, NotebookCellOutputItem, NotebookCellStatusBarAlignment, NotebookCellStatusBarItem, NotebookControllerAffinity, NotebookControllerAffinity2, NotebookData, NotebookDiffEditorTabInput, NotebookEdit, NotebookEditorRevealType, NotebookEditorTabInput, NotebookKernelSourceAction, NotebookRange, NotebookRendererScript, NotebookVariablesRequestKind, ParameterInformation, PartialAcceptTriggerKind, PortAttributes, PortAutoForwardAction, Position, ProcessExecution, ProgressLocation, QuickInputButtons, QuickPickItemKind, Range, RelatedInformationType, RelativePattern, RemoteAuthorityResolverError, ResolvedAuthority, Selection, SelectionRange, SemanticTokens, SemanticTokensBuilder, SemanticTokensEdit, SemanticTokensEdits, SemanticTokensLegend, ShellExecution, ShellQuoting, SignatureHelp, SignatureHelpTriggerKind, SignatureInformation, SnippetString, SnippetTextEdit, SourceBreakpoint, SourceControlInputBoxValidationType, SpeechToTextStatus, StandardTokenType, StatementCoverage, StatusBarAlignment, SymbolInformation, SymbolKind, SymbolTag, SyntaxTokenType, Task, TaskGroup, TaskPanelKind, TaskRevealKind, TaskScope, TerminalEditorTabInput, TerminalExitReason, TerminalLink, TerminalLocation, TerminalOutputAnchor, TerminalProfile, TerminalQuickFixCommand, TerminalQuickFixOpener, TerminalShellExecutionCommandLineConfidence, TestCoverageCount, TestMessage, TestResultState, TestRunProfileKind, TestRunRequest, TestTag, TextDiffTabInput, TextDocumentChangeReason, TextDocumentSaveReason, TextEdit, TextEditorLineNumbersStyle, TextEditorRevealType, TextEditorSelectionChangeKind, TextMergeTabInput, TextMultiDiffTabInput, TextTabInput, TextToSpeechStatus, ThemeColor, ThemeIcon, TimelineItem, TreeItem, TreeItemCheckboxState, TreeItemCollapsibleState, TypeHierarchyItem, VerboseHover, ViewBadge, ViewColumn, WebviewEditorTabInput, WorkspaceEdit, WorkspaceTrustState, asStatusBarItemIdentifier, setBreakpointId, validateTestCoverageCount };
@@ -100,7 +100,7 @@ class ExtHostWorkspaceImpl extends Workspace$1 {
100
100
  this._name = _name;
101
101
  this._isUntitled = _isUntitled;
102
102
  this._workspaceFolders = [];
103
- this._structure = TernarySearchTree.forUris(ignorePathCasing);
103
+ this._structure = TernarySearchTree.forUris(ignorePathCasing, () => true);
104
104
  folders.forEach(folder => {
105
105
  this._workspaceFolders.push(folder);
106
106
  this._structure.set(folder.uri, folder);
@@ -52,7 +52,7 @@ class InspectContextKeysAction extends Action2 {
52
52
  const hoverFeedback = document.createElement('div');
53
53
  const activeDocument = getActiveDocument();
54
54
  activeDocument.body.appendChild(hoverFeedback);
55
- disposables.add(toDisposable(() => activeDocument.body.removeChild(hoverFeedback)));
55
+ disposables.add(toDisposable(() => hoverFeedback.remove()));
56
56
  hoverFeedback.style.position = 'absolute';
57
57
  hoverFeedback.style.pointerEvents = 'none';
58
58
  hoverFeedback.style.backgroundColor = 'rgba(255, 0, 0, 0.5)';