@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.
- package/index.d.ts +1 -1
- package/index.js +21 -5
- package/package.json +5 -5
- package/vscode/src/vs/base/common/defaultAccount.d.ts +69 -0
- package/vscode/src/vs/base/common/defaultAccount.js +12 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +91 -22
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +301 -68
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +24 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +89 -16
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +17 -5
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +73 -10
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +32 -6
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +32 -20
- package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.d.ts +37 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.js +15 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +242 -201
- package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +35 -0
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +106 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +38 -30
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +2 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +114 -4
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -10
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +52 -19
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +42 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +7 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +42 -41
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +6 -6
- package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
- package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +4 -3
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +4 -3
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +4 -2
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +15 -7
- package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.js +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +64 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +31 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +18 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +30 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +63 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +10 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +99 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +35 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +347 -326
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +1 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +113 -109
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +37 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +436 -134
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +52 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +93 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +73 -104
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +272 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +30 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +430 -185
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +44 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +480 -279
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.d.ts +138 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +221 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +1216 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +32 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +26 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +28 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +68 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +650 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +390 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +6 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +116 -182
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +61 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +106 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +25 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +629 -425
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +105 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +175 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +20 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +339 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +160 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +123 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +572 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +167 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +49 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +315 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +45 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +44 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +111 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +13 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +14 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +17 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +23 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +136 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +72 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +41 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +30 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +108 -45
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +65 -26
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +38 -11
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +165 -16
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +62 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +15 -21
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +18 -24
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +203 -180
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +35 -0
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +27 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +14 -49
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +35 -177
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +29 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +129 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +12 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +77 -70
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +232 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +83 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.js +243 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +0 -749
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -14
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +0 -17
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +0 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +0 -40
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +0 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +0 -638
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -131
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -363
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -306
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +0 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatStatusWidget.css +0 -57
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +0 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +0 -78
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +0 -77
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +0 -120
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +0 -242
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +0 -1701
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +0 -191
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +0 -728
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +0 -14
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
412
|
+
message: ( localize(6742, "Failed to update: {0}", failedNames.join(", "))),
|
|
392
413
|
actions: {
|
|
393
|
-
primary: [( new Action("showGitOutput", ( localize(
|
|
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(
|
|
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
|
-
|
|
448
|
+
6745,
|
|
428
449
|
"Trust Plugins from '{0}'?",
|
|
429
450
|
plugin.marketplaceReference.displayLabel
|
|
430
451
|
)),
|
|
431
452
|
detail: ( localize(
|
|
432
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
363
|
+
message: ( localize(6759, "Plugin '{0}' wants to run: {1}", pluginName, command)),
|
|
364
364
|
actions: {
|
|
365
|
-
primary: [( new Action("installPlugin", ( localize(
|
|
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(
|
|
376
|
-
detail: ( localize(
|
|
377
|
-
primaryButton: ( localize(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
86
|
+
message: ( localize(6767, "Install Plugin from '{0}'?", ref.displayLabel)),
|
|
87
87
|
detail: ( localize(
|
|
88
|
-
|
|
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(
|
|
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(
|
|
151
|
+
message: ( localize(6770, "Add Plugin Marketplace '{0}'?", ref.displayLabel)),
|
|
152
152
|
detail: ( localize(
|
|
153
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
39
|
-
tooltip: disabled ? ( localize(
|
|
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(
|
|
66
|
-
shortTitle: ( localize(
|
|
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(
|
|
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 '
|
|
24
|
-
import { getHookSourceFormat, HookSourceFormat, buildNewHookEntry } from '
|
|
25
|
-
import { getClaudeHookTypeName, resolveClaudeHookType } from '
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
333
|
-
picker.title = ( localize(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
477
|
-
picker.title = ( localize(
|
|
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
|
-
|
|
509
|
-
|
|
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 =
|
|
514
|
-
if (
|
|
515
|
-
const folderItems = (
|
|
516
|
-
|
|
517
|
-
relative:
|
|
518
|
-
})
|
|
519
|
-
|
|
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(
|
|
524
|
-
picker.title = ( localize(
|
|
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(
|
|
555
|
-
inputBox.placeholder = ( localize(
|
|
556
|
-
inputBox.title = ( localize(
|
|
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(
|
|
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(
|
|
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(
|
|
655
|
-
shortTitle: ( localize2(
|
|
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,
|