@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
|
@@ -8,13 +8,13 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
8
8
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
9
9
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
10
10
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
11
|
+
import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
|
|
11
12
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
12
13
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
13
14
|
import { IAgentPluginRepositoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service';
|
|
14
15
|
import { IPluginInstallService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service';
|
|
15
16
|
import '../../common/plugins/pluginMarketplaceService.js';
|
|
16
|
-
import {
|
|
17
|
-
import { InstalledAgentPluginsViewId } from '../agentPluginsView.js';
|
|
17
|
+
import { InstalledAgentPluginsViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
18
18
|
import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
19
19
|
import { parseMarketplaceReference, parseMarketplaceReferences, MarketplaceReferenceKind } from '../../common/plugins/marketplaceReference.js';
|
|
20
20
|
|
|
@@ -25,7 +25,7 @@ class ManagePluginsAction extends Action2 {
|
|
|
25
25
|
constructor() {
|
|
26
26
|
super({
|
|
27
27
|
id: ManagePluginsAction.ID,
|
|
28
|
-
title: ( localize2(
|
|
28
|
+
title: ( localize2(5042, "Plugins")),
|
|
29
29
|
category: CHAT_CATEGORY,
|
|
30
30
|
precondition: ChatContextKeys.enabled,
|
|
31
31
|
menu: [{
|
|
@@ -46,7 +46,7 @@ class InstallFromSourceAction extends Action2 {
|
|
|
46
46
|
constructor() {
|
|
47
47
|
super({
|
|
48
48
|
id: InstallFromSourceAction.ID,
|
|
49
|
-
title: ( localize2(
|
|
49
|
+
title: ( localize2(5043, "Install Plugin from Source")),
|
|
50
50
|
category: CHAT_CATEGORY,
|
|
51
51
|
icon: Codicon.add,
|
|
52
52
|
precondition: ChatContextKeys.enabled,
|
|
@@ -62,17 +62,21 @@ class InstallFromSourceAction extends Action2 {
|
|
|
62
62
|
async run(accessor) {
|
|
63
63
|
const quickInputService = accessor.get(IQuickInputService);
|
|
64
64
|
const pluginInstallService = accessor.get(IPluginInstallService);
|
|
65
|
+
const extensionsWorkbenchService = accessor.get(IExtensionsWorkbenchService);
|
|
65
66
|
const store = ( new DisposableStore());
|
|
66
67
|
const inputBox = store.add(quickInputService.createInputBox());
|
|
67
|
-
inputBox.placeholder = ( localize(
|
|
68
|
-
inputBox.prompt = ( localize(
|
|
68
|
+
inputBox.placeholder = ( localize(5044, "owner/repo or git clone URL"));
|
|
69
|
+
inputBox.prompt = ( localize(5045, "Enter a GitHub repository or git URL to install a plugin from"));
|
|
69
70
|
inputBox.ignoreFocusOut = true;
|
|
70
71
|
inputBox.show();
|
|
71
72
|
store.add(inputBox.onDidChangeValue(() => {
|
|
72
73
|
inputBox.validationMessage = undefined;
|
|
73
74
|
}));
|
|
75
|
+
let installing = false;
|
|
74
76
|
store.add(inputBox.onDidHide(() => {
|
|
75
|
-
|
|
77
|
+
if (!installing) {
|
|
78
|
+
store.dispose();
|
|
79
|
+
}
|
|
76
80
|
}));
|
|
77
81
|
store.add(inputBox.onDidAccept(async () => {
|
|
78
82
|
const source = inputBox.value.trim();
|
|
@@ -86,6 +90,7 @@ class InstallFromSourceAction extends Action2 {
|
|
|
86
90
|
}
|
|
87
91
|
inputBox.busy = true;
|
|
88
92
|
inputBox.enabled = false;
|
|
93
|
+
installing = true;
|
|
89
94
|
try {
|
|
90
95
|
inputBox.hide();
|
|
91
96
|
const result = await pluginInstallService.installPluginFromValidatedSource(source);
|
|
@@ -97,12 +102,16 @@ class InstallFromSourceAction extends Action2 {
|
|
|
97
102
|
} else {
|
|
98
103
|
const ref = parseMarketplaceReference(source);
|
|
99
104
|
if (ref) {
|
|
100
|
-
|
|
105
|
+
extensionsWorkbenchService.openSearch(`@agentPlugins ${ref.displayLabel}`);
|
|
101
106
|
}
|
|
107
|
+
store.dispose();
|
|
102
108
|
}
|
|
103
109
|
} finally {
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
installing = false;
|
|
111
|
+
if (!store.isDisposed) {
|
|
112
|
+
inputBox.busy = false;
|
|
113
|
+
inputBox.enabled = true;
|
|
114
|
+
}
|
|
106
115
|
}
|
|
107
116
|
}));
|
|
108
117
|
}
|
|
@@ -114,7 +123,7 @@ class ManagePluginMarketplacesAction extends Action2 {
|
|
|
114
123
|
constructor() {
|
|
115
124
|
super({
|
|
116
125
|
id: ManagePluginMarketplacesAction.ID,
|
|
117
|
-
title: ( localize2(
|
|
126
|
+
title: ( localize2(5046, "Manage Plugin Marketplaces")),
|
|
118
127
|
icon: Codicon.globe,
|
|
119
128
|
category: CHAT_CATEGORY,
|
|
120
129
|
precondition: ChatContextKeys.enabled,
|
|
@@ -138,17 +147,17 @@ class ManagePluginMarketplacesAction extends Action2 {
|
|
|
138
147
|
const refs = parseMarketplaceReferences(configuredRefs);
|
|
139
148
|
if (refs.length === 0) {
|
|
140
149
|
quickInputService.pick([], {
|
|
141
|
-
placeHolder: ( localize(
|
|
150
|
+
placeHolder: ( localize(5047, "No plugin marketplaces configured"))
|
|
142
151
|
});
|
|
143
152
|
return;
|
|
144
153
|
}
|
|
145
154
|
const items = ( refs.map(ref => ({
|
|
146
155
|
label: ref.displayLabel,
|
|
147
|
-
description: ref.kind === MarketplaceReferenceKind.LocalFileUri ? ( localize(
|
|
156
|
+
description: ref.kind === MarketplaceReferenceKind.LocalFileUri ? ( localize(5048, "Local")) : ref.cloneUrl,
|
|
148
157
|
reference: ref
|
|
149
158
|
})));
|
|
150
159
|
const selected = await quickInputService.pick(items, {
|
|
151
|
-
placeHolder: ( localize(
|
|
160
|
+
placeHolder: ( localize(5049, "Select a plugin marketplace"))
|
|
152
161
|
});
|
|
153
162
|
if (!selected) {
|
|
154
163
|
return;
|
|
@@ -156,22 +165,22 @@ class ManagePluginMarketplacesAction extends Action2 {
|
|
|
156
165
|
const ref = selected.reference;
|
|
157
166
|
const actionItems = [{
|
|
158
167
|
id: "showPlugins",
|
|
159
|
-
label: ( localize(
|
|
168
|
+
label: ( localize(5050, "Show Plugins"))
|
|
160
169
|
}];
|
|
161
170
|
const repoUri = pluginRepositoryService.getRepositoryUri(ref);
|
|
162
171
|
const repoExists = await fileService.exists(repoUri);
|
|
163
172
|
if (repoExists) {
|
|
164
173
|
actionItems.push({
|
|
165
174
|
id: "openDirectory",
|
|
166
|
-
label: ( localize(
|
|
175
|
+
label: ( localize(5051, "Open Folder"))
|
|
167
176
|
});
|
|
168
177
|
}
|
|
169
178
|
actionItems.push({
|
|
170
179
|
id: "removeMarketplace",
|
|
171
|
-
label: ( localize(
|
|
180
|
+
label: ( localize(5052, "Remove Marketplace"))
|
|
172
181
|
});
|
|
173
182
|
const action = await quickInputService.pick(actionItems, {
|
|
174
|
-
placeHolder: ( localize(
|
|
183
|
+
placeHolder: ( localize(5053, "Select an action for '{0}'", ref.displayLabel))
|
|
175
184
|
});
|
|
176
185
|
if (!action) {
|
|
177
186
|
return;
|
|
@@ -13,7 +13,7 @@ function registerChatPromptNavigationActions() {
|
|
|
13
13
|
constructor() {
|
|
14
14
|
super({
|
|
15
15
|
id: "workbench.action.chat.nextUserPrompt",
|
|
16
|
-
title: ( localize2(
|
|
16
|
+
title: ( localize2(5054, "Next User Prompt")),
|
|
17
17
|
keybinding: {
|
|
18
18
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.DownArrow,
|
|
19
19
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -32,7 +32,7 @@ function registerChatPromptNavigationActions() {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
34
|
id: "workbench.action.chat.previousUserPrompt",
|
|
35
|
-
title: ( localize2(
|
|
35
|
+
title: ( localize2(5055, "Previous User Prompt")),
|
|
36
36
|
keybinding: {
|
|
37
37
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.UpArrow,
|
|
38
38
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -32,8 +32,8 @@ class ChatQueueMessageAction extends Action2 {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
34
|
id: ChatQueueMessageAction.ID,
|
|
35
|
-
title: ( localize2(
|
|
36
|
-
tooltip: ( localize(
|
|
35
|
+
title: ( localize2(5056, "Add to Queue")),
|
|
36
|
+
tooltip: ( localize(5057, "Queue this message to send after the current request completes")),
|
|
37
37
|
icon: Codicon.add,
|
|
38
38
|
f1: false,
|
|
39
39
|
category: CHAT_CATEGORY,
|
|
@@ -79,9 +79,9 @@ class ChatSteerWithMessageAction extends Action2 {
|
|
|
79
79
|
constructor() {
|
|
80
80
|
super({
|
|
81
81
|
id: ChatSteerWithMessageAction.ID,
|
|
82
|
-
title: ( localize2(
|
|
82
|
+
title: ( localize2(5058, "Steer with Message")),
|
|
83
83
|
tooltip: ( localize(
|
|
84
|
-
|
|
84
|
+
5059,
|
|
85
85
|
"Send this message at the next opportunity, signaling the current request to yield"
|
|
86
86
|
)),
|
|
87
87
|
icon: Codicon.arrowUp,
|
|
@@ -129,7 +129,7 @@ class ChatRemovePendingRequestAction extends Action2 {
|
|
|
129
129
|
constructor() {
|
|
130
130
|
super({
|
|
131
131
|
id: ChatRemovePendingRequestAction.ID,
|
|
132
|
-
title: ( localize2(
|
|
132
|
+
title: ( localize2(5060, "Remove from Queue")),
|
|
133
133
|
icon: Codicon.close,
|
|
134
134
|
f1: false,
|
|
135
135
|
category: CHAT_CATEGORY,
|
|
@@ -161,7 +161,7 @@ class ChatEditPendingRequestAction extends Action2 {
|
|
|
161
161
|
constructor() {
|
|
162
162
|
super({
|
|
163
163
|
id: ChatEditPendingRequestAction.ID,
|
|
164
|
-
title: ( localize2(
|
|
164
|
+
title: ( localize2(5061, "Edit")),
|
|
165
165
|
icon: Codicon.edit,
|
|
166
166
|
f1: false,
|
|
167
167
|
category: CHAT_CATEGORY,
|
|
@@ -195,7 +195,7 @@ class ChatSendPendingImmediatelyAction extends Action2 {
|
|
|
195
195
|
constructor() {
|
|
196
196
|
super({
|
|
197
197
|
id: ChatSendPendingImmediatelyAction.ID,
|
|
198
|
-
title: ( localize2(
|
|
198
|
+
title: ( localize2(5062, "Send Immediately")),
|
|
199
199
|
icon: Codicon.arrowUp,
|
|
200
200
|
f1: false,
|
|
201
201
|
category: CHAT_CATEGORY,
|
|
@@ -244,7 +244,7 @@ class ChatRemoveAllPendingRequestsAction extends Action2 {
|
|
|
244
244
|
constructor() {
|
|
245
245
|
super({
|
|
246
246
|
id: ChatRemoveAllPendingRequestsAction.ID,
|
|
247
|
-
title: ( localize2(
|
|
247
|
+
title: ( localize2(5063, "Remove All Queued")),
|
|
248
248
|
icon: Codicon.clearAll,
|
|
249
249
|
f1: false,
|
|
250
250
|
category: CHAT_CATEGORY,
|
|
@@ -280,7 +280,7 @@ function registerChatQueueActions() {
|
|
|
280
280
|
MenuRegistry.appendMenuItem(MenuId.ChatExecuteQueue, {
|
|
281
281
|
command: {
|
|
282
282
|
id: ChatQueueMessageAction.ID,
|
|
283
|
-
title: ( localize2(
|
|
283
|
+
title: ( localize2(5056, "Add to Queue")),
|
|
284
284
|
icon: Codicon.add
|
|
285
285
|
},
|
|
286
286
|
group: "navigation",
|
|
@@ -289,7 +289,7 @@ function registerChatQueueActions() {
|
|
|
289
289
|
MenuRegistry.appendMenuItem(MenuId.ChatExecuteQueue, {
|
|
290
290
|
command: {
|
|
291
291
|
id: ChatSteerWithMessageAction.ID,
|
|
292
|
-
title: ( localize2(
|
|
292
|
+
title: ( localize2(5058, "Steer with Message")),
|
|
293
293
|
icon: Codicon.arrowUp
|
|
294
294
|
},
|
|
295
295
|
group: "navigation",
|
|
@@ -297,7 +297,7 @@ function registerChatQueueActions() {
|
|
|
297
297
|
});
|
|
298
298
|
MenuRegistry.appendMenuItem(MenuId.ChatExecute, {
|
|
299
299
|
submenu: MenuId.ChatExecuteQueue,
|
|
300
|
-
title: ( localize2(
|
|
300
|
+
title: ( localize2(5064, "Queue")),
|
|
301
301
|
icon: Codicon.listOrdered,
|
|
302
302
|
when: ( ContextKeyExpr.and(queuingActionsPresent, ChatContextKeys.inputHasText)),
|
|
303
303
|
group: "navigation",
|
|
@@ -18,7 +18,7 @@ function registerQuickChatActions() {
|
|
|
18
18
|
constructor() {
|
|
19
19
|
super({
|
|
20
20
|
id: "workbench.action.quickchat.openInChatView",
|
|
21
|
-
title: ( localize2(
|
|
21
|
+
title: ( localize2(5065, "Open in Chat View")),
|
|
22
22
|
f1: false,
|
|
23
23
|
category: CHAT_CATEGORY,
|
|
24
24
|
icon: Codicon.chatSparkle,
|
|
@@ -38,7 +38,7 @@ function registerQuickChatActions() {
|
|
|
38
38
|
constructor() {
|
|
39
39
|
super({
|
|
40
40
|
id: "workbench.action.quickchat.close",
|
|
41
|
-
title: ( localize2(
|
|
41
|
+
title: ( localize2(5066, "Close Quick Chat")),
|
|
42
42
|
f1: false,
|
|
43
43
|
category: CHAT_CATEGORY,
|
|
44
44
|
icon: Codicon.close,
|
|
@@ -59,7 +59,7 @@ class QuickChatGlobalAction extends Action2 {
|
|
|
59
59
|
constructor() {
|
|
60
60
|
super({
|
|
61
61
|
id: ASK_QUICK_QUESTION_ACTION_ID,
|
|
62
|
-
title: ( localize2(
|
|
62
|
+
title: ( localize2(5067, "Open Quick Chat")),
|
|
63
63
|
precondition: ChatContextKeys.enabled,
|
|
64
64
|
icon: Codicon.chatSparkle,
|
|
65
65
|
f1: false,
|
|
@@ -74,7 +74,7 @@ class QuickChatGlobalAction extends Action2 {
|
|
|
74
74
|
order: 4
|
|
75
75
|
},
|
|
76
76
|
metadata: {
|
|
77
|
-
description: ( localize(
|
|
77
|
+
description: ( localize(5068, "Toggle the quick chat")),
|
|
78
78
|
args: [{
|
|
79
79
|
name: "args",
|
|
80
80
|
schema: {
|
|
@@ -83,17 +83,17 @@ class QuickChatGlobalAction extends Action2 {
|
|
|
83
83
|
required: ["query"],
|
|
84
84
|
properties: {
|
|
85
85
|
query: {
|
|
86
|
-
description: ( localize(
|
|
86
|
+
description: ( localize(5069, "The query to open the quick chat with")),
|
|
87
87
|
type: "string"
|
|
88
88
|
},
|
|
89
89
|
isPartialQuery: {
|
|
90
|
-
description: ( localize(
|
|
90
|
+
description: ( localize(5070, "Whether the query is partial; it will wait for more user input")),
|
|
91
91
|
type: "boolean"
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
}, {
|
|
95
95
|
type: "string",
|
|
96
|
-
description: ( localize(
|
|
96
|
+
description: ( localize(5069, "The query to open the quick chat with"))
|
|
97
97
|
}]
|
|
98
98
|
}
|
|
99
99
|
}]
|
|
@@ -124,7 +124,7 @@ class AskQuickChatAction extends Action2 {
|
|
|
124
124
|
super({
|
|
125
125
|
id: `workbench.action.openQuickChat`,
|
|
126
126
|
category: CHAT_CATEGORY,
|
|
127
|
-
title: ( localize2(
|
|
127
|
+
title: ( localize2(5071, "Open Quick Chat")),
|
|
128
128
|
precondition: ChatContextKeys.enabled,
|
|
129
129
|
f1: true
|
|
130
130
|
});
|
|
@@ -27,7 +27,7 @@ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
27
27
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
28
28
|
import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
|
|
29
29
|
import { IAiEditTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service';
|
|
30
|
-
import { reviewEdits, reviewNotebookEdits } from '
|
|
30
|
+
import { reviewEdits, reviewNotebookEdits } from './reviewEdits.js';
|
|
31
31
|
import { insertCell } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/notebook/browser/controller/cellOperations';
|
|
32
32
|
import { CellKind, NOTEBOOK_EDITOR_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
33
33
|
import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
|
|
@@ -65,7 +65,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
65
65
|
await this.handleNotebookEditor(activeNotebookEditor, context);
|
|
66
66
|
} else {
|
|
67
67
|
this.notify(( localize(
|
|
68
|
-
|
|
68
|
+
5105,
|
|
69
69
|
"To insert the code block, open a code editor or notebook editor and set the cursor at the location where to insert the code block."
|
|
70
70
|
)));
|
|
71
71
|
}
|
|
@@ -92,13 +92,14 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
92
92
|
modelId: request?.modelId,
|
|
93
93
|
presentation: "codeBlock",
|
|
94
94
|
applyCodeBlockSuggestionId: undefined,
|
|
95
|
-
source: undefined
|
|
95
|
+
source: undefined,
|
|
96
|
+
sourceRequestId: undefined
|
|
96
97
|
});
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
async handleNotebookEditor(notebookEditor, codeBlockContext) {
|
|
100
101
|
if (notebookEditor.isReadOnly) {
|
|
101
|
-
this.notify(( localize(
|
|
102
|
+
this.notify(( localize(5106, "Cannot insert the code block to read-only notebook editor.")));
|
|
102
103
|
return false;
|
|
103
104
|
}
|
|
104
105
|
const focusRange = notebookEditor.getFocus();
|
|
@@ -117,7 +118,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
117
118
|
async handleTextEditor(codeEditor, codeBlockContext) {
|
|
118
119
|
const activeModel = codeEditor.getModel();
|
|
119
120
|
if (isReadOnly(activeModel, this.textFileService)) {
|
|
120
|
-
this.notify(( localize(
|
|
121
|
+
this.notify(( localize(5107, "Cannot insert the code block to read-only code editor.")));
|
|
121
122
|
return false;
|
|
122
123
|
}
|
|
123
124
|
const range = codeEditor.getSelection() ?? ( new Range(activeModel.getLineCount(), 1, activeModel.getLineCount(), 1));
|
|
@@ -179,7 +180,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
179
180
|
this.tryToRevealCodeBlock(codeEditor, context.code);
|
|
180
181
|
activeEditorControl = codeEditor;
|
|
181
182
|
} else {
|
|
182
|
-
this.notify(( localize(
|
|
183
|
+
this.notify(( localize(5108, "Failed to open {0} in a code editor.", (codemapperUri.toString()))));
|
|
183
184
|
return;
|
|
184
185
|
}
|
|
185
186
|
} catch (e) {
|
|
@@ -211,7 +212,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
211
212
|
if (activeNotebookEditor) {
|
|
212
213
|
result = await this.handleNotebookEditor(activeNotebookEditor, context.chatSessionResource, context.code);
|
|
213
214
|
} else {
|
|
214
|
-
this.notify(( localize(
|
|
215
|
+
this.notify(( localize(5109, "To apply this code block, open a code or notebook editor.")));
|
|
215
216
|
}
|
|
216
217
|
}
|
|
217
218
|
if (isResponseVM(context.element)) {
|
|
@@ -235,7 +236,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
235
236
|
}
|
|
236
237
|
const activeEditorOption = activeEditorControl?.getModel().uri ? {
|
|
237
238
|
label: ( localize(
|
|
238
|
-
|
|
239
|
+
5110,
|
|
239
240
|
"Active editor '{0}'",
|
|
240
241
|
this.labelService.getUriLabel(activeEditorControl.getModel().uri, {
|
|
241
242
|
relative: true
|
|
@@ -244,13 +245,13 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
244
245
|
id: "activeEditor"
|
|
245
246
|
} : undefined;
|
|
246
247
|
const untitledEditorOption = {
|
|
247
|
-
label: ( localize(
|
|
248
|
+
label: ( localize(5111, "New untitled editor")),
|
|
248
249
|
id: "newUntitledFile"
|
|
249
250
|
};
|
|
250
251
|
const options = [];
|
|
251
252
|
if (resource) {
|
|
252
253
|
options.push({
|
|
253
|
-
label: ( localize(
|
|
254
|
+
label: ( localize(5112, "New file '{0}'", this.labelService.getUriLabel(resource, {
|
|
254
255
|
relative: true
|
|
255
256
|
}))),
|
|
256
257
|
id: "createFile"
|
|
@@ -266,7 +267,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
266
267
|
options.push(untitledEditorOption);
|
|
267
268
|
}
|
|
268
269
|
const selected = options.length > 1 ? await this.quickInputService.pick(options, {
|
|
269
|
-
placeHolder: ( localize(
|
|
270
|
+
placeHolder: ( localize(5113, "Select where to apply the code block"))
|
|
270
271
|
}) : options[0];
|
|
271
272
|
if (selected) {
|
|
272
273
|
switch (selected.id) {
|
|
@@ -275,7 +276,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
275
276
|
try {
|
|
276
277
|
await this.fileService.writeFile(resource, VSBuffer.fromString(""));
|
|
277
278
|
} catch (error) {
|
|
278
|
-
this.notify(( localize(
|
|
279
|
+
this.notify(( localize(5114, "Failed to create file: {0}", error.message)));
|
|
279
280
|
return ( URI.from({
|
|
280
281
|
scheme: "untitled",
|
|
281
282
|
path: resource.path
|
|
@@ -296,7 +297,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
296
297
|
}
|
|
297
298
|
async handleNotebookEditor(notebookEditor, chatSessionResource, code) {
|
|
298
299
|
if (notebookEditor.isReadOnly) {
|
|
299
|
-
this.notify(( localize(
|
|
300
|
+
this.notify(( localize(5115, "Cannot apply code block to read-only notebook editor.")));
|
|
300
301
|
return undefined;
|
|
301
302
|
}
|
|
302
303
|
const uri = notebookEditor.textModel.uri;
|
|
@@ -307,7 +308,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
307
308
|
};
|
|
308
309
|
const codeMapper = this.codeMapperService.providers[0]?.displayName;
|
|
309
310
|
if (!codeMapper) {
|
|
310
|
-
this.notify(( localize(
|
|
311
|
+
this.notify(( localize(5116, "No code mapper available.")));
|
|
311
312
|
return undefined;
|
|
312
313
|
}
|
|
313
314
|
let editsProposed = false;
|
|
@@ -320,7 +321,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
320
321
|
cancellable: true
|
|
321
322
|
}, async progress => {
|
|
322
323
|
progress.report({
|
|
323
|
-
message: ( localize(
|
|
324
|
+
message: ( localize(5117, "Applying code block using {0}...", codeMapper))
|
|
324
325
|
});
|
|
325
326
|
const editsIterable = this.getNotebookEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
|
|
326
327
|
return await this.waitForFirstElement(editsIterable);
|
|
@@ -328,7 +329,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
328
329
|
editsProposed = await this.applyNotebookEditsWithInlinePreview(iterable, uri, cancellationTokenSource);
|
|
329
330
|
} catch (e) {
|
|
330
331
|
if (!isCancellationError(e)) {
|
|
331
|
-
this.notify(( localize(
|
|
332
|
+
this.notify(( localize(5118, "Failed to apply code block: {0}", e.message)));
|
|
332
333
|
}
|
|
333
334
|
} finally {
|
|
334
335
|
cancellationTokenSource.dispose();
|
|
@@ -341,7 +342,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
341
342
|
async handleTextEditor(codeEditor, chatSessionResource, code, applyCodeBlockSuggestionId) {
|
|
342
343
|
const activeModel = codeEditor.getModel();
|
|
343
344
|
if (isReadOnly(activeModel, this.textFileService)) {
|
|
344
|
-
this.notify(( localize(
|
|
345
|
+
this.notify(( localize(5119, "Cannot apply code block to read-only file.")));
|
|
345
346
|
return undefined;
|
|
346
347
|
}
|
|
347
348
|
const codeBlock = {
|
|
@@ -352,7 +353,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
352
353
|
};
|
|
353
354
|
const codeMapper = this.codeMapperService.providers[0]?.displayName;
|
|
354
355
|
if (!codeMapper) {
|
|
355
|
-
this.notify(( localize(
|
|
356
|
+
this.notify(( localize(5116, "No code mapper available.")));
|
|
356
357
|
return undefined;
|
|
357
358
|
}
|
|
358
359
|
let editsProposed = false;
|
|
@@ -365,7 +366,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
365
366
|
cancellable: true
|
|
366
367
|
}, async progress => {
|
|
367
368
|
progress.report({
|
|
368
|
-
message: ( localize(
|
|
369
|
+
message: ( localize(5117, "Applying code block using {0}...", codeMapper))
|
|
369
370
|
});
|
|
370
371
|
const editsIterable = this.getTextEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
|
|
371
372
|
return await this.waitForFirstElement(editsIterable);
|
|
@@ -373,7 +374,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
373
374
|
editsProposed = await this.applyWithInlinePreview(iterable, codeEditor, cancellationTokenSource, applyCodeBlockSuggestionId);
|
|
374
375
|
} catch (e) {
|
|
375
376
|
if (!isCancellationError(e)) {
|
|
376
|
-
this.notify(( localize(
|
|
377
|
+
this.notify(( localize(5118, "Failed to apply code block: {0}", e.message)));
|
|
377
378
|
}
|
|
378
379
|
} finally {
|
|
379
380
|
cancellationTokenSource.dispose();
|
|
@@ -15,7 +15,7 @@ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/fi
|
|
|
15
15
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
16
16
|
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
17
17
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
18
|
-
import { InstalledAgentPluginsViewId } from '
|
|
18
|
+
import { InstalledAgentPluginsViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
19
19
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
20
20
|
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
21
21
|
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
@@ -28,19 +28,19 @@ const VALID_PLUGIN_NAME = /^[a-z0-9]([a-z0-9\-.]*[a-z0-9])?$/;
|
|
|
28
28
|
const INVALID_CONSECUTIVE = /--|[.][.]/;
|
|
29
29
|
function validatePluginName(name) {
|
|
30
30
|
if (!name) {
|
|
31
|
-
return localize(
|
|
31
|
+
return localize(5120, "Plugin name is required.");
|
|
32
32
|
}
|
|
33
33
|
if (name.length > 64) {
|
|
34
|
-
return localize(
|
|
34
|
+
return localize(5121, "Plugin name must be at most 64 characters.");
|
|
35
35
|
}
|
|
36
36
|
if (!VALID_PLUGIN_NAME.test(name)) {
|
|
37
37
|
return localize(
|
|
38
|
-
|
|
38
|
+
5122,
|
|
39
39
|
"Plugin name must contain only lowercase alphanumeric characters, hyphens, and periods, and must start and end with an alphanumeric character."
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
if (INVALID_CONSECUTIVE.test(name)) {
|
|
43
|
-
return localize(
|
|
43
|
+
return localize(5123, "Plugin name must not contain consecutive hyphens or periods.");
|
|
44
44
|
}
|
|
45
45
|
return undefined;
|
|
46
46
|
}
|
|
@@ -48,7 +48,7 @@ function isUserDefined(storage) {
|
|
|
48
48
|
return storage === PromptsStorage.local || storage === PromptsStorage.user;
|
|
49
49
|
}
|
|
50
50
|
function isUserDefinedMcpCollection(collection) {
|
|
51
|
-
const order = collection.
|
|
51
|
+
const order = collection.order;
|
|
52
52
|
return order === McpCollectionSortOrder.User || order === McpCollectionSortOrder.WorkspaceFolder || order === McpCollectionSortOrder.Workspace;
|
|
53
53
|
}
|
|
54
54
|
function getResourceLabel(r) {
|
|
@@ -72,7 +72,7 @@ class CreatePluginAction extends Action2 {
|
|
|
72
72
|
constructor() {
|
|
73
73
|
super({
|
|
74
74
|
id: CreatePluginAction.ID,
|
|
75
|
-
title: ( localize2(
|
|
75
|
+
title: ( localize2(5124, "Create Plugin")),
|
|
76
76
|
category: CHAT_CATEGORY,
|
|
77
77
|
f1: true,
|
|
78
78
|
precondition: ChatContextKeys.enabled,
|
|
@@ -132,11 +132,11 @@ class CreatePluginAction extends Action2 {
|
|
|
132
132
|
children
|
|
133
133
|
});
|
|
134
134
|
};
|
|
135
|
-
addGroup(instructions, "instruction", ( localize(
|
|
136
|
-
addGroup(prompts, "prompt", ( localize(
|
|
137
|
-
addGroup(agents, "agent", ( localize(
|
|
138
|
-
addGroup(skills, "skill", ( localize(
|
|
139
|
-
addGroup(hooks, "hook", ( localize(
|
|
135
|
+
addGroup(instructions, "instruction", ( localize(5125, "Instructions")), Codicon.book);
|
|
136
|
+
addGroup(prompts, "prompt", ( localize(5126, "Prompts")), Codicon.comment);
|
|
137
|
+
addGroup(agents, "agent", ( localize(5127, "Agents")), Codicon.copilot);
|
|
138
|
+
addGroup(skills, "skill", ( localize(5128, "Skills")), Codicon.lightbulb);
|
|
139
|
+
addGroup(hooks, "hook", ( localize(5129, "Hooks")), Codicon.zap);
|
|
140
140
|
const mcpChildren = [];
|
|
141
141
|
for (const collection of mcpCollections) {
|
|
142
142
|
if (!showAll && !isUserDefinedMcpCollection(collection)) {
|
|
@@ -158,7 +158,7 @@ class CreatePluginAction extends Action2 {
|
|
|
158
158
|
}
|
|
159
159
|
if (mcpChildren.length > 0) {
|
|
160
160
|
groups.push({
|
|
161
|
-
label: ( localize(
|
|
161
|
+
label: ( localize(5130, "MCP Servers")),
|
|
162
162
|
iconClass: ThemeIcon.asClassName(Codicon.mcp),
|
|
163
163
|
checked: undefined,
|
|
164
164
|
collapsed: false,
|
|
@@ -170,15 +170,15 @@ class CreatePluginAction extends Action2 {
|
|
|
170
170
|
};
|
|
171
171
|
const disposables = ( new DisposableStore());
|
|
172
172
|
const tree = disposables.add(quickInputService.createQuickTree());
|
|
173
|
-
tree.placeholder = ( localize(
|
|
173
|
+
tree.placeholder = ( localize(5131, "Select resources to include in the plugin"));
|
|
174
174
|
tree.matchOnDescription = true;
|
|
175
175
|
tree.matchOnLabel = true;
|
|
176
176
|
tree.sortByLabel = false;
|
|
177
|
-
tree.title = ( localize(
|
|
177
|
+
tree.title = ( localize(5132, "Create Plugin"));
|
|
178
178
|
tree.setItemTree(buildTree());
|
|
179
179
|
const toggleButton = {
|
|
180
180
|
iconClass: ThemeIcon.asClassName(Codicon.filter),
|
|
181
|
-
tooltip: ( localize(
|
|
181
|
+
tooltip: ( localize(5133, "Show Built-in, Extension, and Plugin Resources"))
|
|
182
182
|
};
|
|
183
183
|
tree.buttons = [toggleButton];
|
|
184
184
|
disposables.add(tree.onDidTriggerButton(button => {
|
|
@@ -203,7 +203,7 @@ class CreatePluginAction extends Action2 {
|
|
|
203
203
|
}
|
|
204
204
|
const selected = selectedItems.filter(i => !!i.resourceType);
|
|
205
205
|
const pluginName = await quickInputService.input({
|
|
206
|
-
prompt: ( localize(
|
|
206
|
+
prompt: ( localize(5134, "Enter a name for the plugin")),
|
|
207
207
|
placeHolder: "my-plugin",
|
|
208
208
|
validateInput: async value => validatePluginName(value)
|
|
209
209
|
});
|
|
@@ -214,8 +214,8 @@ class CreatePluginAction extends Action2 {
|
|
|
214
214
|
canSelectFiles: false,
|
|
215
215
|
canSelectFolders: true,
|
|
216
216
|
canSelectMany: false,
|
|
217
|
-
title: ( localize(
|
|
218
|
-
openLabel: ( localize(
|
|
217
|
+
title: ( localize(5135, "Select Plugin Save Location")),
|
|
218
|
+
openLabel: ( localize(5136, "Select Folder"))
|
|
219
219
|
});
|
|
220
220
|
if (!folderUris || folderUris.length === 0) {
|
|
221
221
|
return;
|
|
@@ -224,7 +224,7 @@ class CreatePluginAction extends Action2 {
|
|
|
224
224
|
const pluginRoot = joinPath(targetDir, pluginName);
|
|
225
225
|
if (await fileService.exists(pluginRoot)) {
|
|
226
226
|
notificationService.error(( localize(
|
|
227
|
-
|
|
227
|
+
5137,
|
|
228
228
|
"A directory named '{0}' already exists at this location. Please choose a different name or location.",
|
|
229
229
|
pluginName
|
|
230
230
|
)));
|
|
@@ -236,9 +236,9 @@ class CreatePluginAction extends Action2 {
|
|
|
236
236
|
try {
|
|
237
237
|
await commandService.executeCommand("revealFileInOS", pluginRoot);
|
|
238
238
|
} catch {}
|
|
239
|
-
notificationService.info(( localize(
|
|
239
|
+
notificationService.info(( localize(5138, "Plugin '{0}' created successfully.", pluginName)));
|
|
240
240
|
} catch (err) {
|
|
241
|
-
notificationService.error(( localize(
|
|
241
|
+
notificationService.error(( localize(5139, "Failed to create plugin: {0}", String(err))));
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
import { ICodeEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser";
|
|
4
|
+
import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
|
|
5
|
+
import { EditSuggestionId } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource";
|
|
6
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
7
|
+
import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
|
|
8
|
+
export declare function reviewEdits(accessor: ServicesAccessor, editor: ICodeEditor, stream: AsyncIterable<TextEdit[]>, token: CancellationToken, applyCodeBlockSuggestionId: EditSuggestionId | undefined): Promise<boolean>;
|
|
9
|
+
export declare function reviewNotebookEdits(accessor: ServicesAccessor, uri: URI, stream: AsyncIterable<[
|
|
10
|
+
URI,
|
|
11
|
+
TextEdit[]
|
|
12
|
+
] | ICellEditOperation[]>, token: CancellationToken): Promise<boolean>;
|