@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
@@ -65,13 +65,24 @@
65
65
  border-color: var(--vscode-commandCenter-activeBorder, transparent);
66
66
  }
67
67
 
68
- .agent-status-pill.chat-input-mode {
68
+ /* Compact mode: pill hover is handled by individual sections, not the whole pill */
69
+ .agent-status-pill.compact-mode {
70
+ padding: 0;
71
+ gap: 0;
72
+ background-color: transparent;
73
+ }
74
+
75
+ .agent-status-pill.compact-mode:hover {
76
+ background-color: transparent;
77
+ border-color: var(--vscode-commandCenter-border, transparent);
78
+ }
79
+
80
+ .agent-status-pill.chat-input-mode:not(.compact-mode) {
69
81
  cursor: pointer;
70
82
  }
71
83
 
72
- .agent-status-pill.chat-input-mode:focus {
73
- outline: 1px solid var(--vscode-focusBorder);
74
- outline-offset: -1px;
84
+ .agent-status-pill.chat-input-mode .agent-status-input-area {
85
+ cursor: pointer;
75
86
  }
76
87
 
77
88
  .agent-status-pill.session-mode,
@@ -95,13 +106,53 @@
95
106
  color: var(--vscode-commandCenter-activeForeground);
96
107
  }
97
108
 
98
- /* Label */
109
+ /* Label - styled as placeholder text */
99
110
  .agent-status-label {
100
111
  flex: 1;
101
112
  text-align: center;
102
113
  white-space: nowrap;
103
114
  overflow: hidden;
104
115
  text-overflow: ellipsis;
116
+ opacity: 0.6;
117
+ }
118
+
119
+ /* Compact mode: left-aligned label, no icon */
120
+ .agent-status-pill.compact-mode .agent-status-label {
121
+ text-align: left;
122
+ }
123
+
124
+ /* Compact mode: inline status sections inside the pill */
125
+ .agent-status-pill.compact-mode .agent-status-badge-section {
126
+ flex-shrink: 0;
127
+ }
128
+
129
+ /* Input hover target - only this area triggers hover, not badge sections */
130
+ .agent-status-pill .agent-status-input-area {
131
+ display: flex;
132
+ align-items: center;
133
+ flex: 1;
134
+ min-width: 0;
135
+ overflow: hidden;
136
+ cursor: pointer;
137
+ gap: 6px;
138
+ border-radius: 5px 0 0 5px;
139
+ height: 100%;
140
+ padding: 0 10px;
141
+ background-color: var(--vscode-agentStatusIndicator-background);
142
+ }
143
+
144
+ /* When preceded by a toolbar/separator, remove left border-radius */
145
+ .agent-status-line-separator + .agent-status-input-area {
146
+ border-radius: 0;
147
+ }
148
+
149
+ .agent-status-pill .agent-status-input-area:hover {
150
+ background-color: var(--vscode-commandCenter-activeBackground);
151
+ }
152
+
153
+ .agent-status-pill .agent-status-input-area:focus {
154
+ outline: 1px solid var(--vscode-focusBorder);
155
+ outline-offset: -1px;
105
156
  }
106
157
 
107
158
  .agent-status-label.has-progress {
@@ -203,6 +254,9 @@
203
254
  display: flex;
204
255
  align-items: center;
205
256
  -webkit-app-region: no-drag;
257
+ height: 100%;
258
+ background-color: var(--vscode-agentStatusIndicator-background);
259
+ border-radius: 5px 0 0 5px;
206
260
  }
207
261
 
208
262
  .agent-status-separator {
@@ -212,6 +266,16 @@
212
266
  align-items: center;
213
267
  }
214
268
 
269
+ /* Vertical line separator used inside the pill in compact+debug mode */
270
+ .agent-status-line-separator {
271
+ width: 1px;
272
+ align-self: stretch;
273
+ margin: 4px 0;
274
+ background-color: var(--vscode-commandCenter-border, rgba(128, 128, 128, 0.35));
275
+ flex-shrink: 0;
276
+ pointer-events: none;
277
+ }
278
+
215
279
  /* Status Badge */
216
280
  .agent-status-badge {
217
281
  display: flex;
@@ -235,6 +299,7 @@
235
299
  height: 100%;
236
300
  position: relative;
237
301
  cursor: pointer;
302
+ background-color: var(--vscode-agentStatusIndicator-background);
238
303
  }
239
304
 
240
305
  .agent-status-badge-section:first-child { border-radius: 5px 0 0 5px; }
@@ -281,7 +346,8 @@
281
346
  }
282
347
 
283
348
  /* Separator between sections */
284
- .agent-status-badge-section + .agent-status-badge-section::before {
349
+ .agent-status-badge-section + .agent-status-badge-section::before,
350
+ .agent-status-input-area + .agent-status-badge-section::before {
285
351
  content: '';
286
352
  position: absolute;
287
353
  left: 0;
@@ -317,10 +383,16 @@
317
383
  }
318
384
 
319
385
  .agent-status-badge-section.sparkle .action-container {
320
- padding: 0 4px;
386
+ padding: 0 5px;
321
387
  border-radius: 5px 0 0 5px;
322
388
  }
323
389
 
390
+ /* In compact mode, no left radius on sparkle - it sits flush next to other sections */
391
+ .agent-status-pill.compact-mode .agent-status-badge-section.sparkle .action-container {
392
+ border-radius: 0;
393
+ padding: 0 5px 0 6px;
394
+ }
395
+
324
396
  .agent-status-badge-section.sparkle .dropdown-action-container {
325
397
  width: 18px;
326
398
  padding: 0;
@@ -26,22 +26,22 @@ registerCss(unifiedQuickAccess);
26
26
  const SEND_TO_AGENT_ID = "unified-quick-access-send-to-agent";
27
27
  const DEFAULT_UNIFIED_QUICK_ACCESS_TABS = [{
28
28
  id: "agentSessions",
29
- label: ( localize(5196, "Sessions")),
29
+ label: ( localize(5238, "Sessions")),
30
30
  prefix: "agent ",
31
- placeholder: ( localize(5197, "Search sessions or type a message...")),
32
- tooltip: ( localize(5198, "Search sessions or send a message to agent"))
31
+ placeholder: ( localize(5239, "Search sessions or type a message...")),
32
+ tooltip: ( localize(5240, "Search sessions or send a message to agent"))
33
33
  }, {
34
34
  id: "commands",
35
- label: ( localize(5199, "Commands")),
35
+ label: ( localize(5241, "Commands")),
36
36
  prefix: ">",
37
- placeholder: ( localize(5200, "Search commands...")),
38
- tooltip: ( localize(5201, "Run commands"))
37
+ placeholder: ( localize(5242, "Search commands...")),
38
+ tooltip: ( localize(5243, "Run commands"))
39
39
  }, {
40
40
  id: "files",
41
- label: ( localize(5202, "Files")),
41
+ label: ( localize(5244, "Files")),
42
42
  prefix: "",
43
- placeholder: ( localize(5203, "Search files...")),
44
- tooltip: ( localize(5204, "Go to files"))
43
+ placeholder: ( localize(5245, "Search files...")),
44
+ tooltip: ( localize(5246, "Go to files"))
45
45
  }];
46
46
  let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
47
47
  constructor(
@@ -232,14 +232,14 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
232
232
  }
233
233
  const hasInput = value.trim().length > 0;
234
234
  if (hasInput) {
235
- this._sendButtonLabel.textContent = ( localize(5205, "Send"));
236
- this._sendButtonHover?.update(( localize(5206, "Send message to new agent session")));
235
+ this._sendButtonLabel.textContent = ( localize(5247, "Send"));
236
+ this._sendButtonHover?.update(( localize(5248, "Send message to new agent session")));
237
237
  this._sendButtonIcon.style.display = "";
238
238
  } else {
239
239
  const openChatKeybinding = this.keybindingService.lookupKeybinding(CHAT_OPEN_ACTION_ID);
240
240
  const openChatLabel = openChatKeybinding?.getLabel() ?? "";
241
- this._sendButtonLabel.textContent = ( localize(5207, "Open Chat"));
242
- const tooltip = openChatLabel ? ( localize(5208, "Open chat ({0})", openChatLabel)) : ( localize(5209, "Open chat"));
241
+ this._sendButtonLabel.textContent = ( localize(5249, "Open Chat"));
242
+ const tooltip = openChatLabel ? ( localize(5250, "Open chat ({0})", openChatLabel)) : ( localize(5251, "Open chat"));
243
243
  this._sendButtonHover?.update(tooltip);
244
244
  this._sendButtonIcon.style.display = "none";
245
245
  }
@@ -307,10 +307,10 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
307
307
  }
308
308
  const sendItem = {
309
309
  id: SEND_TO_AGENT_ID,
310
- label: `$(send) ${( localize(5210, "Send to agent"))}`,
310
+ label: `$(send) ${( localize(5252, "Send to agent"))}`,
311
311
  description: fullInput,
312
312
  alwaysShow: true,
313
- ariaLabel: ( localize(5211, "Send message to agent: {0}", fullInput))
313
+ ariaLabel: ( localize(5253, "Send message to agent: {0}", fullInput))
314
314
  };
315
315
  const currentItems = picker.items.filter(item => item.id !== SEND_TO_AGENT_ID);
316
316
  const isSessionsTab = this._currentTab?.id === "agentSessions";
@@ -399,7 +399,7 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
399
399
  if (tab.isSendTab) {
400
400
  picker.busy = false;
401
401
  picker.items = [{
402
- label: ( localize(5212, "Press Enter or click Send to create a new agent session")),
402
+ label: ( localize(5254, "Press Enter or click Send to create a new agent session")),
403
403
  alwaysShow: true
404
404
  }];
405
405
  return;
@@ -424,7 +424,7 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
424
424
  } else {
425
425
  picker.busy = false;
426
426
  picker.items = [{
427
- label: ( localize(5213, "No provider available for this tab")),
427
+ label: ( localize(5255, "No provider available for this tab")),
428
428
  alwaysShow: true
429
429
  }];
430
430
  }
@@ -22,7 +22,7 @@ class ShowUnifiedQuickAccessAction extends Action2 {
22
22
  constructor() {
23
23
  super({
24
24
  id: ShowUnifiedQuickAccessAction.ID,
25
- title: ( localize2(5214, "Show Agent Quick Access")),
25
+ title: ( localize2(5256, "Show Agent Quick Access")),
26
26
  f1: true,
27
27
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
28
28
  });
@@ -40,7 +40,7 @@ class ShowAgentSessionsQuickAccessAction extends Action2 {
40
40
  constructor() {
41
41
  super({
42
42
  id: ShowAgentSessionsQuickAccessAction.ID,
43
- title: ( localize2(5215, "Show Agent Sessions")),
43
+ title: ( localize2(5257, "Show Agent Sessions")),
44
44
  f1: true,
45
45
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
46
46
  });
@@ -58,7 +58,7 @@ class ShowCommandsQuickAccessAction extends Action2 {
58
58
  constructor() {
59
59
  super({
60
60
  id: ShowCommandsQuickAccessAction.ID,
61
- title: ( localize2(5216, "Show Commands (Unified)")),
61
+ title: ( localize2(5258, "Show Commands (Unified)")),
62
62
  f1: true,
63
63
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
64
64
  });
@@ -76,7 +76,7 @@ class ShowFilesQuickAccessAction extends Action2 {
76
76
  constructor() {
77
77
  super({
78
78
  id: ShowFilesQuickAccessAction.ID,
79
- title: ( localize2(5217, "Show Files (Unified)")),
79
+ title: ( localize2(5259, "Show Files (Unified)")),
80
80
  f1: true,
81
81
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
82
82
  });
@@ -1,11 +1,11 @@
1
1
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
2
  import { Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
3
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
4
5
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
5
6
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
6
- import { IChatSessionItem, IChatSessionItemController } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
7
+ import { IChatSessionItem, IChatSessionItemController, IChatSessionItemsDelta } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
7
8
  import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
8
- import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
9
9
  export declare class LocalAgentsSessionsController extends Disposable implements IChatSessionItemController, IWorkbenchContribution {
10
10
  private readonly chatService;
11
11
  private readonly chatSessionsService;
@@ -14,13 +14,14 @@ export declare class LocalAgentsSessionsController extends Disposable implements
14
14
  readonly chatSessionType = "local";
15
15
  private readonly _onDidChange;
16
16
  readonly onDidChange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
17
- readonly _onDidChangeChatSessionItems: Emitter<void>;
18
- readonly onDidChangeChatSessionItems: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
17
+ readonly _onDidChangeChatSessionItems: Emitter<IChatSessionItemsDelta>;
18
+ readonly onDidChangeChatSessionItems: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<IChatSessionItemsDelta>;
19
19
  constructor(chatService: IChatService, chatSessionsService: IChatSessionsService, logService: ILogService);
20
20
  private _items;
21
21
  get items(): readonly IChatSessionItem[];
22
22
  refresh(token: CancellationToken): Promise<void>;
23
23
  private registerListeners;
24
+ private getItem;
24
25
  private provideChatSessionItems;
25
26
  private getHistoryItems;
26
27
  private toChatSessionItem;
@@ -7,12 +7,13 @@ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/even
7
7
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
8
  import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
9
9
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
10
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
11
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
10
12
  import { convertLegacyChatSessionTiming, ResponseModelState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
11
13
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
12
14
  import { localChatSessionType, ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
13
15
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
14
16
  import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
15
- import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
16
17
 
17
18
  let LocalAgentsSessionsController = class LocalAgentsSessionsController extends Disposable {
18
19
  static {
@@ -41,21 +42,32 @@ let LocalAgentsSessionsController = class LocalAgentsSessionsController extends
41
42
  this._items = await this.provideChatSessionItems(token);
42
43
  }
43
44
  registerListeners() {
44
- const refreshItems = async () => {
45
- this._onDidChangeChatSessionItems.fire();
46
- await this.refresh(CancellationToken.None);
47
- this._onDidChangeChatSessionItems.fire();
48
- };
49
45
  this._register(
50
- this.chatSessionsService.registerChatModelChangeListeners(this.chatService, Schemas.vscodeLocalChatSession, refreshItems)
46
+ this.chatService.registerChatModelChangeListeners(Schemas.vscodeLocalChatSession, async sessionResource => {
47
+ if (getChatSessionType(sessionResource) !== this.chatSessionType) {
48
+ return;
49
+ }
50
+ await this.refresh(CancellationToken.None);
51
+ const item = this.getItem(sessionResource);
52
+ if (item) {
53
+ this._onDidChangeChatSessionItems.fire({
54
+ addedOrUpdated: [item]
55
+ });
56
+ }
57
+ })
51
58
  );
52
59
  this._register(this.chatService.onDidDisposeSession(e => {
53
- const session = e.sessionResource.filter(resource => getChatSessionType(resource) === this.chatSessionType);
54
- if (session.length > 0) {
55
- refreshItems();
60
+ const removedSessionResources = e.sessionResource.filter(resource => getChatSessionType(resource) === this.chatSessionType);
61
+ if (removedSessionResources.length) {
62
+ this._onDidChangeChatSessionItems.fire({
63
+ removed: removedSessionResources
64
+ });
56
65
  }
57
66
  }));
58
67
  }
68
+ getItem(sessionResource) {
69
+ return this._items.find(item => isEqual(item.resource, sessionResource));
70
+ }
59
71
  async provideChatSessionItems(token) {
60
72
  const sessions = [];
61
73
  const sessionsByResource = ( new ResourceSet());
@@ -1,7 +1,7 @@
1
1
  import { PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
2
2
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
3
3
  import { IAICustomizationWorkspaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service";
4
- import { AICustomizationManagementSection } from "./aiCustomizationManagement.js";
4
+ import { AICustomizationManagementSection } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement";
5
5
  /**
6
6
  * Snapshot of the list widget's internal state, passed in to avoid coupling.
7
7
  */
@@ -2,8 +2,8 @@
2
2
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
3
3
  import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
4
4
  import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
5
- import { AICustomizationManagementSection, applyStorageSourceFilter } from '../../common/aiCustomizationWorkspaceService.js';
6
- import './aiCustomizationManagement.js';
5
+ import { AICustomizationManagementSection, applyStorageSourceFilter } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
7
7
 
8
8
  function sectionToPromptType(section) {
9
9
  switch (section) {
@@ -46,6 +46,10 @@ export declare const extensionIcon: import("@codingame/monaco-vscode-api/vscode/
46
46
  * Icon for plugin storage.
47
47
  */
48
48
  export declare const pluginIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
49
+ /**
50
+ * Icon for built-in storage.
51
+ */
52
+ export declare const builtinIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
49
53
  /**
50
54
  * Icon for MCP servers.
51
55
  */
@@ -3,18 +3,19 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
3
3
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
4
  import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
5
5
 
6
- registerIcon("ai-customization-view-icon", Codicon.sparkle, ( localize(5218, "Icon for the Chat Customization view.")));
7
- const agentIcon = registerIcon("ai-customization-agent", Codicon.agent, ( localize(5219, "Icon for custom agents.")));
8
- const skillIcon = registerIcon("ai-customization-skill", Codicon.lightbulb, ( localize(5220, "Icon for skills.")));
9
- const instructionsIcon = registerIcon("ai-customization-instructions", Codicon.book, ( localize(5221, "Icon for instruction files.")));
10
- const promptIcon = registerIcon("ai-customization-prompt", Codicon.bookmark, ( localize(5222, "Icon for prompt files.")));
11
- const hookIcon = registerIcon("ai-customization-hook", Codicon.zap, ( localize(5223, "Icon for hooks.")));
12
- registerIcon("ai-customization-add", Codicon.add, ( localize(5224, "Icon for adding new items.")));
13
- registerIcon("ai-customization-run", Codicon.play, ( localize(5225, "Icon for running a prompt or agent.")));
14
- const workspaceIcon = registerIcon("ai-customization-workspace", Codicon.folder, ( localize(5226, "Icon for workspace items.")));
15
- const userIcon = registerIcon("ai-customization-user", Codicon.account, ( localize(5227, "Icon for user items.")));
16
- const extensionIcon = registerIcon("ai-customization-extension", Codicon.extensions, ( localize(5228, "Icon for extension-contributed items.")));
17
- const pluginIcon = registerIcon("ai-customization-plugin", Codicon.plug, ( localize(5229, "Icon for plugin-contributed items.")));
18
- registerIcon("ai-customization-mcp-server", Codicon.server, ( localize(5230, "Icon for MCP servers.")));
6
+ registerIcon("ai-customization-view-icon", Codicon.sparkle, ( localize(5260, "Icon for the Chat Customization view.")));
7
+ const agentIcon = registerIcon("ai-customization-agent", Codicon.agent, ( localize(5261, "Icon for custom agents.")));
8
+ const skillIcon = registerIcon("ai-customization-skill", Codicon.lightbulb, ( localize(5262, "Icon for skills.")));
9
+ const instructionsIcon = registerIcon("ai-customization-instructions", Codicon.book, ( localize(5263, "Icon for instruction files.")));
10
+ const promptIcon = registerIcon("ai-customization-prompt", Codicon.bookmark, ( localize(5264, "Icon for prompt files.")));
11
+ const hookIcon = registerIcon("ai-customization-hook", Codicon.zap, ( localize(5265, "Icon for hooks.")));
12
+ registerIcon("ai-customization-add", Codicon.add, ( localize(5266, "Icon for adding new items.")));
13
+ registerIcon("ai-customization-run", Codicon.play, ( localize(5267, "Icon for running a prompt or agent.")));
14
+ const workspaceIcon = registerIcon("ai-customization-workspace", Codicon.folder, ( localize(5268, "Icon for workspace items.")));
15
+ const userIcon = registerIcon("ai-customization-user", Codicon.account, ( localize(5269, "Icon for user items.")));
16
+ const extensionIcon = registerIcon("ai-customization-extension", Codicon.extensions, ( localize(5270, "Icon for extension-contributed items.")));
17
+ const pluginIcon = registerIcon("ai-customization-plugin", Codicon.plug, ( localize(5271, "Icon for plugin-contributed items.")));
18
+ const builtinIcon = registerIcon("ai-customization-builtin", Codicon.starFull, ( localize(5272, "Icon for built-in items.")));
19
+ const mcpServerIcon = registerIcon("ai-customization-mcp-server", Codicon.server, ( localize(5273, "Icon for MCP servers.")));
19
20
 
20
- export { agentIcon, extensionIcon, hookIcon, instructionsIcon, pluginIcon, promptIcon, skillIcon, userIcon, workspaceIcon };
21
+ export { agentIcon, builtinIcon, extensionIcon, hookIcon, instructionsIcon, mcpServerIcon, pluginIcon, promptIcon, skillIcon, userIcon, workspaceIcon };
@@ -1,11 +1,13 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
+ import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
3
4
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
5
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
6
  import { PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
6
7
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
7
8
  import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
8
- import { AICustomizationManagementSection } from "./aiCustomizationManagement.js";
9
+ import { AICustomizationManagementSection } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement";
10
+ import { IAgentPluginService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service";
9
11
  import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
10
12
  import { IContextViewService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
11
13
  import { IMatch } from "@codingame/monaco-vscode-api/vscode/vs/base/common/filters";
@@ -19,6 +21,11 @@ import { IClipboardService } from "@codingame/monaco-vscode-api/vscode/vs/platfo
19
21
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
20
22
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
21
23
  import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service";
24
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
25
+ import { ICustomizationHarnessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service";
26
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
27
+ import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
28
+ export { truncateToFirstLine } from "./aiCustomizationListWidgetUtils.js";
22
29
  /**
23
30
  * Represents an AI customization item in the list.
24
31
  */
@@ -30,11 +37,29 @@ export interface IAICustomizationListItem {
30
37
  readonly description?: string;
31
38
  readonly storage: PromptsStorage;
32
39
  readonly promptType: PromptsType;
40
+ readonly disabled: boolean;
33
41
  /** When set, overrides `storage` for display grouping purposes. */
34
42
  readonly groupKey?: string;
43
+ /** URI of the parent plugin, when this item comes from an installed plugin. */
44
+ readonly pluginUri?: URI;
45
+ /** When set, overrides the formatted name for display. */
46
+ readonly displayName?: string;
47
+ /** When set, shows a small inline badge next to the item name. */
48
+ readonly badge?: string;
49
+ /** Tooltip shown when hovering the badge. */
50
+ readonly badgeTooltip?: string;
51
+ /** When set, overrides the default prompt-type icon. */
52
+ readonly typeIcon?: ThemeIcon;
35
53
  nameMatches?: IMatch[];
36
54
  descriptionMatches?: IMatch[];
37
55
  }
56
+ /**
57
+ * Formats a name for display: strips a trailing .md extension, converts dashes/underscores
58
+ * to spaces and applies title case.
59
+ * Note: callers that pass IMatch highlight ranges must compute those ranges against the
60
+ * formatted string (not the raw input), since .md stripping changes string length.
61
+ */
62
+ export declare function formatDisplayName(name: string): string;
38
63
  /**
39
64
  * Maps section ID to prompt type.
40
65
  */
@@ -57,6 +82,11 @@ export declare class AICustomizationListWidget extends Disposable {
57
82
  private readonly hoverService;
58
83
  private readonly fileService;
59
84
  private readonly pathService;
85
+ private readonly telemetryService;
86
+ private readonly harnessService;
87
+ private readonly agentPluginService;
88
+ private readonly commandService;
89
+ private readonly productService;
60
90
  readonly element: HTMLElement;
61
91
  private sectionHeader;
62
92
  private sectionDescription;
@@ -89,9 +119,10 @@ export declare class AICustomizationListWidget extends Disposable {
89
119
  private readonly _onDidRequestCreateManual;
90
120
  readonly onDidRequestCreateManual: Event<{
91
121
  type: PromptsType;
92
- target: "workspace" | "user";
122
+ target: "workspace" | "user" | "workspace-root";
123
+ rootFileName?: string;
93
124
  }>;
94
- constructor(instantiationService: IInstantiationService, promptsService: IPromptsService, contextViewService: IContextViewService, openerService: IOpenerService, contextMenuService: IContextMenuService, menuService: IMenuService, contextKeyService: IContextKeyService, workspaceContextService: IWorkspaceContextService, labelService: ILabelService, workspaceService: IAICustomizationWorkspaceService, clipboardService: IClipboardService, hoverService: IHoverService, fileService: IFileService, pathService: IPathService);
125
+ constructor(instantiationService: IInstantiationService, promptsService: IPromptsService, contextViewService: IContextViewService, openerService: IOpenerService, contextMenuService: IContextMenuService, menuService: IMenuService, contextKeyService: IContextKeyService, workspaceContextService: IWorkspaceContextService, labelService: ILabelService, workspaceService: IAICustomizationWorkspaceService, clipboardService: IClipboardService, hoverService: IHoverService, fileService: IFileService, pathService: IPathService, telemetryService: ITelemetryService, harnessService: ICustomizationHarnessService, agentPluginService: IAgentPluginService, commandService: ICommandService, productService: IProductService);
95
126
  private create;
96
127
  /**
97
128
  * Handles context menu for list items.
@@ -106,11 +137,18 @@ export declare class AICustomizationListWidget extends Disposable {
106
137
  */
107
138
  private updateSectionHeader;
108
139
  /**
109
- * Updates the add button label based on the current section.
140
+ * Updates the add button by building a unified action list.
141
+ * The first action becomes the primary button; the rest go in the dropdown.
110
142
  */
111
143
  private updateAddButton;
112
144
  /**
113
- * Gets the dropdown actions for the add button.
145
+ * Builds an ordered list of create actions for the current section.
146
+ * The first entry is the primary button; remaining entries are dropdown items.
147
+ */
148
+ private buildCreateActions;
149
+ /**
150
+ * Gets the dropdown actions for the add button (consumed by ButtonWithDropdown).
151
+ * Returns all actions except the primary (first) from buildCreateActions.
114
152
  */
115
153
  private getDropdownActions;
116
154
  /**
@@ -133,6 +171,44 @@ export declare class AICustomizationListWidget extends Disposable {
133
171
  * Loads items for the current section.
134
172
  */
135
173
  private loadItems;
174
+ /**
175
+ * Computes the item count for a given section without updating the display.
176
+ * Uses the same loading and filtering logic as `loadItems` for consistency.
177
+ */
178
+ computeItemCountForSection(section: AICustomizationManagementSection): Promise<number>;
179
+ /**
180
+ * Returns true if the given extension identifier matches the default
181
+ * chat extension (e.g. GitHub Copilot Chat). Used to group items from
182
+ * the chat extension under "Built-in" instead of "Extensions", similar
183
+ * to how MCP categorizes built-in servers.
184
+ */
185
+ private isChatExtensionItem;
186
+ /**
187
+ * Resolves the display group key for an extension-storage item.
188
+ * Items from the default chat extension are re-grouped under "Built-in";
189
+ * all other extension items keep their original storage as group key.
190
+ *
191
+ * Returns `undefined` when no override is needed (the item will fall back
192
+ * to its `storage` value for grouping).
193
+ *
194
+ * This is the single point where extension → group mapping is decided,
195
+ * making it easy to add dynamic filter layers in the future.
196
+ */
197
+ private resolveExtensionGroupKey;
198
+ /**
199
+ * Post-processes items to assign groupKey overrides for extension-sourced
200
+ * items. Applies the built-in grouping consistently across all item types.
201
+ *
202
+ * Items that already have an explicit groupKey (e.g. instruction categories,
203
+ * agent hooks) are left untouched — groupKey overrides are only applied to
204
+ * items whose current groupKey is `undefined`.
205
+ */
206
+ private applyBuiltinGroupKeys;
207
+ /**
208
+ * Fetches and filters items for a given section.
209
+ * Shared between `loadItems` (active section) and `computeItemCountForSection` (any section).
210
+ */
211
+ private fetchItemsForSection;
136
212
  /**
137
213
  * Derives a friendly name from a filename by removing extension suffixes.
138
214
  */
@@ -147,6 +223,10 @@ export declare class AICustomizationListWidget extends Disposable {
147
223
  private toggleGroup;
148
224
  private updateEmptyState;
149
225
  private getSectionIcon;
226
+ /**
227
+ * Finds the plugin URI for an item URI by checking the known plugins.
228
+ */
229
+ private findPluginUri;
150
230
  private getEmptyStateInfo;
151
231
  /**
152
232
  * Sets the search query programmatically.