@codingame/monaco-vscode-chat-service-override 26.2.2 → 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 (356) hide show
  1. package/index.js +35 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
  4. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
  5. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
  6. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +89 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
  8. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
  9. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
  12. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  13. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  14. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
  15. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +24 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
  193. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  194. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +19 -1
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  218. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  219. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  220. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  221. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  222. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
  229. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  231. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  232. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  234. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  247. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
  248. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  251. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
  252. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  253. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
  255. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  256. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  257. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
  258. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
  259. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
  260. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
  261. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
  262. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
  263. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  264. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  265. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
  266. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  268. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  269. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  270. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -0
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
  297. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  300. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  301. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  302. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
  303. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
  304. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
  305. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  306. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  307. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  308. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  309. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  312. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  313. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +17 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +7 -1
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  351. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  352. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
  353. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  354. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
@@ -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
- 5691,
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(5692, "Configure Custom Agents...")),
39
- tooltip: disabled ? ( localize(5693, "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(5694, "Configure Custom Agents...")),
66
- shortTitle: ( localize(5695, "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(5693, "Managed by your organization"))
80
+ tooltip: ( localize(6270, "Managed by your organization"))
81
81
  } : base;
82
82
  }
83
83
  class ManageAgentsAction extends ConfigAgentActionImpl {
@@ -1,9 +1,27 @@
1
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
1
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";
4
+ import { ITextEditorSelection } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor";
5
+ /**
6
+ * Optional callbacks and settings for customizing the hook creation and opening behaviour.
7
+ * The agentic editor passes these to open hooks in the embedded editor and
8
+ * track worktree files for auto-commit.
9
+ */
10
+ export interface IHookQuickPickOptions {
11
+ /** Override how the hook file is opened. If not provided, uses editorService.openEditor. */
12
+ readonly openEditor?: (resource: URI, options?: {
13
+ selection?: ITextEditorSelection;
14
+ }) => Promise<void>;
15
+ /** Called after a new hook file is created on disk. */
16
+ readonly onHookFileCreated?: (uri: URI) => void;
17
+ /** Filter the displayed hook types to those supported by the given target. */
18
+ readonly target?: Target;
19
+ }
2
20
  /**
3
21
  * Shows the Configure Hooks quick pick UI, allowing the user to view,
4
22
  * open, or create hooks. Can be called from the action or slash command.
5
23
  */
6
- export declare function showConfigureHooksQuickPick(accessor: ServicesAccessor): Promise<void>;
24
+ export declare function showConfigureHooksQuickPick(accessor: ServicesAccessor, options?: IHookQuickPickOptions): Promise<void>;
7
25
  /**
8
26
  * Helper to register the `Manage Hooks` action.
9
27
  */