@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
@@ -6,11 +6,10 @@ import { parse } from '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
6
6
  import { untildify } from '@codingame/monaco-vscode-api/vscode/vs/base/common/labels';
7
7
  import { Disposable, DisposableStore } 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
- import { cloneAndChange, equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
9
+ import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
10
10
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
11
11
  import { win32, posix } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
12
- import { joinPath, normalizePath, isEqualOrParent, basename, extname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
13
- import { escapeRegExpCharacters } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
12
+ import { joinPath, basename, isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
14
13
  import { hasKey } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
15
14
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
16
15
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
@@ -21,7 +20,6 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
21
20
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
22
21
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
23
22
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
24
- import { McpServerType } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpPlatformTypes';
25
23
  import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
26
24
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
27
25
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
@@ -29,13 +27,14 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
29
27
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
30
28
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
31
29
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
30
+ import { detectPluginFormat, parseComponentPathConfig, resolveComponentDirs, readMarkdownComponents, readSkills, parseMcpServerDefinitionMap } from '../../../../../platform/agentPlugins/common/pluginParsers.js';
31
+ export { convertBareEnvVarsToVsCodeSyntax, resolveMcpServersMap, shellQuotePluginRootInCommand } from '../../../../../platform/agentPlugins/common/pluginParsers.js';
32
32
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionFeatures';
33
33
  import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
34
34
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
35
35
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
36
36
  import { EnablementModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/enablement';
37
- import { parseClaudeHooks } from '../promptSyntax/hookClaudeCompat.js';
38
- import { parseCopilotHooks } from '../promptSyntax/hookCompatibility.js';
37
+ import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
39
38
  import { IAgentPluginRepositoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service';
40
39
  import { agentPluginDiscoveryRegistry } from './agentPluginService.js';
41
40
  import { IPluginMarketplaceService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service';
@@ -45,265 +44,20 @@ import { derived, derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/bas
45
44
  import { ObservablePromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/promise';
46
45
  import { observableSignal } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignal';
47
46
 
48
- const COMMAND_FILE_SUFFIX = ".md";
49
- const RULE_FILE_SUFFIXES = [".instructions.md", ".mdc", ".md"];
50
- var AgentPluginFormat;
51
- (function(AgentPluginFormat) {
52
- AgentPluginFormat[AgentPluginFormat["Copilot"] = 0] = "Copilot";
53
- AgentPluginFormat[AgentPluginFormat["Claude"] = 1] = "Claude";
54
- AgentPluginFormat[AgentPluginFormat["OpenPlugin"] = 2] = "OpenPlugin";
55
- })(AgentPluginFormat || (AgentPluginFormat = {}));
56
- function mapParsedHooks(uri, parsed) {
57
- return ( [...parsed.entries()].map((
58
- [type, {
59
- hooks,
60
- originalId
61
- }]
62
- ) => ({
63
- type,
64
- uri,
65
- hooks,
66
- originalId
47
+ function toAgentPluginHooks(groups) {
48
+ return ( groups.filter(g => ( Object.values(HookType)).includes(g.type)).map(g => ({
49
+ type: g.type,
50
+ hooks: g.commands,
51
+ uri: g.uri,
52
+ originalId: g.originalId
67
53
  })));
68
54
  }
55
+ const RULE_FILE_SUFFIXES = [".instructions.md", ".mdc", ".md"];
69
56
  function resolveWorkspaceRoot(pluginUri, workspaceContextService) {
70
57
  const defaultFolder = workspaceContextService.getWorkspace().folders[0];
71
58
  const folder = workspaceContextService.getWorkspaceFolder(pluginUri) ?? defaultFolder;
72
59
  return folder?.uri;
73
60
  }
74
- let CopilotPluginFormatAdapter = class CopilotPluginFormatAdapter {
75
- constructor(_workspaceContextService) {
76
- this._workspaceContextService = _workspaceContextService;
77
- this.format = AgentPluginFormat.Copilot;
78
- this.manifestPath = "plugin.json";
79
- this.hookConfigPath = "hooks.json";
80
- this.pluginRootToken = undefined;
81
- this.pluginRootEnvVar = undefined;
82
- }
83
- parseHooks(hookURI, json, pluginUri, userHome) {
84
- const workspaceRoot = resolveWorkspaceRoot(pluginUri, this._workspaceContextService);
85
- return mapParsedHooks(hookURI, parseCopilotHooks(json, workspaceRoot, userHome));
86
- }
87
- };
88
- CopilotPluginFormatAdapter = ( __decorate([( __param(0, IWorkspaceContextService))], CopilotPluginFormatAdapter));
89
- const shellUnsafeChars = /[\s&|<>()^;!`"']/;
90
- function shellQuotePluginRootInCommand(command, fsPath, token) {
91
- if (!command.includes(token)) {
92
- return command;
93
- }
94
- if (!shellUnsafeChars.test(fsPath)) {
95
- return command.replaceAll(token, fsPath);
96
- }
97
- const escapedToken = escapeRegExpCharacters(token);
98
- const pattern = ( new RegExp(
99
- `(["']?)` + escapedToken + `([\\w./\\\\~:-]*)`, "g"));
100
- return command.replace(pattern, (_match, leadingQuote, suffix) => {
101
- const fullPath = fsPath + suffix;
102
- if (leadingQuote) {
103
- return leadingQuote + fullPath;
104
- }
105
- return "\"" + fullPath.replace(/"/g, "\\\"") + "\"";
106
- });
107
- }
108
- function resolveMcpServersMap(raw) {
109
- if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
110
- return undefined;
111
- }
112
- const obj = raw;
113
- return Object.hasOwn(obj, "mcpServers") ? obj.mcpServers : obj;
114
- }
115
- function interpolateMcpPluginRoot(def, fsPath, token, envVar) {
116
- const replace = s => s.replaceAll(token, fsPath);
117
- const config = def.configuration;
118
- let interpolated;
119
- if (config.type === McpServerType.LOCAL) {
120
- const local = {
121
- ...config
122
- };
123
- local.command = replace(local.command);
124
- if (local.args) {
125
- local.args = ( local.args.map(replace));
126
- }
127
- if (local.cwd) {
128
- local.cwd = replace(local.cwd);
129
- }
130
- local.env = {
131
- ...local.env
132
- };
133
- for (const [k, v] of Object.entries(local.env)) {
134
- if (typeof v === "string") {
135
- local.env[k] = replace(v);
136
- }
137
- }
138
- local.env[envVar] = fsPath;
139
- if (local.envFile) {
140
- local.envFile = replace(local.envFile);
141
- }
142
- interpolated = local;
143
- } else {
144
- const remote = {
145
- ...config
146
- };
147
- remote.url = replace(remote.url);
148
- if (remote.headers) {
149
- remote.headers = Object.fromEntries(( Object.entries(remote.headers).map(([k, v]) => [k, replace(v)])));
150
- }
151
- interpolated = remote;
152
- }
153
- return {
154
- name: def.name,
155
- configuration: interpolated,
156
- uri: def.uri
157
- };
158
- }
159
- const BARE_ENV_VAR_RE = /\$\{(?![A-Za-z]+:)([A-Z_][A-Z0-9_]*)\}/g;
160
- function convertBareEnvVarsToVsCodeSyntax(def) {
161
- return cloneAndChange(def, value => {
162
- if (URI.isUri(value)) {
163
- return value;
164
- }
165
- if (typeof value === "string") {
166
- const replaced = value.replace(BARE_ENV_VAR_RE, "${env:$1}");
167
- return replaced !== value ? replaced : undefined;
168
- }
169
- return undefined;
170
- });
171
- }
172
- function parsePluginRootHooks(hookURI, json, pluginUri, userHome, workspaceContextService, token, envVar) {
173
- const fsPath = pluginUri.fsPath;
174
- const typedJson = json;
175
- const mutateHookCommand = hook => {
176
- for (const field of ["command", "windows", "linux", "osx"]) {
177
- if (typeof hook[field] === "string") {
178
- hook[field] = shellQuotePluginRootInCommand(hook[field], fsPath, token);
179
- }
180
- }
181
- hook.env ??= {};
182
- hook.env[envVar] = fsPath;
183
- };
184
- for (const lifecycle of ( Object.values(typedJson.hooks ?? {}))) {
185
- if (!Array.isArray(lifecycle)) {
186
- continue;
187
- }
188
- for (const lifecycleEntry of lifecycle) {
189
- if (!lifecycleEntry || typeof lifecycleEntry !== "object") {
190
- continue;
191
- }
192
- const entry = lifecycleEntry;
193
- if (Array.isArray(entry.hooks)) {
194
- for (const hook of entry.hooks) {
195
- mutateHookCommand(hook);
196
- }
197
- } else {
198
- mutateHookCommand(entry);
199
- }
200
- }
201
- }
202
- const replacer = v => {
203
- return typeof v === "string" ? v.replaceAll(token, pluginUri.fsPath) : undefined;
204
- };
205
- const workspaceRoot = resolveWorkspaceRoot(pluginUri, workspaceContextService);
206
- const {
207
- hooks,
208
- disabledAllHooks
209
- } = parseClaudeHooks(cloneAndChange(json, replacer), workspaceRoot, userHome);
210
- if (disabledAllHooks) {
211
- return [];
212
- }
213
- return mapParsedHooks(hookURI, hooks);
214
- }
215
- let ClaudePluginFormatAdapter = class ClaudePluginFormatAdapter {
216
- constructor(_workspaceContextService) {
217
- this._workspaceContextService = _workspaceContextService;
218
- this.format = AgentPluginFormat.Claude;
219
- this.manifestPath = ".claude-plugin/plugin.json";
220
- this.hookConfigPath = "hooks/hooks.json";
221
- this.pluginRootToken = "${CLAUDE_PLUGIN_ROOT}";
222
- this.pluginRootEnvVar = "CLAUDE_PLUGIN_ROOT";
223
- }
224
- parseHooks(hookURI, json, pluginUri, userHome) {
225
- return parsePluginRootHooks(
226
- hookURI,
227
- json,
228
- pluginUri,
229
- userHome,
230
- this._workspaceContextService,
231
- "${CLAUDE_PLUGIN_ROOT}",
232
- "CLAUDE_PLUGIN_ROOT"
233
- );
234
- }
235
- };
236
- ClaudePluginFormatAdapter = ( __decorate([( __param(0, IWorkspaceContextService))], ClaudePluginFormatAdapter));
237
- let OpenPluginFormatAdapter = class OpenPluginFormatAdapter {
238
- constructor(_workspaceContextService) {
239
- this._workspaceContextService = _workspaceContextService;
240
- this.format = AgentPluginFormat.OpenPlugin;
241
- this.manifestPath = ".plugin/plugin.json";
242
- this.hookConfigPath = "hooks/hooks.json";
243
- this.pluginRootToken = "${PLUGIN_ROOT}";
244
- this.pluginRootEnvVar = "PLUGIN_ROOT";
245
- }
246
- parseHooks(hookURI, json, pluginUri, userHome) {
247
- return parsePluginRootHooks(
248
- hookURI,
249
- json,
250
- pluginUri,
251
- userHome,
252
- this._workspaceContextService,
253
- "${PLUGIN_ROOT}",
254
- "PLUGIN_ROOT"
255
- );
256
- }
257
- };
258
- OpenPluginFormatAdapter = ( __decorate([( __param(0, IWorkspaceContextService))], OpenPluginFormatAdapter));
259
- const emptyComponentPathConfig = {
260
- paths: [],
261
- exclusive: false
262
- };
263
- function parseComponentPathConfig(raw) {
264
- if (raw === undefined || raw === null) {
265
- return emptyComponentPathConfig;
266
- }
267
- if (typeof raw === "string") {
268
- const trimmed = raw.trim();
269
- return trimmed ? {
270
- paths: [trimmed],
271
- exclusive: false
272
- } : emptyComponentPathConfig;
273
- }
274
- if (Array.isArray(raw)) {
275
- const paths = ( raw.filter(v => typeof v === "string").map(v => v.trim())).filter(v => v.length > 0);
276
- return {
277
- paths,
278
- exclusive: false
279
- };
280
- }
281
- if (typeof raw === "object") {
282
- const obj = raw;
283
- if (Array.isArray(obj["paths"])) {
284
- const paths = ( obj["paths"].filter(v => typeof v === "string").map(v => v.trim())).filter(v => v.length > 0);
285
- const exclusive = obj["exclusive"] === true;
286
- return {
287
- paths,
288
- exclusive
289
- };
290
- }
291
- }
292
- return emptyComponentPathConfig;
293
- }
294
- function resolveComponentDirs(pluginUri, defaultDir, config) {
295
- const dirs = [];
296
- if (!config.exclusive) {
297
- dirs.push(joinPath(pluginUri, defaultDir));
298
- }
299
- for (const p of config.paths) {
300
- const resolved = normalizePath(joinPath(pluginUri, p));
301
- if (isEqualOrParent(resolved, pluginUri)) {
302
- dirs.push(resolved);
303
- }
304
- }
305
- return dirs;
306
- }
307
61
  let AgentPluginService = class AgentPluginService extends Disposable {
308
62
  constructor(instantiationService, configurationService, storageService) {
309
63
  super();
@@ -339,12 +93,12 @@ let AgentPluginService = class AgentPluginService extends Disposable {
339
93
  };
340
94
  AgentPluginService = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IConfigurationService)), ( __param(2, IStorageService))], AgentPluginService));
341
95
  class AbstractAgentPluginDiscovery extends Disposable {
342
- constructor(_fileService, _pathService, _logService, _instantiationService) {
96
+ constructor(_fileService, _pathService, _logService, _workspaceContextService) {
343
97
  super();
344
98
  this._fileService = _fileService;
345
99
  this._pathService = _pathService;
346
100
  this._logService = _logService;
347
- this._instantiationService = _instantiationService;
101
+ this._workspaceContextService = _workspaceContextService;
348
102
  this._pluginEntries = ( new Map());
349
103
  this._plugins = observableValue("discoveredAgentPlugins", []);
350
104
  this.plugins = this._plugins;
@@ -366,9 +120,9 @@ class AbstractAgentPluginDiscovery extends Disposable {
366
120
  const key = ( source.uri.toString());
367
121
  if (!( seenPluginUris.has(key))) {
368
122
  seenPluginUris.add(key);
369
- const adapter = await this._detectPluginFormatAdapter(source.uri);
123
+ const format = await detectPluginFormat(source.uri, this._fileService);
370
124
  plugins.push(
371
- this._toPlugin(source.uri, adapter, source.fromMarketplace, () => source.remove())
125
+ this._toPlugin(source.uri, format, source.fromMarketplace, () => source.remove())
372
126
  );
373
127
  }
374
128
  }
@@ -376,16 +130,6 @@ class AbstractAgentPluginDiscovery extends Disposable {
376
130
  plugins.sort((a, b) => ( a.uri.toString()).localeCompare(( b.uri.toString())));
377
131
  return plugins;
378
132
  }
379
- async _detectPluginFormatAdapter(pluginUri) {
380
- if (await this._pathExists(joinPath(pluginUri, ".plugin", "plugin.json"))) {
381
- return this._instantiationService.createInstance(OpenPluginFormatAdapter);
382
- }
383
- const isInClaudeDirectory = pluginUri.path.split("/").includes(".claude");
384
- if (isInClaudeDirectory || (await this._pathExists(joinPath(pluginUri, ".claude-plugin", "plugin.json")))) {
385
- return this._instantiationService.createInstance(ClaudePluginFormatAdapter);
386
- }
387
- return this._instantiationService.createInstance(CopilotPluginFormatAdapter);
388
- }
389
133
  async _pathExists(resource) {
390
134
  try {
391
135
  await this._fileService.resolve(resource);
@@ -394,11 +138,11 @@ class AbstractAgentPluginDiscovery extends Disposable {
394
138
  return false;
395
139
  }
396
140
  }
397
- _toPlugin(uri, adapter, fromMarketplace, removeCallback) {
141
+ _toPlugin(uri, format, fromMarketplace, removeCallback) {
398
142
  const key = ( uri.toString());
399
143
  const existing = this._pluginEntries.get(key);
400
144
  if (existing) {
401
- if (existing.adapter.format !== adapter.format) {
145
+ if (existing.format.format !== format.format) {
402
146
  existing.store.dispose();
403
147
  this._pluginEntries.delete(key);
404
148
  } else {
@@ -453,30 +197,31 @@ class AbstractAgentPluginDiscovery extends Disposable {
453
197
  const result = ( promised.map((w, r) => w.read(r)?.data ?? Iterable.empty()));
454
198
  return result.recomputeInitiallyAndOnChange(store);
455
199
  };
456
- const manifestUri = joinPath(uri, adapter.manifestPath);
457
- const commands = observeComponent("commands", d => this._readMarkdownComponents(d));
458
- const skills = observeComponent("skills", d => this._readSkills(uri, d));
459
- const agents = observeComponent("agents", d => this._readMarkdownComponents(d));
200
+ const manifestUri = joinPath(uri, format.manifestPath);
201
+ const commands = observeComponent("commands", d => readMarkdownComponents(d, this._fileService));
202
+ const skills = observeComponent("skills", d => readSkills(uri, d, this._fileService));
203
+ const agents = observeComponent("agents", d => readMarkdownComponents(d, this._fileService));
460
204
  const instructions = observeComponent("rules", d => this._readRules(d));
461
205
  const hooks = observeComponent(
462
206
  "hooks",
463
- paths => this._readHooksFromPaths(uri, paths, adapter),
207
+ paths => this._readHooksFromPaths(uri, paths, format),
464
208
  async section => {
465
209
  const userHome = (await this._pathService.userHome()).fsPath;
466
- return adapter.parseHooks(manifestUri, section, uri, userHome);
210
+ const workspaceRoot = resolveWorkspaceRoot(uri, this._workspaceContextService);
211
+ return toAgentPluginHooks(format.parseHooks(manifestUri, section, uri, workspaceRoot, userHome));
467
212
  },
468
- adapter.hookConfigPath
213
+ format.hookConfigPath
469
214
  );
470
215
  const mcpServerDefinitions = observeComponent(
471
216
  "mcpServers",
472
- paths => this._readMcpDefinitionsFromPaths(paths, uri.fsPath, adapter),
473
- async section => this._parseMcpServerDefinitionMap(manifestUri, {
217
+ paths => this._readMcpDefinitionsFromPaths(paths, uri.fsPath, format),
218
+ async section => parseMcpServerDefinitionMap(manifestUri, {
474
219
  mcpServers: section
475
- }, uri.fsPath, adapter),
220
+ }, uri.fsPath, format),
476
221
  ".mcp.json"
477
222
  );
478
223
  const readManifest = async () => {
479
- manifest.set(await this._readManifest(uri, adapter), undefined);
224
+ manifest.set(await this._readManifest(uri, format), undefined);
480
225
  };
481
226
  const manifestWatcher = this._fileService.createWatcher(manifestUri, {
482
227
  recursive: false,
@@ -501,24 +246,25 @@ class AbstractAgentPluginDiscovery extends Disposable {
501
246
  this._pluginEntries.set(key, {
502
247
  store,
503
248
  plugin,
504
- adapter
249
+ format
505
250
  });
506
251
  return plugin;
507
252
  }
508
- async _readManifest(pluginUri, adapter) {
509
- const json = await this._readJsonFile(joinPath(pluginUri, adapter.manifestPath));
253
+ async _readManifest(pluginUri, format) {
254
+ const json = await this._readJsonFile(joinPath(pluginUri, format.manifestPath));
510
255
  if (json && typeof json === "object") {
511
256
  return json;
512
257
  }
513
258
  return undefined;
514
259
  }
515
- async _readHooksFromPaths(pluginUri, paths, adapter) {
260
+ async _readHooksFromPaths(pluginUri, paths, format) {
516
261
  const userHome = (await this._pathService.userHome()).fsPath;
262
+ const workspaceRoot = resolveWorkspaceRoot(pluginUri, this._workspaceContextService);
517
263
  for (const hookPath of paths) {
518
264
  const json = await this._readJsonFile(hookPath);
519
265
  if (json) {
520
266
  try {
521
- return adapter.parseHooks(hookPath, json, pluginUri, userHome);
267
+ return toAgentPluginHooks(format.parseHooks(hookPath, json, pluginUri, workspaceRoot, userHome));
522
268
  } catch (e) {
523
269
  this._logService.info(`[AgentPluginDiscovery] Failed to parse hooks from ${( hookPath.toString())}:`, e);
524
270
  }
@@ -526,11 +272,11 @@ class AbstractAgentPluginDiscovery extends Disposable {
526
272
  }
527
273
  return [];
528
274
  }
529
- async _readMcpDefinitionsFromPaths(paths, pluginFsPath, adapter) {
275
+ async _readMcpDefinitionsFromPaths(paths, pluginFsPath, format) {
530
276
  const merged = ( new Map());
531
277
  for (const mcpPath of paths) {
532
278
  const json = await this._readJsonFile(mcpPath);
533
- for (const def of this._parseMcpServerDefinitionMap(mcpPath, json, pluginFsPath, adapter)) {
279
+ for (const def of parseMcpServerDefinitionMap(mcpPath, json, pluginFsPath, format)) {
534
280
  if (!( merged.has(def.name))) {
535
281
  merged.set(def.name, def);
536
282
  }
@@ -538,76 +284,6 @@ class AbstractAgentPluginDiscovery extends Disposable {
538
284
  }
539
285
  return [...( merged.values())].sort((a, b) => a.name.localeCompare(b.name));
540
286
  }
541
- _parseMcpServerDefinitionMap(definitionURI, raw, pluginFsPath, adapter) {
542
- const mcpServers = resolveMcpServersMap(raw);
543
- if (!mcpServers) {
544
- return [];
545
- }
546
- const definitions = [];
547
- for (const [name, configValue] of Object.entries(mcpServers)) {
548
- const configuration = this._normalizeMcpServerConfiguration(configValue);
549
- if (!configuration) {
550
- continue;
551
- }
552
- let def = {
553
- name,
554
- configuration,
555
- uri: definitionURI
556
- };
557
- if (adapter.pluginRootToken && adapter.pluginRootEnvVar) {
558
- def = interpolateMcpPluginRoot(def, pluginFsPath, adapter.pluginRootToken, adapter.pluginRootEnvVar);
559
- }
560
- def = convertBareEnvVarsToVsCodeSyntax(def);
561
- definitions.push(def);
562
- }
563
- return definitions;
564
- }
565
- _normalizeMcpServerConfiguration(rawConfig) {
566
- if (!rawConfig || typeof rawConfig !== "object") {
567
- return undefined;
568
- }
569
- const candidate = rawConfig;
570
- const type = typeof candidate["type"] === "string" ? candidate["type"] : undefined;
571
- const command = typeof candidate["command"] === "string" ? candidate["command"] : undefined;
572
- const url = typeof candidate["url"] === "string" ? candidate["url"] : undefined;
573
- const args = Array.isArray(candidate["args"]) ? candidate["args"].filter(value => typeof value === "string") : undefined;
574
- const env = candidate["env"] && typeof candidate["env"] === "object" ? Object.fromEntries(( Object.entries(candidate["env"]).filter(
575
- ([, value]) => typeof value === "string" || typeof value === "number" || value === null
576
- ).map(([key, value]) => [key, value]))) : undefined;
577
- const envFile = typeof candidate["envFile"] === "string" ? candidate["envFile"] : undefined;
578
- const cwd = typeof candidate["cwd"] === "string" ? candidate["cwd"] : undefined;
579
- const headers = candidate["headers"] && typeof candidate["headers"] === "object" ? Object.fromEntries(( Object.entries(candidate["headers"]).filter(([, value]) => typeof value === "string").map(([key, value]) => [key, value]))) : undefined;
580
- const dev = candidate["dev"] && typeof candidate["dev"] === "object" ? candidate["dev"] : undefined;
581
- if (type === "ws") {
582
- return undefined;
583
- }
584
- if (type === McpServerType.LOCAL || (!type && command)) {
585
- if (!command) {
586
- return undefined;
587
- }
588
- return {
589
- type: McpServerType.LOCAL,
590
- command,
591
- args,
592
- env,
593
- envFile,
594
- cwd,
595
- dev
596
- };
597
- }
598
- if (type === McpServerType.REMOTE || type === "sse" || (!type && url)) {
599
- if (!url) {
600
- return undefined;
601
- }
602
- return {
603
- type: McpServerType.REMOTE,
604
- url,
605
- headers,
606
- dev
607
- };
608
- }
609
- return undefined;
610
- }
611
287
  async _readJsonFile(uri) {
612
288
  try {
613
289
  const fileContents = await this._fileService.readFile(uri);
@@ -616,49 +292,6 @@ class AbstractAgentPluginDiscovery extends Disposable {
616
292
  return undefined;
617
293
  }
618
294
  }
619
- async _readSkills(pluginRoot, dirs) {
620
- const seen = ( new Set());
621
- const skills = [];
622
- const addSkill = (name, skillMd) => {
623
- if (!( seen.has(name))) {
624
- seen.add(name);
625
- skills.push({
626
- uri: skillMd,
627
- name
628
- });
629
- }
630
- };
631
- for (const dir of dirs) {
632
- const skillMd = URI.joinPath(dir, "SKILL.md");
633
- if (await this._pathExists(skillMd)) {
634
- addSkill(basename(dir), skillMd);
635
- continue;
636
- }
637
- let stat;
638
- try {
639
- stat = await this._fileService.resolve(dir);
640
- } catch {
641
- continue;
642
- }
643
- if (!stat.isDirectory || !stat.children) {
644
- continue;
645
- }
646
- for (const child of stat.children) {
647
- const childSkillMd = URI.joinPath(child.resource, "SKILL.md");
648
- if (await this._pathExists(childSkillMd)) {
649
- addSkill(basename(child.resource), childSkillMd);
650
- }
651
- }
652
- }
653
- if (skills.length === 0) {
654
- const rootSkillMd = URI.joinPath(pluginRoot, "SKILL.md");
655
- if (await this._pathExists(rootSkillMd)) {
656
- addSkill(basename(pluginRoot), rootSkillMd);
657
- }
658
- }
659
- skills.sort((a, b) => a.name.localeCompare(b.name));
660
- return skills;
661
- }
662
295
  async _readRules(dirs) {
663
296
  const seen = ( new Set());
664
297
  const items = [];
@@ -705,45 +338,6 @@ class AbstractAgentPluginDiscovery extends Disposable {
705
338
  items.sort((a, b) => a.name.localeCompare(b.name));
706
339
  return items;
707
340
  }
708
- async _readMarkdownComponents(dirs) {
709
- const seen = ( new Set());
710
- const items = [];
711
- const addItem = (name, uri) => {
712
- if (!( seen.has(name))) {
713
- seen.add(name);
714
- items.push({
715
- uri,
716
- name
717
- });
718
- }
719
- };
720
- for (const dir of dirs) {
721
- let stat;
722
- try {
723
- stat = await this._fileService.resolve(dir);
724
- } catch {
725
- continue;
726
- }
727
- if (stat.isFile && extname(dir).toLowerCase() === COMMAND_FILE_SUFFIX) {
728
- addItem(basename(dir).slice(0, -COMMAND_FILE_SUFFIX.length), dir);
729
- continue;
730
- }
731
- if (!stat.isDirectory || !stat.children) {
732
- continue;
733
- }
734
- for (const child of stat.children) {
735
- if (!child.isFile || extname(child.resource).toLowerCase() !== COMMAND_FILE_SUFFIX) {
736
- continue;
737
- }
738
- addItem(
739
- basename(child.resource).slice(0, -COMMAND_FILE_SUFFIX.length),
740
- child.resource
741
- );
742
- }
743
- }
744
- items.sort((a, b) => a.name.localeCompare(b.name));
745
- return items;
746
- }
747
341
  _disposePluginEntriesExcept(keep) {
748
342
  for (const [key, entry] of this._pluginEntries) {
749
343
  if (!( keep.has(key))) {
@@ -762,15 +356,13 @@ let ConfiguredAgentPluginDiscovery = class ConfiguredAgentPluginDiscovery extend
762
356
  _configurationService,
763
357
  fileService,
764
358
  _pluginMarketplaceService,
765
- _workspaceContextService,
359
+ workspaceContextService,
766
360
  pathService,
767
- logService,
768
- instantiationService
361
+ logService
769
362
  ) {
770
- super(fileService, pathService, logService, instantiationService);
363
+ super(fileService, pathService, logService, workspaceContextService);
771
364
  this._configurationService = _configurationService;
772
365
  this._pluginMarketplaceService = _pluginMarketplaceService;
773
- this._workspaceContextService = _workspaceContextService;
774
366
  this._pluginLocationsConfig = observableConfigValue(ChatConfiguration.PluginLocations, {}, _configurationService);
775
367
  }
776
368
  start(enablementModel) {
@@ -854,7 +446,7 @@ let ConfiguredAgentPluginDiscovery = class ConfiguredAgentPluginDiscovery extend
854
446
  }
855
447
  }
856
448
  };
857
- ConfiguredAgentPluginDiscovery = ( __decorate([( __param(0, IConfigurationService)), ( __param(1, IFileService)), ( __param(2, IPluginMarketplaceService)), ( __param(3, IWorkspaceContextService)), ( __param(4, IPathService)), ( __param(5, ILogService)), ( __param(6, IInstantiationService))], ConfiguredAgentPluginDiscovery));
449
+ ConfiguredAgentPluginDiscovery = ( __decorate([( __param(0, IConfigurationService)), ( __param(1, IFileService)), ( __param(2, IPluginMarketplaceService)), ( __param(3, IWorkspaceContextService)), ( __param(4, IPathService)), ( __param(5, ILogService))], ConfiguredAgentPluginDiscovery));
858
450
  let MarketplaceAgentPluginDiscovery = class MarketplaceAgentPluginDiscovery extends AbstractAgentPluginDiscovery {
859
451
  constructor(
860
452
  _pluginMarketplaceService,
@@ -862,9 +454,9 @@ let MarketplaceAgentPluginDiscovery = class MarketplaceAgentPluginDiscovery exte
862
454
  fileService,
863
455
  pathService,
864
456
  logService,
865
- instantiationService
457
+ workspaceContextService
866
458
  ) {
867
- super(fileService, pathService, logService, instantiationService);
459
+ super(fileService, pathService, logService, workspaceContextService);
868
460
  this._pluginMarketplaceService = _pluginMarketplaceService;
869
461
  this._pluginRepositoryService = _pluginRepositoryService;
870
462
  }
@@ -915,11 +507,11 @@ let MarketplaceAgentPluginDiscovery = class MarketplaceAgentPluginDiscovery exte
915
507
  return sources;
916
508
  }
917
509
  };
918
- MarketplaceAgentPluginDiscovery = ( __decorate([( __param(0, IPluginMarketplaceService)), ( __param(1, IAgentPluginRepositoryService)), ( __param(2, IFileService)), ( __param(3, IPathService)), ( __param(4, ILogService)), ( __param(5, IInstantiationService))], MarketplaceAgentPluginDiscovery));
510
+ MarketplaceAgentPluginDiscovery = ( __decorate([( __param(0, IPluginMarketplaceService)), ( __param(1, IAgentPluginRepositoryService)), ( __param(2, IFileService)), ( __param(3, IPathService)), ( __param(4, ILogService)), ( __param(5, IWorkspaceContextService))], MarketplaceAgentPluginDiscovery));
919
511
  const epPlugins = ExtensionsRegistry.registerExtensionPoint({
920
512
  extensionPoint: "chatPlugins",
921
513
  jsonSchema: {
922
- description: ( localize(7305, "Contributes agent plugins for chat.")),
514
+ description: ( localize(7423, "Contributes agent plugins for chat.")),
923
515
  type: "array",
924
516
  items: {
925
517
  additionalProperties: false,
@@ -933,13 +525,13 @@ const epPlugins = ExtensionsRegistry.registerExtensionPoint({
933
525
  properties: {
934
526
  path: {
935
527
  description: ( localize(
936
- 7306,
528
+ 7424,
937
529
  "Path to the agent plugin root directory relative to the extension root."
938
530
  )),
939
531
  type: "string"
940
532
  },
941
533
  when: {
942
- description: ( localize(7307, "(Optional) A condition which must be true to enable this plugin.")),
534
+ description: ( localize(7425, "(Optional) A condition which must be true to enable this plugin.")),
943
535
  type: "string"
944
536
  }
945
537
  }
@@ -954,9 +546,9 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
954
546
  fileService,
955
547
  pathService,
956
548
  logService,
957
- instantiationService
549
+ workspaceContextService
958
550
  ) {
959
- super(fileService, pathService, logService, instantiationService);
551
+ super(fileService, pathService, logService, workspaceContextService);
960
552
  this._commandService = _commandService;
961
553
  this._contextKeyService = _contextKeyService;
962
554
  this._dialogService = _dialogService;
@@ -976,7 +568,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
976
568
  for (const raw of ext.value) {
977
569
  if (!raw.path) {
978
570
  ext.collector.error(( localize(
979
- 7308,
571
+ 7426,
980
572
  "Extension '{0}' cannot register a chatPlugins entry without a path.",
981
573
  ext.description.identifier.value
982
574
  )));
@@ -985,7 +577,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
985
577
  const pluginUri = joinPath(ext.description.extensionLocation, raw.path);
986
578
  if (!isEqualOrParent(pluginUri, ext.description.extensionLocation)) {
987
579
  ext.collector.error(( localize(
988
- 7309,
580
+ 7427,
989
581
  "Extension '{0}' chatPlugins entry '{1}' resolves outside the extension.",
990
582
  ext.description.identifier.value,
991
583
  raw.path
@@ -997,7 +589,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
997
589
  whenExpr = ContextKeyExpr.deserialize(raw.when);
998
590
  if (!whenExpr) {
999
591
  ext.collector.error(( localize(
1000
- 7310,
592
+ 7428,
1001
593
  "Extension '{0}' chatPlugins entry '{1}' has an invalid when clause: '{2}'.",
1002
594
  ext.description.identifier.value,
1003
595
  raw.path,
@@ -1068,7 +660,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
1068
660
  confirmed
1069
661
  } = await this._dialogService.confirm({
1070
662
  message: ( localize(
1071
- 7311,
663
+ 7429,
1072
664
  "This plugin is provided by the extension '{0}'. Do you want to uninstall the extension?",
1073
665
  extensionId
1074
666
  ))
@@ -1078,7 +670,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
1078
670
  }
1079
671
  }
1080
672
  };
1081
- ExtensionAgentPluginDiscovery = ( __decorate([( __param(0, ICommandService)), ( __param(1, IContextKeyService)), ( __param(2, IDialogService)), ( __param(3, IFileService)), ( __param(4, IPathService)), ( __param(5, ILogService)), ( __param(6, IInstantiationService))], ExtensionAgentPluginDiscovery));
673
+ ExtensionAgentPluginDiscovery = ( __decorate([( __param(0, ICommandService)), ( __param(1, IContextKeyService)), ( __param(2, IDialogService)), ( __param(3, IFileService)), ( __param(4, IPathService)), ( __param(5, ILogService)), ( __param(6, IWorkspaceContextService))], ExtensionAgentPluginDiscovery));
1082
674
  function extensionPluginKey(extensionId, path) {
1083
675
  return `${extensionId.value}/${path}`;
1084
676
  }
@@ -1101,7 +693,7 @@ class ChatPluginsDataRenderer extends Disposable {
1101
693
  dispose: () => {}
1102
694
  };
1103
695
  }
1104
- const headers = [( localize(7312, "Path")), ( localize(7313, "When"))];
696
+ const headers = [( localize(7430, "Path")), ( localize(7431, "When"))];
1105
697
  const rows = ( contributions.map(d => [d.path, d.when ?? "-"]));
1106
698
  return {
1107
699
  data: {
@@ -1114,11 +706,11 @@ class ChatPluginsDataRenderer extends Disposable {
1114
706
  }
1115
707
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
1116
708
  id: "chatPlugins",
1117
- label: ( localize(7314, "Chat Plugins")),
709
+ label: ( localize(7432, "Chat Plugins")),
1118
710
  access: {
1119
711
  canToggle: false
1120
712
  },
1121
713
  renderer: ( new SyncDescriptor(ChatPluginsDataRenderer))
1122
714
  });
1123
715
 
1124
- export { AbstractAgentPluginDiscovery, AgentPluginService, ConfiguredAgentPluginDiscovery, ExtensionAgentPluginDiscovery, MarketplaceAgentPluginDiscovery, convertBareEnvVarsToVsCodeSyntax, resolveMcpServersMap, shellQuotePluginRootInCommand };
716
+ export { AbstractAgentPluginDiscovery, AgentPluginService, ConfiguredAgentPluginDiscovery, ExtensionAgentPluginDiscovery, MarketplaceAgentPluginDiscovery };