@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.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 (377) hide show
  1. package/index.js +21 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
  7. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
  8. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
  15. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
  22. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
  23. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
  24. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
  25. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
  28. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
  29. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
  30. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
  31. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  33. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +6 -6
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +10 -27
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +46 -34
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -4
  172. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  173. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  174. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  175. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
  180. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
  181. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
  182. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  183. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  184. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  185. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +11 -6
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
  195. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  198. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
  199. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
  200. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  202. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  204. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
  205. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
  206. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
  207. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
  208. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  209. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +4 -3
  210. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
  211. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
  215. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
  216. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
  217. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
  218. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
  219. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
  220. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
  221. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
  222. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
  223. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
  225. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
  226. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
  227. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
  228. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
  229. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
  231. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  232. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  233. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  234. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
  235. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
  236. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
  237. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
  238. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
  240. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
  241. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
  242. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
  244. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  245. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
  246. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
  248. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
  249. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
  250. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
  251. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
  252. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
  253. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  254. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  256. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  257. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  258. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -1
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  283. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
  284. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
  285. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
  286. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
  287. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
  288. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
  289. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
  290. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
  291. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
  292. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
  293. package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
  294. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
  295. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
  296. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
  297. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
  298. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
  304. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
  305. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
@@ -8,3 +8,11 @@ export declare function truncateToFirstLine(text: string): string;
8
8
  * Returns the secondary text shown for a customization item.
9
9
  */
10
10
  export declare function getCustomizationSecondaryText(description: string | undefined, filename: string, promptType: PromptsType): string;
11
+ /**
12
+ * Extracts an extension ID from a file path if the path is inside an
13
+ * extension install directory (e.g. `~/.vscode/extensions/<id>-<version>/...`).
14
+ *
15
+ * Returns the extension ID (e.g. `github.copilot-chat`) or `undefined`
16
+ * if the path is not inside an extension directory.
17
+ */
18
+ export declare function extractExtensionIdFromPath(uriPath: string): string | undefined;
@@ -14,5 +14,15 @@ function getCustomizationSecondaryText(description, filename, promptType) {
14
14
  }
15
15
  return promptType === PromptsType.hook ? description : truncateToFirstLine(description);
16
16
  }
17
+ function extractExtensionIdFromPath(uriPath) {
18
+ const segments = uriPath.split('/');
19
+ const extensionsIdx = segments.lastIndexOf('extensions');
20
+ if (extensionsIdx < 0 || extensionsIdx + 1 >= segments.length) {
21
+ return undefined;
22
+ }
23
+ const folderName = segments[extensionsIdx + 1];
24
+ const versionMatch = folderName.match(/^(.+)-\d+\./);
25
+ return versionMatch ? versionMatch[1] : undefined;
26
+ }
17
27
 
18
- export { getCustomizationSecondaryText, truncateToFirstLine };
28
+ export { extractExtensionIdFromPath, getCustomizationSecondaryText, truncateToFirstLine };
@@ -1,13 +1,16 @@
1
1
 
2
2
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
3
3
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
4
+ import { removeProperty, applyEdits } from '@codingame/monaco-vscode-api/vscode/vs/base/common/jsonEdit';
4
5
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
6
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
7
  import { isWindows, isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
7
8
  import { basename, dirname, isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
9
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
10
+ import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
9
11
  import { getCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
10
12
  import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
+ import { Categories } from '@codingame/monaco-vscode-api/vscode/vs/platform/action/common/actionCommonCategories';
11
14
  import { registerAction2, Action2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
12
15
  import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
13
16
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
@@ -20,26 +23,30 @@ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/regist
20
23
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
21
24
  import { EditorPaneDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/editor';
22
25
  import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
23
- import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
26
+ import { EditorExtensions, EditorsOrder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
24
27
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
25
28
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
26
29
  import { IAICustomizationWorkspaceService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service';
27
- import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
30
+ import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
31
+ import { CustomizationHarness } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService';
32
+ import { ICustomizationHarnessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service';
33
+ import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
28
34
  import { IAgentPluginService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service';
29
35
  import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
30
36
  import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
31
37
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
32
38
  import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
39
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
33
40
  import { AgentPluginItemKind } from '../agentPluginEditor/agentPluginItems.js';
34
- import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID, AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID, AI_CUSTOMIZATION_ITEM_STORAGE_KEY, AICustomizationManagementItemMenuId, AI_CUSTOMIZATION_ITEM_TYPE_KEY, AI_CUSTOMIZATION_ITEM_URI_KEY, AI_CUSTOMIZATION_ITEM_DISABLED_KEY, AICustomizationManagementCommands } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
41
+ import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID, AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID, AI_CUSTOMIZATION_ITEM_STORAGE_KEY, AICustomizationManagementItemMenuId, AI_CUSTOMIZATION_SUPPORTS_TROUBLESHOOT_KEY, AI_CUSTOMIZATION_ITEM_TYPE_KEY, AI_CUSTOMIZATION_ITEM_URI_KEY, AI_CUSTOMIZATION_ITEM_DISABLED_KEY, AICustomizationManagementCommands } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
35
42
  import { AICustomizationManagementEditor } from './aiCustomizationManagementEditor.js';
36
43
  import { AICustomizationManagementEditorInput } from './aiCustomizationManagementEditorInput.js';
37
- import { BUILTIN_STORAGE } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
44
+ import { BUILTIN_STORAGE, AICustomizationManagementSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
38
45
 
39
46
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(
40
47
  AICustomizationManagementEditor,
41
48
  AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID,
42
- ( localize(5365, "Chat Customizations Editor"))
49
+ ( localize(5374, "Agent Customizations Editor"))
43
50
  ), [(
44
51
  new SyncDescriptor(AICustomizationManagementEditorInput))]);
45
52
  class AICustomizationManagementEditorInputSerializer {
@@ -91,12 +98,39 @@ function extractPluginUri(context) {
91
98
  }
92
99
  return URI.isUri(raw) ? raw : typeof raw === "string" ? ( URI.parse(raw)) : undefined;
93
100
  }
101
+ function extractName(context) {
102
+ if (URI.isUri(context) || typeof context === "string") {
103
+ return undefined;
104
+ }
105
+ return typeof context.name === "string" ? context.name : undefined;
106
+ }
107
+ function extractItemId(context) {
108
+ if (URI.isUri(context) || typeof context === "string") {
109
+ return undefined;
110
+ }
111
+ return typeof context.itemId === "string" ? context.itemId : undefined;
112
+ }
113
+ function parseHookItemId(itemId) {
114
+ const hashIndex = itemId.lastIndexOf("#");
115
+ if (hashIndex < 0) {
116
+ return undefined;
117
+ }
118
+ const fragment = itemId.substring(hashIndex + 1);
119
+ const match = /^([^[]+)\[(\d+)\]$/.exec(fragment);
120
+ if (!match) {
121
+ return undefined;
122
+ }
123
+ return {
124
+ originalId: match[1],
125
+ index: parseInt(match[2], 10)
126
+ };
127
+ }
94
128
  const OPEN_AI_CUSTOMIZATION_MGMT_FILE_ID = "aiCustomizationManagement.openFile";
95
129
  registerAction2(class extends Action2 {
96
130
  constructor() {
97
131
  super({
98
132
  id: OPEN_AI_CUSTOMIZATION_MGMT_FILE_ID,
99
- title: ( localize2(5366, "Open")),
133
+ title: ( localize2(5375, "Open")),
100
134
  icon: Codicon.goToFile
101
135
  });
102
136
  }
@@ -111,7 +145,7 @@ registerAction2(class extends Action2 {
111
145
  codeEditor.updateOptions({
112
146
  readOnly: true,
113
147
  readOnlyMessage: ( new MarkdownString(( localize(
114
- 5367,
148
+ 5376,
115
149
  "This file is provided by a plugin or extension and cannot be edited."
116
150
  ))))
117
151
  });
@@ -123,7 +157,7 @@ registerAction2(class extends Action2 {
123
157
  constructor() {
124
158
  super({
125
159
  id: RUN_PROMPT_MGMT_ID,
126
- title: ( localize2(5368, "Run Prompt")),
160
+ title: ( localize2(5377, "Run Prompt")),
127
161
  icon: Codicon.play
128
162
  });
129
163
  }
@@ -132,7 +166,36 @@ registerAction2(class extends Action2 {
132
166
  await commandService.executeCommand("workbench.action.chat.run.prompt.current", extractURI(context));
133
167
  }
134
168
  });
135
- const REVEAL_IN_OS_LABEL = isWindows ? ( localize2(5369, "Reveal in File Explorer")) : isMacintosh ? ( localize2(5370, "Reveal in Finder")) : ( localize2(5371, "Open Containing Folder"));
169
+ const TROUBLESHOOT_AI_CUSTOMIZATION_ID = "aiCustomizationManagement.troubleshoot";
170
+ registerAction2(class extends Action2 {
171
+ constructor() {
172
+ super({
173
+ id: TROUBLESHOOT_AI_CUSTOMIZATION_ID,
174
+ title: ( localize2(5378, "Troubleshoot")),
175
+ icon: Codicon.bug
176
+ });
177
+ }
178
+ async run(accessor, context) {
179
+ const commandService = accessor.get(ICommandService);
180
+ const editorService = accessor.get(IEditorService);
181
+ const rawName = extractName(context);
182
+ const displayName = rawName?.replace(/\.md$/i, "");
183
+ const query = displayName ? `/troubleshoot ${displayName}` : "/troubleshoot";
184
+ const customizationEditors = editorService.getEditors(EditorsOrder.SEQUENTIAL).filter((
185
+ {
186
+ editor
187
+ }
188
+ ) => editor instanceof AICustomizationManagementEditorInput);
189
+ if (customizationEditors.length) {
190
+ await editorService.closeEditors(customizationEditors);
191
+ }
192
+ await commandService.executeCommand("workbench.action.chat.open", {
193
+ query,
194
+ isPartialQuery: false
195
+ });
196
+ }
197
+ });
198
+ const REVEAL_IN_OS_LABEL = isWindows ? ( localize2(5379, "Reveal in File Explorer")) : isMacintosh ? ( localize2(5380, "Reveal in Finder")) : ( localize2(5381, "Open Containing Folder"));
136
199
  const REVEAL_AI_CUSTOMIZATION_IN_OS_ID = "aiCustomizationManagement.revealInOS";
137
200
  registerAction2(class extends Action2 {
138
201
  constructor() {
@@ -153,29 +216,34 @@ registerAction2(class extends Action2 {
153
216
  constructor() {
154
217
  super({
155
218
  id: DELETE_AI_CUSTOMIZATION_ID,
156
- title: ( localize2(5372, "Delete")),
219
+ title: ( localize2(5382, "Delete")),
157
220
  icon: Codicon.trash
158
221
  });
159
222
  }
160
223
  async run(accessor, context) {
161
224
  const fileService = accessor.get(IFileService);
162
225
  const dialogService = accessor.get(IDialogService);
226
+ const telemetryService = accessor.get(ITelemetryService);
227
+ const workspaceService = accessor.get(IAICustomizationWorkspaceService);
228
+ const editorService = accessor.get(IEditorService);
163
229
  const uri = extractURI(context);
164
230
  const storage = extractStorage(context);
165
231
  const promptType = extractPromptType(context);
232
+ const itemId = extractItemId(context);
166
233
  const isSkill = promptType === PromptsType.skill;
234
+ const isHook = promptType === PromptsType.hook;
167
235
  const fileName = isSkill ? basename(dirname(uri)) : basename(uri);
168
236
  if (storage === PromptsStorage.plugin) {
169
237
  const agentPluginService = accessor.get(IAgentPluginService);
170
238
  const plugin = agentPluginService.plugins.get().find(p => isEqualOrParent(uri, p.uri));
171
239
  if (plugin) {
172
240
  const result = await dialogService.confirm({
173
- message: ( localize(5373, "This item is provided by the plugin '{0}'", plugin.label)),
241
+ message: ( localize(5383, "This item is provided by the plugin '{0}'", plugin.label)),
174
242
  detail: ( localize(
175
- 5374,
243
+ 5384,
176
244
  "Individual components from a plugin cannot be removed separately. Would you like to uninstall the entire plugin?"
177
245
  )),
178
- primaryButton: ( localize(5375, "Uninstall Plugin")),
246
+ primaryButton: ( localize(5385, "Uninstall Plugin")),
179
247
  type: "question"
180
248
  });
181
249
  if (result.confirmed) {
@@ -185,31 +253,58 @@ registerAction2(class extends Action2 {
185
253
  return;
186
254
  }
187
255
  if (storage === PromptsStorage.extension || storage === BUILTIN_STORAGE) {
188
- await dialogService.info(( localize(5376, "Cannot Delete Extension File")), ( localize(
189
- 5377,
256
+ await dialogService.info(( localize(5386, "Cannot Delete Extension File")), ( localize(
257
+ 5387,
190
258
  "Files provided by extensions cannot be deleted. You can disable the extension if you no longer want to use this customization."
191
259
  )));
192
260
  return;
193
261
  }
262
+ const hookInfo = isHook && itemId ? parseHookItemId(itemId) : undefined;
263
+ const hookName = typeof context !== "string" && !URI.isUri(context) ? context.name : undefined;
194
264
  const message = isSkill ? ( localize(
195
- 5378,
265
+ 5388,
196
266
  "Are you sure you want to delete skill '{0}' and its folder?",
197
267
  fileName
198
- )) : ( localize(5379, "Are you sure you want to delete '{0}'?", fileName));
268
+ )) : hookInfo && hookName ? ( localize(5389, "Are you sure you want to delete the '{0}' hook?", hookName)) : ( localize(5390, "Are you sure you want to delete '{0}'?", fileName));
199
269
  const confirmation = await dialogService.confirm({
200
270
  message,
201
- detail: ( localize(5380, "This action cannot be undone.")),
202
- primaryButton: ( localize(5372, "Delete")),
271
+ detail: ( localize(5391, "This action cannot be undone.")),
272
+ primaryButton: ( localize(5382, "Delete")),
203
273
  type: "warning"
204
274
  });
205
275
  if (confirmation.confirmed) {
206
276
  try {
207
- const telemetryService = accessor.get(ITelemetryService);
208
277
  telemetryService.publicLog2("chatCustomizationEditor.deleteItem", {
209
278
  promptType: promptType ?? "",
210
279
  storage: storage ?? ""
211
280
  });
212
281
  } catch {}
282
+ if (hookInfo) {
283
+ try {
284
+ const content = await fileService.readFile(uri);
285
+ const text = ( content.value.toString());
286
+ const edits = removeProperty(text, ["hooks", hookInfo.originalId, hookInfo.index], {
287
+ tabSize: 1,
288
+ insertSpaces: false
289
+ });
290
+ if (edits.length > 0) {
291
+ const updated = applyEdits(text, edits);
292
+ await fileService.writeFile(uri, VSBuffer.fromString(updated));
293
+ if (storage === PromptsStorage.local) {
294
+ const projectRoot = workspaceService.getActiveProjectRoot();
295
+ if (projectRoot) {
296
+ await workspaceService.commitFiles(projectRoot, [uri]);
297
+ }
298
+ }
299
+ }
300
+ } catch {
301
+ await dialogService.error(( localize(
302
+ 5392,
303
+ "Unable to delete this hook entry because the file contents have changed."
304
+ )), ( localize(5393, "Refresh the view and try again.")));
305
+ }
306
+ return;
307
+ }
213
308
  const deleteTarget = isSkill ? dirname(uri) : uri;
214
309
  const useTrash = fileService.hasCapability(deleteTarget, FileSystemProviderCapabilities.Trash);
215
310
  await fileService.del(deleteTarget, {
@@ -217,12 +312,15 @@ registerAction2(class extends Action2 {
217
312
  recursive: isSkill
218
313
  });
219
314
  if (storage === PromptsStorage.local) {
220
- const workspaceService = accessor.get(IAICustomizationWorkspaceService);
221
315
  const projectRoot = workspaceService.getActiveProjectRoot();
222
316
  if (projectRoot) {
223
317
  await workspaceService.deleteFiles(projectRoot, [deleteTarget]);
224
318
  }
225
319
  }
320
+ const activeEditor = editorService.activeEditorPane;
321
+ if (activeEditor instanceof AICustomizationManagementEditor) {
322
+ activeEditor.refreshList();
323
+ }
226
324
  }
227
325
  }
228
326
  });
@@ -231,7 +329,7 @@ registerAction2(class extends Action2 {
231
329
  constructor() {
232
330
  super({
233
331
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
234
- title: ( localize2(5381, "Copy Path")),
332
+ title: ( localize2(5394, "Copy Path")),
235
333
  icon: Codicon.clippy
236
334
  });
237
335
  }
@@ -247,7 +345,7 @@ const WHEN_ITEM_IS_PLUGIN = ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_STORAG
247
345
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
248
346
  command: {
249
347
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
250
- title: ( localize(5381, "Copy Path")),
348
+ title: ( localize(5394, "Copy Path")),
251
349
  icon: Codicon.clippy
252
350
  },
253
351
  group: "inline",
@@ -256,17 +354,27 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
256
354
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
257
355
  command: {
258
356
  id: DELETE_AI_CUSTOMIZATION_ID,
259
- title: ( localize(5372, "Delete")),
357
+ title: ( localize(5382, "Delete")),
260
358
  icon: Codicon.trash
261
359
  },
262
360
  group: "inline",
263
361
  order: 10,
264
362
  when: WHEN_ITEM_IS_DELETABLE
265
363
  });
364
+ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
365
+ command: {
366
+ id: TROUBLESHOOT_AI_CUSTOMIZATION_ID,
367
+ title: ( localize(5395, "Troubleshoot")),
368
+ icon: Codicon.bug
369
+ },
370
+ group: "inline",
371
+ order: 2,
372
+ when: ( ContextKeyExpr.equals(AI_CUSTOMIZATION_SUPPORTS_TROUBLESHOOT_KEY, true))
373
+ });
266
374
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
267
375
  command: {
268
376
  id: OPEN_AI_CUSTOMIZATION_MGMT_FILE_ID,
269
- title: ( localize(5366, "Open"))
377
+ title: ( localize(5375, "Open"))
270
378
  },
271
379
  group: "1_open",
272
380
  order: 1
@@ -274,13 +382,22 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
274
382
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
275
383
  command: {
276
384
  id: RUN_PROMPT_MGMT_ID,
277
- title: ( localize(5368, "Run Prompt")),
385
+ title: ( localize(5377, "Run Prompt")),
278
386
  icon: Codicon.play
279
387
  },
280
388
  group: "2_run",
281
389
  order: 1,
282
390
  when: ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_TYPE_KEY, PromptsType.prompt))
283
391
  });
392
+ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
393
+ command: {
394
+ id: TROUBLESHOOT_AI_CUSTOMIZATION_ID,
395
+ title: ( localize(5396, "Troubleshoot"))
396
+ },
397
+ group: "2_run",
398
+ order: 2,
399
+ when: ( ContextKeyExpr.equals(AI_CUSTOMIZATION_SUPPORTS_TROUBLESHOOT_KEY, true))
400
+ });
284
401
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
285
402
  command: {
286
403
  id: REVEAL_AI_CUSTOMIZATION_IN_OS_ID,
@@ -293,7 +410,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
293
410
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
294
411
  command: {
295
412
  id: DELETE_AI_CUSTOMIZATION_ID,
296
- title: ( localize(5372, "Delete"))
413
+ title: ( localize(5382, "Delete"))
297
414
  },
298
415
  group: "4_modify",
299
416
  order: 1,
@@ -304,7 +421,7 @@ registerAction2(class extends Action2 {
304
421
  constructor() {
305
422
  super({
306
423
  id: UNINSTALL_PLUGIN_AI_CUSTOMIZATION_ID,
307
- title: ( localize2(5375, "Uninstall Plugin")),
424
+ title: ( localize2(5385, "Uninstall Plugin")),
308
425
  icon: Codicon.trash
309
426
  });
310
427
  }
@@ -317,12 +434,12 @@ registerAction2(class extends Action2 {
317
434
  return;
318
435
  }
319
436
  const result = await dialogService.confirm({
320
- message: ( localize(5382, "This item is provided by the plugin '{0}'", plugin.label)),
437
+ message: ( localize(5397, "This item is provided by the plugin '{0}'", plugin.label)),
321
438
  detail: ( localize(
322
- 5383,
439
+ 5398,
323
440
  "Individual components from a plugin cannot be removed separately. Would you like to uninstall the entire plugin?"
324
441
  )),
325
- primaryButton: ( localize(5384, "Uninstall Plugin")),
442
+ primaryButton: ( localize(5399, "Uninstall Plugin")),
326
443
  type: "question"
327
444
  });
328
445
  if (result.confirmed) {
@@ -333,7 +450,7 @@ registerAction2(class extends Action2 {
333
450
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
334
451
  command: {
335
452
  id: UNINSTALL_PLUGIN_AI_CUSTOMIZATION_ID,
336
- title: ( localize(5375, "Uninstall Plugin")),
453
+ title: ( localize(5385, "Uninstall Plugin")),
337
454
  icon: Codicon.trash
338
455
  },
339
456
  group: "inline",
@@ -343,7 +460,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
343
460
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
344
461
  command: {
345
462
  id: UNINSTALL_PLUGIN_AI_CUSTOMIZATION_ID,
346
- title: ( localize(5375, "Uninstall Plugin"))
463
+ title: ( localize(5385, "Uninstall Plugin"))
347
464
  },
348
465
  group: "4_modify",
349
466
  order: 1,
@@ -354,7 +471,7 @@ registerAction2(class extends Action2 {
354
471
  constructor() {
355
472
  super({
356
473
  id: SHOW_PLUGIN_AI_CUSTOMIZATION_ID,
357
- title: ( localize2(5385, "Show Plugin"))
474
+ title: ( localize2(5400, "Show Plugin"))
358
475
  });
359
476
  }
360
477
  async run(accessor, context) {
@@ -387,7 +504,7 @@ registerAction2(class extends Action2 {
387
504
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
388
505
  command: {
389
506
  id: SHOW_PLUGIN_AI_CUSTOMIZATION_ID,
390
- title: ( localize(5385, "Show Plugin"))
507
+ title: ( localize(5400, "Show Plugin"))
391
508
  },
392
509
  group: "1_open",
393
510
  order: 2,
@@ -398,7 +515,7 @@ registerAction2(class extends Action2 {
398
515
  constructor() {
399
516
  super({
400
517
  id: DISABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
401
- title: ( localize2(5386, "Disable")),
518
+ title: ( localize2(5401, "Disable")),
402
519
  icon: Codicon.eyeClosed
403
520
  });
404
521
  }
@@ -419,7 +536,7 @@ registerAction2(class extends Action2 {
419
536
  constructor() {
420
537
  super({
421
538
  id: ENABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
422
- title: ( localize2(5387, "Enable")),
539
+ title: ( localize2(5402, "Enable")),
423
540
  icon: Codicon.eye
424
541
  });
425
542
  }
@@ -438,7 +555,7 @@ registerAction2(class extends Action2 {
438
555
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
439
556
  command: {
440
557
  id: DISABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
441
- title: ( localize(5386, "Disable"))
558
+ title: ( localize(5401, "Disable"))
442
559
  },
443
560
  group: "5_toggle",
444
561
  order: 1,
@@ -447,7 +564,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
447
564
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
448
565
  command: {
449
566
  id: ENABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
450
- title: ( localize(5387, "Enable"))
567
+ title: ( localize(5402, "Enable"))
451
568
  },
452
569
  group: "5_toggle",
453
570
  order: 1,
@@ -456,7 +573,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
456
573
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
457
574
  command: {
458
575
  id: DISABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
459
- title: ( localize(5386, "Disable")),
576
+ title: ( localize(5401, "Disable")),
460
577
  icon: Codicon.eyeClosed
461
578
  },
462
579
  group: "inline",
@@ -466,7 +583,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
466
583
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
467
584
  command: {
468
585
  id: ENABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
469
- title: ( localize(5387, "Enable")),
586
+ title: ( localize(5402, "Enable")),
470
587
  icon: Codicon.eye
471
588
  },
472
589
  group: "inline",
@@ -486,15 +603,26 @@ class AICustomizationManagementActionsContribution extends Disposable {
486
603
  constructor() {
487
604
  super({
488
605
  id: AICustomizationManagementCommands.OpenEditor,
489
- title: ( localize2(5388, "Open Customizations (Preview)")),
490
- shortTitle: ( localize2(5389, "Customizations (Preview)")),
606
+ title: ( localize2(5403, "Open Customizations")),
607
+ shortTitle: ( localize2(5404, "Customizations")),
491
608
  category: CHAT_CATEGORY,
492
- precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.ChatCustomizationMenuEnabled}`)))),
609
+ precondition: ChatContextKeys.enabled,
493
610
  f1: true
494
611
  });
495
612
  }
496
613
  async run(accessor, section) {
497
614
  const editorService = accessor.get(IEditorService);
615
+ const chatWidgetService = accessor.get(IChatWidgetService);
616
+ const harnessService = accessor.get(ICustomizationHarnessService);
617
+ const sessionResource = chatWidgetService.lastFocusedWidget?.viewModel?.sessionResource;
618
+ if (sessionResource) {
619
+ const sessionType = getChatSessionType(sessionResource);
620
+ const harnessId = sessionType === localChatSessionType ? CustomizationHarness.VSCode : sessionType;
621
+ const available = harnessService.availableHarnesses.get();
622
+ if (( available.some(h => h.id === harnessId))) {
623
+ harnessService.setActiveHarness(harnessId);
624
+ }
625
+ }
498
626
  const input = AICustomizationManagementEditorInput.getOrCreate();
499
627
  const pane = await editorService.openEditor(input, {
500
628
  pinned: true
@@ -504,6 +632,56 @@ class AICustomizationManagementActionsContribution extends Disposable {
504
632
  }
505
633
  }
506
634
  }));
635
+ this._register(registerAction2(class extends Action2 {
636
+ constructor() {
637
+ super({
638
+ id: AICustomizationManagementCommands.OpenMarketplace,
639
+ title: ( localize2(5405, "Open Marketplace")),
640
+ category: CHAT_CATEGORY,
641
+ precondition: ChatContextKeys.enabled
642
+ });
643
+ }
644
+ async run(accessor, section) {
645
+ const editorService = accessor.get(IEditorService);
646
+ const input = AICustomizationManagementEditorInput.getOrCreate();
647
+ const pane = await editorService.openEditor(input, {
648
+ pinned: true
649
+ });
650
+ if (pane instanceof AICustomizationManagementEditor) {
651
+ const targetSection = section ?? AICustomizationManagementSection.McpServers;
652
+ pane.selectSectionById(targetSection, {
653
+ showMarketplace: true
654
+ });
655
+ }
656
+ }
657
+ }));
658
+ this._register(registerAction2(class extends Action2 {
659
+ constructor() {
660
+ super({
661
+ id: AICustomizationManagementCommands.GenerateDebugReport,
662
+ title: ( localize2(5406, "Generate Customization Debug Report")),
663
+ category: Categories.Developer,
664
+ precondition: ChatContextKeys.enabled,
665
+ f1: true
666
+ });
667
+ }
668
+ async run(accessor) {
669
+ const editorService = accessor.get(IEditorService);
670
+ const input = AICustomizationManagementEditorInput.getOrCreate();
671
+ const pane = await editorService.openEditor(input, {
672
+ pinned: true
673
+ });
674
+ if (!(pane instanceof AICustomizationManagementEditor)) {
675
+ return;
676
+ }
677
+ const report = await pane.generateDebugReport();
678
+ await editorService.openEditor({
679
+ resource: undefined,
680
+ contents: report,
681
+ languageId: "plaintext"
682
+ });
683
+ }
684
+ }));
507
685
  }
508
686
  }
509
687
  registerWorkbenchContribution2(