@codingame/monaco-vscode-api 33.0.8 → 34.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 (869) hide show
  1. package/extensions.d.ts +1 -1
  2. package/missing-services.js +191 -11
  3. package/package.json +10 -9
  4. package/services.d.ts +6 -0
  5. package/services.js +9 -3
  6. package/vscode/product.json.js +1 -1
  7. package/vscode/src/vs/base/browser/markdownRenderer.js +15 -9
  8. package/vscode/src/vs/base/browser/ui/button/button.css +10 -0
  9. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  10. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +3 -1
  11. package/vscode/src/vs/base/browser/ui/dialog/dialog.css +1 -1
  12. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +3 -5
  13. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +3 -3
  14. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css +1 -0
  15. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabels.d.ts +2 -2
  16. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabels.js +8 -4
  17. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.d.ts +1 -0
  18. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +3 -0
  19. package/vscode/src/vs/base/browser/ui/menu/menu.js +15 -0
  20. package/vscode/src/vs/base/browser/ui/toggle/toggle.css +6 -0
  21. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +6 -0
  22. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +3 -0
  23. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +10 -4
  24. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +8 -1
  25. package/vscode/src/vs/base/common/codicons.d.ts +58 -0
  26. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +59 -0
  27. package/vscode/src/vs/base/common/codiconsLibrary.js +59 -0
  28. package/vscode/src/vs/base/common/collections.d.ts +12 -4
  29. package/vscode/src/vs/base/common/collections.js +15 -1
  30. package/vscode/src/vs/base/common/defaultAccount.d.ts +24 -0
  31. package/vscode/src/vs/base/common/extpath.d.ts +1 -1
  32. package/vscode/src/vs/base/common/extpath.js +7 -2
  33. package/vscode/src/vs/base/common/htmlContent.js +3 -1
  34. package/vscode/src/vs/base/common/managedSettings.d.ts +19 -0
  35. package/vscode/src/vs/base/common/map.d.ts +13 -13
  36. package/vscode/src/vs/base/common/map.js +3 -0
  37. package/vscode/src/vs/base/common/oauth.d.ts +47 -0
  38. package/vscode/src/vs/base/common/oauth.js +40 -1
  39. package/vscode/src/vs/base/common/observableInternal/map.d.ts +4 -4
  40. package/vscode/src/vs/base/common/observableInternal/set.d.ts +5 -5
  41. package/vscode/src/vs/base/common/product.d.ts +1 -0
  42. package/vscode/src/vs/base/common/resources.js +1 -1
  43. package/vscode/src/vs/base/parts/ipc/common/ipc.d.ts +2 -1
  44. package/vscode/src/vs/base/parts/ipc/common/ipc.js +29 -9
  45. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +7 -6
  46. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +1 -1
  47. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +9 -4
  48. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.d.ts +2 -2
  49. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
  50. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +15 -9
  51. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +1 -1
  52. package/vscode/src/vs/editor/common/config/editorOptions.js +370 -370
  53. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +72 -72
  54. package/vscode/src/vs/editor/common/diff/externalLinesDiffComputer.d.ts +2 -0
  55. package/vscode/src/vs/editor/common/diff/externalLinesDiffComputer.js +79 -0
  56. package/vscode/src/vs/editor/common/diff/linesDiffComputers.d.ts +3 -0
  57. package/vscode/src/vs/editor/common/diff/linesDiffComputers.js +4 -1
  58. package/vscode/src/vs/editor/common/editorContextKeys.js +49 -49
  59. package/vscode/src/vs/editor/common/languages/languageConfiguration.d.ts +0 -1
  60. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  61. package/vscode/src/vs/editor/common/languages.js +56 -56
  62. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  63. package/vscode/src/vs/editor/common/services/editorWebWorker.d.ts +2 -2
  64. package/vscode/src/vs/editor/common/services/editorWebWorker.js +19 -7
  65. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +1 -1
  66. package/vscode/src/vs/editor/common/standaloneStrings.js +50 -50
  67. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +1 -1
  68. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  69. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  70. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  71. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  72. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  73. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  74. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  75. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +18 -18
  76. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  77. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  78. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  79. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  80. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  81. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  82. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  83. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  84. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  85. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  86. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +13 -13
  87. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  88. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  89. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  90. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +5 -5
  91. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  92. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  93. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  94. package/vscode/src/vs/editor/contrib/find/browser/findController.js +17 -17
  95. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +28 -28
  96. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  97. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  98. package/vscode/src/vs/editor/contrib/folding/browser/indentRangeProvider.js +28 -3
  99. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  100. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  101. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  102. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +17 -14
  103. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +33 -33
  104. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  105. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  106. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  107. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  108. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  109. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  110. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  111. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  112. package/vscode/src/vs/editor/contrib/hover/browser/hover.css +1 -1
  113. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  114. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  115. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +22 -22
  116. package/vscode/src/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  117. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +7 -7
  118. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  119. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  120. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +18 -18
  121. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -5
  122. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  123. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  124. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  125. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  126. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +4 -4
  127. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +0 -1
  128. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +2 -2
  129. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +13 -9
  130. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +2 -2
  131. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  132. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -1
  133. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +2 -2
  134. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  135. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  136. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  137. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  138. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  139. package/vscode/src/vs/editor/contrib/links/browser/links.js +6 -6
  140. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  141. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  142. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  143. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  144. package/vscode/src/vs/editor/contrib/peekView/browser/media/peekViewWidget.css +1 -1
  145. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  146. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  147. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  148. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +11 -11
  149. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  150. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  151. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  152. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css +1 -1
  153. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  154. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  155. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
  156. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  157. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  158. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  159. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
  160. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.d.ts +8 -8
  161. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +19 -14
  162. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.d.ts +1 -1
  163. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +22 -21
  164. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  165. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  166. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  167. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  168. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  169. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  170. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  171. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  172. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  173. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  174. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  175. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  176. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +6 -0
  177. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  178. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  179. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -2
  180. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +9 -8
  181. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +12 -0
  182. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +12 -12
  183. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +77 -0
  184. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +191 -0
  185. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +7 -5
  186. package/vscode/src/vs/platform/actions/browser/toolbar.js +10 -3
  187. package/vscode/src/vs/platform/actions/common/actions.d.ts +5 -0
  188. package/vscode/src/vs/platform/actions/common/actions.js +15 -0
  189. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  190. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  191. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.d.ts +12 -4
  192. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.js +20 -2
  193. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.service.d.ts +70 -0
  194. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.service.js +6 -0
  195. package/vscode/src/vs/platform/agentHost/common/agentPluginManager.d.ts +2 -2
  196. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +48 -4
  197. package/vscode/src/vs/platform/agentHost/common/relayTransport.d.ts +46 -0
  198. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.d.ts +12 -1
  199. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.js +25 -1
  200. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.d.ts +21 -2
  201. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.d.ts +4 -9
  202. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.d.ts +2 -2
  203. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -4
  204. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +6 -1054
  205. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/actions.d.ts +103 -0
  206. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/commands.d.ts +97 -0
  207. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/commands.js +9 -0
  208. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/state.d.ts +189 -0
  209. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/state.js +22 -0
  210. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-otlp/notifications.d.ts +112 -0
  211. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-otlp/state.d.ts +57 -0
  212. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/actions.d.ts +21 -0
  213. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/commands.d.ts +80 -0
  214. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state.d.ts +62 -0
  215. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state.js +10 -0
  216. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/actions.d.ts +56 -0
  217. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/commands.d.ts +164 -0
  218. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/notifications.d.ts +129 -0
  219. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/state.d.ts +130 -0
  220. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/state.js +10 -0
  221. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/actions.d.ts +774 -0
  222. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/commands.d.ts +254 -0
  223. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/commands.js +8 -0
  224. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/state.d.ts +1751 -0
  225. package/vscode/src/vs/platform/agentHost/common/state/protocol/{state.js → channels-session/state.js} +43 -19
  226. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/actions.d.ts +179 -0
  227. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/commands.d.ts +44 -0
  228. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/state.d.ts +144 -0
  229. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/state.js +9 -0
  230. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +6 -973
  231. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/actions.d.ts +104 -0
  232. package/vscode/src/vs/platform/agentHost/common/state/protocol/{actions.js → common/actions.js} +12 -1
  233. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/commands.d.ts +812 -0
  234. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/commands.js +26 -0
  235. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/messages.d.ts +373 -0
  236. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/state.d.ts +278 -0
  237. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -0
  238. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +1 -302
  239. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +3 -0
  240. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +7 -1678
  241. package/vscode/src/vs/platform/agentHost/common/state/protocolUpgrade.d.ts +1 -1
  242. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +8 -5
  243. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +4 -1
  244. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +123 -5
  245. package/vscode/src/vs/platform/agentHost/common/state/sessionState.js +30 -7
  246. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +171 -0
  247. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +603 -0
  248. package/vscode/src/vs/platform/browserView/common/browserHistory.d.ts +115 -0
  249. package/vscode/src/vs/platform/browserView/common/browserHistory.js +259 -0
  250. package/vscode/src/vs/platform/browserView/common/browserView.d.ts +97 -18
  251. package/vscode/src/vs/platform/browserView/common/browserView.js +5 -0
  252. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
  253. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  254. package/vscode/src/vs/platform/contextkey/common/contextkey.js +10 -10
  255. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  256. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  257. package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.d.ts +1 -1
  258. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +15 -1
  259. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.js +2 -1
  260. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +4 -1
  261. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +4 -1
  262. package/vscode/src/vs/platform/diagnostics/common/diagnostics.js +1 -1
  263. package/vscode/src/vs/platform/diagnostics/common/diagnostics.service.d.ts +4 -1
  264. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  265. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  266. package/vscode/src/vs/platform/editor/common/editor.d.ts +23 -0
  267. package/vscode/src/vs/platform/editor/common/editor.js +4 -1
  268. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -1
  269. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
  270. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  271. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  272. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
  273. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +3 -0
  274. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +3 -0
  275. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  276. package/vscode/src/vs/platform/files/common/files.js +6 -6
  277. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  278. package/vscode/src/vs/platform/hover/browser/hover.css +1 -1
  279. package/vscode/src/vs/platform/hover/browser/hoverService.js +6 -0
  280. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +1 -1
  281. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  282. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  283. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  284. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  285. package/vscode/src/vs/platform/list/browser/listService.d.ts +5 -3
  286. package/vscode/src/vs/platform/list/browser/listService.js +29 -26
  287. package/vscode/src/vs/platform/log/common/log.js +6 -6
  288. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  289. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  290. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +1 -1
  291. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +5 -5
  292. package/vscode/src/vs/platform/native/common/native.d.ts +12 -0
  293. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  294. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  295. package/vscode/src/vs/platform/product/common/product.js +3 -3
  296. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +8 -0
  297. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  298. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  299. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +32 -10
  300. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +4 -4
  301. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  302. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
  303. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  304. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  305. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +12 -0
  306. package/vscode/src/vs/platform/remote/common/remoteHosts.d.ts +8 -0
  307. package/vscode/src/vs/platform/request/common/request.d.ts +11 -1
  308. package/vscode/src/vs/platform/request/common/request.js +39 -21
  309. package/vscode/src/vs/platform/sandbox/common/sandboxHelperService.d.ts +87 -0
  310. package/vscode/src/vs/platform/sandbox/common/sandboxHelperService.service.d.ts +4 -1
  311. package/vscode/src/vs/platform/sandbox/common/settings.d.ts +10 -1
  312. package/vscode/src/vs/platform/sandbox/common/settings.js +9 -0
  313. package/vscode/src/vs/platform/sandbox/common/terminalSandboxMxcRuntime.service.d.ts +13 -0
  314. package/vscode/src/vs/platform/sandbox/common/terminalSandboxMxcRuntime.service.js +6 -0
  315. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.service.d.ts +8 -7
  316. package/vscode/src/vs/platform/telemetry/common/telemetry.service.d.ts +1 -1
  317. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +52 -31
  318. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +7 -1
  319. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.d.ts +3 -1
  320. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +7 -2
  321. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +34 -34
  322. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
  323. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +8 -7
  324. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +2 -2
  325. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  326. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +19 -19
  327. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  328. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  329. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +54 -49
  330. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  331. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  332. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  333. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
  334. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +10 -10
  335. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  336. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  337. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.d.ts +15 -0
  338. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +26 -11
  339. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  340. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  341. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +4 -1
  342. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +8 -2
  343. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  344. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
  345. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
  346. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  347. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  348. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  349. package/vscode/src/vs/{workbench/services/workspaces/browser/workspaces.d.ts → platform/workspaces/common/workspaceIdentifier.d.ts} +2 -2
  350. package/vscode/src/vs/{workbench/services/workspaces/browser/workspaces.js → platform/workspaces/common/workspaceIdentifier.js} +1 -1
  351. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
  352. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +6 -0
  353. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +54 -2
  354. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  355. package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +27 -3
  356. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +65 -6
  357. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +1 -1
  358. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +6 -2
  359. package/vscode/src/vs/workbench/api/common/extHostChatQuota.d.ts +7 -0
  360. package/vscode/src/vs/workbench/api/common/extHostChatQuota.js +15 -0
  361. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  362. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  363. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
  364. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +2 -0
  365. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +63 -58
  366. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  367. package/vscode/src/vs/workbench/api/common/extHostMcp.js +18 -7
  368. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  369. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +2 -1
  370. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  371. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  372. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +18 -8
  373. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  374. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +1 -1
  375. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +2 -1
  376. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +14 -3
  377. package/vscode/src/vs/workbench/api/common/extHostXaaAuthProvider.d.ts +58 -0
  378. package/vscode/src/vs/workbench/api/common/extHostXaaAuthProvider.js +284 -0
  379. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
  380. package/vscode/src/vs/workbench/browser/actions/developerActions.js +57 -35
  381. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +141 -130
  382. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  383. package/vscode/src/vs/workbench/browser/actions/windowActions.js +29 -29
  384. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +21 -21
  385. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  386. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  387. package/vscode/src/vs/workbench/browser/labels.js +4 -4
  388. package/vscode/src/vs/workbench/browser/media/style.css +0 -1
  389. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +0 -1
  390. package/vscode/src/vs/workbench/browser/panecomposite.js +1 -3
  391. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +23 -23
  392. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +28 -28
  393. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +4 -4
  394. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  395. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +9 -9
  396. package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
  397. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +1 -1
  398. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +7 -5
  399. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  400. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  401. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +37 -37
  402. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.d.ts +2 -0
  403. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +30 -15
  404. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
  405. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -7
  406. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +135 -135
  407. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +25 -25
  408. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +1 -1
  409. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
  410. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +12 -12
  411. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  412. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +3 -1
  413. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +1 -1
  414. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
  415. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
  416. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
  417. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -3
  418. package/vscode/src/vs/workbench/browser/parts/editor/media/modalEditorPart.css +14 -2
  419. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +21 -12
  420. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1 -1
  421. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  422. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  423. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  424. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  425. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +19 -19
  426. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +22 -22
  427. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  428. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +6 -6
  429. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +15 -14
  430. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
  431. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
  432. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +2 -2
  433. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
  434. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +37 -35
  435. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +3 -3
  436. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +28 -28
  437. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +3 -3
  438. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +2 -2
  439. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
  440. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +10 -10
  441. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +15 -15
  442. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
  443. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  444. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -7
  445. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +4 -4
  446. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +5 -5
  447. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
  448. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  449. package/vscode/src/vs/workbench/browser/window.js +14 -14
  450. package/vscode/src/vs/workbench/browser/workbench.contribution.js +225 -225
  451. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  452. package/vscode/src/vs/workbench/common/contextkeys.d.ts +1 -0
  453. package/vscode/src/vs/workbench/common/contextkeys.js +84 -83
  454. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  455. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  456. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  457. package/vscode/src/vs/workbench/common/editor.d.ts +2 -1
  458. package/vscode/src/vs/workbench/common/editor.js +4 -4
  459. package/vscode/src/vs/workbench/common/theme.js +161 -161
  460. package/vscode/src/vs/workbench/common/views.d.ts +2 -3
  461. package/vscode/src/vs/workbench/common/views.js +4 -7
  462. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +156 -156
  463. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  464. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.d.ts +2 -0
  465. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.js +11 -3
  466. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.d.ts +29 -2
  467. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.js +108 -11
  468. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.d.ts +3 -1
  469. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +74 -67
  470. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.service.d.ts +21 -0
  471. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.service.js +6 -0
  472. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service.d.ts +12 -0
  473. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service.js +6 -0
  474. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service.d.ts +7 -3
  475. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +1 -1
  476. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +14 -14
  477. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.d.ts +9 -0
  478. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +41 -13
  479. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +30 -24
  480. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.service.d.ts +2 -8
  481. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +1 -1
  482. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -3
  483. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  484. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  485. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.service.d.ts +12 -0
  486. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.service.js +6 -0
  487. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageUtils.d.ts +11 -0
  488. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageUtils.js +56 -1
  489. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +8 -2
  490. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +2 -0
  491. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +72 -58
  492. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +11 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +11 -3
  494. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service.d.ts +5 -1
  495. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
  496. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +8 -1
  497. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +95 -87
  498. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +22 -5
  499. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +17 -2
  500. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +4 -0
  501. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +16 -3
  502. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +6 -3
  503. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +98 -48
  504. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +36 -1
  505. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +59 -7
  506. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.js +9 -3
  507. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +11 -0
  508. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +17 -3
  509. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +20 -7
  510. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +35 -10
  511. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +47 -41
  512. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.service.d.ts +27 -5
  513. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  514. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  515. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +23 -1
  516. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +237 -30
  517. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +29 -0
  518. package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.d.ts +2 -0
  519. package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.service.d.ts +2 -0
  520. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +6 -3
  521. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +36 -10
  522. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +1 -1
  523. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -3
  524. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +13 -13
  525. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +4 -0
  526. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +2 -1
  527. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +4 -1
  528. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +47 -19
  529. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +20 -20
  530. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +79 -79
  531. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +10 -10
  532. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +5 -0
  533. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +37 -1
  534. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +8 -0
  535. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +10 -5
  536. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +39 -29
  537. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +1 -1
  538. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.d.ts +2 -1
  539. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.js +7 -4
  540. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +19 -3
  541. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +8 -8
  542. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +5 -1
  543. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +11 -11
  544. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +7 -7
  545. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +2 -2
  546. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +3 -3
  547. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +4 -4
  548. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  549. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +4 -4
  550. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.service.d.ts +3 -2
  551. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  552. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  553. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  554. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  555. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
  556. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  557. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  558. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  559. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  560. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  561. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  562. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  563. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +12 -12
  564. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  565. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +97 -69
  566. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  567. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  568. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.d.ts +1 -2
  569. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +6 -12
  570. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  571. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  572. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  573. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  574. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  575. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  576. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
  577. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  578. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  579. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  580. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  581. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  582. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  583. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.js +3 -3
  584. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  585. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  586. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  587. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
  588. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  589. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  590. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.d.ts +11 -2
  591. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +116 -58
  592. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  593. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  594. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  595. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  596. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  597. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  598. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  599. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  600. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
  601. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  602. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  603. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.d.ts +2 -0
  604. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +14 -2
  605. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  606. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
  607. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  608. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  609. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  610. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  611. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  612. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  613. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  614. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  615. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
  616. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  617. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  618. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  619. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +175 -171
  620. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.d.ts +8 -1
  621. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +225 -190
  622. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  623. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  624. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  625. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +31 -25
  626. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  627. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  628. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.d.ts +3 -1
  629. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +107 -66
  630. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +6 -6
  631. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +39 -31
  632. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.d.ts +6 -0
  633. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +182 -81
  634. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  635. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css +26 -0
  636. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  637. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  638. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +4 -3
  639. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  640. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +2 -0
  641. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  642. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  643. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  644. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  645. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  646. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  647. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  648. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  649. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  650. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  651. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  652. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +87 -86
  653. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  654. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  655. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  656. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +28 -28
  657. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
  658. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  659. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  660. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +6 -0
  661. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  662. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  663. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.d.ts +17 -0
  664. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +18 -8
  665. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  666. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +9 -8
  667. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  668. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  669. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  670. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  671. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  672. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  673. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  674. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  675. package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletionLanguageStatusBarContribution.js +6 -6
  676. package/vscode/src/vs/workbench/contrib/issue/browser/githubUploadService.service.d.ts +11 -0
  677. package/vscode/src/vs/workbench/contrib/issue/browser/githubUploadService.service.js +6 -0
  678. package/vscode/src/vs/workbench/contrib/issue/browser/recordingService.d.ts +38 -0
  679. package/vscode/src/vs/workbench/contrib/issue/browser/recordingService.js +32 -0
  680. package/vscode/src/vs/workbench/contrib/issue/browser/recordingService.service.d.ts +46 -0
  681. package/vscode/src/vs/workbench/contrib/issue/browser/recordingService.service.js +6 -0
  682. package/vscode/src/vs/workbench/contrib/issue/browser/screenshotService.service.d.ts +10 -0
  683. package/vscode/src/vs/workbench/contrib/issue/browser/screenshotService.service.js +6 -0
  684. package/vscode/src/vs/workbench/contrib/issue/common/issue.service.d.ts +2 -1
  685. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  686. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  687. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
  688. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +40 -40
  689. package/vscode/src/vs/workbench/contrib/mcp/common/mcpCommandIds.d.ts +1 -0
  690. package/vscode/src/vs/workbench/contrib/mcp/common/mcpCommandIds.js +1 -0
  691. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.d.ts +18 -0
  692. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +55 -43
  693. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +15 -2
  694. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +75 -34
  695. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -2
  696. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +9 -6
  697. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  698. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  699. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  700. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  701. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +8 -8
  702. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +4 -4
  703. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  704. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
  705. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  706. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  707. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  708. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  709. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  710. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  711. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.d.ts +14 -1
  712. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +84 -12
  713. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
  714. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  715. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  716. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  717. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  718. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  719. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  720. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  721. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  722. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  723. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -4
  724. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  725. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  726. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  727. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  728. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +1 -1
  729. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  730. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  731. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  732. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
  733. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +60 -60
  734. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  735. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  736. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  737. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  738. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  739. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  740. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  741. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  742. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
  743. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.d.ts +6 -0
  744. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +42 -4
  745. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  746. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  747. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  748. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  749. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  750. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  751. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.d.ts +3 -0
  752. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +24 -22
  753. package/vscode/src/vs/workbench/contrib/search/browser/searchView.d.ts +3 -1
  754. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +96 -58
  755. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
  756. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  757. package/vscode/src/vs/workbench/contrib/search/common/search.js +1 -1
  758. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  759. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  760. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  761. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  762. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  763. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  764. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  765. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +6 -6
  766. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  767. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  768. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +11 -0
  769. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  770. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  771. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  772. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  773. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +10 -10
  774. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  775. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  776. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  777. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.d.ts +4 -1
  778. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +3 -0
  779. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  780. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  781. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +1 -0
  782. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +161 -78
  783. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  784. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  785. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +2 -2
  786. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
  787. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +14 -4
  788. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  789. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  790. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  791. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  792. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  793. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  794. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  795. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  796. package/vscode/src/vs/workbench/contrib/webview/browser/webview.d.ts +11 -0
  797. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +1 -1
  798. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
  799. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  800. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.d.ts +30 -0
  801. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.js +48 -15
  802. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  803. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +7 -4
  804. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +219 -23
  805. package/vscode/src/vs/workbench/services/accounts/browser/managedSettings.d.ts +45 -0
  806. package/vscode/src/vs/workbench/services/accounts/browser/managedSettings.js +63 -0
  807. package/vscode/src/vs/workbench/services/activity/browser/activityService.js +8 -2
  808. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service.d.ts +16 -1
  809. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.d.ts +2 -1
  810. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -13
  811. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +27 -1
  812. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +9 -1
  813. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  814. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +8 -0
  815. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +37 -21
  816. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +5 -0
  817. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  818. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  819. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  820. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +2 -2
  821. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +2 -2
  822. package/vscode/src/vs/workbench/services/environment/browser/environmentService.d.ts +1 -0
  823. package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +9 -0
  824. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  825. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  826. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +16 -12
  827. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
  828. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  829. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  830. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +1 -1
  831. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  832. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  833. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.js +1 -1
  834. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  835. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  836. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  837. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +2 -2
  838. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +30 -30
  839. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  840. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  841. package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +1 -0
  842. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +13 -1
  843. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  844. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  845. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  846. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  847. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  848. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  849. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  850. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  851. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  852. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  853. package/vscode-dts/vscode.proposed.authSessionAudience.d.ts +29 -0
  854. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +51 -0
  855. package/vscode-dts/vscode.proposed.chatPromptFiles.d.ts +1 -1
  856. package/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts +11 -3
  857. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +62 -0
  858. package/vscode-dts/vscode.proposed.d.ts +1 -0
  859. package/vscode-dts/vscode.proposed.languageModelPricing.d.ts +38 -0
  860. package/workbench.js +1 -1
  861. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.service.d.ts +0 -47
  862. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.service.js +0 -6
  863. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -18
  864. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.d.ts +0 -38
  865. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +0 -321
  866. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +0 -78
  867. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +0 -83
  868. /package/vscode/src/vs/{workbench/contrib/mcp → base}/common/uriTemplate.d.ts +0 -0
  869. /package/vscode/src/vs/{workbench/contrib/mcp → base}/common/uriTemplate.js +0 -0
@@ -0,0 +1,1751 @@
1
+ import type { ChangesetSummary } from "../channels-changeset/state.js";
2
+ import type { ModelSelection } from "../channels-root/state.js";
3
+ import type { ConfigPropertySchema, ContentRef, ErrorInfo, FileEdit, Icon, ProtectedResourceMetadata, StringOrMarkdown, TextRange, TextSelection, URI, UsageInfo } from "../common/state.js";
4
+ /**
5
+ * Discriminant for pending message kinds.
6
+ *
7
+ * @category Pending Message Types
8
+ */
9
+ export declare enum PendingMessageKind {
10
+ /** Injected into the current turn at a convenient point */
11
+ Steering = "steering",
12
+ /** Sent automatically as a new turn after the current turn finishes */
13
+ Queued = "queued"
14
+ }
15
+ /**
16
+ * A message queued for future delivery to the agent.
17
+ *
18
+ * Steering messages are injected into the current turn mid-flight.
19
+ * Queued messages are automatically started as new turns after the
20
+ * current turn naturally finishes.
21
+ *
22
+ * @category Pending Message Types
23
+ */
24
+ export interface PendingMessage {
25
+ /** Unique identifier for this pending message */
26
+ id: string;
27
+ /** The message that will start the next turn */
28
+ message: Message;
29
+ }
30
+ /**
31
+ * Session initialization state.
32
+ *
33
+ * @category Session State
34
+ */
35
+ export declare enum SessionLifecycle {
36
+ Creating = "creating",
37
+ Ready = "ready",
38
+ CreationFailed = "creationFailed"
39
+ }
40
+ /**
41
+ * Bitset of summary-level session status flags.
42
+ *
43
+ * Use bitwise checks instead of equality for non-terminal activity. For example,
44
+ * `status & SessionStatus.InProgress` matches both ordinary in-progress turns
45
+ * and turns that are paused waiting for input.
46
+ *
47
+ * @category Session State
48
+ */
49
+ export declare enum SessionStatus {
50
+ /** Session is idle — no turn is active. */
51
+ Idle = 1,
52
+ /** Session ended with an error. */
53
+ Error = 2,
54
+ /** A turn is actively streaming. */
55
+ InProgress = 8,
56
+ /** A turn is in progress but blocked waiting for user input or tool confirmation. */
57
+ InputNeeded = 24,
58
+ /** The client has viewed this session since its last modification. */
59
+ IsRead = 32,
60
+ /** The session has been archived by the client. */
61
+ IsArchived = 64
62
+ }
63
+ /**
64
+ * Full state for a single session, loaded when a client subscribes to the session's URI.
65
+ *
66
+ * @category Session State
67
+ */
68
+ export interface SessionState {
69
+ /** Lightweight session metadata */
70
+ summary: SessionSummary;
71
+ /** Session initialization state */
72
+ lifecycle: SessionLifecycle;
73
+ /** Error details if creation failed */
74
+ creationError?: ErrorInfo;
75
+ /** Tools provided by the server (agent host) for this session */
76
+ serverTools?: ToolDefinition[];
77
+ /** The client currently providing tools and interactive capabilities to this session */
78
+ activeClient?: SessionActiveClient;
79
+ /** Completed turns */
80
+ turns: Turn[];
81
+ /** Currently in-progress turn */
82
+ activeTurn?: ActiveTurn;
83
+ /** Message to inject into the current turn at a convenient point */
84
+ steeringMessage?: PendingMessage;
85
+ /** Messages to send automatically as new turns after the current turn finishes */
86
+ queuedMessages?: PendingMessage[];
87
+ /** Requests for user input that are currently blocking or informing session progress */
88
+ inputRequests?: SessionInputRequest[];
89
+ /** Session configuration schema and current values */
90
+ config?: SessionConfigState;
91
+ /**
92
+ * Top-level customizations active in this session.
93
+ *
94
+ * Always one of the {@link Customization} variants:
95
+ *
96
+ * - Container customizations ({@link PluginCustomization},
97
+ * {@link DirectoryCustomization}) whose children — agents, skills,
98
+ * prompts, rules, hooks, MCP servers — live in each container's
99
+ * {@link ContainerCustomizationBase.children | `children`} array.
100
+ * - Top-level {@link McpServerCustomization} entries the host
101
+ * surfaces directly (for example a globally-configured MCP server
102
+ * that isn't bundled in a plugin or directory). MCP servers may
103
+ * also appear as children of a container.
104
+ *
105
+ * Client-published plugins arrive via
106
+ * {@link SessionActiveClient.customizations | `activeClient.customizations`}
107
+ * and the host propagates them into this list (typically with the
108
+ * container's `clientId` set and `children` populated). Clients
109
+ * publish in container shape only; bare MCP servers at the top level
110
+ * are server-originated.
111
+ */
112
+ customizations?: Customization[];
113
+ /**
114
+ * Additional provider-specific metadata for this session.
115
+ *
116
+ * Clients MAY look for well-known keys here to provide enhanced UI.
117
+ * For example, a `git` key may provide extra git metadata about the session's
118
+ * workingDirectory.
119
+ */
120
+ _meta?: Record<string, unknown>;
121
+ }
122
+ /**
123
+ * The client currently providing tools and interactive capabilities to a session.
124
+ *
125
+ * Only one client may be active per session at a time. The server SHOULD
126
+ * automatically unset the active client if that client disconnects.
127
+ *
128
+ * @category Session State
129
+ */
130
+ export interface SessionActiveClient {
131
+ /** Client identifier (matches `clientId` from `initialize`) */
132
+ clientId: string;
133
+ /** Human-readable client name (e.g. `"VS Code"`) */
134
+ displayName?: string;
135
+ /** Tools this client provides to the session */
136
+ tools: ToolDefinition[];
137
+ /**
138
+ * Plugin customizations this client contributes to the session.
139
+ *
140
+ * Clients publish in [Open Plugins](https://open-plugins.com/) format
141
+ * — i.e. always container-shaped plugins. They MAY synthesize virtual
142
+ * plugins in memory and rely on the host to expand them into concrete
143
+ * children inside {@link SessionState.customizations}.
144
+ */
145
+ customizations?: ClientPluginCustomization[];
146
+ }
147
+ /**
148
+ * Server-owned project metadata for a session.
149
+ *
150
+ * @category Session State
151
+ */
152
+ export interface ProjectInfo {
153
+ /** Project URI */
154
+ uri: URI;
155
+ /** Human-readable project name */
156
+ displayName: string;
157
+ }
158
+ /**
159
+ * @category Session State
160
+ */
161
+ export interface SessionSummary {
162
+ /** Session URI */
163
+ resource: URI;
164
+ /** Agent provider ID */
165
+ provider: string;
166
+ /** Session title */
167
+ title: string;
168
+ /** Current session status */
169
+ status: SessionStatus;
170
+ /** Human-readable description of what the session is currently doing */
171
+ activity?: string;
172
+ /** Creation timestamp */
173
+ createdAt: number;
174
+ /** Last modification timestamp */
175
+ modifiedAt: number;
176
+ /** Server-owned project for this session */
177
+ project?: ProjectInfo;
178
+ /** Currently selected model */
179
+ model?: ModelSelection;
180
+ /**
181
+ * Currently selected custom agent.
182
+ *
183
+ * Absent (`undefined`) means no custom agent is selected for this session
184
+ * — the session uses the provider's default behavior.
185
+ */
186
+ agent?: AgentSelection;
187
+ /** The working directory URI for this session */
188
+ workingDirectory?: URI;
189
+ /**
190
+ * Catalogue of changesets the server can produce for this session. Each
191
+ * entry advertises a subscribable view of file changes (uncommitted,
192
+ * session-wide, per-turn, etc.) and the URI template the client expands
193
+ * before subscribing. See {@link ChangesetSummary} for the full shape and
194
+ * {@link /guide/changesets | Changesets} for an overview of the model.
195
+ */
196
+ changesets?: ChangesetSummary[];
197
+ }
198
+ /**
199
+ * A selected custom agent for a session.
200
+ *
201
+ * The `uri` identifies a specific custom agent (matching an
202
+ * {@link AgentCustomization.uri | `AgentCustomization.uri`} exposed via
203
+ * the session's effective customizations). Consumers resolve the agent's
204
+ * display name by looking up `uri` in the session's customization tree.
205
+ *
206
+ * A session with no `agent` selected uses the provider's default behavior.
207
+ *
208
+ * @category Session State
209
+ */
210
+ export interface AgentSelection {
211
+ /** Stable agent URI (matches an {@link AgentCustomization.uri}). */
212
+ uri: URI;
213
+ }
214
+ /**
215
+ * A session configuration property descriptor.
216
+ *
217
+ * Extends the generic {@link ConfigPropertySchema} with session-specific
218
+ * display extensions.
219
+ *
220
+ * @category Session Config Types
221
+ */
222
+ export interface SessionConfigPropertySchema extends ConfigPropertySchema {
223
+ /**
224
+ * Display extension: when `true`, the full set of allowed values is too large
225
+ * to enumerate statically. The client SHOULD use `sessionConfigCompletions`
226
+ * to fetch matching values based on user input. Any values in `enum` are
227
+ * seed/recent values for initial display.
228
+ */
229
+ enumDynamic?: boolean;
230
+ /** When `true`, the user may change this property after session creation */
231
+ sessionMutable?: boolean;
232
+ }
233
+ /**
234
+ * A JSON Schema object describing available session configuration metadata.
235
+ *
236
+ * @category Session Config Types
237
+ */
238
+ export interface SessionConfigSchema {
239
+ /** JSON Schema: always `'object'` */
240
+ type: "object";
241
+ /** JSON Schema: property descriptors keyed by property id */
242
+ properties: Record<string, SessionConfigPropertySchema>;
243
+ /** JSON Schema: list of required property ids */
244
+ required?: string[];
245
+ }
246
+ /**
247
+ * Live session configuration metadata.
248
+ *
249
+ * The schema describes the available configuration properties and the values
250
+ * contain the current value for each resolved property.
251
+ *
252
+ * @category Session Config Types
253
+ */
254
+ export interface SessionConfigState {
255
+ /** JSON Schema describing available configuration properties */
256
+ schema: SessionConfigSchema;
257
+ /** Current configuration values */
258
+ values: Record<string, unknown>;
259
+ }
260
+ /**
261
+ * How a client completed an input request.
262
+ *
263
+ * @category Session Input Types
264
+ */
265
+ export declare enum SessionInputResponseKind {
266
+ Accept = "accept",
267
+ Decline = "decline",
268
+ Cancel = "cancel"
269
+ }
270
+ /**
271
+ * Question/input control kind.
272
+ *
273
+ * @category Session Input Types
274
+ */
275
+ export declare enum SessionInputQuestionKind {
276
+ Text = "text",
277
+ Number = "number",
278
+ Integer = "integer",
279
+ Boolean = "boolean",
280
+ SingleSelect = "single-select",
281
+ MultiSelect = "multi-select"
282
+ }
283
+ /**
284
+ * A choice in a select-style question.
285
+ *
286
+ * @category Session Input Types
287
+ */
288
+ export interface SessionInputOption {
289
+ /** Stable option identifier; for MCP enum values this is the enum string */
290
+ id: string;
291
+ /** Display label */
292
+ label: string;
293
+ /** Optional secondary text */
294
+ description?: string;
295
+ /** Whether this option is the recommended/default choice */
296
+ recommended?: boolean;
297
+ }
298
+ interface SessionInputQuestionBase {
299
+ /** Stable question identifier used as the key in `answers` */
300
+ id: string;
301
+ /** Short display title */
302
+ title?: string;
303
+ /** Prompt shown to the user */
304
+ message: string;
305
+ /** Whether the user must answer this question to accept the request */
306
+ required?: boolean;
307
+ }
308
+ /** Text question within a session input request. */
309
+ export interface SessionInputTextQuestion extends SessionInputQuestionBase {
310
+ kind: SessionInputQuestionKind.Text;
311
+ /** Format hint for text questions, such as `email`, `uri`, `date`, or `date-time` */
312
+ format?: string;
313
+ /** Minimum string length */
314
+ min?: number;
315
+ /** Maximum string length */
316
+ max?: number;
317
+ /** Default text */
318
+ defaultValue?: string;
319
+ }
320
+ /** Numeric question within a session input request. */
321
+ export interface SessionInputNumberQuestion extends SessionInputQuestionBase {
322
+ kind: SessionInputQuestionKind.Number | SessionInputQuestionKind.Integer;
323
+ /**
324
+ * Minimum value
325
+ * @format float
326
+ */
327
+ min?: number;
328
+ /**
329
+ * Maximum value
330
+ * @format float
331
+ */
332
+ max?: number;
333
+ /**
334
+ * Default numeric value
335
+ * @format float
336
+ */
337
+ defaultValue?: number;
338
+ }
339
+ /** Boolean question within a session input request. */
340
+ export interface SessionInputBooleanQuestion extends SessionInputQuestionBase {
341
+ kind: SessionInputQuestionKind.Boolean;
342
+ /** Default boolean value */
343
+ defaultValue?: boolean;
344
+ }
345
+ /** Single-select question within a session input request. */
346
+ export interface SessionInputSingleSelectQuestion extends SessionInputQuestionBase {
347
+ kind: SessionInputQuestionKind.SingleSelect;
348
+ /** Options the user may select from */
349
+ options: SessionInputOption[];
350
+ /** Whether the user may enter text instead of selecting an option */
351
+ allowFreeformInput?: boolean;
352
+ }
353
+ /** Multi-select question within a session input request. */
354
+ export interface SessionInputMultiSelectQuestion extends SessionInputQuestionBase {
355
+ kind: SessionInputQuestionKind.MultiSelect;
356
+ /** Options the user may select from */
357
+ options: SessionInputOption[];
358
+ /** Whether the user may enter text in addition to selecting options */
359
+ allowFreeformInput?: boolean;
360
+ /** Minimum selected item count */
361
+ min?: number;
362
+ /** Maximum selected item count */
363
+ max?: number;
364
+ }
365
+ /**
366
+ * One question within a session input request.
367
+ *
368
+ * @category Session Input Types
369
+ */
370
+ export type SessionInputQuestion = SessionInputTextQuestion | SessionInputNumberQuestion | SessionInputBooleanQuestion | SessionInputSingleSelectQuestion | SessionInputMultiSelectQuestion;
371
+ /**
372
+ * A live request for user input.
373
+ *
374
+ * The server creates or replaces requests with `session/inputRequested`.
375
+ * Clients sync drafts with `session/inputAnswerChanged` and complete requests
376
+ * with `session/inputCompleted`.
377
+ *
378
+ * @category Session Input Types
379
+ */
380
+ export interface SessionInputRequest {
381
+ /** Stable request identifier */
382
+ id: string;
383
+ /** Display message for the request as a whole */
384
+ message?: string;
385
+ /** URL the user should review or open, for URL-style elicitations */
386
+ url?: URI;
387
+ /** Ordered questions to ask the user */
388
+ questions?: SessionInputQuestion[];
389
+ /** Current draft or submitted answers, keyed by question ID */
390
+ answers?: Record<string, SessionInputAnswer>;
391
+ }
392
+ /**
393
+ * Answer value kind.
394
+ *
395
+ * @category Session Input Types
396
+ */
397
+ export declare enum SessionInputAnswerValueKind {
398
+ Text = "text",
399
+ Number = "number",
400
+ Boolean = "boolean",
401
+ Selected = "selected",
402
+ SelectedMany = "selected-many"
403
+ }
404
+ /**
405
+ * Value captured for one answer.
406
+ *
407
+ * @category Session Input Types
408
+ */
409
+ export interface SessionInputTextAnswerValue {
410
+ kind: SessionInputAnswerValueKind.Text;
411
+ value: string;
412
+ }
413
+ export interface SessionInputNumberAnswerValue {
414
+ kind: SessionInputAnswerValueKind.Number;
415
+ /** @format float */
416
+ value: number;
417
+ }
418
+ export interface SessionInputBooleanAnswerValue {
419
+ kind: SessionInputAnswerValueKind.Boolean;
420
+ value: boolean;
421
+ }
422
+ export interface SessionInputSelectedAnswerValue {
423
+ kind: SessionInputAnswerValueKind.Selected;
424
+ value: string;
425
+ /** Free-form text entered instead of selecting an option */
426
+ freeformValues?: string[];
427
+ }
428
+ export interface SessionInputSelectedManyAnswerValue {
429
+ kind: SessionInputAnswerValueKind.SelectedMany;
430
+ value: string[];
431
+ /** Free-form text entered in addition to selected options */
432
+ freeformValues?: string[];
433
+ }
434
+ export type SessionInputAnswerValue = SessionInputTextAnswerValue | SessionInputNumberAnswerValue | SessionInputBooleanAnswerValue | SessionInputSelectedAnswerValue | SessionInputSelectedManyAnswerValue;
435
+ export interface SessionInputAnswered {
436
+ /** Answer state */
437
+ state: SessionInputAnswerState.Draft | SessionInputAnswerState.Submitted;
438
+ /** Answer value */
439
+ value: SessionInputAnswerValue;
440
+ }
441
+ export interface SessionInputSkipped {
442
+ /** Answer state */
443
+ state: SessionInputAnswerState.Skipped;
444
+ /** Free-form reason or value captured while skipping, if any */
445
+ freeformValues?: string[];
446
+ }
447
+ /**
448
+ * Answer lifecycle state.
449
+ *
450
+ * @category Session Input Types
451
+ */
452
+ export declare enum SessionInputAnswerState {
453
+ Draft = "draft",
454
+ Submitted = "submitted",
455
+ Skipped = "skipped"
456
+ }
457
+ /**
458
+ * Draft, submitted, or skipped answer for one question.
459
+ *
460
+ * @category Session Input Types
461
+ */
462
+ export type SessionInputAnswer = SessionInputAnswered | SessionInputSkipped;
463
+ /**
464
+ * How a turn ended.
465
+ *
466
+ * @category Turn Types
467
+ */
468
+ export declare enum TurnState {
469
+ Complete = "complete",
470
+ Cancelled = "cancelled",
471
+ Error = "error"
472
+ }
473
+ /**
474
+ * Discriminant for {@link MessageAttachment} variants.
475
+ *
476
+ * @category Turn Types
477
+ */
478
+ export declare enum MessageAttachmentKind {
479
+ /** A simple, opaque attachment whose representation is described by the producer. */
480
+ Simple = "simple",
481
+ /** An attachment whose data is embedded inline as a base64 string. */
482
+ EmbeddedResource = "embeddedResource",
483
+ /** An attachment that references a resource by URI. */
484
+ Resource = "resource"
485
+ }
486
+ /**
487
+ * A completed request/response cycle.
488
+ *
489
+ * @category Turn Types
490
+ */
491
+ export interface Turn {
492
+ /** Turn identifier */
493
+ id: string;
494
+ /** The message that initiated the turn */
495
+ message: Message;
496
+ /**
497
+ * All response content in stream order: text, tool calls, reasoning, and content refs.
498
+ *
499
+ * Consumers should derive display text by concatenating markdown parts,
500
+ * and find tool calls by filtering for `ToolCall` parts.
501
+ */
502
+ responseParts: ResponsePart[];
503
+ /** Token usage info */
504
+ usage: UsageInfo | undefined;
505
+ /** How the turn ended */
506
+ state: TurnState;
507
+ /** Error details if state is `'error'` */
508
+ error?: ErrorInfo;
509
+ }
510
+ /**
511
+ * An in-progress turn — the assistant is actively streaming.
512
+ *
513
+ * @category Turn Types
514
+ */
515
+ export interface ActiveTurn {
516
+ /** Turn identifier */
517
+ id: string;
518
+ /** The message that initiated the turn */
519
+ message: Message;
520
+ /**
521
+ * All response content in stream order: text, tool calls, reasoning, and content refs.
522
+ *
523
+ * Tool call parts include `pendingPermissions` when permissions are awaiting user approval.
524
+ */
525
+ responseParts: ResponsePart[];
526
+ /** Token usage info */
527
+ usage: UsageInfo | undefined;
528
+ }
529
+ /**
530
+ * Discriminant for Message types.
531
+ *
532
+ * @category Turn Types
533
+ */
534
+ export declare enum MessageKind {
535
+ User = "user",
536
+ SystemNotification = "systemNotification"
537
+ }
538
+ /**
539
+ * A message that initiates or steers a turn. Messages can originate from the
540
+ * user or be system-generated (see {@link MessageKind}).
541
+ *
542
+ * Attachments MAY be referenced inside {@link Message.text} via their
543
+ * {@link MessageAttachmentBase.range} field. Attachments without a range are
544
+ * still associated with the message but do not correspond to a specific span
545
+ * in the text.
546
+ *
547
+ * @category Turn Types
548
+ */
549
+ export interface Message {
550
+ /** Message text */
551
+ text: string;
552
+ /** The origin of the message */
553
+ origin: {
554
+ kind: MessageKind;
555
+ };
556
+ /** File/selection attachments */
557
+ attachments?: MessageAttachment[];
558
+ /**
559
+ * Additional provider-specific metadata for this message.
560
+ *
561
+ * Clients MAY look for well-known keys here to provide enhanced UI, and
562
+ * agent hosts MAY use it to carry context that does not fit any other
563
+ * field. Mirrors the MCP `_meta` convention.
564
+ */
565
+ _meta?: Record<string, unknown>;
566
+ }
567
+ /**
568
+ * Common fields shared by all {@link MessageAttachment} variants.
569
+ *
570
+ * @category Turn Types
571
+ */
572
+ export interface MessageAttachmentBase {
573
+ /**
574
+ * A human-readable label for the attachment (e.g. the filename of a file
575
+ * attachment). Used for display in UI.
576
+ */
577
+ label: string;
578
+ /**
579
+ * If defined, the range in {@link Message.text} that references this
580
+ * attachment. This is a text range, not a byte range.
581
+ */
582
+ range?: TextRange;
583
+ /**
584
+ * Advisory display hint for clients rendering this attachment. Recognized
585
+ * values include:
586
+ *
587
+ * - `'image'`: the attachment is an image
588
+ * - `'document'`: the attachment is a textual document
589
+ * - `'symbol'`: the attachment is a code symbol (e.g. a function or class)
590
+ * - `'directory'`: the attachment is a folder
591
+ * - `'selection'`: the attachment is a selection within a document
592
+ *
593
+ * Implementations MAY provide additional values; clients SHOULD fall back
594
+ * to a reasonable default when an unknown value is encountered.
595
+ */
596
+ displayKind?: string;
597
+ /**
598
+ * Additional implementation-defined metadata for the attachment.
599
+ *
600
+ * If the attachment was produced by the `completions` command, the client
601
+ * MUST preserve every property of `_meta` originally returned by the agent
602
+ * host when sending the user message containing the accepted completion.
603
+ */
604
+ _meta?: Record<string, unknown>;
605
+ }
606
+ /**
607
+ * A simple, opaque attachment whose model representation is described by
608
+ * the producer.
609
+ *
610
+ * @category Turn Types
611
+ */
612
+ export interface SimpleMessageAttachment extends MessageAttachmentBase {
613
+ /** Discriminant */
614
+ type: MessageAttachmentKind.Simple;
615
+ /**
616
+ * Representation of the attachment as it should be shown to the model.
617
+ *
618
+ * If the attachment was produced by the client, this property MUST be
619
+ * defined so the agent host can correctly interpret the attachment. This
620
+ * property MAY be omitted when the attachment originated from a
621
+ * `completions` response.
622
+ */
623
+ modelRepresentation?: string;
624
+ }
625
+ /**
626
+ * An attachment whose data is embedded inline as a base64 string.
627
+ *
628
+ * Use this for small binary payloads (e.g. a pasted image) that should be
629
+ * delivered with the user message itself rather than fetched separately.
630
+ *
631
+ * @category Turn Types
632
+ */
633
+ export interface MessageEmbeddedResourceAttachment extends MessageAttachmentBase {
634
+ /** Discriminant */
635
+ type: MessageAttachmentKind.EmbeddedResource;
636
+ /** Base64-encoded binary data */
637
+ data: string;
638
+ /** Content MIME type (e.g. `"image/png"`, `"application/pdf"`) */
639
+ contentType: string;
640
+ /**
641
+ * Optional selection within the attached textual resource.
642
+ *
643
+ * Only meaningful for textual resources.
644
+ */
645
+ selection?: TextSelection;
646
+ }
647
+ /**
648
+ * An attachment that references a resource by URI. The content is not
649
+ * delivered inline; consumers can fetch it via `resourceRead` when needed.
650
+ *
651
+ * @category Turn Types
652
+ */
653
+ export interface MessageResourceAttachment extends MessageAttachmentBase, ContentRef {
654
+ /** Discriminant */
655
+ type: MessageAttachmentKind.Resource;
656
+ /**
657
+ * Optional selection within the referenced textual resource.
658
+ *
659
+ * Only meaningful for textual resources.
660
+ */
661
+ selection?: TextSelection;
662
+ }
663
+ /**
664
+ * An attachment associated with a {@link Message}.
665
+ *
666
+ * @category Turn Types
667
+ */
668
+ export type MessageAttachment = SimpleMessageAttachment | MessageEmbeddedResourceAttachment | MessageResourceAttachment;
669
+ /**
670
+ * Discriminant for response part types.
671
+ *
672
+ * @category Response Parts
673
+ */
674
+ export declare enum ResponsePartKind {
675
+ Markdown = "markdown",
676
+ ContentRef = "contentRef",
677
+ ToolCall = "toolCall",
678
+ Reasoning = "reasoning",
679
+ SystemNotification = "systemNotification"
680
+ }
681
+ /**
682
+ * @category Response Parts
683
+ */
684
+ export interface MarkdownResponsePart {
685
+ /** Discriminant */
686
+ kind: ResponsePartKind.Markdown;
687
+ /** Part identifier, used by `session/delta` to target this part for content appends */
688
+ id: string;
689
+ /** Markdown content */
690
+ content: string;
691
+ }
692
+ /**
693
+ * A content part that's a reference to large content stored outside the state tree.
694
+ *
695
+ * @category Response Parts
696
+ */
697
+ export interface ResourceReponsePart extends ContentRef {
698
+ /** Discriminant */
699
+ kind: ResponsePartKind.ContentRef;
700
+ }
701
+ /**
702
+ * A tool call represented as a response part.
703
+ *
704
+ * Tool calls are part of the response stream, interleaved with text and
705
+ * reasoning. The `toolCall.toolCallId` serves as the part identifier for
706
+ * actions that target this part.
707
+ *
708
+ * @category Response Parts
709
+ */
710
+ export interface ToolCallResponsePart {
711
+ /** Discriminant */
712
+ kind: ResponsePartKind.ToolCall;
713
+ /** Full tool call lifecycle state */
714
+ toolCall: ToolCallState;
715
+ }
716
+ /**
717
+ * Reasoning/thinking content from the model.
718
+ *
719
+ * @category Response Parts
720
+ */
721
+ export interface ReasoningResponsePart {
722
+ /** Discriminant */
723
+ kind: ResponsePartKind.Reasoning;
724
+ /** Part identifier, used by `session/reasoning` to target this part for content appends */
725
+ id: string;
726
+ /** Accumulated reasoning text */
727
+ content: string;
728
+ }
729
+ /**
730
+ * @category Response Parts
731
+ */
732
+ export type ResponsePart = MarkdownResponsePart | ResourceReponsePart | ToolCallResponsePart | ReasoningResponsePart | SystemNotificationResponsePart;
733
+ /**
734
+ * A system notification surfaced as part of the response stream.
735
+ *
736
+ * System notifications are messages authored by the agent harness
737
+ * that need to be visible to both the agent (for situational awareness) and
738
+ * the user (for transcript continuity). Examples include "background subagent
739
+ * X completed" or "task Y was cancelled".
740
+ *
741
+ * @category Response Parts
742
+ */
743
+ export interface SystemNotificationResponsePart {
744
+ /** Discriminant */
745
+ kind: ResponsePartKind.SystemNotification;
746
+ /** The text of the system notification */
747
+ content: StringOrMarkdown;
748
+ }
749
+ /**
750
+ * Status of a tool call in the lifecycle state machine.
751
+ *
752
+ * @category Tool Call Types
753
+ */
754
+ export declare enum ToolCallStatus {
755
+ Streaming = "streaming",
756
+ PendingConfirmation = "pending-confirmation",
757
+ Running = "running",
758
+ PendingResultConfirmation = "pending-result-confirmation",
759
+ Completed = "completed",
760
+ Cancelled = "cancelled"
761
+ }
762
+ /**
763
+ * How a tool call was confirmed for execution.
764
+ *
765
+ * - `NotNeeded` — No confirmation required (auto-approved)
766
+ * - `UserAction` — User explicitly approved
767
+ * - `Setting` — Approved by a persistent user setting
768
+ *
769
+ * @category Tool Call Types
770
+ */
771
+ export declare enum ToolCallConfirmationReason {
772
+ NotNeeded = "not-needed",
773
+ UserAction = "user-action",
774
+ Setting = "setting"
775
+ }
776
+ /**
777
+ * Why a tool call was cancelled.
778
+ *
779
+ * @category Tool Call Types
780
+ */
781
+ export declare enum ToolCallCancellationReason {
782
+ Denied = "denied",
783
+ Skipped = "skipped",
784
+ ResultDenied = "result-denied"
785
+ }
786
+ /**
787
+ * Whether a confirmation option represents an approval or denial action.
788
+ *
789
+ * @category Tool Call Types
790
+ */
791
+ export declare enum ConfirmationOptionKind {
792
+ Approve = "approve",
793
+ Deny = "deny"
794
+ }
795
+ /**
796
+ * A confirmation option that the server offers for a tool call awaiting
797
+ * approval. Allows richer choices beyond simple approve/deny — for example,
798
+ * "Approve in this Session" or "Deny with reason."
799
+ *
800
+ * @category Tool Call Types
801
+ */
802
+ export interface ConfirmationOption {
803
+ /** Unique identifier for the option, returned in the confirmed action */
804
+ id: string;
805
+ /** Human-readable label displayed to the user */
806
+ label: string;
807
+ /** Whether this option represents an approval or denial */
808
+ kind: ConfirmationOptionKind;
809
+ /**
810
+ * Logical group number for visual categorisation.
811
+ *
812
+ * Clients SHOULD display options in the order they are defined and MAY
813
+ * use differing group numbers to insert dividers between logical clusters
814
+ * of options.
815
+ */
816
+ group?: number;
817
+ }
818
+ export declare enum ToolCallContributorKind {
819
+ Client = "client",
820
+ MCP = "mcp"
821
+ }
822
+ export interface ToolCallClientContributor {
823
+ kind: ToolCallContributorKind.Client;
824
+ /**
825
+ * If this tool is provided by a client, the `clientId` of the owning client.
826
+ * Absent for server-side tools.
827
+ *
828
+ * When set, the identified client is responsible for executing the tool and
829
+ * dispatching `session/toolCallComplete` with the result.
830
+ */
831
+ clientId: string;
832
+ }
833
+ export interface ToolCallMcpContributor {
834
+ kind: ToolCallContributorKind.MCP;
835
+ /**
836
+ * Customization ID of the corresponding MCP server in {@link SessionState.customizations}.
837
+ */
838
+ customizationId: string;
839
+ }
840
+ export type ToolCallContributor = ToolCallClientContributor | ToolCallMcpContributor;
841
+ /**
842
+ * Metadata common to all tool call states.
843
+ *
844
+ * @category Tool Call Types
845
+ * @remarks
846
+ * Fields like `toolName` carry agent-specific identifiers on the wire despite the
847
+ * agent-agnostic design principle. These exist for debugging and logging purposes.
848
+ * A future version may move these to a separate diagnostic channel or namespace them
849
+ * more clearly.
850
+ */
851
+ interface ToolCallBase {
852
+ /** Unique tool call identifier */
853
+ toolCallId: string;
854
+ /** Internal tool name (for debugging/logging) */
855
+ toolName: string;
856
+ /** Human-readable tool name */
857
+ displayName: string;
858
+ /**
859
+ * Reference to the contributor of the tool being called.
860
+ */
861
+ contributor?: ToolCallContributor;
862
+ /**
863
+ * Additional provider-specific metadata for this tool call.
864
+ *
865
+ * This MAY include a `ui` field corresponding to the MCP Apps (SEP-1865)
866
+ * `McpUiToolMeta` found in MCP tool calls, which may be used in combination
867
+ * with the {@link contributor} to serve MCP Apps.
868
+ */
869
+ _meta?: Record<string, unknown>;
870
+ }
871
+ /**
872
+ * Properties available once tool call parameters are fully received.
873
+ *
874
+ * @category Tool Call Types
875
+ */
876
+ interface ToolCallParameterFields {
877
+ /** Message describing what the tool will do */
878
+ invocationMessage: StringOrMarkdown;
879
+ /** Raw tool input */
880
+ toolInput?: string;
881
+ }
882
+ /**
883
+ * Tool execution result details, available after execution completes.
884
+ *
885
+ * @category Tool Call Types
886
+ */
887
+ export interface ToolCallResult {
888
+ /** Whether the tool succeeded */
889
+ success: boolean;
890
+ /** Past-tense description of what the tool did */
891
+ pastTenseMessage: StringOrMarkdown;
892
+ /**
893
+ * Unstructured result content blocks.
894
+ *
895
+ * This mirrors the `content` field of MCP `CallToolResult`.
896
+ */
897
+ content?: ToolResultContent[];
898
+ /**
899
+ * Optional structured result object.
900
+ *
901
+ * This mirrors the `structuredContent` field of MCP `CallToolResult`.
902
+ */
903
+ structuredContent?: Record<string, unknown>;
904
+ /** Error details if the tool failed */
905
+ error?: {
906
+ message: string;
907
+ code?: string;
908
+ };
909
+ }
910
+ /**
911
+ * LM is streaming the tool call parameters.
912
+ *
913
+ * @category Tool Call Types
914
+ */
915
+ export interface ToolCallStreamingState extends ToolCallBase {
916
+ status: ToolCallStatus.Streaming;
917
+ /** Partial parameters accumulated so far */
918
+ partialInput?: string;
919
+ /** Progress message shown while parameters are streaming */
920
+ invocationMessage?: StringOrMarkdown;
921
+ }
922
+ /**
923
+ * Parameters are complete, or a running tool requires re-confirmation
924
+ * (e.g. a mid-execution permission check).
925
+ *
926
+ * @category Tool Call Types
927
+ */
928
+ export interface ToolCallPendingConfirmationState extends ToolCallBase, ToolCallParameterFields {
929
+ status: ToolCallStatus.PendingConfirmation;
930
+ /** Short title for the confirmation prompt (e.g. `"Run in terminal"`, `"Write file"`) */
931
+ confirmationTitle?: StringOrMarkdown;
932
+ /** File edits that this tool call will perform, for preview before confirmation */
933
+ edits?: {
934
+ items: FileEdit[];
935
+ };
936
+ /** Whether the agent host allows the client to edit the tool's input parameters before confirming */
937
+ editable?: boolean;
938
+ /**
939
+ * Options the server offers for this confirmation. When present, the client
940
+ * SHOULD render these instead of a plain approve/deny UI. Each option
941
+ * belongs to a {@link ConfirmationOptionGroup} so the client can still
942
+ * categorise the choices.
943
+ */
944
+ options?: ConfirmationOption[];
945
+ }
946
+ /**
947
+ * Tool is actively executing.
948
+ *
949
+ * @category Tool Call Types
950
+ */
951
+ export interface ToolCallRunningState extends ToolCallBase, ToolCallParameterFields {
952
+ status: ToolCallStatus.Running;
953
+ /** How the tool was confirmed for execution */
954
+ confirmed: ToolCallConfirmationReason;
955
+ /** The confirmation option the user selected, if confirmation options were provided */
956
+ selectedOption?: ConfirmationOption;
957
+ /**
958
+ * Partial content produced while the tool is still executing.
959
+ *
960
+ * For example, a terminal content block lets clients subscribe to live
961
+ * output before the tool completes.
962
+ */
963
+ content?: ToolResultContent[];
964
+ }
965
+ /**
966
+ * Tool finished executing, waiting for client to approve the result.
967
+ *
968
+ * @category Tool Call Types
969
+ */
970
+ export interface ToolCallPendingResultConfirmationState extends ToolCallBase, ToolCallParameterFields, ToolCallResult {
971
+ status: ToolCallStatus.PendingResultConfirmation;
972
+ /** How the tool was confirmed for execution */
973
+ confirmed: ToolCallConfirmationReason;
974
+ /** The confirmation option the user selected, if confirmation options were provided */
975
+ selectedOption?: ConfirmationOption;
976
+ }
977
+ /**
978
+ * Tool completed successfully or with an error.
979
+ *
980
+ * @category Tool Call Types
981
+ */
982
+ export interface ToolCallCompletedState extends ToolCallBase, ToolCallParameterFields, ToolCallResult {
983
+ status: ToolCallStatus.Completed;
984
+ /** How the tool was confirmed for execution */
985
+ confirmed: ToolCallConfirmationReason;
986
+ /** The confirmation option the user selected, if confirmation options were provided */
987
+ selectedOption?: ConfirmationOption;
988
+ }
989
+ /**
990
+ * Tool call was cancelled before execution.
991
+ *
992
+ * @category Tool Call Types
993
+ */
994
+ export interface ToolCallCancelledState extends ToolCallBase, ToolCallParameterFields {
995
+ status: ToolCallStatus.Cancelled;
996
+ /** Why the tool was cancelled */
997
+ reason: ToolCallCancellationReason;
998
+ /** Optional message explaining the cancellation */
999
+ reasonMessage?: StringOrMarkdown;
1000
+ /** What the user suggested doing instead */
1001
+ userSuggestion?: Message;
1002
+ /** The confirmation option the user selected, if confirmation options were provided */
1003
+ selectedOption?: ConfirmationOption;
1004
+ }
1005
+ /**
1006
+ * Discriminated union of all tool call lifecycle states.
1007
+ *
1008
+ * See the [state model guide](/guide/state-model.html#tool-call-lifecycle)
1009
+ * for the full state machine diagram.
1010
+ *
1011
+ * @category Tool Call Types
1012
+ */
1013
+ export type ToolCallState = ToolCallStreamingState | ToolCallPendingConfirmationState | ToolCallRunningState | ToolCallPendingResultConfirmationState | ToolCallCompletedState | ToolCallCancelledState;
1014
+ /**
1015
+ * Describes a tool available in a session, provided by either the server or the active client.
1016
+ *
1017
+ * @category Tool Definition Types
1018
+ */
1019
+ export interface ToolDefinition {
1020
+ /** Unique tool identifier */
1021
+ name: string;
1022
+ /** Human-readable display name */
1023
+ title?: string;
1024
+ /** Description of what the tool does */
1025
+ description?: string;
1026
+ /**
1027
+ * JSON Schema defining the expected input parameters.
1028
+ *
1029
+ * Optional because client-provided tools may not have formal schemas.
1030
+ * Mirrors MCP `Tool.inputSchema`.
1031
+ */
1032
+ inputSchema?: {
1033
+ type: "object";
1034
+ properties?: Record<string, object>;
1035
+ required?: string[];
1036
+ };
1037
+ /**
1038
+ * JSON Schema defining the structure of the tool's output.
1039
+ *
1040
+ * Mirrors MCP `Tool.outputSchema`.
1041
+ */
1042
+ outputSchema?: {
1043
+ type: "object";
1044
+ properties?: Record<string, object>;
1045
+ required?: string[];
1046
+ };
1047
+ /** Behavioral hints about the tool. All properties are advisory. */
1048
+ annotations?: ToolAnnotations;
1049
+ /**
1050
+ * Additional provider-specific metadata.
1051
+ *
1052
+ * Mirrors the MCP `_meta` convention.
1053
+ */
1054
+ _meta?: Record<string, unknown>;
1055
+ }
1056
+ /**
1057
+ * Behavioral hints about a tool. All properties are advisory and not
1058
+ * guaranteed to faithfully describe tool behavior.
1059
+ *
1060
+ * Mirrors MCP `ToolAnnotations` from the Model Context Protocol specification.
1061
+ *
1062
+ * @category Tool Definition Types
1063
+ */
1064
+ export interface ToolAnnotations {
1065
+ /** Alternate human-readable title */
1066
+ title?: string;
1067
+ /** Tool does not modify its environment (default: false) */
1068
+ readOnlyHint?: boolean;
1069
+ /** Tool may perform destructive updates (default: true) */
1070
+ destructiveHint?: boolean;
1071
+ /** Repeated calls with the same arguments have no additional effect (default: false) */
1072
+ idempotentHint?: boolean;
1073
+ /** Tool may interact with external entities (default: true) */
1074
+ openWorldHint?: boolean;
1075
+ }
1076
+ /**
1077
+ * Discriminant for tool result content types.
1078
+ *
1079
+ * @category Tool Result Content
1080
+ */
1081
+ export declare enum ToolResultContentType {
1082
+ Text = "text",
1083
+ EmbeddedResource = "embeddedResource",
1084
+ Resource = "resource",
1085
+ FileEdit = "fileEdit",
1086
+ Terminal = "terminal",
1087
+ Subagent = "subagent"
1088
+ }
1089
+ /**
1090
+ * Text content in a tool result.
1091
+ *
1092
+ * Mirrors MCP `TextContent`.
1093
+ *
1094
+ * @category Tool Result Content
1095
+ */
1096
+ export interface ToolResultTextContent {
1097
+ type: ToolResultContentType.Text;
1098
+ /** The text content */
1099
+ text: string;
1100
+ }
1101
+ /**
1102
+ * Base64-encoded binary content embedded in a tool result.
1103
+ *
1104
+ * Mirrors MCP `EmbeddedResource` for inline binary data.
1105
+ *
1106
+ * @category Tool Result Content
1107
+ */
1108
+ export interface ToolResultEmbeddedResourceContent {
1109
+ type: ToolResultContentType.EmbeddedResource;
1110
+ /** Base64-encoded data */
1111
+ data: string;
1112
+ /** Content type (e.g. `"image/png"`, `"application/pdf"`) */
1113
+ contentType: string;
1114
+ }
1115
+ /**
1116
+ * A reference to a resource stored outside the tool result.
1117
+ *
1118
+ * Wraps {@link ContentRef} for lazy-loading large results.
1119
+ *
1120
+ * @category Tool Result Content
1121
+ */
1122
+ export interface ToolResultResourceContent extends ContentRef {
1123
+ type: ToolResultContentType.Resource;
1124
+ }
1125
+ /**
1126
+ * Describes a file modification performed by a tool.
1127
+ *
1128
+ * @category Tool Result Content
1129
+ */
1130
+ export interface ToolResultFileEditContent extends FileEdit {
1131
+ type: ToolResultContentType.FileEdit;
1132
+ }
1133
+ /**
1134
+ * A reference to a terminal whose output is relevant to this tool result.
1135
+ *
1136
+ * Clients can subscribe to the terminal's URI to stream its output in real
1137
+ * time, providing live feedback while a tool is executing.
1138
+ *
1139
+ * @category Tool Result Content
1140
+ */
1141
+ export interface ToolResultTerminalContent {
1142
+ type: ToolResultContentType.Terminal;
1143
+ /** Terminal URI (subscribable for full terminal state) */
1144
+ resource: URI;
1145
+ /** Display title for the terminal content */
1146
+ title: string;
1147
+ }
1148
+ /**
1149
+ * A reference to a subagent session spawned by a tool.
1150
+ *
1151
+ * Clients can subscribe to the subagent's session URI to stream its
1152
+ * progress in real time, including inner tool calls and responses.
1153
+ *
1154
+ * @category Tool Result Content
1155
+ */
1156
+ export interface ToolResultSubagentContent {
1157
+ type: ToolResultContentType.Subagent;
1158
+ /** Subagent session URI (subscribable for full session state) */
1159
+ resource: URI;
1160
+ /** Display title for the subagent */
1161
+ title: string;
1162
+ /** Internal agent name */
1163
+ agentName?: string;
1164
+ /** Human-readable description of the subagent's task */
1165
+ description?: string;
1166
+ }
1167
+ /**
1168
+ * Content block in a tool result.
1169
+ *
1170
+ * Mirrors the content blocks in MCP `CallToolResult.content`, plus
1171
+ * `ToolResultResourceContent` for lazy-loading large results,
1172
+ * `ToolResultFileEditContent` for file edit diffs,
1173
+ * `ToolResultTerminalContent` for live terminal output, and
1174
+ * `ToolResultSubagentContent` for subagent sessions (AHP extensions).
1175
+ *
1176
+ * @category Tool Result Content
1177
+ */
1178
+ export type ToolResultContent = ToolResultTextContent | ToolResultEmbeddedResourceContent | ToolResultResourceContent | ToolResultFileEditContent | ToolResultTerminalContent | ToolResultSubagentContent;
1179
+ /**
1180
+ * Discriminant for the kind of customization.
1181
+ *
1182
+ * Top-level entries in {@link SessionState.customizations} and
1183
+ * {@link AgentInfo.customizations} are either container customizations
1184
+ * ({@link CustomizationType.Plugin | `Plugin`} or
1185
+ * {@link CustomizationType.Directory | `Directory`}) or
1186
+ * {@link CustomizationType.McpServer | `McpServer`} entries surfaced
1187
+ * directly by the host. The remaining types appear only as children of
1188
+ * a container.
1189
+ *
1190
+ * @category Customization Types
1191
+ */
1192
+ export declare enum CustomizationType {
1193
+ Plugin = "plugin",
1194
+ Directory = "directory",
1195
+ Agent = "agent",
1196
+ Skill = "skill",
1197
+ Prompt = "prompt",
1198
+ Rule = "rule",
1199
+ Hook = "hook",
1200
+ McpServer = "mcpServer"
1201
+ }
1202
+ /**
1203
+ * Customization types that appear as children of a
1204
+ * {@link PluginCustomization} or {@link DirectoryCustomization}.
1205
+ *
1206
+ * @category Customization Types
1207
+ */
1208
+ export type ChildCustomizationType = CustomizationType.Agent | CustomizationType.Skill | CustomizationType.Prompt | CustomizationType.Rule | CustomizationType.Hook | CustomizationType.McpServer;
1209
+ /**
1210
+ * Fields shared by every customization variant.
1211
+ *
1212
+ * @category Customization Types
1213
+ */
1214
+ interface CustomizationBase {
1215
+ /**
1216
+ * Session-unique opaque identifier. Used by every action that targets a
1217
+ * specific customization. Minted by whoever publishes the customization
1218
+ * (typically the agent host).
1219
+ */
1220
+ id: string;
1221
+ /**
1222
+ * Source URI for this customization. A plugin URL, a file URI, or a
1223
+ * directory URI.
1224
+ *
1225
+ * For declarations that live inside a larger file — e.g. an MCP
1226
+ * server declared inline in a `plugins.json` manifest — `uri` points
1227
+ * to the containing file and {@link CustomizationBase.range | `range`}
1228
+ * narrows it to the declaration's span.
1229
+ */
1230
+ uri: URI;
1231
+ /** Human-readable name. */
1232
+ name: string;
1233
+ /** Icons for UI display. */
1234
+ icons?: Icon[];
1235
+ /**
1236
+ * Optional span within {@link CustomizationBase.uri | `uri`} when this
1237
+ * customization is a subset of a larger file (for example, one entry
1238
+ * in an inline `mcpServers` block of a `plugins.json` manifest).
1239
+ * Absent when the customization covers the whole resource.
1240
+ */
1241
+ range?: TextRange;
1242
+ }
1243
+ /**
1244
+ * Discriminant values for {@link CustomizationLoadState}.
1245
+ *
1246
+ * @category Customization Types
1247
+ */
1248
+ export declare enum CustomizationLoadStatus {
1249
+ Loading = "loading",
1250
+ Loaded = "loaded",
1251
+ Degraded = "degraded",
1252
+ Error = "error"
1253
+ }
1254
+ /**
1255
+ * Container is being loaded by the host.
1256
+ *
1257
+ * @category Customization Types
1258
+ */
1259
+ export interface CustomizationLoadingState {
1260
+ kind: CustomizationLoadStatus.Loading;
1261
+ }
1262
+ /**
1263
+ * Container loaded successfully.
1264
+ *
1265
+ * @category Customization Types
1266
+ */
1267
+ export interface CustomizationLoadedState {
1268
+ kind: CustomizationLoadStatus.Loaded;
1269
+ }
1270
+ /**
1271
+ * Container partially loaded but has warnings.
1272
+ *
1273
+ * @category Customization Types
1274
+ */
1275
+ export interface CustomizationDegradedState {
1276
+ kind: CustomizationLoadStatus.Degraded;
1277
+ /** Human-readable description of the warning. */
1278
+ message: string;
1279
+ }
1280
+ /**
1281
+ * Container failed to load.
1282
+ *
1283
+ * @category Customization Types
1284
+ */
1285
+ export interface CustomizationErrorState {
1286
+ kind: CustomizationLoadStatus.Error;
1287
+ /** Human-readable error message. */
1288
+ message: string;
1289
+ }
1290
+ /**
1291
+ * Discriminated load state for a container customization
1292
+ * ({@link PluginCustomization} or {@link DirectoryCustomization}).
1293
+ *
1294
+ * @category Customization Types
1295
+ */
1296
+ export type CustomizationLoadState = CustomizationLoadingState | CustomizationLoadedState | CustomizationDegradedState | CustomizationErrorState;
1297
+ /**
1298
+ * Fields shared by container customizations.
1299
+ *
1300
+ * @category Customization Types
1301
+ */
1302
+ interface ContainerCustomizationBase extends CustomizationBase {
1303
+ /** Whether this container is currently enabled. */
1304
+ enabled: boolean;
1305
+ /**
1306
+ * `clientId` of the client that contributed this container. Absent for
1307
+ * server-originated entries.
1308
+ */
1309
+ clientId?: string;
1310
+ /**
1311
+ * Host-reported load state. Absent means the host has not yet reported
1312
+ * a load state for this container.
1313
+ */
1314
+ load?: CustomizationLoadState;
1315
+ /**
1316
+ * Children discovered inside this container.
1317
+ *
1318
+ * Absent means the host has not parsed this container yet. An empty
1319
+ * array means the host parsed the container and it contributes
1320
+ * nothing.
1321
+ */
1322
+ children?: ChildCustomization[];
1323
+ }
1324
+ /**
1325
+ * An [Open Plugins](https://open-plugins.com/) plugin.
1326
+ *
1327
+ * @category Customization Types
1328
+ */
1329
+ export interface PluginCustomization extends ContainerCustomizationBase {
1330
+ type: CustomizationType.Plugin;
1331
+ }
1332
+ /**
1333
+ * A {@link PluginCustomization} as published by a client. Extends the
1334
+ * server-facing shape with an opaque `nonce` so the host can detect when
1335
+ * the client's view of a plugin has changed and re-parse only as needed.
1336
+ *
1337
+ * Clients SHOULD include a `nonce`. Server-side fields like
1338
+ * {@link ContainerCustomizationBase.children | `children`} and
1339
+ * {@link ContainerCustomizationBase.load | `load`} are typically left
1340
+ * absent on publication and populated by the host when the resolved
1341
+ * plugin appears in {@link SessionState.customizations}.
1342
+ *
1343
+ * @category Customization Types
1344
+ */
1345
+ export interface ClientPluginCustomization extends PluginCustomization {
1346
+ /** Opaque version token used by the host to detect changes. */
1347
+ nonce?: string;
1348
+ }
1349
+ /**
1350
+ * A directory the host watches for this session.
1351
+ *
1352
+ * Presence in the customization list signals that the host may discover
1353
+ * customizations from this directory. When `writable` is `true`, clients
1354
+ * MAY persist new customizations into the directory using
1355
+ * [`resourceWrite`](/reference/common#resourcewrite); the host will
1356
+ * then surface the resulting child via the customization actions.
1357
+ *
1358
+ * The directory may not yet exist on disk.
1359
+ *
1360
+ * @category Customization Types
1361
+ */
1362
+ export interface DirectoryCustomization extends ContainerCustomizationBase {
1363
+ type: CustomizationType.Directory;
1364
+ /** Which child customization type this directory holds. */
1365
+ contents: ChildCustomizationType;
1366
+ /** Whether clients may write into this directory. */
1367
+ writable: boolean;
1368
+ }
1369
+ /**
1370
+ * A custom agent contributed by a plugin or directory.
1371
+ *
1372
+ * Mirrors the [Open Plugins agent](https://open-plugins.com/agent-builders/components/agents)
1373
+ * format: a markdown file with YAML frontmatter, where the body is the
1374
+ * agent's system prompt.
1375
+ *
1376
+ * @category Customization Types
1377
+ */
1378
+ export interface AgentCustomization extends CustomizationBase {
1379
+ type: CustomizationType.Agent;
1380
+ /**
1381
+ * Short description of what the agent specializes in and when to
1382
+ * invoke it. Sourced from the agent file's frontmatter `description`.
1383
+ */
1384
+ description?: string;
1385
+ /**
1386
+ * Additional provider-specific metadata for this custom agent.
1387
+ *
1388
+ * Mirrors the MCP `_meta` convention.
1389
+ */
1390
+ _meta?: Record<string, unknown>;
1391
+ }
1392
+ /**
1393
+ * A skill contributed by a plugin or directory.
1394
+ *
1395
+ * Covers both [Open Plugins skill formats](https://open-plugins.com/agent-builders/components/skills)
1396
+ * — the `skills/` directory layout (one subdirectory per skill, each with
1397
+ * a `SKILL.md`) and the flatter `commands/` directory of slash-command
1398
+ * skills.
1399
+ *
1400
+ * @category Customization Types
1401
+ */
1402
+ export interface SkillCustomization extends CustomizationBase {
1403
+ type: CustomizationType.Skill;
1404
+ /**
1405
+ * Short description used for help text and auto-invocation matching.
1406
+ * Sourced from the skill's frontmatter `description`.
1407
+ */
1408
+ description?: string;
1409
+ /**
1410
+ * When `true`, only the user can invoke this skill — the agent will not
1411
+ * auto-invoke it. Sourced from the command skill's frontmatter
1412
+ * `disable-model-invocation` flag.
1413
+ */
1414
+ disableModelInvocation?: boolean;
1415
+ }
1416
+ /**
1417
+ * A prompt contributed by a plugin or directory.
1418
+ *
1419
+ * @category Customization Types
1420
+ */
1421
+ export interface PromptCustomization extends CustomizationBase {
1422
+ type: CustomizationType.Prompt;
1423
+ /** Short description of what the prompt does. */
1424
+ description?: string;
1425
+ }
1426
+ /**
1427
+ * A rule contributed by a plugin or directory.
1428
+ *
1429
+ * Mirrors the [Open Plugins rule](https://open-plugins.com/agent-builders/components/rules)
1430
+ * format: a markdown file (e.g. `.mdc`) whose body is injected into
1431
+ * context while the rule is active. This type also covers tool-specific
1432
+ * "instruction" formats (e.g. VS Code Copilot's
1433
+ * `.github/instructions/*.md`), which differ only in naming — they
1434
+ * share the same semantics of `description`, optional always-on
1435
+ * activation, and optional glob scoping.
1436
+ *
1437
+ * @category Customization Types
1438
+ */
1439
+ export interface RuleCustomization extends CustomizationBase {
1440
+ type: CustomizationType.Rule;
1441
+ /**
1442
+ * Description of what the rule enforces.
1443
+ */
1444
+ description?: string;
1445
+ /**
1446
+ * When `true`, the rule is always active (subject to `globs` if any).
1447
+ * When `false` or absent, the agent or user decides whether to apply
1448
+ * the rule.
1449
+ */
1450
+ alwaysApply?: boolean;
1451
+ /**
1452
+ * Glob patterns the rule applies to. When present, the rule is only
1453
+ * active for matching files.
1454
+ */
1455
+ globs?: string[];
1456
+ }
1457
+ /**
1458
+ * A hook manifest contributed by a plugin or directory.
1459
+ *
1460
+ * @category Customization Types
1461
+ */
1462
+ export interface HookCustomization extends CustomizationBase {
1463
+ type: CustomizationType.Hook;
1464
+ }
1465
+ /**
1466
+ * An MCP server contributed by a plugin or directory.
1467
+ *
1468
+ * When the server is declared inline in the containing plugin manifest,
1469
+ * `uri` points at the manifest file and
1470
+ * {@link CustomizationBase.range | `range`} narrows it to the
1471
+ * declaration's span.
1472
+ *
1473
+ * The MCP server customization also reflects its current status.
1474
+ *
1475
+ * @category Customization Types
1476
+ */
1477
+ export interface McpServerCustomization extends CustomizationBase {
1478
+ type: CustomizationType.McpServer;
1479
+ /**
1480
+ * Whether this MCP server is currently enabled.
1481
+ */
1482
+ enabled: boolean;
1483
+ /**
1484
+ * Current lifecycle state of the MCP server.
1485
+ */
1486
+ state: McpServerState;
1487
+ /**
1488
+ * An `mcp://`-protocol channel the client uses to side-channel traffic
1489
+ * into the upstream MCP server itself. The channel is NOT a fresh raw MCP
1490
+ * connection: it piggybacks on the AHP transport
1491
+ * and skips the MCP `initialize` sequence.
1492
+ *
1493
+ * The agent host MAY only serve a subset of MCP on this
1494
+ * channel; the served subset is described by domain-specific
1495
+ * capabilities such as those in
1496
+ * {@link McpServerCustomizationApps.capabilities}.
1497
+ *
1498
+ * The channel URI SHOULD be stable across the server's lifetime, but
1499
+ * the agent host MAY change it (for example across a restart) and
1500
+ * MAY only expose it while the server is in
1501
+ * {@link McpServerStatus.Ready | `Ready`}. Absence means no
1502
+ * side-channel is currently available.
1503
+ */
1504
+ channel?: URI;
1505
+ /**
1506
+ * MCP App support. This property SHOULD be advertised for MCP servers
1507
+ * which support apps.
1508
+ */
1509
+ mcpApp?: McpServerCustomizationApps;
1510
+ }
1511
+ /**
1512
+ * Information from the agent host needed to render MCP Apps served
1513
+ * by this MCP server.
1514
+ *
1515
+ * @category MCP Server State
1516
+ */
1517
+ export interface McpServerCustomizationApps {
1518
+ /**
1519
+ * The subset of MCP App
1520
+ * [`HostCapabilities`](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx)
1521
+ * the AHP host can satisfy for Views backed by this server. The
1522
+ * client feeds these straight through into the `hostCapabilities` of
1523
+ * the `ui/initialize` response delivered to the View.
1524
+ */
1525
+ capabilities: AhpMcpUiHostCapabilities;
1526
+ }
1527
+ /**
1528
+ * The subset of MCP App
1529
+ * [`HostCapabilities`](https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx)
1530
+ * an AHP host can derive from the upstream MCP server (and from AHP's own
1531
+ * forwarding plumbing). Advertised on
1532
+ * {@link McpServerCustomizationApps.capabilities} so clients can pass it
1533
+ * through into the `hostCapabilities` of the `ui/initialize` response
1534
+ * delivered to an MCP App View.
1535
+ *
1536
+ * Field names mirror the MCP Apps spec exactly, so the AHP-side producer
1537
+ * can pass them straight through into the `hostCapabilities` of the
1538
+ * `ui/initialize` response delivered to the View.
1539
+ *
1540
+ * Capabilities outside this set (`openLinks`, `downloadFile`, `sandbox`,
1541
+ * `experimental`) are decided locally by whichever AHP client renders the
1542
+ * View and are NOT part of this AHP-level advertisement — only the
1543
+ * server-derived subset is.
1544
+ *
1545
+ * An agent host MUST only advertise a capability when it actually accepts the
1546
+ * corresponding methods/notifications on the `mcp://` channel:
1547
+ *
1548
+ * - {@link serverTools}: host proxies `tools/list` and `tools/call` to
1549
+ * the MCP server. When `listChanged` is `true`, the host also forwards
1550
+ * `notifications/tools/list_changed`.
1551
+ * - {@link serverResources}: host proxies `resources/read`,
1552
+ * `resources/list`, and `resources/templates/list` to the MCP server.
1553
+ * When `listChanged` is `true`, the host also forwards
1554
+ * `notifications/resources/list_changed`.
1555
+ * - {@link logging}: host accepts `notifications/message` log entries
1556
+ * from the App and forwards them via `mcpNotification` (and forwards
1557
+ * `logging/setLevel` calls to the server).
1558
+ * - {@link sampling}: host serves `sampling/createMessage` via
1559
+ * `mcpMethodCall`. When `sampling.tools` is present, the host also
1560
+ * accepts SEP-1577 `tools` / `toolChoice` / `tool_use` content blocks
1561
+ * inside `CreateMessageRequest`.
1562
+ *
1563
+ * @category MCP Server State
1564
+ * @see {@link https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx | MCP Apps spec (SEP-1865)}
1565
+ */
1566
+ export interface AhpMcpUiHostCapabilities {
1567
+ /** Producer proxies the MCP `tools/*` methods to the upstream server. */
1568
+ serverTools?: {
1569
+ /** Producer forwards `notifications/tools/list_changed` from the server. */
1570
+ listChanged?: boolean;
1571
+ };
1572
+ /** Producer proxies the MCP `resources/*` methods to the upstream server. */
1573
+ serverResources?: {
1574
+ /** Producer forwards `notifications/resources/list_changed` from the server. */
1575
+ listChanged?: boolean;
1576
+ };
1577
+ /** Producer accepts `notifications/message` log entries from the App via `mcpNotification`. */
1578
+ logging?: Record<string, never>;
1579
+ /** Producer serves `sampling/createMessage` via `mcpMethodCall`. */
1580
+ sampling?: {
1581
+ /**
1582
+ * Producer accepts SEP-1577 `tools` / `toolChoice` / `tool_use` content
1583
+ * blocks inside `CreateMessageRequest`.
1584
+ */
1585
+ tools?: Record<string, never>;
1586
+ };
1587
+ }
1588
+ /**
1589
+ * Child customizations that live inside a {@link PluginCustomization} or
1590
+ * {@link DirectoryCustomization}.
1591
+ *
1592
+ * @category Customization Types
1593
+ */
1594
+ export type ChildCustomization = AgentCustomization | SkillCustomization | PromptCustomization | RuleCustomization | HookCustomization | McpServerCustomization;
1595
+ /**
1596
+ * A top-level customization active in a session. Either a container
1597
+ * ({@link PluginCustomization} or {@link DirectoryCustomization}) whose
1598
+ * leaf customizations live in its
1599
+ * {@link ContainerCustomizationBase.children | `children`} array, or a
1600
+ * bare {@link McpServerCustomization} surfaced directly by the host.
1601
+ *
1602
+ * @category Customization Types
1603
+ */
1604
+ export type Customization = PluginCustomization | DirectoryCustomization | McpServerCustomization;
1605
+ /**
1606
+ * Discriminant for the {@link McpServerState} union.
1607
+ *
1608
+ * @category MCP Server State
1609
+ */
1610
+ export declare enum McpServerStatus {
1611
+ /** Server has been registered but is not yet running. */
1612
+ Starting = "starting",
1613
+ /** Server is running and serving requests. */
1614
+ Ready = "ready",
1615
+ /**
1616
+ * Server is reachable but requires additional authentication before it
1617
+ * can start, or before it can serve a particular request. Carries the
1618
+ * RFC 9728 Protected Resource Metadata the client needs to obtain a
1619
+ * token; the client then pushes the token via the existing
1620
+ * `authenticate` command.
1621
+ */
1622
+ AuthRequired = "authRequired",
1623
+ /** Server failed to start, crashed, or otherwise transitioned to a fatal error. */
1624
+ Error = "error",
1625
+ /** Server has been shut down. */
1626
+ Stopped = "stopped"
1627
+ }
1628
+ /**
1629
+ * Why an MCP server is currently in the {@link McpServerStatus.AuthRequired}
1630
+ * state. Mirrors the three failure modes defined by the
1631
+ * [MCP authorization spec](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization.md).
1632
+ *
1633
+ * @category MCP Server State
1634
+ */
1635
+ export declare enum McpAuthRequiredReason {
1636
+ /** No token has been provided yet (HTTP 401, no prior token). */
1637
+ Required = "required",
1638
+ /** A previously valid token expired or was revoked (HTTP 401). */
1639
+ Expired = "expired",
1640
+ /**
1641
+ * Step-up auth: a token is present but its scopes are insufficient for
1642
+ * the requested operation (HTTP 403 with
1643
+ * `WWW-Authenticate: Bearer error="insufficient_scope"`).
1644
+ *
1645
+ * Unlike {@link Required} and {@link Expired} — which typically surface
1646
+ * before any tool work is in flight — `InsufficientScope` is almost
1647
+ * always triggered by an MCP request issued mid-turn (a `tools/call`,
1648
+ * `resources/read`, etc.). The host SHOULD pair the
1649
+ * {@link McpServerAuthRequiredState} transition with
1650
+ * {@link SessionStatus.InputNeeded} on
1651
+ * {@link SessionSummary.status | the session} so the activity becomes
1652
+ * visible at the session-summary level, and clients SHOULD watch for
1653
+ * this kind on any
1654
+ * {@link McpServerCustomization | MCP server} backing a running tool
1655
+ * call so they can present an explicit "grant more access" affordance
1656
+ * tied to the blocked tool call.
1657
+ */
1658
+ InsufficientScope = "insufficientScope"
1659
+ }
1660
+ /**
1661
+ * Server is registered with the host but has not yet started.
1662
+ *
1663
+ * @category MCP Server State
1664
+ */
1665
+ export interface McpServerStartingState {
1666
+ kind: McpServerStatus.Starting;
1667
+ }
1668
+ /**
1669
+ * Server is running and serving requests.
1670
+ *
1671
+ * @category MCP Server State
1672
+ */
1673
+ export interface McpServerReadyState {
1674
+ kind: McpServerStatus.Ready;
1675
+ }
1676
+ /**
1677
+ * Server is reachable but cannot serve requests until the client
1678
+ * authenticates. Mirrors the discovery flow defined by
1679
+ * [RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728)
1680
+ * (Protected Resource Metadata) and the OAuth 2.1 / RFC 6750 challenge
1681
+ * semantics required by the MCP authorization spec.
1682
+ *
1683
+ * Clients react to this state by calling the existing `authenticate`
1684
+ * command with the {@link ProtectedResourceMetadata.resource | resource}
1685
+ * carried here. There is **no** `notify/authRequired` notification for
1686
+ * MCP servers — the action stream is the single source of truth.
1687
+ *
1688
+ * When the transition is triggered by a request issued during a turn
1689
+ * — most commonly
1690
+ * {@link McpAuthRequiredReason.InsufficientScope | `InsufficientScope`}
1691
+ * surfacing mid-tool-call — the host SHOULD also raise
1692
+ * {@link SessionStatus.InputNeeded} on the session so the block is
1693
+ * visible at the summary level. Clients SHOULD watch this status on
1694
+ * any MCP server backing a running tool call and surface an explicit
1695
+ * affordance (e.g. a "grant additional access" prompt) tied to that
1696
+ * tool call, rather than relying on the user to notice the
1697
+ * customization’s status badge.
1698
+ *
1699
+ * @category MCP Server State
1700
+ */
1701
+ export interface McpServerAuthRequiredState {
1702
+ kind: McpServerStatus.AuthRequired;
1703
+ /** Why authentication is required. */
1704
+ reason: McpAuthRequiredReason;
1705
+ /**
1706
+ * RFC 9728 Protected Resource Metadata. The `resource` field is the
1707
+ * canonical MCP server URI per RFC 8707, used as the OAuth `resource`
1708
+ * indicator. `authorization_servers` is REQUIRED by the MCP
1709
+ * authorization spec.
1710
+ */
1711
+ resource: ProtectedResourceMetadata;
1712
+ /**
1713
+ * Scopes required for the current challenge, parsed from the
1714
+ * `WWW-Authenticate: Bearer scope="…"` header (or `scopes_supported`
1715
+ * fallback). Authoritative for the next authorization request — clients
1716
+ * MUST NOT assume any subset/superset relationship to
1717
+ * `resource.scopes_supported`.
1718
+ */
1719
+ requiredScopes?: string[];
1720
+ /** Human-readable hint, typically from the OAuth `error_description`. */
1721
+ description?: string;
1722
+ }
1723
+ /**
1724
+ * Server failed to start, crashed, or otherwise transitioned to a
1725
+ * non-recoverable error. Use {@link McpServerStatus.AuthRequired}
1726
+ * for authentication failures.
1727
+ *
1728
+ * @category MCP Server State
1729
+ */
1730
+ export interface McpServerErrorState {
1731
+ kind: McpServerStatus.Error;
1732
+ /** Error details. */
1733
+ error: ErrorInfo;
1734
+ }
1735
+ /**
1736
+ * Server has been shut down. The host MAY remove the server from the
1737
+ * session entirely shortly after this state.
1738
+ *
1739
+ * @category MCP Server State
1740
+ */
1741
+ export interface McpServerStoppedState {
1742
+ kind: McpServerStatus.Stopped;
1743
+ }
1744
+ /**
1745
+ * Discriminated union of all MCP server lifecycle states.
1746
+ * Discriminated by `kind` (a {@link McpServerStatus} value).
1747
+ *
1748
+ * @category MCP Server State
1749
+ */
1750
+ export type McpServerState = McpServerStartingState | McpServerReadyState | McpServerAuthRequiredState | McpServerErrorState | McpServerStoppedState;
1751
+ export {};