@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
@@ -21,7 +21,7 @@ import { ILogService } from '../../../../../platform/log/common/log.service.js';
21
21
  import { CellUri } from '../../../notebook/common/notebookCommon.js';
22
22
  import { IChatRequestVariableEntry, isStringVariableEntry, isImplicitVariableEntry, isStringImplicitContextValue } from '../attachments/chatVariableEntries.js';
23
23
  import { migrateLegacyTerminalToolSpecificData } from '../chat.js';
24
- import { IChatToolInvocation, ChatResponseClearToPreviousToolInvocationReason, ResponseModelState, ElicitationState, isIUsedContext } from '../chatService/chatService.js';
24
+ import { IChatToolInvocation, ChatResponseClearToPreviousToolInvocationReason, ResponseModelState, ElicitationState, isIUsedContext, ChatRequestQueueKind } from '../chatService/chatService.js';
25
25
  import { IChatService } from '../chatService/chatService.service.js';
26
26
  import { ChatAgentLocation, ChatModeKind } from '../constants.js';
27
27
  import { ModifiedFileEntryState } from '../editing/chatEditingService.js';
@@ -32,6 +32,7 @@ import { reviveParsedChatRequest, ChatRequestTextPart } from '../requestParser/c
32
32
  import { LocalChatSessionUri } from './chatUri.js';
33
33
  import { observableFromEvent } from '../../../../../base/common/observableInternal/observables/observableFromEvent.js';
34
34
  import { autorunSelfDisposable, autorun } from '../../../../../base/common/observableInternal/reactions/autorun.js';
35
+ import { constObservable } from '../../../../../base/common/observableInternal/observables/constObservable.js';
35
36
  import { observableValueOpts } from '../../../../../base/common/observableInternal/observables/observableValueOpts.js';
36
37
  import { observableValue } from '../../../../../base/common/observableInternal/observables/observableValue.js';
37
38
  import { observableSignalFromEvent } from '../../../../../base/common/observableInternal/observables/observableSignalFromEvent.js';
@@ -181,9 +182,11 @@ class AbstractResponse {
181
182
  case "elicitation2":
182
183
  case "elicitationSerialized":
183
184
  case "thinking":
185
+ case "hook":
184
186
  case "multiDiffData":
185
187
  case "mcpServersStarting":
186
188
  case "questionCarousel":
189
+ case "disabledClaudeHooks":
187
190
  continue;
188
191
  case "toolInvocation":
189
192
  case "toolInvocationSerialized":
@@ -243,7 +246,7 @@ class AbstractResponse {
243
246
  blocks.push(currentBlockSegments.join(""));
244
247
  }
245
248
  if (hasEditGroupsAfterLastClear) {
246
- blocks.push(( localize(6246, "Made changes.")));
249
+ blocks.push(( localize(6344, "Made changes.")));
247
250
  }
248
251
  return blocks.join("\n\n");
249
252
  }
@@ -349,12 +352,12 @@ class Response extends AbstractResponse {
349
352
  if (progress.kind === "clearToPreviousToolInvocation") {
350
353
  if (progress.reason === ChatResponseClearToPreviousToolInvocationReason.CopyrightContentRetry) {
351
354
  this.clearToPreviousToolInvocation(( localize(
352
- 6247,
355
+ 6345,
353
356
  "Response cleared due to possible match to public code, retrying with modified prompt."
354
357
  )));
355
358
  } else if (progress.reason === ChatResponseClearToPreviousToolInvocationReason.FilteredContentRetry) {
356
359
  this.clearToPreviousToolInvocation(( localize(
357
- 6248,
360
+ 6346,
358
361
  "Response cleared due to content safety filters, retrying with modified prompt."
359
362
  )));
360
363
  } else {
@@ -622,7 +625,7 @@ class ChatResponseModel extends Disposable {
622
625
  return title ? (isMarkdownString(title) ? title.value : title) : undefined;
623
626
  }
624
627
  if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
625
- return localize(6249, "Approve tool result?");
628
+ return localize(6347, "Approve tool result?");
626
629
  }
627
630
  }
628
631
  if (part.kind === "confirmation" && !part.isUsed) {
@@ -915,6 +918,71 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
915
918
  setRepoData(data) {
916
919
  this._repoData = data;
917
920
  }
921
+ getPendingRequests() {
922
+ return this._pendingRequests;
923
+ }
924
+ setPendingRequests(requests) {
925
+ const existingMap = ( new Map(( this._pendingRequests.map(p => [p.request.id, p]))));
926
+ const newPending = [];
927
+ for (const {
928
+ requestId,
929
+ kind
930
+ } of requests) {
931
+ const existing = existingMap.get(requestId);
932
+ if (existing) {
933
+ newPending.push(existing.kind === kind ? existing : {
934
+ request: existing.request,
935
+ kind,
936
+ sendOptions: existing.sendOptions
937
+ });
938
+ }
939
+ }
940
+ this._pendingRequests.length = 0;
941
+ this._pendingRequests.push(...newPending);
942
+ this._onDidChangePendingRequests.fire();
943
+ }
944
+ addPendingRequest(request, kind, sendOptions) {
945
+ const pendingRequest = {
946
+ request,
947
+ kind,
948
+ sendOptions
949
+ };
950
+ if (kind === ChatRequestQueueKind.Steering) {
951
+ let insertIndex = 0;
952
+ for (let i = 0; i < this._pendingRequests.length; i++) {
953
+ if (this._pendingRequests[i].kind === ChatRequestQueueKind.Steering) {
954
+ insertIndex = i + 1;
955
+ } else {
956
+ break;
957
+ }
958
+ }
959
+ this._pendingRequests.splice(insertIndex, 0, pendingRequest);
960
+ } else {
961
+ this._pendingRequests.push(pendingRequest);
962
+ }
963
+ this._onDidChangePendingRequests.fire();
964
+ return pendingRequest;
965
+ }
966
+ removePendingRequest(id) {
967
+ const index = this._pendingRequests.findIndex(r => r.request.id === id);
968
+ if (index !== -1) {
969
+ this._pendingRequests.splice(index, 1);
970
+ this._onDidChangePendingRequests.fire();
971
+ }
972
+ }
973
+ dequeuePendingRequest() {
974
+ const request = this._pendingRequests.shift();
975
+ if (request) {
976
+ this._onDidChangePendingRequests.fire();
977
+ }
978
+ return request;
979
+ }
980
+ clearPendingRequests() {
981
+ if (this._pendingRequests.length > 0) {
982
+ this._pendingRequests.length = 0;
983
+ this._onDidChangePendingRequests.fire();
984
+ }
985
+ }
918
986
  get sessionId() {
919
987
  return this._sessionId;
920
988
  }
@@ -991,6 +1059,9 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
991
1059
  this.onDidDispose = this._onDidDispose.event;
992
1060
  this._onDidChange = this._register(( new Emitter()));
993
1061
  this.onDidChange = this._onDidChange.event;
1062
+ this._pendingRequests = [];
1063
+ this._onDidChangePendingRequests = this._register(( new Emitter()));
1064
+ this.onDidChangePendingRequests = this._onDidChangePendingRequests.event;
994
1065
  this._isImported = false;
995
1066
  this._canUseTools = true;
996
1067
  this.currentEditedFileEvents = ( new ResourceMap());
@@ -1025,6 +1096,9 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1025
1096
  this.dataSerializer = dataRef?.serializer;
1026
1097
  this._initialResponderUsername = initialData?.responderUsername;
1027
1098
  this._repoData = isValidFullData && initialData.repoData ? initialData.repoData : undefined;
1099
+ if (isValidFullData && initialData.pendingRequests) {
1100
+ this._pendingRequests = this._deserializePendingRequests(initialData.pendingRequests);
1101
+ }
1028
1102
  this._initialLocation = initialData?.initialLocation ?? initialModelProps.initialLocation;
1029
1103
  this._canUseTools = initialModelProps.canUseTools;
1030
1104
  this.lastRequestObs = observableFromEvent(this, this.onDidChange, () => this._requests.at(-1));
@@ -1110,74 +1184,75 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1110
1184
  return [];
1111
1185
  }
1112
1186
  try {
1113
- return ( requests.map(raw => {
1114
- const parsedRequest = typeof raw.message === "string" ? this.getParsedRequestFromString(raw.message) : reviveParsedChatRequest(raw.message);
1115
- const variableData = this.reviveVariableData(raw.variableData);
1116
- const request = ( new ChatRequestModel({
1117
- session: this,
1118
- message: parsedRequest,
1119
- variableData,
1120
- timestamp: raw.timestamp ?? -1,
1121
- restoredId: raw.requestId,
1122
- confirmation: raw.confirmation,
1123
- editedFileEvents: raw.editedFileEvents,
1124
- modelId: raw.modelId
1125
- }));
1126
- request.shouldBeRemovedOnSend = raw.isHidden ? {
1127
- requestId: raw.requestId
1128
- } : raw.shouldBeRemovedOnSend;
1129
- if (raw.response || raw.result || raw.responseErrorDetails) {
1130
- const agent =
1131
- (raw.agent && "metadata" in raw.agent) ? reviveSerializedAgent(raw.agent) : undefined;
1132
- const result = "responseErrorDetails" in raw ?
1133
- {
1134
- errorDetails: raw.responseErrorDetails
1135
- } : raw.result;
1136
- let modelState = raw.modelState || {
1137
- value: raw.isCanceled ? ResponseModelState.Cancelled : ResponseModelState.Complete,
1138
- completedAt: Date.now()
1139
- };
1140
- if (modelState.value === ResponseModelState.Pending || modelState.value === ResponseModelState.NeedsInput) {
1141
- modelState = {
1142
- value: ResponseModelState.Cancelled,
1143
- completedAt: Date.now()
1144
- };
1145
- }
1146
- request.response = ( new ChatResponseModel({
1147
- responseContent: raw.response ?? [( new MarkdownString(raw.response))],
1148
- session: this,
1149
- agent,
1150
- slashCommand: raw.slashCommand,
1151
- requestId: request.id,
1152
- modelState,
1153
- vote: raw.vote,
1154
- timestamp: raw.timestamp,
1155
- voteDownReason: raw.voteDownReason,
1156
- result,
1157
- followups: raw.followups,
1158
- restoredId: raw.responseId,
1159
- timeSpentWaiting: raw.timeSpentWaiting,
1160
- shouldBeBlocked: request.shouldBeBlocked.get(),
1161
- codeBlockInfos: raw.responseMarkdownInfo?.map(info => ({
1162
- suggestionId: info.suggestionId
1163
- }))
1164
- }));
1165
- request.response.shouldBeRemovedOnSend = raw.isHidden ? {
1166
- requestId: raw.requestId
1167
- } : raw.shouldBeRemovedOnSend;
1168
- if (raw.usedContext) {
1169
- request.response.applyReference(revive(raw.usedContext));
1170
- }
1171
- raw.contentReferences?.forEach(r => request.response.applyReference(revive(r)));
1172
- raw.codeCitations?.forEach(c => request.response.applyCodeCitation(revive(c)));
1173
- }
1174
- return request;
1175
- }));
1187
+ return ( requests.map(r => this._deserializeRequest(r)));
1176
1188
  } catch (error) {
1177
1189
  this.logService.error("Failed to parse chat data", error);
1178
1190
  return [];
1179
1191
  }
1180
1192
  }
1193
+ _deserializeRequest(raw) {
1194
+ const parsedRequest = typeof raw.message === "string" ? this.getParsedRequestFromString(raw.message) : reviveParsedChatRequest(raw.message);
1195
+ const variableData = this.reviveVariableData(raw.variableData);
1196
+ const request = ( new ChatRequestModel({
1197
+ session: this,
1198
+ message: parsedRequest,
1199
+ variableData,
1200
+ timestamp: raw.timestamp ?? -1,
1201
+ restoredId: raw.requestId,
1202
+ confirmation: raw.confirmation,
1203
+ editedFileEvents: raw.editedFileEvents,
1204
+ modelId: raw.modelId
1205
+ }));
1206
+ request.shouldBeRemovedOnSend = raw.isHidden ? {
1207
+ requestId: raw.requestId
1208
+ } : raw.shouldBeRemovedOnSend;
1209
+ if (raw.response || raw.result || raw.responseErrorDetails) {
1210
+ const agent =
1211
+ (raw.agent && "metadata" in raw.agent) ? reviveSerializedAgent(raw.agent) : undefined;
1212
+ const result = "responseErrorDetails" in raw ?
1213
+ {
1214
+ errorDetails: raw.responseErrorDetails
1215
+ } : raw.result;
1216
+ let modelState = raw.modelState || {
1217
+ value: raw.isCanceled ? ResponseModelState.Cancelled : ResponseModelState.Complete,
1218
+ completedAt: Date.now()
1219
+ };
1220
+ if (modelState.value === ResponseModelState.Pending || modelState.value === ResponseModelState.NeedsInput) {
1221
+ modelState = {
1222
+ value: ResponseModelState.Cancelled,
1223
+ completedAt: Date.now()
1224
+ };
1225
+ }
1226
+ request.response = ( new ChatResponseModel({
1227
+ responseContent: raw.response ?? [( new MarkdownString(raw.response))],
1228
+ session: this,
1229
+ agent,
1230
+ slashCommand: raw.slashCommand,
1231
+ requestId: request.id,
1232
+ modelState,
1233
+ vote: raw.vote,
1234
+ timestamp: raw.timestamp,
1235
+ voteDownReason: raw.voteDownReason,
1236
+ result,
1237
+ followups: raw.followups,
1238
+ restoredId: raw.responseId,
1239
+ timeSpentWaiting: raw.timeSpentWaiting,
1240
+ shouldBeBlocked: request.shouldBeBlocked.get(),
1241
+ codeBlockInfos: raw.responseMarkdownInfo?.map(info => ({
1242
+ suggestionId: info.suggestionId
1243
+ }))
1244
+ }));
1245
+ request.response.shouldBeRemovedOnSend = raw.isHidden ? {
1246
+ requestId: raw.requestId
1247
+ } : raw.shouldBeRemovedOnSend;
1248
+ if (raw.usedContext) {
1249
+ request.response.applyReference(revive(raw.usedContext));
1250
+ }
1251
+ raw.contentReferences?.forEach(r => request.response.applyReference(revive(r)));
1252
+ raw.codeCitations?.forEach(c => request.response.applyCodeCitation(revive(c)));
1253
+ }
1254
+ return request;
1255
+ }
1181
1256
  reviveVariableData(raw) {
1182
1257
  const variableData = raw && Array.isArray(raw.variables) ? raw : {
1183
1258
  variables: []
@@ -1197,6 +1272,22 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1197
1272
  parts
1198
1273
  };
1199
1274
  }
1275
+ _deserializePendingRequests(pendingRequests) {
1276
+ try {
1277
+ return ( pendingRequests.map(pending => ({
1278
+ id: pending.id,
1279
+ request: this._deserializeRequest(pending.request),
1280
+ kind: pending.kind,
1281
+ sendOptions: {
1282
+ ...pending.sendOptions,
1283
+ userSelectedTools: pending.sendOptions.userSelectedTools ? constObservable(pending.sendOptions.userSelectedTools) : undefined
1284
+ }
1285
+ })));
1286
+ } catch (e) {
1287
+ this.logService.error("Failed to parse pending chat requests", e);
1288
+ return [];
1289
+ }
1290
+ }
1200
1291
  getRequests() {
1201
1292
  return this._requests;
1202
1293
  }
@@ -1503,9 +1594,24 @@ function getCodeCitationsMessage(citations) {
1503
1594
  return "";
1504
1595
  }
1505
1596
  const licenseTypes = citations.reduce((set, c) => set.add(c.license), ( new Set()));
1506
- const label = licenseTypes.size === 1 ? ( localize(6250, "Similar code found with 1 license type", licenseTypes.size)) : ( localize(6251, "Similar code found with {0} license types", licenseTypes.size));
1597
+ const label = licenseTypes.size === 1 ? ( localize(6348, "Similar code found with 1 license type", licenseTypes.size)) : ( localize(6349, "Similar code found with {0} license types", licenseTypes.size));
1507
1598
  return label;
1508
1599
  }
1600
+ function serializeSendOptions(options) {
1601
+ return {
1602
+ modeInfo: options.modeInfo,
1603
+ userSelectedModelId: options.userSelectedModelId,
1604
+ userSelectedTools: options.userSelectedTools?.get(),
1605
+ location: options.location,
1606
+ locationData: options.locationData,
1607
+ attempt: options.attempt,
1608
+ noCommandDetection: options.noCommandDetection,
1609
+ agentId: options.agentId,
1610
+ agentIdSilent: options.agentIdSilent,
1611
+ slashCommand: options.slashCommand,
1612
+ confirmation: options.confirmation
1613
+ };
1614
+ }
1509
1615
  var ChatRequestEditedFileEventKind;
1510
1616
  (function(ChatRequestEditedFileEventKind) {
1511
1617
  ChatRequestEditedFileEventKind[ChatRequestEditedFileEventKind["Keep"] = 1] = "Keep";
@@ -1554,4 +1660,4 @@ var ChatResponseResource;
1554
1660
  ChatResponseResource.parseUri = parseUri;
1555
1661
  })(ChatResponseResource || (ChatResponseResource = {}));
1556
1662
 
1557
- export { CHAT_ATTACHABLE_IMAGE_MIME_TYPES, ChatModel, ChatRequestEditedFileEventKind, ChatRequestModel, ChatRequestRemovalReason, ChatResponseModel, ChatResponseResource, IChatRequestVariableData, Response, appendMarkdownString, canMergeMarkdownStrings, defaultChatResponseModelChangeReason, getAttachableImageExtension, getCodeCitationsMessage, isCellTextEditOperation, isCellTextEditOperationArray, isExportableSessionData, isSerializableSessionData, normalizeSerializableChatData, toChatHistoryContent, updateRanges };
1663
+ export { CHAT_ATTACHABLE_IMAGE_MIME_TYPES, ChatModel, ChatRequestEditedFileEventKind, ChatRequestModel, ChatRequestRemovalReason, ChatResponseModel, ChatResponseResource, IChatRequestVariableData, Response, appendMarkdownString, canMergeMarkdownStrings, defaultChatResponseModelChangeReason, getAttachableImageExtension, getCodeCitationsMessage, isCellTextEditOperation, isCellTextEditOperationArray, isExportableSessionData, isSerializableSessionData, normalizeSerializableChatData, serializeSendOptions, toChatHistoryContent, updateRanges };
@@ -6,7 +6,7 @@ import { ThemeIcon } from "../../../../../base/common/themables.js";
6
6
  import { URI } from "../../../../../base/common/uri.js";
7
7
  import { IInstantiationService } from "../../../../../platform/instantiation/common/instantiation.js";
8
8
  import { IChatRequestVariableEntry } from "../attachments/chatVariableEntries.js";
9
- import { ChatAgentVoteDirection, ChatAgentVoteDownReason, IChatCodeCitation, IChatContentReference, IChatFollowup, IChatMcpServersStarting, IChatProgressMessage, IChatQuestionCarousel, IChatResponseErrorDetails, IChatTask, IChatUsedContext } from "../chatService/chatService.js";
9
+ import { ChatAgentVoteDirection, ChatAgentVoteDownReason, ChatRequestQueueKind, IChatCodeCitation, IChatContentReference, IChatDisabledClaudeHooksPart, IChatFollowup, IChatMcpServersStarting, IChatProgressMessage, IChatQuestionCarousel, IChatResponseErrorDetails, IChatTask, IChatUsedContext } from "../chatService/chatService.js";
10
10
  import { IChatAgentCommand, IChatAgentData, IChatAgentResult } from "../participants/chatAgents.js";
11
11
  import { IChatAgentNameService } from "../participants/chatAgents.service.js";
12
12
  import { IParsedChatRequest } from "../requestParser/chatParserTypes.js";
@@ -15,6 +15,7 @@ import { IChatModel, IChatProgressRenderableResponseContent, IChatRequestDisable
15
15
  import { IChatStreamStats } from "./chatStreamStats.js";
16
16
  export declare function isRequestVM(item: unknown): item is IChatRequestViewModel;
17
17
  export declare function isResponseVM(item: unknown): item is IChatResponseViewModel;
18
+ export declare function isPendingDividerVM(item: unknown): item is IChatPendingDividerViewModel;
18
19
  export declare function isChatTreeItem(item: unknown): item is IChatRequestViewModel | IChatResponseViewModel;
19
20
  export declare function assertIsResponseVM(item: unknown): asserts item is IChatResponseViewModel;
20
21
  export type IChatViewModelChangeEvent = IChatAddRequestEvent | IChangePlaceholderEvent | IChatSessionInitEvent | IChatSetHiddenEvent | null;
@@ -36,7 +37,7 @@ export interface IChatViewModel {
36
37
  readonly onDidDisposeModel: Event<void>;
37
38
  readonly onDidChange: Event<IChatViewModelChangeEvent>;
38
39
  readonly inputPlaceholder?: string;
39
- getItems(): (IChatRequestViewModel | IChatResponseViewModel)[];
40
+ getItems(): (IChatRequestViewModel | IChatResponseViewModel | IChatPendingDividerViewModel)[];
40
41
  setInputPlaceholder(text: string): void;
41
42
  resetInputPlaceholder(): void;
42
43
  editing?: IChatRequestViewModel;
@@ -64,6 +65,8 @@ export interface IChatRequestViewModel {
64
65
  readonly shouldBeBlocked: IObservable<boolean>;
65
66
  readonly modelId?: string;
66
67
  readonly timestamp: number;
68
+ /** The kind of pending request, or undefined if not pending */
69
+ readonly pendingKind?: ChatRequestQueueKind;
67
70
  }
68
71
  export interface IChatResponseMarkdownRenderData {
69
72
  renderedWordCount: number;
@@ -134,7 +137,7 @@ export interface IChatChangesSummaryPart {
134
137
  /**
135
138
  * Type for content parts rendered by IChatListRenderer (not necessarily in the model)
136
139
  */
137
- export type IChatRendererContent = IChatProgressRenderableResponseContent | IChatReferences | IChatCodeCitations | IChatErrorDetailsPart | IChatChangesSummaryPart | IChatWorkingProgress | IChatMcpServersStarting | IChatQuestionCarousel;
140
+ export type IChatRendererContent = IChatProgressRenderableResponseContent | IChatReferences | IChatCodeCitations | IChatErrorDetailsPart | IChatChangesSummaryPart | IChatWorkingProgress | IChatMcpServersStarting | IChatQuestionCarousel | IChatDisabledClaudeHooksPart;
138
141
  export interface IChatResponseViewModel {
139
142
  readonly model: IChatResponseModel;
140
143
  readonly id: string;
@@ -173,6 +176,14 @@ export interface IChatResponseViewModel {
173
176
  setEditApplied(edit: IChatTextEditGroup, editCount: number): void;
174
177
  readonly shouldBeBlocked: IObservable<boolean>;
175
178
  }
179
+ export interface IChatPendingDividerViewModel {
180
+ readonly kind: "pendingDivider";
181
+ readonly id: string;
182
+ readonly sessionResource: URI;
183
+ readonly isComplete: true;
184
+ readonly dividerKind: ChatRequestQueueKind;
185
+ currentRenderedHeight: number | undefined;
186
+ }
176
187
  export interface IChatViewModelOptions {
177
188
  /**
178
189
  * Maximum number of items to return from getItems().
@@ -198,7 +209,7 @@ export declare class ChatViewModel extends Disposable implements IChatViewModel
198
209
  get sessionResource(): URI;
199
210
  constructor(_model: IChatModel, codeBlockModelCollection: CodeBlockModelCollection, _options: IChatViewModelOptions | undefined, instantiationService: IInstantiationService);
200
211
  private onAddResponse;
201
- getItems(): (IChatRequestViewModel | IChatResponseViewModel)[];
212
+ getItems(): (IChatRequestViewModel | IChatResponseViewModel | IChatPendingDividerViewModel)[];
202
213
  private _editing;
203
214
  get editing(): IChatRequestViewModel | undefined;
204
215
  setEditing(editing: IChatRequestViewModel | undefined): void;
@@ -206,6 +217,7 @@ export declare class ChatViewModel extends Disposable implements IChatViewModel
206
217
  }
207
218
  export declare class ChatRequestViewModel implements IChatRequestViewModel {
208
219
  private readonly _model;
220
+ private readonly _pendingKind?;
209
221
  get id(): string;
210
222
  /**
211
223
  * An ID that changes when the request should be re-rendered.
@@ -229,7 +241,8 @@ export declare class ChatRequestViewModel implements IChatRequestViewModel {
229
241
  currentRenderedHeight: number | undefined;
230
242
  get modelId(): string | undefined;
231
243
  get timestamp(): number;
232
- constructor(_model: IChatRequestModel);
244
+ get pendingKind(): ChatRequestQueueKind | undefined;
245
+ constructor(_model: IChatRequestModel, _pendingKind?: ChatRequestQueueKind | undefined);
233
246
  }
234
247
  export declare class ChatResponseViewModel extends Disposable implements IChatResponseViewModel {
235
248
  private readonly _model;
@@ -4,6 +4,7 @@ import { Codicon } from '../../../../../base/common/codicons.js';
4
4
  import { Emitter } from '../../../../../base/common/event.js';
5
5
  import { Disposable, dispose } from '../../../../../base/common/lifecycle.js';
6
6
  import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
7
+ import { ChatRequestQueueKind } from '../chatService/chatService.js';
7
8
  import { getFullyQualifiedId } from '../participants/chatAgents.js';
8
9
  import { IChatAgentNameService } from '../participants/chatAgents.service.js';
9
10
  import { ChatStreamStatsTracker } from './chatStreamStats.js';
@@ -15,6 +16,9 @@ function isRequestVM(item) {
15
16
  function isResponseVM(item) {
16
17
  return !!item && typeof item.setVote !== "undefined";
17
18
  }
19
+ function isPendingDividerVM(item) {
20
+ return !!item && typeof item === "object" && item.kind === "pendingDivider";
21
+ }
18
22
  function isChatTreeItem(item) {
19
23
  return isRequestVM(item) || isResponseVM(item);
20
24
  }
@@ -66,6 +70,7 @@ let ChatViewModel = class ChatViewModel extends Disposable {
66
70
  }
67
71
  });
68
72
  this._register(_model.onDidDispose(() => this._onDidDisposeModel.fire()));
73
+ this._register(_model.onDidChangePendingRequests(() => this._onDidChange.fire(null)));
69
74
  this._register(_model.onDidChange(e => {
70
75
  if (e.kind === "addRequest") {
71
76
  const requestModel = this.instantiationService.createInstance(ChatRequestViewModel, e.request);
@@ -107,11 +112,44 @@ let ChatViewModel = class ChatViewModel extends Disposable {
107
112
  this._items.push(response);
108
113
  }
109
114
  getItems() {
110
- const items = this._items.filter(
115
+ let items = this._items.filter(
111
116
  item => !item.shouldBeRemovedOnSend || item.shouldBeRemovedOnSend.afterUndoStop
112
117
  );
113
118
  if (this._options?.maxVisibleItems !== undefined && items.length > this._options.maxVisibleItems) {
114
- return items.slice(-this._options.maxVisibleItems);
119
+ items = items.slice(-this._options.maxVisibleItems);
120
+ }
121
+ const pendingRequests = this._model.getPendingRequests();
122
+ if (pendingRequests.length > 0) {
123
+ const steeringRequests = pendingRequests.filter(p => p.kind === ChatRequestQueueKind.Steering);
124
+ const queuedRequests = pendingRequests.filter(p => p.kind === ChatRequestQueueKind.Queued);
125
+ if (steeringRequests.length > 0) {
126
+ items.push({
127
+ kind: "pendingDivider",
128
+ id: "pending-divider-steering",
129
+ sessionResource: this._model.sessionResource,
130
+ isComplete: true,
131
+ dividerKind: ChatRequestQueueKind.Steering,
132
+ currentRenderedHeight: undefined
133
+ });
134
+ for (const pending of steeringRequests) {
135
+ const requestVM = this.instantiationService.createInstance(ChatRequestViewModel, pending.request, pending.kind);
136
+ items.push(requestVM);
137
+ }
138
+ }
139
+ if (queuedRequests.length > 0) {
140
+ items.push({
141
+ kind: "pendingDivider",
142
+ id: "pending-divider-queued",
143
+ sessionResource: this._model.sessionResource,
144
+ isComplete: true,
145
+ dividerKind: ChatRequestQueueKind.Queued,
146
+ currentRenderedHeight: undefined
147
+ });
148
+ for (const pending of queuedRequests) {
149
+ const requestVM = this.instantiationService.createInstance(ChatRequestViewModel, pending.request, pending.kind);
150
+ items.push(requestVM);
151
+ }
152
+ }
115
153
  }
116
154
  return items;
117
155
  }
@@ -188,8 +226,12 @@ class ChatRequestViewModel {
188
226
  get timestamp() {
189
227
  return this._model.timestamp;
190
228
  }
191
- constructor(_model) {
229
+ get pendingKind() {
230
+ return this._pendingKind;
231
+ }
232
+ constructor(_model, _pendingKind) {
192
233
  this._model = _model;
234
+ this._pendingKind = _pendingKind;
193
235
  }
194
236
  }
195
237
  let ChatResponseViewModel = class ChatResponseViewModel extends Disposable {
@@ -337,4 +379,4 @@ let ChatResponseViewModel = class ChatResponseViewModel extends Disposable {
337
379
  };
338
380
  ChatResponseViewModel = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IChatAgentNameService))], ChatResponseViewModel));
339
381
 
340
- export { ChatRequestViewModel, ChatResponseViewModel, ChatViewModel, assertIsResponseVM, isChatTreeItem, isRequestVM, isResponseVM };
382
+ export { ChatRequestViewModel, ChatResponseViewModel, ChatViewModel, assertIsResponseVM, isChatTreeItem, isPendingDividerVM, isRequestVM, isResponseVM };
@@ -14,6 +14,7 @@ import { IProductService } from "../../../../../platform/product/common/productS
14
14
  import { IRequestService } from "../../../../../platform/request/common/request.service.js";
15
15
  import { IStorageService } from "../../../../../platform/storage/common/storage.service.js";
16
16
  import { IChatAgentEditedFileEvent, IChatProgressHistoryResponseContent, IChatRequestModeInstructions, IChatRequestVariableData, ISerializableChatAgentData } from "../model/chatModel.js";
17
+ import { IChatRequestHooks } from "../promptSyntax/hookSchema.js";
17
18
  import { IRawChatCommandContribution } from "./chatParticipantContribTypes.js";
18
19
  import { IChatFollowup, IChatLocationData, IChatProgress, IChatResponseErrorDetails, IChatTaskDto } from "../chatService/chatService.js";
19
20
  import { ChatAgentLocation, ChatModeKind } from "../constants.js";
@@ -75,6 +76,7 @@ export interface IChatWelcomeMessageContent {
75
76
  export interface IChatAgentImplementation {
76
77
  invoke(request: IChatAgentRequest, progress: (parts: IChatProgress[]) => void, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatAgentResult>;
77
78
  setRequestTools?(requestId: string, tools: UserSelectedTools): void;
79
+ setYieldRequested?(requestId: string): void;
78
80
  provideFollowups?(request: IChatAgentRequest, result: IChatAgentResult, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatFollowup[]>;
79
81
  provideChatTitle?: (history: IChatAgentHistoryEntry[], token: CancellationToken) => Promise<string | undefined>;
80
82
  provideChatSummary?: (history: IChatAgentHistoryEntry[], token: CancellationToken) => Promise<string | undefined>;
@@ -133,6 +135,15 @@ export interface IChatAgentRequest {
133
135
  userSelectedTools?: UserSelectedTools;
134
136
  modeInstructions?: IChatRequestModeInstructions;
135
137
  editedFileEvents?: IChatAgentEditedFileEvent[];
138
+ /**
139
+ * Collected hooks configuration for this request.
140
+ * Contains all hooks defined in hooks .json files, organized by hook type.
141
+ */
142
+ hooks?: IChatRequestHooks;
143
+ /**
144
+ * Whether any hooks are enabled for this request.
145
+ */
146
+ hasHooksEnabled?: boolean;
136
147
  /**
137
148
  * Unique ID for the subagent invocation, used to group tool calls from the same subagent run together.
138
149
  */
@@ -141,6 +152,10 @@ export interface IChatAgentRequest {
141
152
  * Display name of the subagent that is invoking this request.
142
153
  */
143
154
  subAgentName?: string;
155
+ /**
156
+ * The request ID of the parent request that invoked this subagent.
157
+ */
158
+ parentRequestId?: string;
144
159
  }
145
160
  export interface IChatQuestion {
146
161
  readonly prompt: string;
@@ -224,6 +239,7 @@ export declare class ChatAgentService extends Disposable implements IChatAgentSe
224
239
  agentHasDupeName(id: string): boolean;
225
240
  invokeAgent(id: string, request: IChatAgentRequest, progress: (parts: IChatProgress[]) => void, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatAgentResult>;
226
241
  setRequestTools(id: string, requestId: string, tools: UserSelectedTools): void;
242
+ setYieldRequested(id: string, requestId: string): void;
227
243
  getFollowups(id: string, request: IChatAgentRequest, result: IChatAgentResult, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatFollowup[]>;
228
244
  getChatTitle(id: string, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<string | undefined>;
229
245
  getChatSummary(id: string, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<string | undefined>;
@@ -265,6 +281,7 @@ export declare class MergedChatAgent implements IChatAgent {
265
281
  }[];
266
282
  invoke(request: IChatAgentRequest, progress: (parts: IChatProgress[]) => void, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatAgentResult>;
267
283
  setRequestTools(requestId: string, tools: UserSelectedTools): void;
284
+ setYieldRequested(requestId: string): void;
268
285
  provideFollowups(request: IChatAgentRequest, result: IChatAgentResult, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatFollowup[]>;
269
286
  toJSON(): IChatAgentData;
270
287
  }
@@ -237,6 +237,13 @@ let ChatAgentService = class ChatAgentService extends Disposable {
237
237
  }
238
238
  data.impl.setRequestTools?.(requestId, tools);
239
239
  }
240
+ setYieldRequested(id, requestId) {
241
+ const data = this._agents.get(id);
242
+ if (!data?.impl) {
243
+ return;
244
+ }
245
+ data.impl.setYieldRequested?.(requestId);
246
+ }
240
247
  async getFollowups(id, request, result, history, token) {
241
248
  const data = this._agents.get(id);
242
249
  if (!data?.impl?.provideFollowups) {
@@ -374,6 +381,9 @@ class MergedChatAgent {
374
381
  setRequestTools(requestId, tools) {
375
382
  this.impl.setRequestTools?.(requestId, tools);
376
383
  }
384
+ setYieldRequested(requestId) {
385
+ this.impl.setYieldRequested?.(requestId);
386
+ }
377
387
  async provideFollowups(request, result, history, token) {
378
388
  if (this.impl.provideFollowups) {
379
389
  return this.impl.provideFollowups(request, result, history, token);
@@ -27,6 +27,7 @@ export interface IChatAgentService {
27
27
  hasChatParticipantDetectionProviders(): boolean;
28
28
  invokeAgent(agent: string, request: IChatAgentRequest, progress: (parts: IChatProgress[]) => void, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatAgentResult>;
29
29
  setRequestTools(agent: string, requestId: string, tools: UserSelectedTools): void;
30
+ setYieldRequested(agent: string, requestId: string): void;
30
31
  getFollowups(id: string, request: IChatAgentRequest, result: IChatAgentResult, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatFollowup[]>;
31
32
  getChatTitle(id: string, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<string | undefined>;
32
33
  getChatSummary(id: string, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<string | undefined>;
@@ -18,6 +18,9 @@ export type InstructionsCollectionEvent = {
18
18
  agentInstructionsCount: number;
19
19
  listedInstructionsCount: number;
20
20
  totalInstructionsCount: number;
21
+ claudeRulesCount: number;
22
+ claudeMdCount: number;
23
+ claudeAgentsCount: number;
21
24
  };
22
25
  export declare function newInstructionsCollectionEvent(): InstructionsCollectionEvent;
23
26
  export declare class ComputeAutomaticInstructions {
@@ -44,6 +47,12 @@ export declare class ComputeAutomaticInstructions {
44
47
  }, variables: ChatRequestVariableSet, telemetryEvent: InstructionsCollectionEvent, token: CancellationToken): Promise<void>;
45
48
  private _getContext;
46
49
  private _addAgentInstructions;
50
+ /**
51
+ * Combines the `applyTo` and `paths` attributes into a single comma-separated
52
+ * pattern string that can be matched by {@link _matches}.
53
+ * Used for the instructions list XML output where both should be shown.
54
+ */
55
+ private _getApplyToPattern;
47
56
  private _matches;
48
57
  private _getTool;
49
58
  private _getInstructionsWithPatternsList;