@codingame/monaco-vscode-api 26.1.1 → 26.2.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 (335) hide show
  1. package/missing-services.js +26 -5
  2. package/package.json +8 -8
  3. package/services.js +3 -3
  4. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css +9 -0
  5. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.d.ts +2 -0
  6. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +12 -5
  7. package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
  8. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  9. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +4 -0
  10. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +5 -1
  11. package/vscode/src/vs/platform/product/common/product.js +3 -3
  12. package/vscode/src/vs/platform/window/common/window.d.ts +1 -0
  13. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +2 -1
  14. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +1 -0
  15. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +1 -0
  16. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +31 -8
  17. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +2 -1
  18. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -2
  19. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +12 -1
  20. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +67 -3
  21. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +12 -0
  22. package/vscode/src/vs/workbench/api/common/extHostTypes.js +9 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +1 -7
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +5 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +15 -12
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +8 -3
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  30. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.d.ts +1 -1
  31. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +5 -3
  32. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +2 -2
  33. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
  34. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +7 -0
  35. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +80 -62
  36. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +5 -5
  38. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +8 -9
  39. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +70 -1
  40. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +27 -1
  41. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +27 -3
  42. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +2 -1
  43. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +3 -2
  44. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -0
  45. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +2 -0
  46. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  47. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +22 -22
  49. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +84 -5
  50. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +176 -70
  51. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +18 -5
  52. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +46 -4
  53. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +17 -0
  54. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +10 -0
  55. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +1 -0
  56. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +9 -0
  57. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +68 -54
  58. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +16 -0
  59. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +6 -0
  60. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +48 -0
  61. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +64 -3
  62. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +159 -0
  63. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +387 -0
  64. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +21 -4
  65. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +82 -26
  66. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +3 -1
  67. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +5 -1
  68. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +51 -3
  69. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +14 -1
  70. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +11 -10
  71. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.d.ts +5 -0
  72. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.js +22 -0
  73. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +9 -9
  74. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +14 -2
  75. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +98 -25
  76. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  77. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +14 -0
  78. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts +1 -2
  80. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  82. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  83. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  84. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  85. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +9 -9
  86. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  88. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  89. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  90. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  91. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  92. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  93. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  94. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  95. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  96. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  98. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  100. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  101. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  103. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  104. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  105. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
  106. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  108. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  109. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  110. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  111. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  112. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  113. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  114. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  115. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
  116. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  117. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  118. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
  119. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  120. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  121. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  122. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  123. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  124. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  125. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  127. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
  128. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  129. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  130. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  131. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  132. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
  133. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  134. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  139. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
  140. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
  143. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  144. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  145. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  146. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +147 -147
  147. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +170 -170
  148. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  150. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  151. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +24 -24
  152. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  153. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  154. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +48 -48
  155. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +5 -5
  156. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +29 -29
  157. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +74 -74
  158. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  161. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  162. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  164. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  165. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
  166. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  167. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  168. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  171. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  172. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  173. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  174. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
  175. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  176. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  177. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  178. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
  179. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
  180. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  181. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  183. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  184. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  185. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  186. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  187. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  188. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  189. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  190. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  191. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  192. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  194. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  195. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  196. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
  197. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +31 -31
  198. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +9 -9
  199. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
  200. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  201. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  202. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  203. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  204. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
  206. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  207. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  208. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  209. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  210. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  216. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +8 -5
  217. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  219. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  235. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  236. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  238. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
  239. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -50
  240. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  241. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  242. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  243. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  244. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  245. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  246. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  247. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  248. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
  249. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  250. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  251. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +12 -12
  252. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  253. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  254. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  256. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  257. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  258. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
  259. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +8 -8
  260. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  263. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  264. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  265. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  266. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  267. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  269. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  270. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  271. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  272. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  273. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  274. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  275. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -9
  276. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  277. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  278. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +54 -54
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +1 -1
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  289. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  290. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  291. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  292. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  293. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  294. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  296. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
  297. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  298. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +14 -14
  299. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  300. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  301. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  302. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  303. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  304. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  305. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  306. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
  307. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  308. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  309. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  310. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  311. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  312. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  313. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  314. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  315. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  316. package/vscode/src/vs/workbench/services/storage/browser/storageService.d.ts +5 -1
  317. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +32 -16
  318. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  319. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  320. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  321. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  322. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  323. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  324. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  325. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  326. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  327. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +9 -9
  328. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  329. package/vscode/src/vs/workbench/services/workspaces/browser/workspaces.d.ts +2 -2
  330. package/vscode/src/vs/workbench/services/workspaces/browser/workspaces.js +4 -4
  331. package/vscode-dts/vscode.proposed.chatHooks.d.ts +126 -0
  332. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +25 -1
  333. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +35 -1
  334. package/vscode-dts/vscode.proposed.d.ts +1 -0
  335. package/workbench.js +2 -2
@@ -4,26 +4,37 @@ import { CancellationToken } from '../../../../../../base/common/cancellation.js
4
4
  import { Codicon } from '../../../../../../base/common/codicons.js';
5
5
  import { Event } from '../../../../../../base/common/event.js';
6
6
  import { MarkdownString } from '../../../../../../base/common/htmlContent.js';
7
- import { generateUuid } from '../../../../../../base/common/uuid.js';
8
7
  import { Disposable, DisposableStore } from '../../../../../../base/common/lifecycle.js';
9
8
  import { ThemeIcon } from '../../../../../../base/common/themables.js';
9
+ import { generateUuid } from '../../../../../../base/common/uuid.js';
10
10
  import { localize } from '../../../../../../nls.js';
11
11
  import { IConfigurationService } from '../../../../../../platform/configuration/common/configuration.service.js';
12
12
  import { IInstantiationService } from '../../../../../../platform/instantiation/common/instantiation.js';
13
13
  import { ILogService } from '../../../../../../platform/log/common/log.service.js';
14
- import { IChatAgentService } from '../../participants/chatAgents.service.js';
15
- import { IChatService } from '../../chatService/chatService.service.js';
16
14
  import { ChatRequestVariableSet } from '../../attachments/chatVariableEntries.js';
15
+ import { IChatService } from '../../chatService/chatService.service.js';
17
16
  import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '../../constants.js';
18
17
  import { ILanguageModelsService } from '../../languageModels.service.js';
18
+ import { IChatAgentService } from '../../participants/chatAgents.service.js';
19
+ import { ComputeAutomaticInstructions } from '../../promptSyntax/computeAutomaticInstructions.js';
20
+ import { IPromptsService } from '../../promptSyntax/service/promptsService.service.js';
19
21
  import { ToolDataSource, VSCodeToolReference, isToolSet } from '../languageModelToolsService.js';
20
22
  import { ILanguageModelToolsService } from '../languageModelToolsService.service.js';
21
- import { ComputeAutomaticInstructions } from '../../promptSyntax/computeAutomaticInstructions.js';
22
23
  import { ManageTodoListToolToolId } from './manageTodoListTool.js';
23
24
  import { createToolSimpleTextResult } from './toolHelpers.js';
24
- import { IPromptsService } from '../../promptSyntax/service/promptsService.service.js';
25
25
 
26
26
  var RunSubagentTool_1;
27
+ function parseMultiplier(multiplier) {
28
+ if (!multiplier) {
29
+ return 1000;
30
+ }
31
+ const match = /^([\d.]+)\s*[xX]$/i.exec(multiplier.trim());
32
+ if (!match) {
33
+ return 1;
34
+ }
35
+ const value = parseFloat(match[1]);
36
+ return isNaN(value) ? 1 : value;
37
+ }
27
38
  const BaseModelDescription = `Launch a new agent to handle complex, multi-step tasks autonomously. This tool is good at researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries, use this agent to perform the search for you.
28
39
 
29
40
  - Agents do not run async or in the background, you will wait for the agent\'s result.
@@ -59,6 +70,7 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
59
70
  this.configurationService = configurationService;
60
71
  this.promptsService = promptsService;
61
72
  this.instantiationService = instantiationService;
73
+ this._resolvedModels = ( new Map());
62
74
  this.onDidUpdateToolData = Event.filter(
63
75
  this.configurationService.onDidChangeConfiguration,
64
76
  e => e.affectsConfiguration(ChatConfiguration.SubagentToolCustomAgents)
@@ -91,9 +103,9 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
91
103
  id: RunSubagentTool_1.Id,
92
104
  toolReferenceName: VSCodeToolReference.runSubagent,
93
105
  icon: ThemeIcon.fromId(Codicon.organization.id),
94
- displayName: ( localize(6394, "Run Subagent")),
106
+ displayName: ( localize(6583, "Run Subagent")),
95
107
  userDescription: ( localize(
96
- 6395,
108
+ 6584,
97
109
  "Run a task within an isolated subagent context to enable efficient organization of tasks and context window management."
98
110
  )),
99
111
  modelDescription: modelDescription,
@@ -125,27 +137,24 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
125
137
  let modeTools = invocation.userSelectedTools;
126
138
  let modeInstructions;
127
139
  let subagent;
140
+ let resolvedModelName;
128
141
  const subAgentName = args.agentName;
129
142
  if (subAgentName) {
130
143
  subagent = await this.getSubAgentByName(subAgentName);
131
144
  if (subagent) {
132
- const modeModelQualifiedNames = subagent.model;
133
- if (modeModelQualifiedNames) {
134
- outer:
135
- for (const qualifiedName of modeModelQualifiedNames) {
136
- const lmByQualifiedName = this.languageModelsService.lookupLanguageModelByQualifiedName(qualifiedName);
137
- for (const fullId of this.languageModelsService.getLanguageModelIds()) {
138
- const lmById = this.languageModelsService.lookupLanguageModel(fullId);
139
- if (lmById && lmById?.id === lmByQualifiedName?.id) {
140
- modeModelId = fullId;
141
- break outer;
142
- }
143
- }
144
- }
145
+ const cached = this._resolvedModels.get(invocation.callId);
146
+ if (cached) {
147
+ this._resolvedModels.delete(invocation.callId);
148
+ modeModelId = cached.modeModelId;
149
+ resolvedModelName = cached.resolvedModelName;
150
+ } else {
151
+ const resolved = this.resolveSubagentModel(subagent, invocation.modelId);
152
+ modeModelId = resolved.modeModelId;
153
+ resolvedModelName = resolved.resolvedModelName;
145
154
  }
146
155
  const modeCustomTools = subagent.tools;
147
156
  if (modeCustomTools) {
148
- const enablementMap = this.languageModelToolsService.toToolAndToolSetEnablementMap(modeCustomTools, subagent.target, undefined);
157
+ const enablementMap = this.languageModelToolsService.toToolAndToolSetEnablementMap(modeCustomTools, undefined);
149
158
  modeTools = {};
150
159
  for (const [tool, enabled] of enablementMap) {
151
160
  if (!isToolSet(tool)) {
@@ -165,6 +174,15 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
165
174
  `Requested agent '${subAgentName}' not found. Try again with the correct agent name, or omit the agentName to use the current agent.`
166
175
  ));
167
176
  }
177
+ } else {
178
+ const cached = this._resolvedModels.get(invocation.callId);
179
+ if (cached) {
180
+ this._resolvedModels.delete(invocation.callId);
181
+ resolvedModelName = cached.resolvedModelName;
182
+ } else {
183
+ const resolvedModelMetadata = modeModelId ? this.languageModelsService.lookupLanguageModel(modeModelId) : undefined;
184
+ resolvedModelName = resolvedModelMetadata?.name;
185
+ }
168
186
  }
169
187
  const markdownParts = [];
170
188
  const subAgentInvocationId = invocation.callId ?? `subagent-${generateUuid()}`;
@@ -187,6 +205,11 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
187
205
  } else {
188
206
  model.acceptResponseProgress(request, part);
189
207
  }
208
+ } else if (part.kind === "hook") {
209
+ model.acceptResponseProgress(request, {
210
+ ...part,
211
+ subAgentInvocationId
212
+ });
190
213
  } else if (part.kind === "markdownContent") {
191
214
  if (inEdit) {
192
215
  model.acceptResponseProgress(request, {
@@ -207,6 +230,13 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
207
230
  const variableSet = ( new ChatRequestVariableSet());
208
231
  const computer = this.instantiationService.createInstance(ComputeAutomaticInstructions, ChatModeKind.Agent, modeTools, undefined);
209
232
  await computer.collect(variableSet, token);
233
+ let collectedHooks;
234
+ try {
235
+ const info = await this.promptsService.getHooks(token);
236
+ collectedHooks = info?.hooks;
237
+ } catch (error) {
238
+ this.logService.warn("[ChatService] Failed to collect hooks:", error);
239
+ }
210
240
  const agentRequest = {
211
241
  sessionResource: invocation.context.sessionResource,
212
242
  requestId: invocation.callId ?? `subagent-${Date.now()}`,
@@ -220,7 +250,9 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
220
250
  subAgentName: subAgentName,
221
251
  userSelectedModelId: modeModelId,
222
252
  userSelectedTools: modeTools,
223
- modeInstructions
253
+ modeInstructions,
254
+ hooks: collectedHooks,
255
+ hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0))
224
256
  };
225
257
  store.add(this.languageModelToolsService.onDidInvokeTool(e => {
226
258
  if (e.subagentInvocationId === subAgentInvocationId) {
@@ -234,6 +266,7 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
234
266
  const resultText = markdownParts.join("").replace(/^\n*```\n+```\n*/g, "").trim() || "Agent completed with no output";
235
267
  if (invocation.toolSpecificData?.kind === "subagent") {
236
268
  invocation.toolSpecificData.result = resultText;
269
+ invocation.toolSpecificData.modelName = resolvedModelName;
237
270
  }
238
271
  return {
239
272
  content: [{
@@ -243,7 +276,8 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
243
276
  toolMetadata: {
244
277
  subAgentInvocationId,
245
278
  description: args.description,
246
- agentName: agentRequest.subAgentName
279
+ agentName: agentRequest.subAgentName,
280
+ modelName: resolvedModelName
247
281
  }
248
282
  };
249
283
  } catch (error) {
@@ -258,20 +292,59 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
258
292
  const agents = await this.promptsService.getCustomAgents(CancellationToken.None);
259
293
  return agents.find(agent => agent.name === name);
260
294
  }
295
+ resolveSubagentModel(subagent, mainModelId) {
296
+ let modeModelId = mainModelId;
297
+ if (subagent) {
298
+ const modeModelQualifiedNames = subagent.model;
299
+ if (modeModelQualifiedNames) {
300
+ outer:
301
+ for (const qualifiedName of modeModelQualifiedNames) {
302
+ const lmByQualifiedName = this.languageModelsService.lookupLanguageModelByQualifiedName(qualifiedName);
303
+ for (const fullId of this.languageModelsService.getLanguageModelIds()) {
304
+ const lmById = this.languageModelsService.lookupLanguageModel(fullId);
305
+ if (lmById && lmById?.id === lmByQualifiedName?.id) {
306
+ modeModelId = fullId;
307
+ break outer;
308
+ }
309
+ }
310
+ }
311
+ }
312
+ if (modeModelId && modeModelId !== mainModelId) {
313
+ const mainModelMetadata = mainModelId ? this.languageModelsService.lookupLanguageModel(mainModelId) : undefined;
314
+ const subagentModelMetadata = this.languageModelsService.lookupLanguageModel(modeModelId);
315
+ const mainMultiplier = parseMultiplier(mainModelMetadata?.multiplier);
316
+ const subagentMultiplier = parseMultiplier(subagentModelMetadata?.multiplier);
317
+ if (subagentMultiplier > mainMultiplier) {
318
+ this.logService.warn(
319
+ `[RunSubagentTool] Subagent '${subagent.name}' requested model '${subagentModelMetadata?.name}' (multiplier: ${subagentModelMetadata?.multiplier ?? "unknown"}) which has a larger multiplier than the main agent model '${mainModelMetadata?.name}' (multiplier: ${mainModelMetadata?.multiplier ?? "unknown"}). Falling back to the main agent model.`
320
+ );
321
+ modeModelId = mainModelId;
322
+ }
323
+ }
324
+ }
325
+ const resolvedModelMetadata = modeModelId ? this.languageModelsService.lookupLanguageModel(modeModelId) : undefined;
326
+ return {
327
+ modeModelId,
328
+ resolvedModelName: resolvedModelMetadata?.name
329
+ };
330
+ }
261
331
  async prepareToolInvocation(context, _token) {
262
332
  const args = context.parameters;
263
333
  const subagent = args.agentName ? await this.getSubAgentByName(args.agentName) : undefined;
334
+ const resolved = this.resolveSubagentModel(subagent, context.modelId);
335
+ this._resolvedModels.set(context.toolCallId, resolved);
264
336
  return {
265
337
  invocationMessage: args.description,
266
338
  toolSpecificData: {
267
339
  kind: "subagent",
268
340
  description: args.description,
269
341
  agentName: subagent?.name,
270
- prompt: args.prompt
342
+ prompt: args.prompt,
343
+ modelName: resolved.resolvedModelName
271
344
  }
272
345
  };
273
346
  }
274
347
  };
275
348
  RunSubagentTool = RunSubagentTool_1 = ( __decorate([( __param(0, IChatAgentService)), ( __param(1, IChatService)), ( __param(2, ILanguageModelToolsService)), ( __param(3, ILanguageModelsService)), ( __param(4, ILogService)), ( __param(5, ILanguageModelToolsService)), ( __param(6, IConfigurationService)), ( __param(7, IPromptsService)), ( __param(8, IInstantiationService))], RunSubagentTool));
276
349
 
277
- export { RunSubagentTool };
350
+ export { RunSubagentTool, parseMultiplier };
@@ -30,7 +30,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
30
30
  },
31
31
  jsonSchema: {
32
32
  description: ( localize(
33
- 6396,
33
+ 6585,
34
34
  "Contributes a tool that can be invoked by a language model in a chat session, or from a standalone command. Registered tools can be used by all extensions."
35
35
  )),
36
36
  type: "array",
@@ -56,7 +56,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
56
56
  properties: {
57
57
  name: {
58
58
  description: ( localize(
59
- 6397,
59
+ 6586,
60
60
  "A unique name for this tool. This name must be a globally unique identifier, and is also used as a name when presenting this tool to a language model."
61
61
  )),
62
62
  type: "string",
@@ -64,7 +64,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
64
64
  },
65
65
  toolReferenceName: {
66
66
  markdownDescription: ( localize(
67
- 6398,
67
+ 6587,
68
68
  "If {0} is enabled for this tool, the user may use '#' with this name to invoke the tool in a query. Otherwise, the name is not required. Name must not contain whitespace.",
69
69
  "`canBeReferencedInPrompt`"
70
70
  )),
@@ -73,32 +73,32 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
73
73
  },
74
74
  displayName: {
75
75
  description: ( localize(
76
- 6399,
76
+ 6588,
77
77
  "A human-readable name for this tool that may be used to describe it in the UI."
78
78
  )),
79
79
  type: "string"
80
80
  },
81
81
  userDescription: {
82
- description: ( localize(6400, "A description of this tool that may be shown to the user.")),
82
+ description: ( localize(6589, "A description of this tool that may be shown to the user.")),
83
83
  type: "string"
84
84
  },
85
85
  modelDescription: {
86
86
  description: ( localize(
87
- 6401,
87
+ 6590,
88
88
  "A description of this tool that may be used by a language model to select it."
89
89
  )),
90
90
  type: "string"
91
91
  },
92
92
  inputSchema: {
93
93
  description: ( localize(
94
- 6402,
94
+ 6591,
95
95
  "A JSON schema for the input this tool accepts. The input must be an object at the top level. A particular language model may not support all JSON schema features. See the documentation for the language model family you are using for more information."
96
96
  )),
97
97
  $ref: toolsParametersSchemaSchemaId
98
98
  },
99
99
  canBeReferencedInPrompt: {
100
100
  markdownDescription: ( localize(
101
- 6403,
101
+ 6592,
102
102
  "If true, this tool shows up as an attachment that the user can add manually to their request. Chat participants will receive the tool in {0}.",
103
103
  "`ChatRequest#toolReferences`"
104
104
  )),
@@ -106,7 +106,7 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
106
106
  },
107
107
  icon: {
108
108
  markdownDescription: ( localize(
109
- 6404,
109
+ 6593,
110
110
  "An icon that represents this tool. Either a file path, an object with file paths for dark and light themes, or a theme icon reference, like \"\\$(zap)\""
111
111
  )),
112
112
  anyOf: [{
@@ -115,11 +115,11 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
115
115
  type: "object",
116
116
  properties: {
117
117
  light: {
118
- description: ( localize(6405, "Icon path when a light theme is used")),
118
+ description: ( localize(6594, "Icon path when a light theme is used")),
119
119
  type: "string"
120
120
  },
121
121
  dark: {
122
- description: ( localize(6406, "Icon path when a dark theme is used")),
122
+ description: ( localize(6595, "Icon path when a dark theme is used")),
123
123
  type: "string"
124
124
  }
125
125
  }
@@ -127,14 +127,14 @@ const languageModelToolsExtensionPoint = ExtensionsRegistry.registerExtensionPoi
127
127
  },
128
128
  when: {
129
129
  markdownDescription: ( localize(
130
- 6407,
130
+ 6596,
131
131
  "Condition which must be true for this tool to be enabled. Note that a tool may still be invoked by another extension even when its `when` condition is false."
132
132
  )),
133
133
  type: "string"
134
134
  },
135
135
  tags: {
136
136
  description: ( localize(
137
- 6408,
137
+ 6597,
138
138
  "A set of tags that roughly describe the tool's capabilities. A tool user may use these to filter the set of tools to just ones that are relevant for the task at hand, or they may want to pick a tag that can be used to identify just the tools contributed by this extension."
139
139
  )),
140
140
  type: "array",
@@ -152,7 +152,7 @@ const languageModelToolSetsExtensionPoint = ExtensionsRegistry.registerExtension
152
152
  deps: [languageModelToolsExtensionPoint],
153
153
  jsonSchema: {
154
154
  description: ( localize(
155
- 6409,
155
+ 6598,
156
156
  "Contributes a set of language model tools that can be used together."
157
157
  )),
158
158
  type: "array",
@@ -170,23 +170,23 @@ const languageModelToolSetsExtensionPoint = ExtensionsRegistry.registerExtension
170
170
  properties: {
171
171
  name: {
172
172
  description: ( localize(
173
- 6410,
173
+ 6599,
174
174
  "A name for this tool set. Used as reference and should not contain whitespace."
175
175
  )),
176
176
  type: "string",
177
177
  pattern: "^[\\w-]+$"
178
178
  },
179
179
  description: {
180
- description: ( localize(6411, "A description of this tool set.")),
180
+ description: ( localize(6600, "A description of this tool set.")),
181
181
  type: "string"
182
182
  },
183
183
  icon: {
184
- markdownDescription: ( localize(6412, "An icon that represents this tool set, like `$(zap)`")),
184
+ markdownDescription: ( localize(6601, "An icon that represents this tool set, like `$(zap)`")),
185
185
  type: "string"
186
186
  },
187
187
  tools: {
188
188
  markdownDescription: ( localize(
189
- 6413,
189
+ 6602,
190
190
  "A list of tools or tool sets to include in this tool set. Cannot be empty and must reference tools by their `toolReferenceName`."
191
191
  )),
192
192
  type: "array",
@@ -406,7 +406,7 @@ class LanguageModelToolDataRenderer extends Disposable {
406
406
  dispose: () => {}
407
407
  };
408
408
  }
409
- const headers = [( localize(6414, "Name")), ( localize(6415, "Display Name")), ( localize(6416, "Description"))];
409
+ const headers = [( localize(6603, "Name")), ( localize(6604, "Display Name")), ( localize(6605, "Description"))];
410
410
  const rows = ( contribs.map(t => {
411
411
  return [( new MarkdownString(`\`${t.name}\``)), t.displayName, t.userDescription ?? t.modelDescription];
412
412
  }));
@@ -421,7 +421,7 @@ class LanguageModelToolDataRenderer extends Disposable {
421
421
  }
422
422
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
423
423
  id: "languageModelTools",
424
- label: ( localize(6417, "Language Model Tools")),
424
+ label: ( localize(6606, "Language Model Tools")),
425
425
  access: {
426
426
  canToggle: false
427
427
  },
@@ -446,7 +446,7 @@ class LanguageModelToolSetDataRenderer extends Disposable {
446
446
  dispose: () => {}
447
447
  };
448
448
  }
449
- const headers = [( localize(6418, "Name")), ( localize(6419, "Reference Name")), ( localize(6420, "Tools")), ( localize(6421, "Description"))];
449
+ const headers = [( localize(6607, "Name")), ( localize(6608, "Reference Name")), ( localize(6609, "Tools")), ( localize(6610, "Description"))];
450
450
  const rows = ( contribs.map(t => {
451
451
  return [( new MarkdownString(`\`${t.name}\``)), t.referenceName ? ( new MarkdownString(`\`#${t.referenceName}\``)) : "none", t.tools.join(", "), t.description];
452
452
  }));
@@ -461,7 +461,7 @@ class LanguageModelToolSetDataRenderer extends Disposable {
461
461
  }
462
462
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
463
463
  id: "languageModelToolSets",
464
- label: ( localize(6422, "Language Model Tool Sets")),
464
+ label: ( localize(6611, "Language Model Tool Sets")),
465
465
  access: {
466
466
  canToggle: false
467
467
  },
@@ -102,6 +102,14 @@ export declare namespace ToolDataSource {
102
102
  readonly label: string;
103
103
  };
104
104
  }
105
+ /**
106
+ * Pre-tool-use hook result passed from the extension when the hook was executed externally.
107
+ */
108
+ export interface IExternalPreToolUseHookResult {
109
+ permissionDecision?: "allow" | "deny" | "ask";
110
+ permissionDecisionReason?: string;
111
+ updatedInput?: Record<string, any>;
112
+ }
105
113
  export interface IToolInvocation {
106
114
  callId: string;
107
115
  toolId: string;
@@ -121,6 +129,8 @@ export interface IToolInvocation {
121
129
  toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData | IChatExtensionsContent | IChatTodoListContent | IChatSubagentToolInvocationData;
122
130
  modelId?: string;
123
131
  userSelectedTools?: UserSelectedTools;
132
+ /** Pre-tool-use hook result passed from the extension, if the hook was already executed externally. */
133
+ preToolUseResult?: IExternalPreToolUseHookResult;
124
134
  }
125
135
  export interface IToolInvocationContext {
126
136
  /** @deprecated Use {@link sessionResource} instead */
@@ -130,11 +140,15 @@ export interface IToolInvocationContext {
130
140
  export declare function isToolInvocationContext(obj: any): obj is IToolInvocationContext;
131
141
  export interface IToolInvocationPreparationContext {
132
142
  parameters: any;
143
+ toolCallId: string;
133
144
  chatRequestId?: string;
134
145
  /** @deprecated Use {@link chatSessionResource} instead */
135
146
  chatSessionId?: string;
136
147
  chatSessionResource: URI | undefined;
137
148
  chatInteractionId?: string;
149
+ modelId?: string;
150
+ /** If set, tells the tool that it should include confirmmation messages. */
151
+ forceConfirmationReason?: string;
138
152
  }
139
153
  export type ToolInputOutputBase = {
140
154
  /** Mimetype of the value, optional */
@@ -54,7 +54,7 @@ var ToolDataSource;
54
54
  if (source.type === "internal") {
55
55
  return {
56
56
  ordinal: 1,
57
- label: ( localize(6423, "Built-In"))
57
+ label: ( localize(6612, "Built-In"))
58
58
  };
59
59
  } else if (source.type === "mcp") {
60
60
  return {
@@ -64,7 +64,7 @@ var ToolDataSource;
64
64
  } else if (source.type === "user") {
65
65
  return {
66
66
  ordinal: 0,
67
- label: ( localize(6424, "User Defined"))
67
+ label: ( localize(6613, "User Defined"))
68
68
  };
69
69
  } else {
70
70
  return {
@@ -93,7 +93,7 @@ function toolContentToA11yString(part) {
93
93
  return p.value;
94
94
  case "data":
95
95
  return localize(
96
- 6425,
96
+ 6614,
97
97
  "{0} of {1} binary data",
98
98
  ByteSize.formatSize(p.value.data.byteLength),
99
99
  p.value.mimeType || "unknown"
@@ -88,11 +88,10 @@ export interface ILanguageModelToolsService {
88
88
  /**
89
89
  * Gets the enablement maps based on the given set of references.
90
90
  * @param fullReferenceNames The full reference names of the tools and tool sets to enable.
91
- * @param target Optional target to filter tools by.
92
91
  * @param model Optional language model metadata to filter tools by.
93
92
  * If undefined is passed, all tools will be returned, even if normally disabled.
94
93
  */
95
- toToolAndToolSetEnablementMap(fullReferenceNames: readonly string[], target: string | undefined, model: ILanguageModelChatMetadata | undefined): IToolAndToolSetEnablementMap;
94
+ toToolAndToolSetEnablementMap(fullReferenceNames: readonly string[], model: ILanguageModelChatMetadata | undefined): IToolAndToolSetEnablementMap;
96
95
  toFullReferenceNames(map: IToolAndToolSetEnablementMap): string[];
97
96
  toToolReferences(variableReferences: readonly IVariableReference[]): ChatRequestToolReferenceEntry[];
98
97
  }
@@ -2,7 +2,7 @@
2
2
  import { localize } from '../../../../../../nls.js';
3
3
 
4
4
  const DEFAULT_MODEL_PICKER_CATEGORY = {
5
- label: ( localize(6441, "Other Models")),
5
+ label: ( localize(6630, "Other Models")),
6
6
  order: Number.MAX_SAFE_INTEGER
7
7
  };
8
8
 
@@ -17,13 +17,13 @@ const createCodeActionsAutoSave = description => {
17
17
  type: "string",
18
18
  enum: ["always", "explicit", "never", true, false],
19
19
  enumDescriptions: [( localize(
20
- 6442,
20
+ 6631,
21
21
  "Triggers Code Actions on explicit saves and auto saves triggered by window or focus changes."
22
- )), ( localize(6443, "Triggers Code Actions only when explicitly saved")), ( localize(6444, "Never triggers Code Actions on save")), ( localize(
23
- 6445,
22
+ )), ( localize(6632, "Triggers Code Actions only when explicitly saved")), ( localize(6633, "Never triggers Code Actions on save")), ( localize(
23
+ 6634,
24
24
  "Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of \"explicit\"."
25
25
  )), ( localize(
26
- 6446,
26
+ 6635,
27
27
  "Never triggers Code Actions on save. This value will be deprecated in favor of \"never\"."
28
28
  ))],
29
29
  default: "explicit",
@@ -34,11 +34,11 @@ const createNotebookCodeActionsAutoSave = description => {
34
34
  return {
35
35
  type: ["string", "boolean"],
36
36
  enum: ["explicit", "never", true, false],
37
- enumDescriptions: [( localize(6447, "Triggers Code Actions only when explicitly saved.")), ( localize(6448, "Never triggers Code Actions on save.")), ( localize(
38
- 6449,
37
+ enumDescriptions: [( localize(6636, "Triggers Code Actions only when explicitly saved.")), ( localize(6637, "Never triggers Code Actions on save.")), ( localize(
38
+ 6638,
39
39
  "Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of \"explicit\"."
40
40
  )), ( localize(
41
- 6450,
41
+ 6639,
42
42
  "Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of \"never\"."
43
43
  ))],
44
44
  default: "explicit",
@@ -58,7 +58,7 @@ const codeActionsOnSaveSchema = {
58
58
  }
59
59
  }],
60
60
  markdownDescription: ( localize(
61
- 6451,
61
+ 6640,
62
62
  "Run Code Actions for the editor on save. Code Actions must be specified and the editor must not be shutting down. When {0} is set to `afterDelay`, Code Actions will only be run when the file is saved explicitly. Example: `\"source.organizeImports\": \"explicit\" `",
63
63
  "`#files.autoSave#`"
64
64
  )),
@@ -89,7 +89,7 @@ const notebookCodeActionsOnSaveSchema = {
89
89
  }
90
90
  }],
91
91
  markdownDescription: ( localize(
92
- 6452,
92
+ 6641,
93
93
  "Run a series of Code Actions for a notebook on save. Code Actions must be specified and the editor must not be shutting down. When {0} is set to `afterDelay`, Code Actions will only be run when the file is saved explicitly. Example: `\"notebook.source.organizeImports\": \"explicit\"`",
94
94
  "`#files.autoSave#`"
95
95
  )),
@@ -144,12 +144,12 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
144
144
  for (const codeActionKind of allProvidedKinds) {
145
145
  if (CodeActionKind.Source.contains(codeActionKind) && !properties[codeActionKind.value]) {
146
146
  properties[codeActionKind.value] = createCodeActionsAutoSave(( localize(
147
- 6453,
147
+ 6642,
148
148
  "Controls whether '{0}' actions should be run on file save.",
149
149
  codeActionKind.value
150
150
  )));
151
151
  notebookProperties[codeActionKind.value] = createNotebookCodeActionsAutoSave(( localize(
152
- 6453,
152
+ 6642,
153
153
  "Controls whether '{0}' actions should be run on file save.",
154
154
  codeActionKind.value
155
155
  )));
@@ -32,12 +32,12 @@ import { isWindows } from '../../../../../base/common/platform.js';
32
32
  var EditorDictation_1;
33
33
  registerCss(editorDictation);
34
34
  const EDITOR_DICTATION_IN_PROGRESS = ( new RawContextKey("editorDictation.inProgress", false));
35
- const VOICE_CATEGORY = ( localize2(6459, "Voice"));
35
+ const VOICE_CATEGORY = ( localize2(6648, "Voice"));
36
36
  class EditorDictationStartAction extends EditorAction2 {
37
37
  constructor() {
38
38
  super({
39
39
  id: "workbench.action.editorDictation.start",
40
- title: ( localize2(6460, "Start Dictation in Editor")),
40
+ title: ( localize2(6649, "Start Dictation in Editor")),
41
41
  category: VOICE_CATEGORY,
42
42
  precondition: ( ContextKeyExpr.and(HasSpeechProvider, ( SpeechToTextInProgress.toNegated()), (
43
43
  EditorContextKeys.readOnly.toNegated()))),
@@ -74,7 +74,7 @@ class EditorDictationStopAction extends EditorAction2 {
74
74
  constructor() {
75
75
  super({
76
76
  id: EditorDictationStopAction.ID,
77
- title: ( localize2(6461, "Stop Dictation in Editor")),
77
+ title: ( localize2(6650, "Stop Dictation in Editor")),
78
78
  category: VOICE_CATEGORY,
79
79
  precondition: EDITOR_DICTATION_IN_PROGRESS,
80
80
  f1: true,
@@ -99,7 +99,7 @@ class DictationWidget extends Disposable {
99
99
  const stopActionKeybinding = keybindingService.lookupKeybinding(EditorDictationStopAction.ID)?.getLabel();
100
100
  actionBar.push(toAction({
101
101
  id: EditorDictationStopAction.ID,
102
- label: stopActionKeybinding ? ( localize(6462, "Stop Dictation ({0})", stopActionKeybinding)) : ( localize(6463, "Stop Dictation")),
102
+ label: stopActionKeybinding ? ( localize(6651, "Stop Dictation ({0})", stopActionKeybinding)) : ( localize(6652, "Stop Dictation")),
103
103
  class: ThemeIcon.asClassName(Codicon.micFilled),
104
104
  run: () => EditorDictation.get(editor)?.stop()
105
105
  }), {
@@ -31,12 +31,12 @@ class DiffEditorAccessibilityHelp {
31
31
  return;
32
32
  }
33
33
  const switchSides = ( localize(
34
- 6464,
34
+ 6653,
35
35
  "Run the command Diff Editor: Switch Side{0} to toggle between the original and modified editors.",
36
36
  "<keybinding:diffEditor.switchSide>"
37
37
  ));
38
38
  const diffEditorActiveAnnouncement = ( localize(
39
- 6465,
39
+ 6654,
40
40
  "The setting, accessibility.verbosity.diffEditorActive, controls if a diff editor announcement is made when it becomes the active editor."
41
41
  ));
42
42
  const keys = [
@@ -44,13 +44,13 @@ class DiffEditorAccessibilityHelp {
44
44
  "accessibility.signals.diffLineInserted",
45
45
  "accessibility.signals.diffLineModified"
46
46
  ];
47
- const content = [( localize(6466, "You are in a diff editor.")), ( localize(
48
- 6467,
47
+ const content = [( localize(6655, "You are in a diff editor.")), ( localize(
48
+ 6656,
49
49
  "View the next{0} or previous{1} diff in diff review mode, which is optimized for screen readers.",
50
50
  "<keybinding:" + AccessibleDiffViewerNext.id + ">",
51
51
  "<keybinding:" + AccessibleDiffViewerPrev.id + ">"
52
52
  )), switchSides, diffEditorActiveAnnouncement, ( localize(
53
- 6468,
53
+ 6657,
54
54
  "To control which accessibility signals should be played, the following settings can be configured: {0}.",
55
55
  keys.join(", ")
56
56
  ))];