@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.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 (251) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
  4. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
  5. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
  6. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
  7. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
  8. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  9. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  10. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
  11. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
  12. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
  60. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +12 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -4
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +18 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
  137. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
  140. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  146. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
  155. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
  157. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  160. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +5 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  183. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
  184. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
  211. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  213. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
  219. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  224. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
  250. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
@@ -0,0 +1,489 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Action } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
4
+ import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
+ import { DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { isWindows } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
7
+ import { dirname, joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
9
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
10
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
11
+ import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
12
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
13
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
14
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
15
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
16
+ import { ProgressLocation } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress';
17
+ import { IProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
18
+ import { TerminalCapability } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities';
19
+ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
20
+ import { PluginSourceKind } from '../common/plugins/pluginMarketplaceService.js';
21
+ import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
22
+
23
+ function sanitizeCacheSegment(name) {
24
+ return name.replace(/[\\/:*?"<>|]/g, "_");
25
+ }
26
+ function gitRevisionCacheSuffix(ref, sha) {
27
+ if (sha) {
28
+ return [`sha_${sanitizeCacheSegment(sha)}`];
29
+ }
30
+ if (ref) {
31
+ return [`ref_${sanitizeCacheSegment(ref)}`];
32
+ }
33
+ return [];
34
+ }
35
+ function showGitOutputAction(commandService) {
36
+ return (new Action(
37
+ "showGitOutput",
38
+ localize(6248, "Show Git Output"),
39
+ undefined,
40
+ true,
41
+ () => {
42
+ commandService.executeCommand("git.showOutput");
43
+ }
44
+ ));
45
+ }
46
+ function shellEscapeArg(value) {
47
+ if (isWindows) {
48
+ return `"${value.replace(/[`$"]/g, "`$&")}"`;
49
+ }
50
+ return `'${value.replace(/'/g, `'\\''`)}'`;
51
+ }
52
+ function formatShellCommand(args) {
53
+ const [command, ...rest] = args;
54
+ return [command, ...( rest.map(arg => shellEscapeArg(arg)))].join(" ");
55
+ }
56
+ let AbstractGitPluginSource = class AbstractGitPluginSource {
57
+ constructor(
58
+ _commandService,
59
+ _fileService,
60
+ _logService,
61
+ _notificationService,
62
+ _progressService
63
+ ) {
64
+ this._commandService = _commandService;
65
+ this._fileService = _fileService;
66
+ this._logService = _logService;
67
+ this._notificationService = _notificationService;
68
+ this._progressService = _progressService;
69
+ }
70
+ getCleanupTarget(cacheRoot, descriptor) {
71
+ return this.getInstallUri(cacheRoot, descriptor);
72
+ }
73
+ async ensure(cacheRoot, plugin, options) {
74
+ const descriptor = plugin.sourceDescriptor;
75
+ const repoDir = this.getInstallUri(cacheRoot, descriptor);
76
+ const repoExists = await this._fileService.exists(repoDir);
77
+ const label = this._displayLabel(descriptor);
78
+ if (repoExists) {
79
+ await this._checkoutRevision(repoDir, descriptor, options?.failureLabel ?? label);
80
+ return repoDir;
81
+ }
82
+ const progressTitle = options?.progressTitle ?? ( localize(6249, "Cloning plugin source '{0}'...", label));
83
+ const failureLabel = options?.failureLabel ?? label;
84
+ const ref = descriptor.ref;
85
+ await this._cloneRepository(repoDir, this._cloneUrl(descriptor), progressTitle, failureLabel, ref);
86
+ await this._checkoutRevision(repoDir, descriptor, failureLabel);
87
+ return repoDir;
88
+ }
89
+ async update(cacheRoot, plugin, options) {
90
+ const descriptor = plugin.sourceDescriptor;
91
+ const repoDir = this.getInstallUri(cacheRoot, descriptor);
92
+ const repoExists = await this._fileService.exists(repoDir);
93
+ if (!repoExists) {
94
+ this._logService.warn(
95
+ `[${this.kind}] Cannot update plugin '${options?.pluginName ?? plugin.name}': source repository not cloned`
96
+ );
97
+ return;
98
+ }
99
+ const updateLabel = options?.pluginName ?? plugin.name;
100
+ const failureLabel = options?.failureLabel ?? updateLabel;
101
+ try {
102
+ await this._progressService.withProgress({
103
+ location: ProgressLocation.Notification,
104
+ title: ( localize(6250, "Updating plugin '{0}'...", updateLabel)),
105
+ cancellable: false
106
+ }, async () => {
107
+ await this._commandService.executeCommand("git.openRepository", repoDir.fsPath);
108
+ const git = descriptor;
109
+ if (git.sha) {
110
+ await this._commandService.executeCommand("git.fetch", repoDir.fsPath);
111
+ } else {
112
+ await this._commandService.executeCommand("_git.pull", repoDir.fsPath);
113
+ }
114
+ await this._checkoutRevision(repoDir, descriptor, failureLabel);
115
+ });
116
+ } catch (err) {
117
+ this._logService.error(`[${this.kind}] Failed to update plugin source '${updateLabel}':`, err);
118
+ this._notificationService.notify({
119
+ severity: Severity.Error,
120
+ message: ( localize(
121
+ 6251,
122
+ "Failed to update plugin '{0}': {1}",
123
+ failureLabel,
124
+ err?.message ?? String(err)
125
+ )),
126
+ actions: {
127
+ primary: [showGitOutputAction(this._commandService)]
128
+ }
129
+ });
130
+ }
131
+ }
132
+ async _cloneRepository(repoDir, cloneUrl, progressTitle, failureLabel, ref) {
133
+ try {
134
+ await this._progressService.withProgress({
135
+ location: ProgressLocation.Notification,
136
+ title: progressTitle,
137
+ cancellable: false
138
+ }, async () => {
139
+ await this._fileService.createFolder(dirname(repoDir));
140
+ await this._commandService.executeCommand("_git.cloneRepository", cloneUrl, repoDir.fsPath, ref);
141
+ });
142
+ } catch (err) {
143
+ this._logService.error(`[${this.kind}] Failed to clone ${cloneUrl}:`, err);
144
+ this._notificationService.notify({
145
+ severity: Severity.Error,
146
+ message: ( localize(
147
+ 6252,
148
+ "Failed to install plugin '{0}': {1}",
149
+ failureLabel,
150
+ err?.message ?? String(err)
151
+ )),
152
+ actions: {
153
+ primary: [showGitOutputAction(this._commandService)]
154
+ }
155
+ });
156
+ throw err;
157
+ }
158
+ }
159
+ async _checkoutRevision(repoDir, descriptor, failureLabel) {
160
+ const git = descriptor;
161
+ if (!git.sha && !git.ref) {
162
+ return;
163
+ }
164
+ try {
165
+ if (git.sha) {
166
+ await this._commandService.executeCommand("_git.checkout", repoDir.fsPath, git.sha, true);
167
+ return;
168
+ }
169
+ await this._commandService.executeCommand("_git.checkout", repoDir.fsPath, git.ref);
170
+ } catch (err) {
171
+ this._logService.error(`[${this.kind}] Failed to checkout revision for '${failureLabel}':`, err);
172
+ this._notificationService.notify({
173
+ severity: Severity.Error,
174
+ message: ( localize(
175
+ 6253,
176
+ "Failed to checkout plugin '{0}' to requested revision: {1}",
177
+ failureLabel,
178
+ err?.message ?? String(err)
179
+ )),
180
+ actions: {
181
+ primary: [showGitOutputAction(this._commandService)]
182
+ }
183
+ });
184
+ throw err;
185
+ }
186
+ }
187
+ };
188
+ AbstractGitPluginSource = ( __decorate([( __param(0, ICommandService)), ( __param(1, IFileService)), ( __param(2, ILogService)), ( __param(3, INotificationService)), ( __param(4, IProgressService))], AbstractGitPluginSource));
189
+ class RelativePathPluginSource {
190
+ constructor() {
191
+ this.kind = PluginSourceKind.RelativePath;
192
+ }
193
+ getInstallUri(_cacheRoot, _descriptor) {
194
+ throw ( new Error("Use getPluginInstallUri() for relative-path sources"));
195
+ }
196
+ async ensure(_cacheRoot, _plugin, _options) {
197
+ throw ( new Error("Use ensureRepository() for relative-path sources"));
198
+ }
199
+ async update(_cacheRoot, _plugin, _options) {
200
+ throw ( new Error("Use pullRepository() for relative-path sources"));
201
+ }
202
+ getCleanupTarget(_cacheRoot, _descriptor) {
203
+ return undefined;
204
+ }
205
+ getLabel(descriptor) {
206
+ return descriptor.path || ".";
207
+ }
208
+ }
209
+ class GitHubPluginSource extends AbstractGitPluginSource {
210
+ constructor() {
211
+ super(...arguments);
212
+ this.kind = PluginSourceKind.GitHub;
213
+ }
214
+ getInstallUri(cacheRoot, descriptor) {
215
+ const gh = descriptor;
216
+ const [owner, repo] = gh.repo.split("/");
217
+ return joinPath(
218
+ cacheRoot,
219
+ "github.com",
220
+ owner,
221
+ repo,
222
+ ...gitRevisionCacheSuffix(gh.ref, gh.sha)
223
+ );
224
+ }
225
+ getLabel(descriptor) {
226
+ return descriptor.repo;
227
+ }
228
+ _cloneUrl(descriptor) {
229
+ return `https://github.com/${descriptor.repo}.git`;
230
+ }
231
+ _displayLabel(descriptor) {
232
+ return descriptor.repo;
233
+ }
234
+ }
235
+ class GitUrlPluginSource extends AbstractGitPluginSource {
236
+ constructor() {
237
+ super(...arguments);
238
+ this.kind = PluginSourceKind.GitUrl;
239
+ }
240
+ getInstallUri(cacheRoot, descriptor) {
241
+ const git = descriptor;
242
+ const segments = this._gitUrlCacheSegments(git.url, git.ref, git.sha);
243
+ return joinPath(cacheRoot, ...segments);
244
+ }
245
+ getLabel(descriptor) {
246
+ return descriptor.url;
247
+ }
248
+ _cloneUrl(descriptor) {
249
+ return descriptor.url;
250
+ }
251
+ _displayLabel(descriptor) {
252
+ return descriptor.url;
253
+ }
254
+ _gitUrlCacheSegments(url, ref, sha) {
255
+ try {
256
+ const parsed = ( URI.parse(url));
257
+ const authority = (parsed.authority || "unknown").replace(/[\\/:*?"<>|]/g, "_").toLowerCase();
258
+ const pathPart = parsed.path.replace(/^\/+/, "").replace(/\.git$/i, "").replace(/\/+$/g, "");
259
+ const segments = ( pathPart.split("/").map(s => s.replace(/[\\/:*?"<>|]/g, "_")));
260
+ return [authority, ...segments, ...gitRevisionCacheSuffix(ref, sha)];
261
+ } catch {
262
+ return [
263
+ "git",
264
+ url.replace(/[\\/:*?"<>|]/g, "_"),
265
+ ...gitRevisionCacheSuffix(ref, sha)
266
+ ];
267
+ }
268
+ }
269
+ }
270
+ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
271
+ constructor(
272
+ _dialogService,
273
+ _fileService,
274
+ _logService,
275
+ _notificationService,
276
+ _progressService,
277
+ _terminalService
278
+ ) {
279
+ this._dialogService = _dialogService;
280
+ this._fileService = _fileService;
281
+ this._logService = _logService;
282
+ this._notificationService = _notificationService;
283
+ this._progressService = _progressService;
284
+ this._terminalService = _terminalService;
285
+ }
286
+ getCleanupTarget(cacheRoot, descriptor) {
287
+ return this._getCacheDir(cacheRoot, descriptor);
288
+ }
289
+ async ensure(cacheRoot, plugin, _options) {
290
+ const cacheDir = this._getCacheDir(cacheRoot, plugin.sourceDescriptor);
291
+ await this._fileService.createFolder(cacheDir);
292
+ return cacheDir;
293
+ }
294
+ async update(cacheRoot, plugin, _options) {
295
+ const installDir = this._getCacheDir(cacheRoot, plugin.sourceDescriptor);
296
+ const pluginDir = this.getInstallUri(cacheRoot, plugin.sourceDescriptor);
297
+ await this.runInstall(installDir, pluginDir, plugin);
298
+ }
299
+ async runInstall(installDir, pluginDir, plugin) {
300
+ const args = this._buildInstallArgs(installDir, plugin);
301
+ const command = formatShellCommand(args);
302
+ const confirmed = await this._confirmTerminalCommand(plugin.name, command);
303
+ if (!confirmed) {
304
+ return undefined;
305
+ }
306
+ const progressTitle = ( localize(6254, "Installing {0} plugin '{1}'...", this._managerName, plugin.name));
307
+ const {
308
+ success,
309
+ terminal
310
+ } = await this._runTerminalCommand(command, progressTitle);
311
+ if (!success) {
312
+ return undefined;
313
+ }
314
+ const exists = await this._fileService.exists(pluginDir);
315
+ if (!exists) {
316
+ this._notificationService.notify({
317
+ severity: Severity.Error,
318
+ message: ( localize(
319
+ 6255,
320
+ "{0} package '{1}' was not found after installation.",
321
+ this._managerName,
322
+ this.getLabel(plugin.sourceDescriptor)
323
+ ))
324
+ });
325
+ return undefined;
326
+ }
327
+ terminal?.dispose();
328
+ return {
329
+ pluginDir
330
+ };
331
+ }
332
+ async _confirmTerminalCommand(pluginName, command) {
333
+ const {
334
+ confirmed
335
+ } = await this._dialogService.confirm({
336
+ type: "question",
337
+ message: ( localize(6256, "Install Plugin '{0}'?", pluginName)),
338
+ detail: ( localize(6257, "This will run the following command in a terminal:\n\n{0}", command)),
339
+ primaryButton: ( localize(6258, "&&Install"))
340
+ });
341
+ return confirmed;
342
+ }
343
+ async _runTerminalCommand(command, progressTitle) {
344
+ let terminal;
345
+ try {
346
+ await this._progressService.withProgress({
347
+ location: ProgressLocation.Notification,
348
+ title: progressTitle,
349
+ cancellable: false
350
+ }, async () => {
351
+ terminal = await this._terminalService.createTerminal({
352
+ config: {
353
+ name: ( localize(6259, "Plugin Install")),
354
+ forceShellIntegration: true,
355
+ isTransient: true,
356
+ isFeatureTerminal: true
357
+ }
358
+ });
359
+ await terminal.processReady;
360
+ this._terminalService.setActiveInstance(terminal);
361
+ const commandResultPromise = this._waitForTerminalCommandCompletion(terminal);
362
+ await terminal.runCommand(command, true);
363
+ const exitCode = await commandResultPromise;
364
+ if (exitCode !== 0) {
365
+ throw ( new Error(( localize(6260, "Command exited with code {0}", exitCode))));
366
+ }
367
+ });
368
+ return {
369
+ success: true,
370
+ terminal
371
+ };
372
+ } catch (err) {
373
+ this._logService.error(`[${this.kind}] Terminal command failed:`, err);
374
+ this._notificationService.notify({
375
+ severity: Severity.Error,
376
+ message: ( localize(
377
+ 6261,
378
+ "Plugin installation command failed: {0}",
379
+ err?.message ?? String(err)
380
+ ))
381
+ });
382
+ return {
383
+ success: false,
384
+ terminal
385
+ };
386
+ }
387
+ }
388
+ _waitForTerminalCommandCompletion(terminal) {
389
+ return ( new Promise(resolve => {
390
+ const disposables = ( new DisposableStore());
391
+ let isResolved = false;
392
+ const resolveAndDispose = exitCode => {
393
+ if (isResolved) {
394
+ return;
395
+ }
396
+ isResolved = true;
397
+ disposables.dispose();
398
+ resolve(exitCode);
399
+ };
400
+ const attachCommandFinishedListener = () => {
401
+ const commandDetection = terminal.capabilities.get(TerminalCapability.CommandDetection);
402
+ if (!commandDetection) {
403
+ return;
404
+ }
405
+ disposables.add(commandDetection.onCommandFinished(command => {
406
+ resolveAndDispose(command.exitCode ?? 0);
407
+ }));
408
+ };
409
+ attachCommandFinishedListener();
410
+ disposables.add(
411
+ terminal.capabilities.onDidAddCommandDetectionCapability(() => attachCommandFinishedListener())
412
+ );
413
+ const timeoutHandle = timeout(120_000);
414
+ disposables.add(toDisposable(() => timeoutHandle.cancel()));
415
+ void timeoutHandle.then(() => {
416
+ if (isResolved) {
417
+ return;
418
+ }
419
+ this._logService.warn(`[${this.kind}] Terminal command completion timed out`);
420
+ resolveAndDispose(undefined);
421
+ });
422
+ }));
423
+ }
424
+ };
425
+ AbstractPackagePluginSource = ( __decorate([( __param(0, IDialogService)), ( __param(1, IFileService)), ( __param(2, ILogService)), ( __param(3, INotificationService)), ( __param(4, IProgressService)), ( __param(5, ITerminalService))], AbstractPackagePluginSource));
426
+ class NpmPluginSource extends AbstractPackagePluginSource {
427
+ constructor() {
428
+ super(...arguments);
429
+ this.kind = PluginSourceKind.Npm;
430
+ this._managerName = "npm";
431
+ }
432
+ getInstallUri(cacheRoot, descriptor) {
433
+ const npm = descriptor;
434
+ return joinPath(
435
+ cacheRoot,
436
+ "npm",
437
+ sanitizeCacheSegment(npm.package),
438
+ "node_modules",
439
+ npm.package
440
+ );
441
+ }
442
+ getLabel(descriptor) {
443
+ const npm = descriptor;
444
+ return npm.version ? `${npm.package}@${npm.version}` : npm.package;
445
+ }
446
+ _getCacheDir(cacheRoot, descriptor) {
447
+ const npm = descriptor;
448
+ return joinPath(cacheRoot, "npm", sanitizeCacheSegment(npm.package));
449
+ }
450
+ _buildInstallArgs(installDir, plugin) {
451
+ const npm = plugin.sourceDescriptor;
452
+ const packageSpec = npm.version ? `${npm.package}@${npm.version}` : npm.package;
453
+ const args = ["npm", "install", "--prefix", installDir.fsPath, packageSpec];
454
+ if (npm.registry) {
455
+ args.push("--registry", npm.registry);
456
+ }
457
+ return args;
458
+ }
459
+ }
460
+ class PipPluginSource extends AbstractPackagePluginSource {
461
+ constructor() {
462
+ super(...arguments);
463
+ this.kind = PluginSourceKind.Pip;
464
+ this._managerName = "pip";
465
+ }
466
+ getInstallUri(cacheRoot, descriptor) {
467
+ const pip = descriptor;
468
+ return joinPath(cacheRoot, "pip", sanitizeCacheSegment(pip.package));
469
+ }
470
+ getLabel(descriptor) {
471
+ const pip = descriptor;
472
+ return pip.version ? `${pip.package}==${pip.version}` : pip.package;
473
+ }
474
+ _getCacheDir(cacheRoot, descriptor) {
475
+ const pip = descriptor;
476
+ return joinPath(cacheRoot, "pip", sanitizeCacheSegment(pip.package));
477
+ }
478
+ _buildInstallArgs(installDir, plugin) {
479
+ const pip = plugin.sourceDescriptor;
480
+ const packageSpec = pip.version ? `${pip.package}==${pip.version}` : pip.package;
481
+ const args = ["pip", "install", "--target", installDir.fsPath, packageSpec];
482
+ if (pip.registry) {
483
+ args.push("--index-url", pip.registry);
484
+ }
485
+ return args;
486
+ }
487
+ }
488
+
489
+ export { AbstractPackagePluginSource, GitHubPluginSource, GitUrlPluginSource, NpmPluginSource, PipPluginSource, RelativePathPluginSource };
@@ -17,7 +17,7 @@ class ConfigAgentActionImpl extends Action2 {
17
17
  const openerService = accessor.get(IOpenerService);
18
18
  const pickers = instaService.createInstance(PromptFilePickers);
19
19
  const placeholder = ( localize(
20
- 6179,
20
+ 6268,
21
21
  "Select the custom agents to open and configure visibility in the agent picker"
22
22
  ));
23
23
  const result = await pickers.selectPromptFile({
@@ -35,8 +35,8 @@ const PICKER_CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.picker.customag
35
35
  function createPickerConfigureAgentsActionConfig(disabled) {
36
36
  const config = {
37
37
  id: disabled ? PICKER_CONFIGURE_AGENTS_ACTION_ID + ".disabled" : PICKER_CONFIGURE_AGENTS_ACTION_ID,
38
- title: ( localize2(6180, "Configure Custom Agents...")),
39
- tooltip: disabled ? ( localize(6181, "Managed by your organization")) : undefined,
38
+ title: ( localize2(6269, "Configure Custom Agents...")),
39
+ tooltip: disabled ? ( localize(6270, "Managed by your organization")) : undefined,
40
40
  icon: disabled ? Codicon.lock : undefined,
41
41
  category: CHAT_CATEGORY,
42
42
  f1: false,
@@ -62,8 +62,8 @@ const CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.configure.customagents
62
62
  function createManageAgentsActionConfig(disabled) {
63
63
  const base = {
64
64
  id: disabled ? CONFIGURE_AGENTS_ACTION_ID + ".disabled" : CONFIGURE_AGENTS_ACTION_ID,
65
- title: ( localize2(6182, "Configure Custom Agents...")),
66
- shortTitle: ( localize(6183, "Custom Agents")),
65
+ title: ( localize2(6271, "Configure Custom Agents...")),
66
+ shortTitle: ( localize(6272, "Custom Agents")),
67
67
  icon: disabled ? Codicon.lock : Codicon.bookmark,
68
68
  f1: !disabled,
69
69
  precondition: disabled ? ( ContextKeyExpr.false()) : ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.Modes.agentModeDisabledByPolicy.negate()))),
@@ -77,7 +77,7 @@ function createManageAgentsActionConfig(disabled) {
77
77
  };
78
78
  return disabled ? {
79
79
  ...base,
80
- tooltip: ( localize(6181, "Managed by your organization"))
80
+ tooltip: ( localize(6270, "Managed by your organization"))
81
81
  } : base;
82
82
  }
83
83
  class ManageAgentsAction extends ConfigAgentActionImpl {
@@ -1,24 +1,27 @@
1
1
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
2
  import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions";
3
+ import { Target } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
3
4
  import { ITextEditorSelection } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor";
4
5
  /**
5
- * Optional callbacks for customizing the hook creation and opening behaviour.
6
+ * Optional callbacks and settings for customizing the hook creation and opening behaviour.
6
7
  * The agentic editor passes these to open hooks in the embedded editor and
7
8
  * track worktree files for auto-commit.
8
9
  */
9
- export interface IHookQuickPickCallbacks {
10
+ export interface IHookQuickPickOptions {
10
11
  /** Override how the hook file is opened. If not provided, uses editorService.openEditor. */
11
12
  readonly openEditor?: (resource: URI, options?: {
12
13
  selection?: ITextEditorSelection;
13
14
  }) => Promise<void>;
14
15
  /** Called after a new hook file is created on disk. */
15
16
  readonly onHookFileCreated?: (uri: URI) => void;
17
+ /** Filter the displayed hook types to those supported by the given target. */
18
+ readonly target?: Target;
16
19
  }
17
20
  /**
18
21
  * Shows the Configure Hooks quick pick UI, allowing the user to view,
19
22
  * open, or create hooks. Can be called from the action or slash command.
20
23
  */
21
- export declare function showConfigureHooksQuickPick(accessor: ServicesAccessor, callbacks?: IHookQuickPickCallbacks): Promise<void>;
24
+ export declare function showConfigureHooksQuickPick(accessor: ServicesAccessor, options?: IHookQuickPickOptions): Promise<void>;
22
25
  /**
23
26
  * Helper to register the `Manage Hooks` action.
24
27
  */