@codingame/monaco-vscode-chat-service-override 31.0.1 → 32.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 (341) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +21 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/base/common/defaultAccount.d.ts +69 -0
  5. package/vscode/src/vs/base/common/defaultAccount.js +12 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +91 -22
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +301 -68
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +24 -5
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +89 -16
  10. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +17 -5
  11. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +73 -10
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +32 -6
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +32 -20
  14. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.d.ts +37 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.js +15 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +242 -201
  17. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  18. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +35 -0
  19. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +106 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +38 -30
  21. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +2 -1
  22. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +114 -4
  23. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -10
  24. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +52 -19
  25. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +42 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +7 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +42 -41
  28. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +6 -6
  29. package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
  30. package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
  31. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +4 -3
  32. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +4 -3
  33. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +4 -2
  34. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +15 -7
  35. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.d.ts +19 -0
  36. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.js +17 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -10
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +64 -59
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +31 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +18 -9
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +16 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +30 -5
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +8 -7
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +27 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -20
  60. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +22 -22
  61. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.d.ts +12 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +171 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +4 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -10
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +28 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +99 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +2 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +11 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +9 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +63 -53
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +10 -7
  78. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -48
  84. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  85. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  86. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +8 -4
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +99 -39
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -30
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +78 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +38 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +35 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +347 -326
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +6 -2
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +1 -11
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +113 -109
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +37 -15
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +436 -134
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +2 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +52 -26
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +13 -5
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +23 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +60 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +25 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +93 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +73 -104
  112. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +272 -41
  113. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +12 -2
  114. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +30 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +430 -185
  116. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +5 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +44 -3
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +480 -279
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.d.ts +138 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +221 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +84 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +1216 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +2 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +32 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +26 -19
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +28 -25
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -24
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +68 -33
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +650 -6
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +29 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +390 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +11 -11
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +1 -7
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +6 -87
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +116 -182
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -39
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +61 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -13
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +20 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +106 -36
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +25 -7
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +629 -425
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +9 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +105 -29
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +175 -148
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +20 -33
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +9 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  188. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  190. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  191. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.d.ts +58 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +339 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +160 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +9 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +123 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +37 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +572 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +36 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +167 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +49 -7
  203. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +315 -19
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +45 -24
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +44 -40
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  218. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  219. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +9 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +111 -52
  221. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +3 -7
  222. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +13 -47
  223. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +3 -2
  224. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +4 -8
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +18 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +56 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -7
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +14 -52
  229. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +3 -1
  231. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +17 -2
  232. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +23 -12
  234. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +39 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +136 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +72 -0
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +56 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +7 -0
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +14 -1
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +41 -26
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +30 -12
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +2 -5
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +25 -6
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -2
  248. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +5 -4
  249. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -0
  250. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +108 -45
  251. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -3
  252. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +3 -1
  253. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +20 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +65 -26
  255. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  256. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +38 -11
  257. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +17 -1
  258. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +165 -16
  259. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +1 -0
  260. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +62 -1
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -1
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -3
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +15 -21
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -3
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +18 -24
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +4 -2
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +203 -180
  270. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  271. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +30 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +2 -1
  274. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +27 -2
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +14 -49
  277. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +0 -16
  278. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +35 -177
  279. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -8
  280. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -2
  281. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +2 -3
  282. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +4 -4
  283. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  284. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +13 -13
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +29 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +129 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -2
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +2 -1
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -6
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -4
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +12 -38
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +12 -7
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +77 -70
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +32 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +232 -0
  311. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +83 -0
  312. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.js +243 -0
  313. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +0 -749
  314. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -14
  315. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +0 -17
  316. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +0 -5
  317. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +0 -40
  318. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +0 -14
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +0 -61
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +0 -638
  321. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -131
  322. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -363
  323. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -24
  324. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -306
  325. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -23
  326. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +0 -97
  327. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatStatusWidget.css +0 -57
  328. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +0 -50
  329. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +0 -29
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +0 -50
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +0 -78
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +0 -77
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +0 -120
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -10
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +0 -23
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +0 -242
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +0 -1701
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +0 -191
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +0 -728
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +0 -14
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +0 -69
@@ -65,7 +65,7 @@ let PluginInstallService = class PluginInstallService {
65
65
  this._notificationService.notify({
66
66
  severity: Severity.Error,
67
67
  message: ( localize(
68
- 6489,
68
+ 6733,
69
69
  "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
70
70
  source
71
71
  ))
@@ -76,7 +76,7 @@ let PluginInstallService = class PluginInstallService {
76
76
  this._notificationService.notify({
77
77
  severity: Severity.Error,
78
78
  message: ( localize(
79
- 6490,
79
+ 6734,
80
80
  "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
81
81
  ))
82
82
  });
@@ -94,14 +94,14 @@ let PluginInstallService = class PluginInstallService {
94
94
  const reference = parseMarketplaceReference(source);
95
95
  if (!reference) {
96
96
  return localize(
97
- 6489,
97
+ 6733,
98
98
  "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
99
99
  source
100
100
  );
101
101
  }
102
102
  if (reference.kind === MarketplaceReferenceKind.LocalFileUri) {
103
103
  return localize(
104
- 6490,
104
+ 6734,
105
105
  "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
106
106
  );
107
107
  }
@@ -113,7 +113,7 @@ let PluginInstallService = class PluginInstallService {
113
113
  return {
114
114
  success: false,
115
115
  message: ( localize(
116
- 6489,
116
+ 6733,
117
117
  "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
118
118
  source
119
119
  ))
@@ -123,7 +123,7 @@ let PluginInstallService = class PluginInstallService {
123
123
  return {
124
124
  success: false,
125
125
  message: ( localize(
126
- 6490,
126
+ 6734,
127
127
  "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
128
128
  ))
129
129
  };
@@ -156,7 +156,7 @@ let PluginInstallService = class PluginInstallService {
156
156
  let repoDir;
157
157
  try {
158
158
  repoDir = await this._pluginRepositoryService.ensurePluginSource(tempPlugin, {
159
- progressTitle: ( localize(6491, "Cloning plugin source '{0}'...", reference.displayLabel)),
159
+ progressTitle: ( localize(6735, "Cloning plugin source '{0}'...", reference.displayLabel)),
160
160
  failureLabel: reference.displayLabel,
161
161
  marketplaceType: MarketplaceType.OpenPlugin
162
162
  });
@@ -165,7 +165,7 @@ let PluginInstallService = class PluginInstallService {
165
165
  return {
166
166
  success: false,
167
167
  message: ( localize(
168
- 6492,
168
+ 6736,
169
169
  "Failed to clone plugin source '{0}': {1}",
170
170
  reference.displayLabel,
171
171
  detail
@@ -176,16 +176,37 @@ let PluginInstallService = class PluginInstallService {
176
176
  if (!repoExists) {
177
177
  return {
178
178
  success: false,
179
- message: ( localize(6493, "Failed to clone plugin source '{0}'.", reference.displayLabel))
179
+ message: ( localize(6737, "Failed to clone plugin source '{0}'.", reference.displayLabel))
180
180
  };
181
181
  }
182
182
  const discoveredPlugins = await this._pluginMarketplaceService.readPluginsFromDirectory(repoDir, reference);
183
183
  if (discoveredPlugins.length === 0) {
184
+ const singlePlugin = await this._pluginMarketplaceService.readSinglePluginManifest(repoDir, reference);
185
+ if (singlePlugin) {
186
+ if (options?.plugin && options.plugin !== singlePlugin.name) {
187
+ return {
188
+ success: false,
189
+ message: ( localize(
190
+ 6738,
191
+ "Plugin '{0}' not found in '{1}'.",
192
+ options.plugin,
193
+ reference.displayLabel
194
+ ))
195
+ };
196
+ }
197
+ await this.installPlugin(singlePlugin);
198
+ return options?.plugin ? {
199
+ success: true,
200
+ matchedPlugin: singlePlugin
201
+ } : {
202
+ success: true
203
+ };
204
+ }
184
205
  void this._pluginRepositoryService.cleanupPluginSource(tempPlugin);
185
206
  return {
186
207
  success: false,
187
208
  message: ( localize(
188
- 6494,
209
+ 6739,
189
210
  "No plugins found in '{0}'. This does not appear to be a valid plugin marketplace.",
190
211
  reference.displayLabel
191
212
  ))
@@ -197,7 +218,7 @@ let PluginInstallService = class PluginInstallService {
197
218
  return {
198
219
  success: false,
199
220
  message: ( localize(
200
- 6495,
221
+ 6738,
201
222
  "Plugin '{0}' not found in '{1}'.",
202
223
  options.plugin,
203
224
  reference.displayLabel
@@ -224,7 +245,7 @@ let PluginInstallService = class PluginInstallService {
224
245
  plugin: p
225
246
  })));
226
247
  const selected = await this._quickInputService.pick(picks, {
227
- placeHolder: ( localize(6496, "Select a plugin to install from '{0}'", reference.displayLabel)),
248
+ placeHolder: ( localize(6740, "Select a plugin to install from '{0}'", reference.displayLabel)),
228
249
  canPickMany: false
229
250
  });
230
251
  if (!selected) {
@@ -382,15 +403,15 @@ let PluginInstallService = class PluginInstallService {
382
403
  } else {
383
404
  await this._progressService.withProgress({
384
405
  location: ProgressLocation.Notification,
385
- title: ( localize(6497, "Updating plugins..."))
406
+ title: ( localize(6741, "Updating plugins..."))
386
407
  }, doUpdate);
387
408
  }
388
409
  if (failedNames.length > 0) {
389
410
  this._notificationService.notify({
390
411
  severity: Severity.Error,
391
- message: ( localize(6498, "Failed to update: {0}", failedNames.join(", "))),
412
+ message: ( localize(6742, "Failed to update: {0}", failedNames.join(", "))),
392
413
  actions: {
393
- primary: [( new Action("showGitOutput", ( localize(6499, "Show Output")), undefined, true, () => {
414
+ primary: [( new Action("showGitOutput", ( localize(6743, "Show Output")), undefined, true, () => {
394
415
  this._commandService.executeCommand("git.showOutput");
395
416
  }))]
396
417
  }
@@ -399,7 +420,7 @@ let PluginInstallService = class PluginInstallService {
399
420
  this._pluginMarketplaceService.clearUpdatesAvailable();
400
421
  this._notificationService.notify({
401
422
  severity: Severity.Info,
402
- message: ( localize(6500, "Updated plugins: {0}", updatedNames.join(", ")))
423
+ message: ( localize(6744, "Updated plugins: {0}", updatedNames.join(", ")))
403
424
  });
404
425
  } else if (!token.isCancellationRequested) {
405
426
  this._pluginMarketplaceService.clearUpdatesAvailable();
@@ -424,16 +445,16 @@ let PluginInstallService = class PluginInstallService {
424
445
  } = await this._dialogService.confirm({
425
446
  type: "question",
426
447
  message: ( localize(
427
- 6501,
448
+ 6745,
428
449
  "Trust Plugins from '{0}'?",
429
450
  plugin.marketplaceReference.displayLabel
430
451
  )),
431
452
  detail: ( localize(
432
- 6502,
453
+ 6746,
433
454
  "Plugins can run code on your machine. Only install plugins from sources you trust.\n\nSource: {0}",
434
455
  plugin.marketplaceReference.rawValue
435
456
  )),
436
- primaryButton: ( localize(6503, "&&Trust")),
457
+ primaryButton: ( localize(6747, "&&Trust")),
437
458
  custom: {
438
459
  icon: Codicon.shield
439
460
  }
@@ -447,7 +468,7 @@ let PluginInstallService = class PluginInstallService {
447
468
  async _installRelativePathPlugin(plugin) {
448
469
  try {
449
470
  await this._pluginRepositoryService.ensureRepository(plugin.marketplaceReference, {
450
- progressTitle: ( localize(6504, "Installing plugin '{0}'...", plugin.name)),
471
+ progressTitle: ( localize(6748, "Installing plugin '{0}'...", plugin.name)),
451
472
  failureLabel: plugin.name,
452
473
  marketplaceType: plugin.marketplaceType
453
474
  });
@@ -461,7 +482,7 @@ let PluginInstallService = class PluginInstallService {
461
482
  this._notificationService.notify({
462
483
  severity: Severity.Error,
463
484
  message: ( localize(
464
- 6505,
485
+ 6749,
465
486
  "Plugin source directory '{0}' is invalid for repository '{1}'.",
466
487
  plugin.source,
467
488
  plugin.marketplace
@@ -474,7 +495,7 @@ let PluginInstallService = class PluginInstallService {
474
495
  this._notificationService.notify({
475
496
  severity: Severity.Error,
476
497
  message: ( localize(
477
- 6506,
498
+ 6750,
478
499
  "Plugin source directory '{0}' not found in repository '{1}'.",
479
500
  plugin.source,
480
501
  plugin.marketplace
@@ -489,7 +510,7 @@ let PluginInstallService = class PluginInstallService {
489
510
  let pluginDir;
490
511
  try {
491
512
  pluginDir = await this._pluginRepositoryService.ensurePluginSource(plugin, {
492
- progressTitle: ( localize(6504, "Installing plugin '{0}'...", plugin.name)),
513
+ progressTitle: ( localize(6748, "Installing plugin '{0}'...", plugin.name)),
493
514
  failureLabel: plugin.name,
494
515
  marketplaceType: plugin.marketplaceType
495
516
  });
@@ -501,7 +522,7 @@ let PluginInstallService = class PluginInstallService {
501
522
  this._notificationService.notify({
502
523
  severity: Severity.Error,
503
524
  message: ( localize(
504
- 6507,
525
+ 6751,
505
526
  "Plugin source '{0}' not found after cloning.",
506
527
  repo.getLabel(plugin.sourceDescriptor)
507
528
  ))
@@ -76,7 +76,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
76
76
  await this._checkoutRevision(repoDir, descriptor, options?.failureLabel ?? label);
77
77
  return this.getInstallUri(cacheRoot, descriptor);
78
78
  }
79
- const progressTitle = options?.progressTitle ?? ( localize(6508, "Cloning plugin source '{0}'...", label));
79
+ const progressTitle = options?.progressTitle ?? ( localize(6752, "Cloning plugin source '{0}'...", label));
80
80
  const failureLabel = options?.failureLabel ?? label;
81
81
  const ref = descriptor.ref;
82
82
  await this._cloneRepository(repoDir, this._cloneUrl(descriptor), progressTitle, failureLabel, ref);
@@ -118,7 +118,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
118
118
  try {
119
119
  return await this._progressService.withProgress({
120
120
  location: ProgressLocation.Notification,
121
- title: ( localize(6509, "Updating plugin '{0}'...", updateLabel)),
121
+ title: ( localize(6753, "Updating plugin '{0}'...", updateLabel)),
122
122
  cancellable: true
123
123
  }, () => doUpdate(cts), () => cts.dispose(true));
124
124
  } finally {
@@ -130,7 +130,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
130
130
  this._notificationService.notify({
131
131
  severity: Severity.Error,
132
132
  message: ( localize(
133
- 6510,
133
+ 6754,
134
134
  "Failed to update plugin '{0}': {1}",
135
135
  failureLabel,
136
136
  err?.message ?? String(err)
@@ -156,7 +156,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
156
156
  this._notificationService.notify({
157
157
  severity: Severity.Error,
158
158
  message: ( localize(
159
- 6511,
159
+ 6755,
160
160
  "Failed to install plugin '{0}': {1}",
161
161
  failureLabel,
162
162
  err?.message ?? String(err)
@@ -183,7 +183,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
183
183
  this._notificationService.notify({
184
184
  severity: Severity.Error,
185
185
  message: ( localize(
186
- 6512,
186
+ 6756,
187
187
  "Failed to checkout plugin '{0}' to requested revision: {1}",
188
188
  failureLabel,
189
189
  err?.message ?? String(err)
@@ -329,7 +329,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
329
329
  if (!confirmed) {
330
330
  return undefined;
331
331
  }
332
- const progressTitle = ( localize(6513, "Installing {0} plugin '{1}'...", this._managerName, plugin.name));
332
+ const progressTitle = ( localize(6757, "Installing {0} plugin '{1}'...", this._managerName, plugin.name));
333
333
  const {
334
334
  success,
335
335
  terminal
@@ -342,7 +342,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
342
342
  this._notificationService.notify({
343
343
  severity: Severity.Error,
344
344
  message: ( localize(
345
- 6514,
345
+ 6758,
346
346
  "{0} package '{1}' was not found after installation.",
347
347
  this._managerName,
348
348
  this.getLabel(plugin.sourceDescriptor)
@@ -360,9 +360,9 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
360
360
  return (new Promise(resolve => {
361
361
  const n = this._notificationService.notify({
362
362
  severity: Severity.Info,
363
- message: ( localize(6515, "Plugin '{0}' wants to run: {1}", pluginName, command)),
363
+ message: ( localize(6759, "Plugin '{0}' wants to run: {1}", pluginName, command)),
364
364
  actions: {
365
- primary: [( new Action("installPlugin", ( localize(6516, "Install")), undefined, true, async () => resolve(true)))]
365
+ primary: [( new Action("installPlugin", ( localize(6760, "Install")), undefined, true, async () => resolve(true)))]
366
366
  }
367
367
  });
368
368
  Event.once(n.onDidClose)(() => resolve(false));
@@ -372,9 +372,9 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
372
372
  confirmed
373
373
  } = await this._dialogService.confirm({
374
374
  type: "question",
375
- message: ( localize(6517, "Install Plugin '{0}'?", pluginName)),
376
- detail: ( localize(6518, "This will run the following command in a terminal:\n\n{0}", command)),
377
- primaryButton: ( localize(6519, "&&Install"))
375
+ message: ( localize(6761, "Install Plugin '{0}'?", pluginName)),
376
+ detail: ( localize(6762, "This will run the following command in a terminal:\n\n{0}", command)),
377
+ primaryButton: ( localize(6763, "&&Install"))
378
378
  });
379
379
  return confirmed;
380
380
  }
@@ -388,7 +388,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
388
388
  }, async () => {
389
389
  terminal = await this._terminalService.createTerminal({
390
390
  config: {
391
- name: ( localize(6520, "Plugin Install")),
391
+ name: ( localize(6764, "Plugin Install")),
392
392
  forceShellIntegration: true,
393
393
  isTransient: true,
394
394
  isFeatureTerminal: true
@@ -400,7 +400,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
400
400
  await terminal.runCommand(command, true);
401
401
  const exitCode = await commandResultPromise;
402
402
  if (exitCode !== 0) {
403
- throw ( new Error(( localize(6521, "Command exited with code {0}", exitCode))));
403
+ throw ( new Error(( localize(6765, "Command exited with code {0}", exitCode))));
404
404
  }
405
405
  });
406
406
  return {
@@ -412,7 +412,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
412
412
  this._notificationService.notify({
413
413
  severity: Severity.Error,
414
414
  message: ( localize(
415
- 6522,
415
+ 6766,
416
416
  "Plugin installation command failed: {0}",
417
417
  err?.message ?? String(err)
418
418
  ))
@@ -83,13 +83,13 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
83
83
  confirmed
84
84
  } = await this._dialogService.confirm({
85
85
  type: "question",
86
- message: ( localize(6523, "Install Plugin from '{0}'?", ref.displayLabel)),
86
+ message: ( localize(6767, "Install Plugin from '{0}'?", ref.displayLabel)),
87
87
  detail: ( localize(
88
- 6524,
88
+ 6768,
89
89
  "An external application wants to install a plugin from this source. Plugins can run code on your machine. Only install plugins from sources you trust.\n\nSource: {0}",
90
90
  ref.rawValue
91
91
  )),
92
- primaryButton: ( localize(6525, "&&Install")),
92
+ primaryButton: ( localize(6769, "&&Install")),
93
93
  custom: {
94
94
  icon: Codicon.shield
95
95
  }
@@ -148,13 +148,13 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
148
148
  confirmed
149
149
  } = await this._dialogService.confirm({
150
150
  type: "question",
151
- message: ( localize(6526, "Add Plugin Marketplace '{0}'?", ref.displayLabel)),
151
+ message: ( localize(6770, "Add Plugin Marketplace '{0}'?", ref.displayLabel)),
152
152
  detail: ( localize(
153
- 6527,
153
+ 6771,
154
154
  "An external application wants to add a plugin marketplace. Plugins from this marketplace will appear in the plugin catalog and can be installed.\n\nSource: {0}",
155
155
  ref.rawValue
156
156
  )),
157
- primaryButton: ( localize(6528, "&&Add Marketplace")),
157
+ primaryButton: ( localize(6772, "&&Add Marketplace")),
158
158
  custom: {
159
159
  icon: Codicon.shield
160
160
  }
@@ -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
- 6535,
20
+ 6779,
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(6536, "Configure Custom Agents...")),
39
- tooltip: disabled ? ( localize(6537, "Managed by your organization")) : undefined,
38
+ title: ( localize2(6780, "Configure Custom Agents...")),
39
+ tooltip: disabled ? ( localize(6781, "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(6538, "Configure Custom Agents...")),
66
- shortTitle: ( localize(6539, "Custom Agents")),
65
+ title: ( localize2(6782, "Configure Custom Agents...")),
66
+ shortTitle: ( localize(6783, "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(6537, "Managed by your organization"))
80
+ tooltip: ( localize(6781, "Managed by your organization"))
81
81
  } : base;
82
82
  }
83
83
  class ManageAgentsAction extends ConfigAgentActionImpl {
@@ -14,15 +14,15 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
14
14
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
15
15
  import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
16
16
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
17
- import { Target, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
17
+ import { Target, PromptsType, getSourceDescription } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
18
18
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
19
19
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
20
20
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
21
21
  import { HOOKS_BY_TARGET, HOOK_METADATA } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
22
22
  import { formatHookCommandLabel, getEffectiveCommandFieldKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
23
- import { resolveCopilotCliHookType, getCopilotCliHookTypeName } from '../../common/promptSyntax/hookCopilotCliCompat.js';
24
- import { getHookSourceFormat, HookSourceFormat, buildNewHookEntry } from '../../common/promptSyntax/hookCompatibility.js';
25
- import { getClaudeHookTypeName, resolveClaudeHookType } from '../../common/promptSyntax/hookClaudeCompat.js';
23
+ import { resolveCopilotCliHookType, getCopilotCliHookTypeName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat';
24
+ import { getHookSourceFormat, HookSourceFormat, buildNewHookEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility';
25
+ import { getClaudeHookTypeName, resolveClaudeHookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat';
26
26
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
27
27
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
28
28
  import { findHookCommandSelection, parseAllHookFiles, findHookCommandInYaml } from './hookUtils.js';
@@ -74,7 +74,7 @@ async function addHookToFile(
74
74
  }
75
75
  } catch {
76
76
  notificationService.error(( localize(
77
- 6540,
77
+ 6784,
78
78
  "Failed to parse existing hooks file. Please fix the JSON syntax errors and try again."
79
79
  )));
80
80
  await editorService.openEditor({
@@ -157,7 +157,7 @@ async function addHookToFile(
157
157
  range: ( new Range(1, 1, Number.MAX_SAFE_INTEGER, 1)),
158
158
  text: jsonContent
159
159
  }))], {
160
- label: ( localize(6541, "Add Hook"))
160
+ label: ( localize(6785, "Add Hook"))
161
161
  });
162
162
  const selection = findHookCommandSelection(jsonContent, keyToUse, newHookIndex, "command");
163
163
  await editorService.openEditor({
@@ -182,7 +182,7 @@ async function addHookToFile(
182
182
  range: ( new Range(1, 1, Number.MAX_SAFE_INTEGER, 1)),
183
183
  text: jsonContent
184
184
  }))], {
185
- label: ( localize(6541, "Add Hook"))
185
+ label: ( localize(6785, "Add Hook"))
186
186
  });
187
187
  }
188
188
  const selection = findHookCommandSelection(jsonContent, keyToUse, newHookIndex, "command");
@@ -308,29 +308,29 @@ async function showConfigureHooksQuickPick(accessor, options) {
308
308
  if (shared.length > 0) {
309
309
  pickerItems.push({
310
310
  type: "separator",
311
- label: ( localize(6542, "Local/Copilot CLI Agents"))
311
+ label: ( localize(6786, "Local/Copilot CLI Agents"))
312
312
  });
313
313
  pickerItems.push(...( shared.map(makeItem)));
314
314
  }
315
315
  if (vscodeOnly.length > 0) {
316
316
  pickerItems.push({
317
317
  type: "separator",
318
- label: ( localize(6543, "Local Agents"))
318
+ label: ( localize(6787, "Local Agents"))
319
319
  });
320
320
  pickerItems.push(...( vscodeOnly.map(makeItem)));
321
321
  }
322
322
  if (copilotOnly.length > 0) {
323
323
  pickerItems.push({
324
324
  type: "separator",
325
- label: ( localize(6544, "Copilot CLI Agents"))
325
+ label: ( localize(6788, "Copilot CLI Agents"))
326
326
  });
327
327
  pickerItems.push(...( copilotOnly.map(makeItem)));
328
328
  }
329
329
  }
330
330
  picker.items = pickerItems;
331
331
  picker.value = "";
332
- picker.placeholder = ( localize(6545, "Select a lifecycle event"));
333
- picker.title = ( localize(6546, "Hooks"));
332
+ picker.placeholder = ( localize(6789, "Select a lifecycle event"));
333
+ picker.title = ( localize(6790, "Hooks"));
334
334
  picker.buttons = [];
335
335
  const result = await awaitPick(picker, backButton);
336
336
  if (!result || result === "back") {
@@ -348,14 +348,14 @@ async function showConfigureHooksQuickPick(accessor, options) {
348
348
  const agentHooks = hooksOfType.filter(h => h.agentName);
349
349
  const hookItems = [];
350
350
  hookItems.push({
351
- label: `$(plus) ${( localize(6547, "Add new hook..."))}`,
351
+ label: `$(plus) ${( localize(6791, "Add new hook..."))}`,
352
352
  isAddNewHook: true,
353
353
  alwaysShow: true
354
354
  });
355
355
  if (fileHooks.length > 0) {
356
356
  hookItems.push({
357
357
  type: "separator",
358
- label: ( localize(6548, "Existing Hooks"))
358
+ label: ( localize(6792, "Existing Hooks"))
359
359
  });
360
360
  for (const entry of fileHooks) {
361
361
  const description = labelService.getUriLabel(entry.fileUri, {
@@ -373,7 +373,7 @@ async function showConfigureHooksQuickPick(accessor, options) {
373
373
  for (const agentName of agentNames) {
374
374
  hookItems.push({
375
375
  type: "separator",
376
- label: ( localize(6549, "Agent: {0}", agentName))
376
+ label: ( localize(6793, "Agent: {0}", agentName))
377
377
  });
378
378
  for (const entry of agentHooks.filter(h => h.agentName === agentName)) {
379
379
  const description = labelService.getUriLabel(entry.fileUri, {
@@ -392,7 +392,7 @@ async function showConfigureHooksQuickPick(accessor, options) {
392
392
  } else {
393
393
  picker.items = hookItems;
394
394
  picker.value = "";
395
- picker.placeholder = ( localize(6550, "Select a hook to open or add a new one"));
395
+ picker.placeholder = ( localize(6794, "Select a hook to open or add a new one"));
396
396
  picker.title = selectedHookType.hookTypeMeta.label;
397
397
  picker.buttons = [backButton];
398
398
  const result = await awaitPick(picker, backButton);
@@ -449,14 +449,14 @@ async function showConfigureHooksQuickPick(accessor, options) {
449
449
  const hookFiles = await promptsService.listPromptFilesForStorage(PromptsType.hook, PromptsStorage.local, CancellationToken.None);
450
450
  const fileItems = [];
451
451
  fileItems.push({
452
- label: `$(new-file) ${( localize(6551, "Create new hook config file..."))}`,
452
+ label: `$(new-file) ${( localize(6795, "Create new hook config file..."))}`,
453
453
  isCreateNewFile: true,
454
454
  alwaysShow: true
455
455
  });
456
456
  if (hookFiles.length > 0) {
457
457
  fileItems.push({
458
458
  type: "separator",
459
- label: ( localize(6552, "Existing Hook Files"))
459
+ label: ( localize(6796, "Existing Hook Files"))
460
460
  });
461
461
  for (const hookFile of hookFiles) {
462
462
  const relativePath = labelService.getUriLabel(hookFile.uri, {
@@ -473,8 +473,8 @@ async function showConfigureHooksQuickPick(accessor, options) {
473
473
  } else {
474
474
  picker.items = fileItems;
475
475
  picker.value = "";
476
- picker.placeholder = ( localize(6553, "Select a hook file or create a new one"));
477
- picker.title = ( localize(6554, "Add Hook"));
476
+ picker.placeholder = ( localize(6797, "Select a hook file or create a new one"));
477
+ picker.title = ( localize(6798, "Add Hook"));
478
478
  picker.buttons = [backButton];
479
479
  const result = await awaitPick(picker, backButton);
480
480
  if (result === "back") {
@@ -505,23 +505,27 @@ async function showConfigureHooksQuickPick(accessor, options) {
505
505
  case Step.SelectFolder:
506
506
  {
507
507
  const allFolders = await promptsService.getSourceFolders(PromptsType.hook);
508
- const localFolders = allFolders.filter(f => f.storage === PromptsStorage.local);
509
- if (localFolders.length === 0) {
510
- notificationService.error(( localize(6555, "Please open a workspace folder to configure hooks.")));
508
+ if (allFolders.length === 0) {
509
+ notificationService.error(( localize(6799, "Please open a workspace folder to configure hooks.")));
511
510
  return;
512
511
  }
513
- selectedFolder = localFolders[0];
514
- if (localFolders.length > 1) {
515
- const folderItems = ( localFolders.map(folder => ({
516
- label: labelService.getUriLabel(folder.uri, {
517
- relative: true
518
- }),
519
- folder
520
- })));
512
+ selectedFolder = allFolders[0];
513
+ if (allFolders.length > 1) {
514
+ const folderItems = ( allFolders.map((folder, index) => {
515
+ const basePath = labelService.getUriLabel(folder.uri, {
516
+ relative: folder.storage === PromptsStorage.local
517
+ });
518
+ const label = index === 0 ? ( localize(6800, "{0} (default)", basePath)) : basePath;
519
+ return {
520
+ label,
521
+ description: folder.source ? getSourceDescription(folder.source) : undefined,
522
+ folder
523
+ };
524
+ }));
521
525
  picker.items = folderItems;
522
526
  picker.value = "";
523
- picker.placeholder = ( localize(6556, "Select a location for the hook file"));
524
- picker.title = ( localize(6557, "Hook File Location"));
527
+ picker.placeholder = ( localize(6801, "Select a location for the hook file"));
528
+ picker.title = ( localize(6802, "Hook File Location"));
525
529
  picker.buttons = [backButton];
526
530
  const result = await awaitPick(picker, backButton);
527
531
  if (result === "back") {
@@ -551,20 +555,20 @@ async function showConfigureHooksQuickPick(accessor, options) {
551
555
  };
552
556
  const inputDisposables = ( new DisposableStore());
553
557
  const inputBox = inputDisposables.add(quickInputService.createInputBox());
554
- inputBox.prompt = ( localize(6558, "Enter hook file name"));
555
- inputBox.placeholder = ( localize(6559, "e.g., hooks, diagnostics, security"));
556
- inputBox.title = ( localize(6560, "Hook File Name"));
558
+ inputBox.prompt = ( localize(6803, "Enter hook file name"));
559
+ inputBox.placeholder = ( localize(6804, "e.g., hooks, diagnostics, security"));
560
+ inputBox.title = ( localize(6805, "Hook File Name"));
557
561
  inputBox.buttons = [backButton];
558
562
  inputBox.ignoreFocusOut = true;
559
563
  inputDisposables.add(inputBox.onDidAccept(async () => {
560
564
  const value = inputBox.value;
561
565
  if (!value || !value.trim()) {
562
- inputBox.validationMessage = ( localize(6561, "File name is required"));
566
+ inputBox.validationMessage = ( localize(6806, "File name is required"));
563
567
  return;
564
568
  }
565
569
  const name = value.trim();
566
570
  if (/[/\\:*?"<>|]/.test(name)) {
567
- inputBox.validationMessage = ( localize(6562, "File name contains invalid characters"));
571
+ inputBox.validationMessage = ( localize(6807, "File name contains invalid characters"));
568
572
  return;
569
573
  }
570
574
  done(name);
@@ -651,8 +655,8 @@ class ManageHooksAction extends Action2 {
651
655
  constructor() {
652
656
  super({
653
657
  id: CONFIGURE_HOOKS_ACTION_ID,
654
- title: ( localize2(6563, "Configure Hooks...")),
655
- shortTitle: ( localize2(6564, "Hooks")),
658
+ title: ( localize2(6808, "Configure Hooks...")),
659
+ shortTitle: ( localize2(6809, "Hooks")),
656
660
  icon: Codicon.zap,
657
661
  f1: true,
658
662
  precondition: ChatContextKeys.enabled,