@codingame/monaco-vscode-api 26.1.1 → 26.1.2

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 (346) 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/workbench/api/common/extHost.api.impl.js +2 -1
  13. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +1 -0
  14. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +1 -0
  15. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +31 -8
  16. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +2 -1
  17. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -2
  18. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +12 -1
  19. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +67 -3
  20. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +12 -0
  21. package/vscode/src/vs/workbench/api/common/extHostTypes.js +9 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +1 -7
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +5 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +15 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +8 -3
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  29. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.d.ts +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +5 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +2 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
  33. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +7 -0
  34. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +80 -62
  35. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +2 -2
  36. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +5 -5
  37. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +8 -9
  38. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +70 -1
  39. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +27 -1
  40. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +27 -3
  41. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +2 -1
  42. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +3 -2
  43. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -0
  44. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +2 -0
  45. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  47. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +22 -22
  48. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +84 -5
  49. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +176 -70
  50. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +18 -5
  51. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +46 -4
  52. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +17 -0
  53. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +10 -0
  54. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +1 -0
  55. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +9 -0
  56. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +68 -54
  57. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +16 -0
  58. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +6 -0
  59. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +48 -0
  60. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +64 -3
  61. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +159 -0
  62. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +387 -0
  63. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +21 -4
  64. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +82 -26
  65. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +3 -1
  66. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +5 -1
  67. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +51 -3
  68. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +14 -1
  69. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +11 -10
  70. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.d.ts +5 -0
  71. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.js +22 -0
  72. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +9 -9
  73. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +14 -2
  74. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +98 -25
  75. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  76. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +14 -0
  77. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +3 -3
  78. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts +1 -2
  79. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
  80. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  81. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  82. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  83. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  84. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +9 -9
  85. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  87. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  90. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  91. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  92. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  93. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  94. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  95. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  96. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  99. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  100. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  101. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  103. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  104. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
  105. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  107. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  108. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  109. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  110. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  111. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  112. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  113. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  114. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
  115. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  116. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
  118. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  119. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  120. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  121. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  123. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  124. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  125. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
  127. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  128. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  129. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  130. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  131. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
  132. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  134. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  137. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
  139. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  140. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
  142. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  144. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  145. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +147 -147
  146. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +170 -170
  147. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  150. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +24 -24
  151. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  152. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  153. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +48 -48
  154. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +5 -5
  155. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +29 -29
  156. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +74 -74
  157. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  158. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  159. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  162. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  163. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
  165. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  166. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  167. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  168. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  169. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  170. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  171. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  172. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  173. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
  174. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  175. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  177. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
  178. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
  179. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  180. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  181. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  182. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  183. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  184. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  185. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  186. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  187. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  188. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  189. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  190. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  191. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  193. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
  194. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
  195. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
  196. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
  197. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  198. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  199. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
  200. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +31 -31
  201. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +9 -9
  202. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
  203. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  204. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  205. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  207. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  208. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
  209. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  210. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -1
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  216. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
  217. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
  218. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  219. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +8 -5
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  239. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  242. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  244. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  246. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  247. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  248. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -50
  250. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  251. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  252. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  253. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  254. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  255. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
  256. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
  257. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
  258. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
  259. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
  260. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
  261. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  262. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  263. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
  265. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  266. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  267. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +12 -12
  268. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  269. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  271. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  272. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  273. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  274. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
  275. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +8 -8
  276. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  277. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  278. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  279. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  280. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  282. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  283. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  285. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  286. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  287. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  289. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  290. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  291. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -9
  292. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  293. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  294. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +54 -54
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  305. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  306. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  307. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  308. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  309. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  310. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  312. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
  313. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  314. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +14 -14
  315. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  316. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  317. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  318. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  319. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  320. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  321. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  322. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
  323. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  324. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  325. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  326. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  327. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  328. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  329. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  330. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  331. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  332. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  333. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  334. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  335. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  336. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  337. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  338. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  339. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  340. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  341. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +9 -9
  342. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  343. package/vscode-dts/vscode.proposed.chatHooks.d.ts +126 -0
  344. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +25 -1
  345. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +35 -1
  346. package/vscode-dts/vscode.proposed.d.ts +1 -0
@@ -15,8 +15,9 @@ import { toPromptFileVariableEntry, PromptFileVariableKind, isPromptFileVariable
15
15
  import { VSCodeToolReference } from '../tools/languageModelToolsService.js';
16
16
  import { ILanguageModelToolsService } from '../tools/languageModelToolsService.service.js';
17
17
  import { PromptsConfig } from './config/config.js';
18
- import { isPromptOrInstructionsFile } from './config/promptFileLocations.js';
18
+ import { isInClaudeRulesFolder, isInClaudeAgentsFolder, isPromptOrInstructionsFile } from './config/promptFileLocations.js';
19
19
  import { PromptsType } from './promptTypes.js';
20
+ import { AgentFileType } from './service/promptsService.js';
20
21
  import { IPromptsService } from './service/promptsService.service.js';
21
22
  import { OffsetRange } from '../../../../../editor/common/core/ranges/offsetRange.js';
22
23
  import { ChatModeKind, ChatConfiguration } from '../constants.js';
@@ -27,7 +28,10 @@ function newInstructionsCollectionEvent() {
27
28
  referencedInstructionsCount: 0,
28
29
  agentInstructionsCount: 0,
29
30
  listedInstructionsCount: 0,
30
- totalInstructionsCount: 0
31
+ totalInstructionsCount: 0,
32
+ claudeRulesCount: 0,
33
+ claudeMdCount: 0,
34
+ claudeAgentsCount: 0
31
35
  };
32
36
  }
33
37
  let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
@@ -83,7 +87,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
83
87
  await this.addApplyingInstructions(instructionFiles, context, variables, telemetryEvent, token);
84
88
  await this._addReferencedInstructions(variables, telemetryEvent, token);
85
89
  await this._addAgentInstructions(variables, telemetryEvent, token);
86
- const instructionsListVariable = await this._getInstructionsWithPatternsList(instructionFiles, variables, token);
90
+ const instructionsListVariable = await this._getInstructionsWithPatternsList(instructionFiles, variables, telemetryEvent, token);
87
91
  if (instructionsListVariable) {
88
92
  variables.add(instructionsListVariable);
89
93
  telemetryEvent.listedInstructionsCount++;
@@ -111,7 +115,10 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
111
115
  continue;
112
116
  }
113
117
  const applyTo = parsedFile.header?.applyTo;
114
- if (!applyTo) {
118
+ const paths = parsedFile.header?.paths;
119
+ const isClaudeRules = isInClaudeRulesFolder(uri);
120
+ const pattern = isClaudeRules ? (paths?.join(", ") ?? "**") : applyTo;
121
+ if (!pattern) {
115
122
  this._logService.trace(`[InstructionsContextComputer] No 'applyTo' found: ${uri}`);
116
123
  continue;
117
124
  }
@@ -121,15 +128,15 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
121
128
  );
122
129
  continue;
123
130
  }
124
- const match = this._matches(context.files, applyTo);
131
+ const match = this._matches(context.files, pattern);
125
132
  if (match) {
126
133
  this._logService.trace(
127
134
  `[InstructionsContextComputer] Match for ${uri} with ${match.pattern}${match.file ? ` for file ${match.file}` : ""}`
128
135
  );
129
- const reason = !match.file ? ( localize(6271, "Automatically attached as pattern is **")) : ( localize(
130
- 6272,
136
+ const reason = !match.file ? ( localize(6370, "Automatically attached as pattern is **")) : ( localize(
137
+ 6371,
131
138
  "Automatically attached as pattern {0} matches {1}",
132
- applyTo,
139
+ pattern,
133
140
  this._labelService.getUriLabel(match.file, {
134
141
  relative: true
135
142
  })
@@ -138,8 +145,11 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
138
145
  toPromptFileVariableEntry(uri, PromptFileVariableKind.Instruction, reason, true)
139
146
  );
140
147
  telemetryEvent.applyingInstructionsCount++;
148
+ if (isClaudeRules) {
149
+ telemetryEvent.claudeRulesCount++;
150
+ }
141
151
  } else {
142
- this._logService.trace(`[InstructionsContextComputer] No match for ${uri} with ${applyTo}`);
152
+ this._logService.trace(`[InstructionsContextComputer] No match for ${uri} with ${pattern}`);
143
153
  }
144
154
  }
145
155
  }
@@ -162,50 +172,46 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
162
172
  };
163
173
  }
164
174
  async _addAgentInstructions(variables, telemetryEvent, token) {
165
- const useCopilotInstructionsFiles = this._configurationService.getValue(PromptsConfig.USE_COPILOT_INSTRUCTION_FILES);
166
- const useAgentMd = this._configurationService.getValue(PromptsConfig.USE_AGENT_MD);
167
- if (!useCopilotInstructionsFiles && !useAgentMd) {
168
- this._logService.trace(
169
- `[InstructionsContextComputer] No agent instructions files added (settings disabled).`
170
- );
171
- return;
172
- }
175
+ const logger = {
176
+ logInfo: message => this._logService.trace(`[InstructionsContextComputer] ${message}`)
177
+ };
178
+ const allCandidates = await this._promptsService.listAgentInstructions(token, logger);
173
179
  const entries = ( new ChatRequestVariableSet());
174
- if (useCopilotInstructionsFiles) {
175
- const files = await this._promptsService.listCopilotInstructionsMDs(token);
176
- for (const file of files) {
177
- entries.add(
178
- toPromptFileVariableEntry(file, PromptFileVariableKind.Instruction, ( localize(
179
- 6273,
180
- "Automatically attached as setting {0} is enabled",
181
- PromptsConfig.USE_COPILOT_INSTRUCTION_FILES
182
- )), true)
183
- );
184
- telemetryEvent.agentInstructionsCount++;
185
- this._logService.trace(
186
- `[InstructionsContextComputer] copilot-instruction.md files added: ${( file.toString())}`
187
- );
180
+ const copilotEntries = ( new ChatRequestVariableSet());
181
+ for (const {
182
+ uri,
183
+ type
184
+ } of allCandidates) {
185
+ const varEntry = toPromptFileVariableEntry(uri, PromptFileVariableKind.Instruction, undefined, true);
186
+ entries.add(varEntry);
187
+ if (type === AgentFileType.copilotInstructionsMd) {
188
+ copilotEntries.add(varEntry);
188
189
  }
189
- await this._addReferencedInstructions(entries, telemetryEvent, token);
190
+ telemetryEvent.agentInstructionsCount++;
191
+ if (type === AgentFileType.claudeMd) {
192
+ telemetryEvent.claudeMdCount++;
193
+ }
194
+ logger.logInfo(`Agent instruction file added: ${( uri.toString())}`);
190
195
  }
191
- if (useAgentMd) {
192
- const files = await this._promptsService.listAgentMDs(token, false);
193
- for (const file of files) {
194
- entries.add(
195
- toPromptFileVariableEntry(file, PromptFileVariableKind.Instruction, ( localize(
196
- 6274,
197
- "Automatically attached as setting {0} is enabled",
198
- PromptsConfig.USE_AGENT_MD
199
- )), true)
200
- );
201
- telemetryEvent.agentInstructionsCount++;
202
- this._logService.trace(`[InstructionsContextComputer] AGENTS.md files added: ${( file.toString())}`);
196
+ if (copilotEntries.length > 0) {
197
+ await this._addReferencedInstructions(copilotEntries, telemetryEvent, token);
198
+ for (const entry of copilotEntries.asArray()) {
199
+ variables.add(entry);
203
200
  }
204
201
  }
205
202
  for (const entry of entries.asArray()) {
206
203
  variables.add(entry);
207
204
  }
208
205
  }
206
+ _getApplyToPattern(applyTo, paths) {
207
+ if (applyTo) {
208
+ return applyTo;
209
+ }
210
+ if (paths && paths.length > 0) {
211
+ return paths.join(", ");
212
+ }
213
+ return undefined;
214
+ }
209
215
  _matches(files, applyToPattern) {
210
216
  const patterns = splitGlobAware(applyToPattern, ",");
211
217
  const patterMatches = pattern => {
@@ -254,13 +260,13 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
254
260
  }
255
261
  return undefined;
256
262
  }
257
- async _getInstructionsWithPatternsList(instructionFiles, _existingVariables, token) {
263
+ async _getInstructionsWithPatternsList(instructionFiles, _existingVariables, telemetryEvent, token) {
258
264
  const readTool = this._getTool("readFile");
259
265
  const runSubagentTool = this._getTool(VSCodeToolReference.runSubagent);
260
266
  const entries = [];
261
267
  if (readTool) {
262
268
  const searchNestedAgentMd = this._configurationService.getValue(PromptsConfig.USE_NESTED_AGENT_MD);
263
- const agentsMdPromise = searchNestedAgentMd ? this._promptsService.findAgentMDsInWorkspace(token) : Promise.resolve([]);
269
+ const agentsMdPromise = searchNestedAgentMd ? this._promptsService.listNestedAgentMDs(token) : Promise.resolve([]);
264
270
  entries.push("<instructions>");
265
271
  entries.push(
266
272
  "Here is a list of instruction files that contain rules for working with this codebase."
@@ -285,14 +291,16 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
285
291
  if (parsedFile.header) {
286
292
  const {
287
293
  description,
288
- applyTo
294
+ applyTo,
295
+ paths
289
296
  } = parsedFile.header;
290
297
  if (description) {
291
298
  entries.push(`<description>${description}</description>`);
292
299
  }
293
300
  entries.push(`<file>${getFilePath(uri)}</file>`);
294
- if (applyTo) {
295
- entries.push(`<applyTo>${applyTo}</applyTo>`);
301
+ const applyToPattern = this._getApplyToPattern(applyTo, paths);
302
+ if (applyToPattern) {
303
+ entries.push(`<applyTo>${applyToPattern}</applyTo>`);
296
304
  }
297
305
  } else {
298
306
  entries.push(`<file>${getFilePath(uri)}</file>`);
@@ -302,11 +310,13 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
302
310
  }
303
311
  }
304
312
  const agentsMdFiles = await agentsMdPromise;
305
- for (const uri of agentsMdFiles) {
313
+ for (const {
314
+ uri
315
+ } of agentsMdFiles) {
306
316
  const folderName = this._labelService.getUriLabel(dirname(uri), {
307
317
  relative: true
308
318
  });
309
- const description = folderName.trim().length === 0 ? ( localize(6275, "Instructions for the workspace")) : ( localize(6276, "Instructions for folder '{0}'", folderName));
319
+ const description = folderName.trim().length === 0 ? ( localize(6372, "Instructions for the workspace")) : ( localize(6373, "Instructions for folder '{0}'", folderName));
310
320
  entries.push("<instruction>");
311
321
  entries.push(`<description>${description}</description>`);
312
322
  entries.push(`<file>${getFilePath(uri)}</file>`);
@@ -319,7 +329,8 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
319
329
  entries.push("</instructions>", "", "");
320
330
  }
321
331
  const agentSkills = await this._promptsService.findAgentSkills(token);
322
- if (agentSkills && agentSkills.length > 0) {
332
+ const modelInvokableSkills = agentSkills?.filter(skill => !skill.disableModelInvocation);
333
+ if (modelInvokableSkills && modelInvokableSkills.length > 0) {
323
334
  const useSkillAdherencePrompt = this._configurationService.getValue(PromptsConfig.USE_SKILL_ADHERENCE_PROMPT);
324
335
  entries.push("<skills>");
325
336
  if (useSkillAdherencePrompt) {
@@ -364,7 +375,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
364
375
  `When a user asks you to perform a task that falls within the domain of a skill, use the ${readTool.variable} tool to acquire the full instructions from the file URI.`
365
376
  );
366
377
  }
367
- for (const skill of agentSkills) {
378
+ for (const skill of modelInvokableSkills) {
368
379
  entries.push("<skill>");
369
380
  entries.push(`<name>${skill.name}</name>`);
370
381
  if (skill.description) {
@@ -406,6 +417,9 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
406
417
  entries.push(`<argumentHint>${agent.argumentHint}</argumentHint>`);
407
418
  }
408
419
  entries.push("</agent>");
420
+ if (isInClaudeAgentsFolder(agent.uri)) {
421
+ telemetryEvent.claudeAgentsCount++;
422
+ }
409
423
  }
410
424
  }
411
425
  entries.push("</agents>", "", "");
@@ -470,7 +484,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
470
484
  if (isPromptOrInstructionsFile(uri)) {
471
485
  todo.push(uri);
472
486
  }
473
- const reason = ( localize(6277, "Referenced by {0}", basename(next)));
487
+ const reason = ( localize(6374, "Referenced by {0}", basename(next)));
474
488
  attachedContext.add(
475
489
  toPromptFileVariableEntry(uri, PromptFileVariableKind.InstructionReference, reason, true)
476
490
  );
@@ -59,6 +59,10 @@ export declare namespace PromptsConfig {
59
59
  * Configuration key for the locations of skill folders.
60
60
  */
61
61
  const SKILLS_LOCATION_KEY = "chat.agentSkillsLocations";
62
+ /**
63
+ * Configuration key for the locations of hook files.
64
+ */
65
+ const HOOKS_LOCATION_KEY = "chat.hookFilesLocations";
62
66
  /**
63
67
  * Configuration key for prompt file suggestions.
64
68
  */
@@ -75,10 +79,22 @@ export declare namespace PromptsConfig {
75
79
  * Configuration key for nested AGENTS.md files.
76
80
  */
77
81
  const USE_NESTED_AGENT_MD = "chat.useNestedAgentsMdFiles";
82
+ /**
83
+ * Configuration key for the CLAUDE.md.
84
+ */
85
+ const USE_CLAUDE_MD = "chat.useClaudeMdFile";
78
86
  /**
79
87
  * Configuration key for agent skills usage.
80
88
  */
81
89
  const USE_AGENT_SKILLS = "chat.useAgentSkills";
90
+ /**
91
+ * Configuration key for chat hooks usage.
92
+ */
93
+ const USE_CHAT_HOOKS = "chat.useHooks";
94
+ /**
95
+ * Configuration key for enabling Claude hooks.
96
+ */
97
+ const USE_CLAUDE_HOOKS = "chat.useClaudeHooks";
82
98
  /**
83
99
  * Configuration key for enabling stronger skill adherence prompt (experimental).
84
100
  */
@@ -10,11 +10,15 @@ var PromptsConfig;
10
10
  PromptsConfig.MODE_LOCATION_KEY = "chat.modeFilesLocations";
11
11
  PromptsConfig.AGENTS_LOCATION_KEY = "chat.agentFilesLocations";
12
12
  PromptsConfig.SKILLS_LOCATION_KEY = "chat.agentSkillsLocations";
13
+ PromptsConfig.HOOKS_LOCATION_KEY = "chat.hookFilesLocations";
13
14
  PromptsConfig.PROMPT_FILES_SUGGEST_KEY = "chat.promptFilesRecommendations";
14
15
  PromptsConfig.USE_COPILOT_INSTRUCTION_FILES = "github.copilot.chat.codeGeneration.useInstructionFiles";
15
16
  PromptsConfig.USE_AGENT_MD = "chat.useAgentsMdFile";
16
17
  PromptsConfig.USE_NESTED_AGENT_MD = "chat.useNestedAgentsMdFiles";
18
+ PromptsConfig.USE_CLAUDE_MD = "chat.useClaudeMdFile";
17
19
  PromptsConfig.USE_AGENT_SKILLS = "chat.useAgentSkills";
20
+ PromptsConfig.USE_CHAT_HOOKS = "chat.useHooks";
21
+ PromptsConfig.USE_CLAUDE_HOOKS = "chat.useClaudeHooks";
18
22
  PromptsConfig.USE_SKILL_ADHERENCE_PROMPT = "chat.experimental.useSkillAdherencePrompt";
19
23
  PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS = "chat.includeApplyingInstructions";
20
24
  PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS = "chat.includeReferencedInstructions";
@@ -108,6 +112,8 @@ function getPromptFileLocationsConfigKey(type) {
108
112
  return PromptsConfig.AGENTS_LOCATION_KEY;
109
113
  case PromptsType.skill:
110
114
  return PromptsConfig.SKILLS_LOCATION_KEY;
115
+ case PromptsType.hook:
116
+ return PromptsConfig.HOOKS_LOCATION_KEY;
111
117
  default:
112
118
  throw ( new Error("Unknown prompt type"));
113
119
  }
@@ -21,6 +21,22 @@ export declare const AGENT_FILE_EXTENSION = ".agent.md";
21
21
  * Skill file name (case insensitive).
22
22
  */
23
23
  export declare const SKILL_FILENAME = "SKILL.md";
24
+ /**
25
+ * AGENT file name
26
+ */
27
+ export declare const AGENT_MD_FILENAME = "AGENTS.md";
28
+ /**
29
+ * Claude file name.
30
+ */
31
+ export declare const CLAUDE_MD_FILENAME = "CLAUDE.md";
32
+ /**
33
+ * Claude local file name.
34
+ */
35
+ export declare const CLAUDE_LOCAL_MD_FILENAME = "CLAUDE.local.md";
36
+ /**
37
+ * Claude configuration folder name.
38
+ */
39
+ export declare const CLAUDE_CONFIG_FOLDER = ".claude";
24
40
  /**
25
41
  * Copilot custom instructions file name.
26
42
  */
@@ -41,6 +57,18 @@ export declare const LEGACY_MODE_DEFAULT_SOURCE_FOLDER = ".github/chatmodes";
41
57
  * Agents folder.
42
58
  */
43
59
  export declare const AGENTS_SOURCE_FOLDER = ".github/agents";
60
+ /**
61
+ * Claude agents folder.
62
+ */
63
+ export declare const CLAUDE_AGENTS_SOURCE_FOLDER = ".claude/agents";
64
+ /**
65
+ * Claude rules folder.
66
+ */
67
+ export declare const CLAUDE_RULES_SOURCE_FOLDER = ".claude/rules";
68
+ /**
69
+ * Hooks folder.
70
+ */
71
+ export declare const HOOKS_SOURCE_FOLDER = ".github/hooks";
44
72
  /**
45
73
  * Tracks where prompt files originate from.
46
74
  */
@@ -49,6 +77,7 @@ export declare enum PromptFileSource {
49
77
  CopilotPersonal = "copilot-personal",
50
78
  ClaudePersonal = "claude-personal",
51
79
  ClaudeWorkspace = "claude-workspace",
80
+ ClaudeWorkspaceLocal = "claude-workspace-local",
52
81
  AgentsWorkspace = "agents-workspace",
53
82
  AgentsPersonal = "agents-personal",
54
83
  ConfigWorkspace = "config-workspace",
@@ -105,8 +134,27 @@ export declare const DEFAULT_PROMPT_SOURCE_FOLDERS: readonly IPromptSourceFolder
105
134
  * Default agent source folders.
106
135
  */
107
136
  export declare const DEFAULT_AGENT_SOURCE_FOLDERS: readonly IPromptSourceFolder[];
137
+ /**
138
+ * Default hook file paths.
139
+ * Entries can be either a directory or a specific file path (.json)
140
+ */
141
+ export declare const DEFAULT_HOOK_FILE_PATHS: readonly IPromptSourceFolder[];
142
+ /**
143
+ * Helper function to check if a file is directly in the .claude/agents/ folder.
144
+ */
145
+ export declare function isInClaudeAgentsFolder(fileUri: URI): boolean;
146
+ /**
147
+ * Helper function to check if a file is inside the .claude/rules/ folder (including subfolders).
148
+ * Claude rules files (.md) in this folder are treated as instruction files.
149
+ */
150
+ export declare function isInClaudeRulesFolder(fileUri: URI): boolean;
108
151
  /**
109
152
  * Gets the prompt file type from the provided path.
153
+ *
154
+ * Note: This function assumes the URI is already known to be a prompt file
155
+ * (e.g., from a configured prompt source folder). It does not validate that
156
+ * arbitrary URIs are prompt files - for example, any .json file will return
157
+ * PromptsType.hook regardless of its location.
110
158
  */
111
159
  export declare function getPromptFileType(fileUri: URI): PromptsType | undefined;
112
160
  /**
@@ -1,24 +1,35 @@
1
1
 
2
- import { dirname, basename } from '../../../../../../base/common/path.js';
2
+ import { posix } from '../../../../../../base/common/path.js';
3
3
  import { PromptsType } from '../promptTypes.js';
4
4
  import { PromptsStorage } from '../service/promptsService.js';
5
5
 
6
+ const {
7
+ basename,
8
+ dirname
9
+ } = posix;
6
10
  const PROMPT_FILE_EXTENSION = ".prompt.md";
7
11
  const INSTRUCTION_FILE_EXTENSION = ".instructions.md";
8
12
  const LEGACY_MODE_FILE_EXTENSION = ".chatmode.md";
9
13
  const AGENT_FILE_EXTENSION = ".agent.md";
10
14
  const SKILL_FILENAME = "SKILL.md";
15
+ const AGENT_MD_FILENAME = "AGENTS.md";
16
+ const CLAUDE_MD_FILENAME = "CLAUDE.md";
17
+ const CLAUDE_LOCAL_MD_FILENAME = "CLAUDE.local.md";
18
+ const CLAUDE_CONFIG_FOLDER = ".claude";
11
19
  const COPILOT_CUSTOM_INSTRUCTIONS_FILENAME = "copilot-instructions.md";
12
20
  const PROMPT_DEFAULT_SOURCE_FOLDER = ".github/prompts";
13
21
  const INSTRUCTIONS_DEFAULT_SOURCE_FOLDER = ".github/instructions";
14
22
  const LEGACY_MODE_DEFAULT_SOURCE_FOLDER = ".github/chatmodes";
15
23
  const AGENTS_SOURCE_FOLDER = ".github/agents";
24
+ const CLAUDE_AGENTS_SOURCE_FOLDER = ".claude/agents";
25
+ const CLAUDE_RULES_SOURCE_FOLDER = ".claude/rules";
16
26
  var PromptFileSource;
17
27
  (function(PromptFileSource) {
18
28
  PromptFileSource["GitHubWorkspace"] = "github-workspace";
19
29
  PromptFileSource["CopilotPersonal"] = "copilot-personal";
20
30
  PromptFileSource["ClaudePersonal"] = "claude-personal";
21
31
  PromptFileSource["ClaudeWorkspace"] = "claude-workspace";
32
+ PromptFileSource["ClaudeWorkspaceLocal"] = "claude-workspace-local";
22
33
  PromptFileSource["AgentsWorkspace"] = "agents-workspace";
23
34
  PromptFileSource["AgentsPersonal"] = "agents-personal";
24
35
  PromptFileSource["ConfigWorkspace"] = "config-workspace";
@@ -55,6 +66,14 @@ const DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS = [{
55
66
  path: INSTRUCTIONS_DEFAULT_SOURCE_FOLDER,
56
67
  source: PromptFileSource.GitHubWorkspace,
57
68
  storage: PromptsStorage.local
69
+ }, {
70
+ path: CLAUDE_RULES_SOURCE_FOLDER,
71
+ source: PromptFileSource.ClaudeWorkspace,
72
+ storage: PromptsStorage.local
73
+ }, {
74
+ path: "~/" + CLAUDE_RULES_SOURCE_FOLDER,
75
+ source: PromptFileSource.ClaudePersonal,
76
+ storage: PromptsStorage.user
58
77
  }];
59
78
  const DEFAULT_PROMPT_SOURCE_FOLDERS = [{
60
79
  path: PROMPT_DEFAULT_SOURCE_FOLDER,
@@ -65,10 +84,39 @@ const DEFAULT_AGENT_SOURCE_FOLDERS = [{
65
84
  path: AGENTS_SOURCE_FOLDER,
66
85
  source: PromptFileSource.GitHubWorkspace,
67
86
  storage: PromptsStorage.local
87
+ }, {
88
+ path: CLAUDE_AGENTS_SOURCE_FOLDER,
89
+ source: PromptFileSource.ClaudeWorkspace,
90
+ storage: PromptsStorage.local
91
+ }];
92
+ const DEFAULT_HOOK_FILE_PATHS = [{
93
+ path: ".github/hooks",
94
+ source: PromptFileSource.GitHubWorkspace,
95
+ storage: PromptsStorage.local
96
+ }, {
97
+ path: ".claude/settings.local.json",
98
+ source: PromptFileSource.ClaudeWorkspaceLocal,
99
+ storage: PromptsStorage.local
100
+ }, {
101
+ path: ".claude/settings.json",
102
+ source: PromptFileSource.ClaudeWorkspace,
103
+ storage: PromptsStorage.local
104
+ }, {
105
+ path: "~/.claude/settings.json",
106
+ source: PromptFileSource.ClaudePersonal,
107
+ storage: PromptsStorage.user
68
108
  }];
69
109
  function isInAgentsFolder(fileUri) {
70
110
  const dir = dirname(fileUri.path);
71
- return dir.endsWith("/" + AGENTS_SOURCE_FOLDER) || dir === AGENTS_SOURCE_FOLDER;
111
+ return dir.endsWith("/" + AGENTS_SOURCE_FOLDER) || dir.endsWith("/" + CLAUDE_AGENTS_SOURCE_FOLDER);
112
+ }
113
+ function isInClaudeAgentsFolder(fileUri) {
114
+ const dir = dirname(fileUri.path);
115
+ return dir.endsWith("/" + CLAUDE_AGENTS_SOURCE_FOLDER);
116
+ }
117
+ function isInClaudeRulesFolder(fileUri) {
118
+ const path = fileUri.path;
119
+ return path.includes("/" + CLAUDE_RULES_SOURCE_FOLDER + "/");
72
120
  }
73
121
  function getPromptFileType(fileUri) {
74
122
  const filename = basename(fileUri.path);
@@ -87,6 +135,12 @@ function getPromptFileType(fileUri) {
87
135
  if (filename.endsWith(".md") && filename !== "README.md" && isInAgentsFolder(fileUri)) {
88
136
  return PromptsType.agent;
89
137
  }
138
+ if (filename.endsWith(".md") && filename !== "README.md" && isInClaudeRulesFolder(fileUri)) {
139
+ return PromptsType.instructions;
140
+ }
141
+ if (filename.toLowerCase().endsWith(".json")) {
142
+ return PromptsType.hook;
143
+ }
90
144
  return undefined;
91
145
  }
92
146
  function isPromptOrInstructionsFile(fileUri) {
@@ -102,6 +156,8 @@ function getPromptFileExtension(type) {
102
156
  return AGENT_FILE_EXTENSION;
103
157
  case PromptsType.skill:
104
158
  return SKILL_FILENAME;
159
+ case PromptsType.hook:
160
+ return ".json";
105
161
  default:
106
162
  throw ( new Error("Unknown prompt type"));
107
163
  }
@@ -116,6 +172,8 @@ function getPromptFileDefaultLocations(type) {
116
172
  return DEFAULT_AGENT_SOURCE_FOLDERS;
117
173
  case PromptsType.skill:
118
174
  return DEFAULT_SKILL_SOURCE_FOLDERS;
175
+ case PromptsType.hook:
176
+ return DEFAULT_HOOK_FILE_PATHS;
119
177
  default:
120
178
  throw ( new Error("Unknown prompt type"));
121
179
  }
@@ -142,7 +200,10 @@ function getCleanPromptName(fileUri) {
142
200
  if (fileName.endsWith(".md") && fileName !== "README.md" && isInAgentsFolder(fileUri)) {
143
201
  return basename(fileUri.path, ".md");
144
202
  }
203
+ if (fileName.endsWith(".md") && fileName !== "README.md" && isInClaudeRulesFolder(fileUri)) {
204
+ return basename(fileUri.path, ".md");
205
+ }
145
206
  return basename(fileUri.path);
146
207
  }
147
208
 
148
- export { AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, COPILOT_CUSTOM_INSTRUCTIONS_FILENAME, DEFAULT_AGENT_SOURCE_FOLDERS, DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS, DEFAULT_PROMPT_SOURCE_FOLDERS, DEFAULT_SKILL_SOURCE_FOLDERS, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, PromptFileSource, SKILL_FILENAME, getCleanPromptName, getPromptFileDefaultLocations, getPromptFileExtension, getPromptFileType, isPromptOrInstructionsFile };
209
+ export { AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, AGENT_MD_FILENAME, CLAUDE_AGENTS_SOURCE_FOLDER, CLAUDE_CONFIG_FOLDER, CLAUDE_LOCAL_MD_FILENAME, CLAUDE_MD_FILENAME, CLAUDE_RULES_SOURCE_FOLDER, COPILOT_CUSTOM_INSTRUCTIONS_FILENAME, DEFAULT_AGENT_SOURCE_FOLDERS, DEFAULT_HOOK_FILE_PATHS, DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS, DEFAULT_PROMPT_SOURCE_FOLDERS, DEFAULT_SKILL_SOURCE_FOLDERS, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, PromptFileSource, SKILL_FILENAME, getCleanPromptName, getPromptFileDefaultLocations, getPromptFileExtension, getPromptFileType, isInClaudeAgentsFolder, isInClaudeRulesFolder, isPromptOrInstructionsFile };