@codingame/monaco-vscode-chat-service-override 28.4.1 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/index.js +18 -12
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
  12. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
  16. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
  98. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +22 -15
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  178. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  181. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
  188. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
  189. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
  190. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
  202. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
  225. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
  226. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
  227. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
  228. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
  229. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
  231. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
  232. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
  233. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
  236. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
  237. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
  252. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
  261. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
  262. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
  263. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
  318. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
  319. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
  320. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
  321. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
  322. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
  323. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
  324. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
  325. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
  326. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
  327. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
  328. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
  329. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
  330. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
  331. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
  332. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
  333. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
  334. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
  335. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
  336. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
@@ -0,0 +1,205 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { parse } from '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
4
+ import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
7
+ import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
9
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
10
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
11
+ import { CLAUDE_CONFIG_FOLDER } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
12
+ import { parseMarketplaceReference } from './marketplaceReference.js';
13
+ import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
14
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
15
+ import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
16
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
17
+
18
+ const SETTINGS_FILENAME = "settings.json";
19
+ const SETTINGS_LOCAL_FILENAME = "settings.local.json";
20
+ const COPILOT_CONFIG_FOLDER = ".github/copilot";
21
+ function marketplaceEntryToReference(entry) {
22
+ let sourceType;
23
+ let repo;
24
+ let url;
25
+ if (typeof entry.source === "object" && entry.source !== null) {
26
+ const nested = entry.source;
27
+ sourceType = nested.source;
28
+ repo = nested.repo;
29
+ url = nested.url;
30
+ } else {
31
+ sourceType = entry.source;
32
+ repo = entry.repo;
33
+ url = entry.url;
34
+ }
35
+ if (sourceType === "github" && typeof repo === "string") {
36
+ return parseMarketplaceReference(repo);
37
+ }
38
+ if (sourceType === "git" && typeof url === "string") {
39
+ return parseMarketplaceReference(url);
40
+ }
41
+ return undefined;
42
+ }
43
+ function parseEnabledPlugins(json) {
44
+ const result = ( new Map());
45
+ if (!json || typeof json !== "object" || Array.isArray(json)) {
46
+ return result;
47
+ }
48
+ const obj = json;
49
+ for (const [key, value] of Object.entries(obj)) {
50
+ if (typeof value === "boolean") {
51
+ result.set(key, value);
52
+ }
53
+ }
54
+ return result;
55
+ }
56
+ function parseExtraMarketplaces(json, logPrefix, logService) {
57
+ const entries = [];
58
+ if (!json || typeof json !== "object" || Array.isArray(json)) {
59
+ return entries;
60
+ }
61
+ const obj = json;
62
+ for (const [name, value] of Object.entries(obj)) {
63
+ if (!value || typeof value !== "object") {
64
+ logService.debug(`${logPrefix} Ignoring non-object extraKnownMarketplaces entry: ${name}`);
65
+ continue;
66
+ }
67
+ const reference = marketplaceEntryToReference(value);
68
+ if (!reference) {
69
+ logService.debug(`${logPrefix} Could not parse marketplace reference for: ${name}`);
70
+ continue;
71
+ }
72
+ entries.push({
73
+ name,
74
+ reference: {
75
+ ...reference,
76
+ displayLabel: name
77
+ }
78
+ });
79
+ }
80
+ return entries;
81
+ }
82
+ const EMPTY_DATA = {
83
+ marketplaces: [],
84
+ enabledPlugins: ( new Map())
85
+ };
86
+ class WorkspaceSettingsReader extends Disposable {
87
+ constructor(
88
+ configFolder,
89
+ logPrefix,
90
+ fileService,
91
+ workspaceContextService,
92
+ _logService
93
+ ) {
94
+ super();
95
+ this._logService = _logService;
96
+ this._data = observableValue("data", EMPTY_DATA);
97
+ this.data = this._data;
98
+ const settingsDirs = observableFromEvent(
99
+ this,
100
+ workspaceContextService.onDidChangeWorkspaceFolders,
101
+ () => ( workspaceContextService.getWorkspace().folders.map(f => joinPath(f.uri, configFolder)))
102
+ );
103
+ const watcherStore = this._register(( new DisposableStore()));
104
+ this._register(autorun(reader => {
105
+ const dirs = settingsDirs.read(reader);
106
+ watcherStore.clear();
107
+ const scheduler = ( new RunOnceScheduler(() => this._readSettings(dirs, logPrefix, fileService), 100));
108
+ watcherStore.add(scheduler);
109
+ for (const dir of dirs) {
110
+ const watcher = fileService.createWatcher(dir, {
111
+ recursive: false,
112
+ excludes: []
113
+ });
114
+ watcherStore.add(watcher);
115
+ watcherStore.add(watcher.onDidChange(e => {
116
+ if (e.affects(joinPath(dir, SETTINGS_FILENAME)) || e.affects(joinPath(dir, SETTINGS_LOCAL_FILENAME))) {
117
+ scheduler.schedule();
118
+ }
119
+ }));
120
+ }
121
+ this._readSettings(dirs, logPrefix, fileService);
122
+ }));
123
+ }
124
+ async _readSettings(dirs, logPrefix, fileService) {
125
+ const allMarketplaces = [];
126
+ const mergedEnabled = ( new Map());
127
+ for (const dir of dirs) {
128
+ const sharedUri = joinPath(dir, SETTINGS_FILENAME);
129
+ const localUri = joinPath(dir, SETTINGS_LOCAL_FILENAME);
130
+ for (const uri of [sharedUri, localUri]) {
131
+ try {
132
+ const content = await fileService.readFile(uri);
133
+ const json = parse(( content.value.toString()));
134
+ if (!json || typeof json !== "object") {
135
+ continue;
136
+ }
137
+ const root = json;
138
+ const marketplaces = parseExtraMarketplaces(root.extraKnownMarketplaces, logPrefix, this._logService);
139
+ for (const entry of marketplaces) {
140
+ if (!( allMarketplaces.some(e => e.reference.canonicalId === entry.reference.canonicalId))) {
141
+ allMarketplaces.push(entry);
142
+ }
143
+ }
144
+ const enabled = parseEnabledPlugins(root.enabledPlugins);
145
+ for (const [key, value] of enabled) {
146
+ mergedEnabled.set(key, value);
147
+ }
148
+ } catch {
149
+ this._logService.debug(`${logPrefix} Could not read ${( uri.toString())}`);
150
+ }
151
+ }
152
+ }
153
+ this._data.set({
154
+ marketplaces: allMarketplaces,
155
+ enabledPlugins: mergedEnabled
156
+ }, undefined);
157
+ }
158
+ }
159
+ let WorkspacePluginSettingsService = class WorkspacePluginSettingsService extends Disposable {
160
+ constructor(fileService, workspaceContextService, logService) {
161
+ super();
162
+ const claudeReader = this._register(( new WorkspaceSettingsReader(
163
+ CLAUDE_CONFIG_FOLDER,
164
+ "[ClaudePluginSettings]",
165
+ fileService,
166
+ workspaceContextService,
167
+ logService
168
+ )));
169
+ const copilotReader = this._register(( new WorkspaceSettingsReader(
170
+ COPILOT_CONFIG_FOLDER,
171
+ "[CopilotPluginSettings]",
172
+ fileService,
173
+ workspaceContextService,
174
+ logService
175
+ )));
176
+ this.extraMarketplaces = derived(reader => {
177
+ const claude = claudeReader.data.read(reader).marketplaces;
178
+ const copilot = copilotReader.data.read(reader).marketplaces;
179
+ const byCanonicalId = ( new Map());
180
+ for (const entry of [...claude, ...copilot]) {
181
+ if (!( byCanonicalId.has(entry.reference.canonicalId))) {
182
+ byCanonicalId.set(entry.reference.canonicalId, entry);
183
+ }
184
+ }
185
+ return [...( byCanonicalId.values())];
186
+ });
187
+ this.enabledPlugins = derived(reader => {
188
+ const claude = claudeReader.data.read(reader).enabledPlugins;
189
+ const copilot = copilotReader.data.read(reader).enabledPlugins;
190
+ const merged = ( new Map());
191
+ for (const [key, value] of claude) {
192
+ merged.set(key, value);
193
+ }
194
+ for (const [key, value] of copilot) {
195
+ if (!( merged.has(key))) {
196
+ merged.set(key, value);
197
+ }
198
+ }
199
+ return merged;
200
+ });
201
+ }
202
+ };
203
+ WorkspacePluginSettingsService = ( __decorate([( __param(0, IFileService)), ( __param(1, IWorkspaceContextService)), ( __param(2, ILogService))], WorkspacePluginSettingsService));
204
+
205
+ export { WorkspacePluginSettingsService };
@@ -25,7 +25,7 @@ function registerChatFilesExtensionPoint(point) {
25
25
  return ExtensionsRegistry.registerExtensionPoint({
26
26
  extensionPoint: point,
27
27
  jsonSchema: {
28
- description: ( localize(7025, "Contributes {0} for chat prompts.", point)),
28
+ description: ( localize(7248, "Contributes {0} for chat prompts.", point)),
29
29
  type: "array",
30
30
  items: {
31
31
  additionalProperties: false,
@@ -39,23 +39,23 @@ function registerChatFilesExtensionPoint(point) {
39
39
  properties: {
40
40
  path: {
41
41
  description: point === ChatContributionPoint.chatSkills ? ( localize(
42
- 7026,
42
+ 7249,
43
43
  "Path to the SKILL.md file relative to the extension root. The folder name must match the \"name\" property in SKILL.md."
44
- )) : ( localize(7027, "Path to the file relative to the extension root.")),
44
+ )) : ( localize(7250, "Path to the file relative to the extension root.")),
45
45
  type: "string"
46
46
  },
47
47
  name: {
48
- description: ( localize(7028, "(Optional) Name for this entry.")),
49
- deprecationMessage: ( localize(7029, "Specify \"name\" in the prompt file itself instead.")),
48
+ description: ( localize(7251, "(Optional) Name for this entry.")),
49
+ deprecationMessage: ( localize(7252, "Specify \"name\" in the prompt file itself instead.")),
50
50
  type: "string"
51
51
  },
52
52
  description: {
53
- description: ( localize(7030, "(Optional) Description of the entry.")),
54
- deprecationMessage: ( localize(7031, "Specify \"description\" in the prompt file itself instead.")),
53
+ description: ( localize(7253, "(Optional) Description of the entry.")),
54
+ deprecationMessage: ( localize(7254, "Specify \"description\" in the prompt file itself instead.")),
55
55
  type: "string"
56
56
  },
57
57
  when: {
58
- description: ( localize(7032, "(Optional) A condition which must be true to enable this entry.")),
58
+ description: ( localize(7255, "(Optional) A condition which must be true to enable this entry.")),
59
59
  type: "string"
60
60
  }
61
61
  }
@@ -106,7 +106,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
106
106
  for (const raw of ext.value) {
107
107
  if (!raw.path) {
108
108
  ext.collector.error(( localize(
109
- 7033,
109
+ 7256,
110
110
  "Extension '{0}' cannot register {1} entry without path.",
111
111
  ext.description.identifier.value,
112
112
  contributionPoint
@@ -116,7 +116,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
116
116
  const fileUri = joinPath(ext.description.extensionLocation, raw.path);
117
117
  if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
118
118
  ext.collector.error(( localize(
119
- 7034,
119
+ 7257,
120
120
  "Extension '{0}' {1} entry '{2}' resolves outside the extension.",
121
121
  ext.description.identifier.value,
122
122
  contributionPoint,
@@ -126,7 +126,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
126
126
  }
127
127
  if (raw.when && !ContextKeyExpr.deserialize(raw.when)) {
128
128
  ext.collector.error(( localize(
129
- 7035,
129
+ 7258,
130
130
  "Extension '{0}' {1} entry '{2}' has an invalid when clause: '{3}'.",
131
131
  ext.description.identifier.value,
132
132
  contributionPoint,
@@ -141,7 +141,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
141
141
  } catch (e) {
142
142
  const msg = e instanceof Error ? e.message : String(e);
143
143
  ext.collector.error(( localize(
144
- 7036,
144
+ 7259,
145
145
  "Extension '{0}' {1}. Failed to register {2}: {3}",
146
146
  ext.description.identifier.value,
147
147
  contributionPoint,
@@ -201,7 +201,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
201
201
  dispose: () => {}
202
202
  };
203
203
  }
204
- const headers = [( localize(7037, "Name")), ( localize(7038, "Description")), ( localize(7039, "Path"))];
204
+ const headers = [( localize(7260, "Name")), ( localize(7261, "Description")), ( localize(7262, "Path"))];
205
205
  const rows = ( contributions.map(d => {
206
206
  return [d.name ?? "-", d.description ?? "-", d.path];
207
207
  }));
@@ -216,7 +216,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
216
216
  }
217
217
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
218
218
  id: ChatContributionPoint.chatPromptFiles,
219
- label: ( localize(7040, "Chat Prompt Files")),
219
+ label: ( localize(7263, "Chat Prompt Files")),
220
220
  access: {
221
221
  canToggle: false
222
222
  },
@@ -224,7 +224,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
224
224
  });
225
225
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
226
226
  id: ChatContributionPoint.chatInstructions,
227
- label: ( localize(7041, "Chat Instructions")),
227
+ label: ( localize(7264, "Chat Instructions")),
228
228
  access: {
229
229
  canToggle: false
230
230
  },
@@ -232,7 +232,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
232
232
  });
233
233
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
234
234
  id: ChatContributionPoint.chatAgents,
235
- label: ( localize(7042, "Chat Agents")),
235
+ label: ( localize(7265, "Chat Agents")),
236
236
  access: {
237
237
  canToggle: false
238
238
  },
@@ -240,7 +240,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
240
240
  });
241
241
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
242
242
  id: ChatContributionPoint.chatSkills,
243
- label: ( localize(7043, "Chat Skills")),
243
+ label: ( localize(7266, "Chat Skills")),
244
244
  access: {
245
245
  canToggle: false
246
246
  },
@@ -0,0 +1,33 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
4
+ import { IAgentSkill, IInternalPromptPath } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
5
+ import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
6
+ import { InternalSkill } from "./internalSkill.js";
7
+ export { InternalSkill } from "./internalSkill.js";
8
+ /**
9
+ * Manages built-in internal customizations (skills, instructions, agents, etc.)
10
+ * backed by a readonly virtual filesystem.
11
+ *
12
+ * To add a new internal skill, create an {@link InternalSkill} instance and
13
+ * register it in the constructor.
14
+ */
15
+ export declare class ChatInternalCustomizations extends Disposable {
16
+ private readonly skills;
17
+ private readonly skillsByUri;
18
+ constructor(fileService: IFileService);
19
+ /**
20
+ * Returns the {@link IAgentSkill} metadata for all internal skills,
21
+ * for injection into the skills list.
22
+ */
23
+ getSkills(): readonly IAgentSkill[];
24
+ /**
25
+ * Looks up the {@link InternalSkill} instance for a given URI,
26
+ * e.g. to check its {@link InternalSkill.when} clause.
27
+ */
28
+ getInternalSkillByUri(uri: URI): InternalSkill | undefined;
29
+ /**
30
+ * Returns internal prompt file paths for a given customization type.
31
+ */
32
+ getPromptPaths(type: PromptsType): readonly IInternalPromptPath[];
33
+ }
@@ -0,0 +1,47 @@
1
+
2
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
+ import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
4
+ import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
5
+ import { registerChatInternalFileSystem } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
7
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
8
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
9
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
10
+
11
+ class ChatInternalCustomizations extends Disposable {
12
+ constructor(fileService) {
13
+ super();
14
+ this.skillsByUri = ( new Map());
15
+ const {
16
+ provider,
17
+ disposable: fsDisposable
18
+ } = registerChatInternalFileSystem(fileService);
19
+ this._register(fsDisposable);
20
+ this.skills = [];
21
+ for (const skill of this.skills) {
22
+ provider.registerFile(skill.uri, skill.content);
23
+ this.skillsByUri.set(( skill.uri.toString()), skill);
24
+ this._register(skill);
25
+ }
26
+ }
27
+ getSkills() {
28
+ return ( this.skills.map(s => s.skill));
29
+ }
30
+ getInternalSkillByUri(uri) {
31
+ return this.skillsByUri.get(( uri.toString()));
32
+ }
33
+ getPromptPaths(type) {
34
+ if (type === PromptsType.skill) {
35
+ return ( this.skills.map(s => ({
36
+ uri: s.uri,
37
+ storage: PromptsStorage.internal,
38
+ type,
39
+ name: s.name,
40
+ description: s.description
41
+ })));
42
+ }
43
+ return [];
44
+ }
45
+ }
46
+
47
+ export { ChatInternalCustomizations };
@@ -0,0 +1,30 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ import { ContextKeyExpression } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
4
+ import { IAgentSkill } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
5
+ /**
6
+ * A built-in skill backed by the internal readonly virtual filesystem.
7
+ *
8
+ * To add a new internal skill, create an instance documenting the skill
9
+ * name, description and SKILL.md content, then add it to the
10
+ * {@link internalSkills} array in {@link internalCustomizations.ts}.
11
+ */
12
+ export declare class InternalSkill extends Disposable {
13
+ readonly name: string;
14
+ readonly description: string;
15
+ readonly content: string;
16
+ /** Virtual filesystem URI for the SKILL.md file. */
17
+ readonly uri: URI;
18
+ /** The skill metadata exposed to the skills list and system prompt. */
19
+ readonly skill: IAgentSkill;
20
+ /**
21
+ * Optional context key expression. When set, the skill is only included
22
+ * in the system prompt when this expression evaluates to true.
23
+ */
24
+ readonly when: ContextKeyExpression | undefined;
25
+ constructor(name: string, description: string, content: string, options?: {
26
+ disableModelInvocation?: boolean;
27
+ userInvocable?: boolean;
28
+ when?: ContextKeyExpression;
29
+ });
30
+ }
@@ -76,7 +76,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
76
76
  modeAttr.range.startLineNumber,
77
77
  modeAttr.range.startColumn + modeAttr.key.length
78
78
  ));
79
- result.push(this.createCodeAction(model, keyRange, ( localize(7087, "Rename to 'agent'")), [asWorkspaceTextEdit(model, {
79
+ result.push(this.createCodeAction(model, keyRange, ( localize(7310, "Rename to 'agent'")), [asWorkspaceTextEdit(model, {
80
80
  range: keyRange,
81
81
  text: "agent"
82
82
  })]));
@@ -93,7 +93,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
93
93
  copy: false
94
94
  }
95
95
  };
96
- result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(7088, "Migrate to custom agent file")), [edit]));
96
+ result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(7311, "Migrate to custom agent file")), [edit]));
97
97
  }
98
98
  }
99
99
  }
@@ -140,7 +140,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
140
140
  };
141
141
  edits.push(edit);
142
142
  if (item.range.containsRange(range)) {
143
- result.push(this.createCodeAction(model, item.range, ( localize(7089, "Update to '{0}'", newName)), [asWorkspaceTextEdit(model, edit)]));
143
+ result.push(this.createCodeAction(model, item.range, ( localize(7312, "Update to '{0}'", newName)), [asWorkspaceTextEdit(model, edit)]));
144
144
  }
145
145
  } else {
146
146
  const newNamesArray = Array.from(newNames).sort((a, b) => a.localeCompare(b));
@@ -159,13 +159,13 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
159
159
  };
160
160
  edits.push(edit);
161
161
  if (item.range.containsRange(range)) {
162
- result.push(this.createCodeAction(model, item.range, ( localize(7090, "Expand to {0} tools", newNames.size)), [asWorkspaceTextEdit(model, edit)]));
162
+ result.push(this.createCodeAction(model, item.range, ( localize(7313, "Expand to {0} tools", newNames.size)), [asWorkspaceTextEdit(model, edit)]));
163
163
  }
164
164
  }
165
165
  }
166
166
  }
167
167
  if (edits.length && result.length === 0 || edits.length > 1) {
168
- result.push(this.createCodeAction(model, value.range, ( localize(7091, "Update all tool names")), ( edits.map(edit => asWorkspaceTextEdit(model, edit)))));
168
+ result.push(this.createCodeAction(model, value.range, ( localize(7314, "Update all tool names")), ( edits.map(edit => asWorkspaceTextEdit(model, edit)))));
169
169
  }
170
170
  }
171
171
  };
@@ -48,7 +48,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
48
48
  if (/^\s*$/.test(model.getValue())) {
49
49
  return {
50
50
  suggestions: [{
51
- label: ( localize(7170, "Add Prompt Header")),
51
+ label: ( localize(7393, "Add Prompt Header")),
52
52
  kind: CompletionItemKind.Snippet,
53
53
  insertText: [`---`, `description: $1`, `---`, `$0`].join("\n"),
54
54
  insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
@@ -241,7 +241,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
241
241
  " send: true"
242
242
  ].join("\n");
243
243
  const item = {
244
- label: ( localize(7171, "Handoff Example")),
244
+ label: ( localize(7394, "Handoff Example")),
245
245
  kind: CompletionItemKind.Value,
246
246
  insertText: whilespaceAfterColon === 0 ? ` ${value}` : value,
247
247
  range: ( new Range(
@@ -256,7 +256,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
256
256
  if (attribute.key === PromptHeaderAttributes.hooks && promptType === PromptsType.agent) {
257
257
  const hookSnippet = ["", " ${1|" + ( Object.keys(HOOKS_BY_TARGET[target] ?? HOOKS_BY_TARGET[Target.Undefined])).join(",") + "|}:", " - type: command", " command: \"$2\""].join("\n");
258
258
  const item = {
259
- label: ( localize(7172, "New Hook")),
259
+ label: ( localize(7395, "New Hook")),
260
260
  kind: CompletionItemKind.Snippet,
261
261
  insertText: whilespaceAfterColon === 0 ? ` ${hookSnippet}` : hookSnippet,
262
262
  insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
@@ -283,8 +283,8 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
283
283
  const commandSnippet = ["", " - type: command", " command: \"$1\""].join("\n");
284
284
  return {
285
285
  suggestions: [{
286
- label: ( localize(7173, "New Command")),
287
- documentation: ( localize(7174, "Add a new command entry to this hook.")),
286
+ label: ( localize(7396, "New Command")),
287
+ documentation: ( localize(7397, "Add a new command entry to this hook.")),
288
288
  kind: CompletionItemKind.Snippet,
289
289
  insertText: whilespaceAfterColon === 0 ? ` ${commandSnippet}` : commandSnippet,
290
290
  insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
@@ -84,7 +84,7 @@ let PromptHoverProvider = class PromptHoverProvider {
84
84
  return this.getHooksHover(attribute, position, description, target);
85
85
  case PromptHeaderAttributes.infer:
86
86
  return this.createHover(description + "\n\n" + ( localize(
87
- 7175,
87
+ 7398,
88
88
  "Deprecated: Use `user-invocable` and `disable-model-invocation` instead."
89
89
  )), attribute.range);
90
90
  default:
@@ -132,7 +132,7 @@ let PromptHoverProvider = class PromptHoverProvider {
132
132
  }
133
133
  getToolsetHover(toolSet, range) {
134
134
  const lines = [];
135
- lines.push(( localize(7176, "ToolSet: {0}\n\n", toolSet.referenceName)));
135
+ lines.push(( localize(7399, "ToolSet: {0}\n\n", toolSet.referenceName)));
136
136
  if (toolSet.description) {
137
137
  lines.push(toolSet.description);
138
138
  }
@@ -143,7 +143,7 @@ let PromptHoverProvider = class PromptHoverProvider {
143
143
  }
144
144
  getModelHover(node, position, baseMessage, target) {
145
145
  if (target === Target.GitHubCopilot) {
146
- return this.createHover(baseMessage + "\n\n" + ( localize(7177, "Note: This attribute is not used when target is github-copilot.")), node.range);
146
+ return this.createHover(baseMessage + "\n\n" + ( localize(7400, "Note: This attribute is not used when target is github-copilot.")), node.range);
147
147
  }
148
148
  const modelHoverContent = modelName => {
149
149
  const lines = [];
@@ -154,7 +154,7 @@ let PromptHoverProvider = class PromptHoverProvider {
154
154
  return this.createHover(lines.join("\n"), node.range);
155
155
  }
156
156
  if (claudeModel.modelEquivalent) {
157
- lines.push(( localize(7178, "Claude model `{0}` maps to the following model:\n", modelName)));
157
+ lines.push(( localize(7401, "Claude model `{0}` maps to the following model:\n", modelName)));
158
158
  modelName = claudeModel.modelEquivalent;
159
159
  } else {
160
160
  lines.push(claudeModel.description);
@@ -164,9 +164,9 @@ let PromptHoverProvider = class PromptHoverProvider {
164
164
  const result = this.languageModelsService.lookupLanguageModelByQualifiedName(modelName);
165
165
  if (result) {
166
166
  const meta = result.metadata;
167
- lines.push(( localize(7179, "- Name: {0}", meta.name)));
168
- lines.push(( localize(7180, "- Family: {0}", meta.family)));
169
- lines.push(( localize(7181, "- Vendor: {0}", meta.vendor)));
167
+ lines.push(( localize(7402, "- Name: {0}", meta.name)));
168
+ lines.push(( localize(7403, "- Family: {0}", meta.family)));
169
+ lines.push(( localize(7404, "- Vendor: {0}", meta.vendor)));
170
170
  if (meta.tooltip) {
171
171
  lines.push("", "", meta.tooltip);
172
172
  }
@@ -197,14 +197,14 @@ let PromptHoverProvider = class PromptHoverProvider {
197
197
  if (value.type === "scalar" && value.range.containsPosition(position)) {
198
198
  const agent = this.chatModeService.findModeByName(value.value);
199
199
  if (agent) {
200
- const description = agent.description.get() || (isBuiltinChatMode(agent) ? ( localize(7182, "Built-in agent")) : ( localize(7183, "Custom agent")));
200
+ const description = agent.description.get() || (isBuiltinChatMode(agent) ? ( localize(7405, "Built-in agent")) : ( localize(7406, "Custom agent")));
201
201
  lines.push(`\`${agent.name.get()}\`: ${description}`);
202
202
  }
203
203
  } else {
204
204
  const agents = this.chatModeService.getModes();
205
205
  lines.push(baseMessage);
206
206
  lines.push("");
207
- lines.push(( localize(7184, "**Built-in agents:**")));
207
+ lines.push(( localize(7407, "**Built-in agents:**")));
208
208
  for (const agent of agents.builtin) {
209
209
  lines.push(
210
210
  `- \`${agent.name.get()}\`: ${agent.description.get() || agent.label.get()}`
@@ -212,10 +212,10 @@ let PromptHoverProvider = class PromptHoverProvider {
212
212
  }
213
213
  if (agents.custom.length > 0) {
214
214
  lines.push("");
215
- lines.push(( localize(7185, "**Custom agents:**")));
215
+ lines.push(( localize(7408, "**Custom agents:**")));
216
216
  for (const agent of agents.custom) {
217
217
  const description = agent.description.get();
218
- lines.push(`- \`${agent.name.get()}\`: ${description || ( localize(7183, "Custom agent"))}`);
218
+ lines.push(`- \`${agent.name.get()}\`: ${description || ( localize(7406, "Custom agent"))}`);
219
219
  }
220
220
  }
221
221
  }
@@ -270,7 +270,7 @@ let PromptHoverProvider = class PromptHoverProvider {
270
270
  const handoffsBaseMessage = getAttributeDefinition(PromptHeaderAttributes.handOffs, PromptsType.agent, target)?.description;
271
271
  if (!isVSCodeOrDefaultTarget(target)) {
272
272
  return this.createHover(handoffsBaseMessage + "\n\n" + ( localize(
273
- 7186,
273
+ 7409,
274
274
  "Note: This attribute is not used in GitHub Copilot or Claude targets."
275
275
  )), attribute.range);
276
276
  }
@@ -25,7 +25,7 @@ export declare class PromptValidator {
25
25
  constructor(languageModelsService: ILanguageModelsService, languageModelToolsService: ILanguageModelToolsService, chatModeService: IChatModeService, fileService: IFileService, labelService: ILabelService, promptsService: IPromptsService, configurationService: IConfigurationService);
26
26
  validate(promptAST: ParsedPromptFile, promptType: PromptsType, report: (markers: IMarkerData) => void): Promise<void>;
27
27
  private validateFileName;
28
- private validateSkillFolderName;
28
+ private validateSkillAttributes;
29
29
  private validateBody;
30
30
  private validateHeader;
31
31
  private checkForInvalidArguments;