@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.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.js +21 -3
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +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 +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -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 +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
- 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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- 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 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
- 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/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -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 +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
- 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.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -5
- 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 +10 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
- 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 +46 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -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/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
- 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 +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- 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.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
- 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 +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
- 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.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
- 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 +10 -10
- 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 +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
|
@@ -32,18 +32,14 @@ class ChatQueueMessageAction extends Action2 {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
34
|
id: ChatQueueMessageAction.ID,
|
|
35
|
-
title: ( localize2(
|
|
36
|
-
tooltip: ( localize(
|
|
35
|
+
title: ( localize2(4995, "Add to Queue")),
|
|
36
|
+
tooltip: ( localize(4996, "Queue this message to send after the current request completes")),
|
|
37
37
|
icon: Codicon.add,
|
|
38
38
|
f1: false,
|
|
39
39
|
category: CHAT_CATEGORY,
|
|
40
|
-
precondition:
|
|
40
|
+
precondition: ChatContextKeys.inputHasText,
|
|
41
41
|
keybinding: [{
|
|
42
|
-
when: ( ContextKeyExpr.and(
|
|
43
|
-
ChatContextKeys.inChatInput,
|
|
44
|
-
queuingActionsPresent,
|
|
45
|
-
effectiveDefaultIsSteer
|
|
46
|
-
)),
|
|
42
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inChatInput, effectiveDefaultIsSteer)),
|
|
47
43
|
primary: KeyMod.Alt | KeyCode.Enter,
|
|
48
44
|
weight: KeybindingWeight.EditorContrib + 1
|
|
49
45
|
}, {
|
|
@@ -67,6 +63,10 @@ class ChatQueueMessageAction extends Action2 {
|
|
|
67
63
|
if (!inputValue.trim()) {
|
|
68
64
|
return;
|
|
69
65
|
}
|
|
66
|
+
if (!widget.viewModel.model.requestInProgress.get()) {
|
|
67
|
+
widget.acceptInput();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
70
|
widget.acceptInput(undefined, {
|
|
71
71
|
queue: ChatRequestQueueKind.Queued
|
|
72
72
|
});
|
|
@@ -79,15 +79,15 @@ class ChatSteerWithMessageAction extends Action2 {
|
|
|
79
79
|
constructor() {
|
|
80
80
|
super({
|
|
81
81
|
id: ChatSteerWithMessageAction.ID,
|
|
82
|
-
title: ( localize2(
|
|
82
|
+
title: ( localize2(4997, "Steer with Message")),
|
|
83
83
|
tooltip: ( localize(
|
|
84
|
-
|
|
84
|
+
4998,
|
|
85
85
|
"Send this message at the next opportunity, signaling the current request to yield"
|
|
86
86
|
)),
|
|
87
87
|
icon: Codicon.arrowUp,
|
|
88
88
|
f1: false,
|
|
89
89
|
category: CHAT_CATEGORY,
|
|
90
|
-
precondition:
|
|
90
|
+
precondition: ChatContextKeys.inputHasText,
|
|
91
91
|
keybinding: [{
|
|
92
92
|
when: ( ContextKeyExpr.and(
|
|
93
93
|
ChatContextKeys.inChatInput,
|
|
@@ -97,11 +97,7 @@ class ChatSteerWithMessageAction extends Action2 {
|
|
|
97
97
|
primary: KeyCode.Enter,
|
|
98
98
|
weight: KeybindingWeight.EditorContrib + 1
|
|
99
99
|
}, {
|
|
100
|
-
when: ( ContextKeyExpr.and(
|
|
101
|
-
ChatContextKeys.inChatInput,
|
|
102
|
-
queuingActionsPresent,
|
|
103
|
-
effectiveDefaultIsQueue
|
|
104
|
-
)),
|
|
100
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.inChatInput, effectiveDefaultIsQueue)),
|
|
105
101
|
primary: KeyMod.Alt | KeyCode.Enter,
|
|
106
102
|
weight: KeybindingWeight.EditorContrib + 1
|
|
107
103
|
}]
|
|
@@ -117,6 +113,10 @@ class ChatSteerWithMessageAction extends Action2 {
|
|
|
117
113
|
if (!inputValue.trim()) {
|
|
118
114
|
return;
|
|
119
115
|
}
|
|
116
|
+
if (!widget.viewModel.model.requestInProgress.get()) {
|
|
117
|
+
widget.acceptInput();
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
120
|
widget.acceptInput(undefined, {
|
|
121
121
|
queue: ChatRequestQueueKind.Steering
|
|
122
122
|
});
|
|
@@ -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(4999, "Remove from Queue")),
|
|
133
133
|
icon: Codicon.close,
|
|
134
134
|
f1: false,
|
|
135
135
|
category: CHAT_CATEGORY,
|
|
@@ -154,6 +154,40 @@ class ChatRemovePendingRequestAction extends Action2 {
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
class ChatEditPendingRequestAction extends Action2 {
|
|
158
|
+
static {
|
|
159
|
+
this.ID = "workbench.action.chat.editPendingRequest";
|
|
160
|
+
}
|
|
161
|
+
constructor() {
|
|
162
|
+
super({
|
|
163
|
+
id: ChatEditPendingRequestAction.ID,
|
|
164
|
+
title: ( localize2(5000, "Edit")),
|
|
165
|
+
icon: Codicon.edit,
|
|
166
|
+
f1: false,
|
|
167
|
+
category: CHAT_CATEGORY,
|
|
168
|
+
menu: [{
|
|
169
|
+
id: MenuId.ChatMessageTitle,
|
|
170
|
+
group: "navigation",
|
|
171
|
+
order: 2,
|
|
172
|
+
when: ( ContextKeyExpr.and(
|
|
173
|
+
ChatContextKeys.isRequest,
|
|
174
|
+
ChatContextKeys.isPendingRequest,
|
|
175
|
+
( ContextKeyExpr.notEquals(`config.${ChatConfiguration.EditRequests}`, "hover")),
|
|
176
|
+
( ContextKeyExpr.notEquals(`config.${ChatConfiguration.EditRequests}`, "input"))
|
|
177
|
+
))
|
|
178
|
+
}]
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
run(accessor, ...args) {
|
|
182
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
183
|
+
const [context] = args;
|
|
184
|
+
if (!isRequestVM(context) || !context.pendingKind) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const widget = widgetService.getWidgetBySessionResource(context.sessionResource);
|
|
188
|
+
widget?.startEditing(context.id);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
157
191
|
class ChatSendPendingImmediatelyAction extends Action2 {
|
|
158
192
|
static {
|
|
159
193
|
this.ID = "workbench.action.chat.sendPendingImmediately";
|
|
@@ -161,7 +195,7 @@ class ChatSendPendingImmediatelyAction extends Action2 {
|
|
|
161
195
|
constructor() {
|
|
162
196
|
super({
|
|
163
197
|
id: ChatSendPendingImmediatelyAction.ID,
|
|
164
|
-
title: ( localize2(
|
|
198
|
+
title: ( localize2(5001, "Send Immediately")),
|
|
165
199
|
icon: Codicon.arrowUp,
|
|
166
200
|
f1: false,
|
|
167
201
|
category: CHAT_CATEGORY,
|
|
@@ -210,7 +244,7 @@ class ChatRemoveAllPendingRequestsAction extends Action2 {
|
|
|
210
244
|
constructor() {
|
|
211
245
|
super({
|
|
212
246
|
id: ChatRemoveAllPendingRequestsAction.ID,
|
|
213
|
-
title: ( localize2(
|
|
247
|
+
title: ( localize2(5002, "Remove All Queued")),
|
|
214
248
|
icon: Codicon.clearAll,
|
|
215
249
|
f1: false,
|
|
216
250
|
category: CHAT_CATEGORY,
|
|
@@ -240,12 +274,13 @@ function registerChatQueueActions() {
|
|
|
240
274
|
registerAction2(ChatQueueMessageAction);
|
|
241
275
|
registerAction2(ChatSteerWithMessageAction);
|
|
242
276
|
registerAction2(ChatRemovePendingRequestAction);
|
|
277
|
+
registerAction2(ChatEditPendingRequestAction);
|
|
243
278
|
registerAction2(ChatSendPendingImmediatelyAction);
|
|
244
279
|
registerAction2(ChatRemoveAllPendingRequestsAction);
|
|
245
280
|
MenuRegistry.appendMenuItem(MenuId.ChatExecuteQueue, {
|
|
246
281
|
command: {
|
|
247
282
|
id: ChatQueueMessageAction.ID,
|
|
248
|
-
title: ( localize2(
|
|
283
|
+
title: ( localize2(4995, "Add to Queue")),
|
|
249
284
|
icon: Codicon.add
|
|
250
285
|
},
|
|
251
286
|
group: "navigation",
|
|
@@ -254,7 +289,7 @@ function registerChatQueueActions() {
|
|
|
254
289
|
MenuRegistry.appendMenuItem(MenuId.ChatExecuteQueue, {
|
|
255
290
|
command: {
|
|
256
291
|
id: ChatSteerWithMessageAction.ID,
|
|
257
|
-
title: ( localize2(
|
|
292
|
+
title: ( localize2(4997, "Steer with Message")),
|
|
258
293
|
icon: Codicon.arrowUp
|
|
259
294
|
},
|
|
260
295
|
group: "navigation",
|
|
@@ -262,7 +297,7 @@ function registerChatQueueActions() {
|
|
|
262
297
|
});
|
|
263
298
|
MenuRegistry.appendMenuItem(MenuId.ChatExecute, {
|
|
264
299
|
submenu: MenuId.ChatExecuteQueue,
|
|
265
|
-
title: ( localize2(
|
|
300
|
+
title: ( localize2(5003, "Queue")),
|
|
266
301
|
icon: Codicon.listOrdered,
|
|
267
302
|
when: ( ContextKeyExpr.and(queuingActionsPresent, ChatContextKeys.inputHasText)),
|
|
268
303
|
group: "navigation",
|
|
@@ -270,4 +305,4 @@ function registerChatQueueActions() {
|
|
|
270
305
|
});
|
|
271
306
|
}
|
|
272
307
|
|
|
273
|
-
export { ChatQueueMessageAction, ChatRemoveAllPendingRequestsAction, ChatRemovePendingRequestAction, ChatSendPendingImmediatelyAction, ChatSteerWithMessageAction, registerChatQueueActions };
|
|
308
|
+
export { ChatEditPendingRequestAction, ChatQueueMessageAction, ChatRemoveAllPendingRequestsAction, ChatRemovePendingRequestAction, ChatSendPendingImmediatelyAction, ChatSteerWithMessageAction, registerChatQueueActions };
|
|
@@ -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(5004, "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(5005, "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(5006, "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(5007, "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(5008, "The query to open the quick chat with")),
|
|
87
87
|
type: "string"
|
|
88
88
|
},
|
|
89
89
|
isPartialQuery: {
|
|
90
|
-
description: ( localize(
|
|
90
|
+
description: ( localize(5009, "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(5008, "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(5010, "Open Quick Chat")),
|
|
128
128
|
precondition: ChatContextKeys.enabled,
|
|
129
129
|
f1: true
|
|
130
130
|
});
|
|
@@ -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
|
+
5044,
|
|
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
|
}
|
|
@@ -98,7 +98,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
98
98
|
}
|
|
99
99
|
async handleNotebookEditor(notebookEditor, codeBlockContext) {
|
|
100
100
|
if (notebookEditor.isReadOnly) {
|
|
101
|
-
this.notify(( localize(
|
|
101
|
+
this.notify(( localize(5045, "Cannot insert the code block to read-only notebook editor.")));
|
|
102
102
|
return false;
|
|
103
103
|
}
|
|
104
104
|
const focusRange = notebookEditor.getFocus();
|
|
@@ -117,7 +117,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
117
117
|
async handleTextEditor(codeEditor, codeBlockContext) {
|
|
118
118
|
const activeModel = codeEditor.getModel();
|
|
119
119
|
if (isReadOnly(activeModel, this.textFileService)) {
|
|
120
|
-
this.notify(( localize(
|
|
120
|
+
this.notify(( localize(5046, "Cannot insert the code block to read-only code editor.")));
|
|
121
121
|
return false;
|
|
122
122
|
}
|
|
123
123
|
const range = codeEditor.getSelection() ?? ( new Range(activeModel.getLineCount(), 1, activeModel.getLineCount(), 1));
|
|
@@ -179,7 +179,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
179
179
|
this.tryToRevealCodeBlock(codeEditor, context.code);
|
|
180
180
|
activeEditorControl = codeEditor;
|
|
181
181
|
} else {
|
|
182
|
-
this.notify(( localize(
|
|
182
|
+
this.notify(( localize(5047, "Failed to open {0} in a code editor.", (codemapperUri.toString()))));
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
185
|
} catch (e) {
|
|
@@ -211,7 +211,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
211
211
|
if (activeNotebookEditor) {
|
|
212
212
|
result = await this.handleNotebookEditor(activeNotebookEditor, context.chatSessionResource, context.code);
|
|
213
213
|
} else {
|
|
214
|
-
this.notify(( localize(
|
|
214
|
+
this.notify(( localize(5048, "To apply this code block, open a code or notebook editor.")));
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
if (isResponseVM(context.element)) {
|
|
@@ -235,7 +235,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
235
235
|
}
|
|
236
236
|
const activeEditorOption = activeEditorControl?.getModel().uri ? {
|
|
237
237
|
label: ( localize(
|
|
238
|
-
|
|
238
|
+
5049,
|
|
239
239
|
"Active editor '{0}'",
|
|
240
240
|
this.labelService.getUriLabel(activeEditorControl.getModel().uri, {
|
|
241
241
|
relative: true
|
|
@@ -244,13 +244,13 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
244
244
|
id: "activeEditor"
|
|
245
245
|
} : undefined;
|
|
246
246
|
const untitledEditorOption = {
|
|
247
|
-
label: ( localize(
|
|
247
|
+
label: ( localize(5050, "New untitled editor")),
|
|
248
248
|
id: "newUntitledFile"
|
|
249
249
|
};
|
|
250
250
|
const options = [];
|
|
251
251
|
if (resource) {
|
|
252
252
|
options.push({
|
|
253
|
-
label: ( localize(
|
|
253
|
+
label: ( localize(5051, "New file '{0}'", this.labelService.getUriLabel(resource, {
|
|
254
254
|
relative: true
|
|
255
255
|
}))),
|
|
256
256
|
id: "createFile"
|
|
@@ -266,7 +266,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
266
266
|
options.push(untitledEditorOption);
|
|
267
267
|
}
|
|
268
268
|
const selected = options.length > 1 ? await this.quickInputService.pick(options, {
|
|
269
|
-
placeHolder: ( localize(
|
|
269
|
+
placeHolder: ( localize(5052, "Select where to apply the code block"))
|
|
270
270
|
}) : options[0];
|
|
271
271
|
if (selected) {
|
|
272
272
|
switch (selected.id) {
|
|
@@ -275,7 +275,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
275
275
|
try {
|
|
276
276
|
await this.fileService.writeFile(resource, VSBuffer.fromString(""));
|
|
277
277
|
} catch (error) {
|
|
278
|
-
this.notify(( localize(
|
|
278
|
+
this.notify(( localize(5053, "Failed to create file: {0}", error.message)));
|
|
279
279
|
return ( URI.from({
|
|
280
280
|
scheme: "untitled",
|
|
281
281
|
path: resource.path
|
|
@@ -296,7 +296,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
296
296
|
}
|
|
297
297
|
async handleNotebookEditor(notebookEditor, chatSessionResource, code) {
|
|
298
298
|
if (notebookEditor.isReadOnly) {
|
|
299
|
-
this.notify(( localize(
|
|
299
|
+
this.notify(( localize(5054, "Cannot apply code block to read-only notebook editor.")));
|
|
300
300
|
return undefined;
|
|
301
301
|
}
|
|
302
302
|
const uri = notebookEditor.textModel.uri;
|
|
@@ -307,7 +307,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
307
307
|
};
|
|
308
308
|
const codeMapper = this.codeMapperService.providers[0]?.displayName;
|
|
309
309
|
if (!codeMapper) {
|
|
310
|
-
this.notify(( localize(
|
|
310
|
+
this.notify(( localize(5055, "No code mapper available.")));
|
|
311
311
|
return undefined;
|
|
312
312
|
}
|
|
313
313
|
let editsProposed = false;
|
|
@@ -320,7 +320,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
320
320
|
cancellable: true
|
|
321
321
|
}, async progress => {
|
|
322
322
|
progress.report({
|
|
323
|
-
message: ( localize(
|
|
323
|
+
message: ( localize(5056, "Applying code block using {0}...", codeMapper))
|
|
324
324
|
});
|
|
325
325
|
const editsIterable = this.getNotebookEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
|
|
326
326
|
return await this.waitForFirstElement(editsIterable);
|
|
@@ -328,7 +328,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
328
328
|
editsProposed = await this.applyNotebookEditsWithInlinePreview(iterable, uri, cancellationTokenSource);
|
|
329
329
|
} catch (e) {
|
|
330
330
|
if (!isCancellationError(e)) {
|
|
331
|
-
this.notify(( localize(
|
|
331
|
+
this.notify(( localize(5057, "Failed to apply code block: {0}", e.message)));
|
|
332
332
|
}
|
|
333
333
|
} finally {
|
|
334
334
|
cancellationTokenSource.dispose();
|
|
@@ -341,7 +341,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
341
341
|
async handleTextEditor(codeEditor, chatSessionResource, code, applyCodeBlockSuggestionId) {
|
|
342
342
|
const activeModel = codeEditor.getModel();
|
|
343
343
|
if (isReadOnly(activeModel, this.textFileService)) {
|
|
344
|
-
this.notify(( localize(
|
|
344
|
+
this.notify(( localize(5058, "Cannot apply code block to read-only file.")));
|
|
345
345
|
return undefined;
|
|
346
346
|
}
|
|
347
347
|
const codeBlock = {
|
|
@@ -352,7 +352,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
352
352
|
};
|
|
353
353
|
const codeMapper = this.codeMapperService.providers[0]?.displayName;
|
|
354
354
|
if (!codeMapper) {
|
|
355
|
-
this.notify(( localize(
|
|
355
|
+
this.notify(( localize(5055, "No code mapper available.")));
|
|
356
356
|
return undefined;
|
|
357
357
|
}
|
|
358
358
|
let editsProposed = false;
|
|
@@ -365,7 +365,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
365
365
|
cancellable: true
|
|
366
366
|
}, async progress => {
|
|
367
367
|
progress.report({
|
|
368
|
-
message: ( localize(
|
|
368
|
+
message: ( localize(5056, "Applying code block using {0}...", codeMapper))
|
|
369
369
|
});
|
|
370
370
|
const editsIterable = this.getTextEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
|
|
371
371
|
return await this.waitForFirstElement(editsIterable);
|
|
@@ -373,7 +373,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
373
373
|
editsProposed = await this.applyWithInlinePreview(iterable, codeEditor, cancellationTokenSource, applyCodeBlockSuggestionId);
|
|
374
374
|
} catch (e) {
|
|
375
375
|
if (!isCancellationError(e)) {
|
|
376
|
-
this.notify(( localize(
|
|
376
|
+
this.notify(( localize(5057, "Failed to apply code block: {0}", e.message)));
|
|
377
377
|
}
|
|
378
378
|
} finally {
|
|
379
379
|
cancellationTokenSource.dispose();
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
1
2
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
3
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
3
4
|
import { IQuickTreeItem } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput";
|
|
@@ -32,5 +33,5 @@ export declare function serializeHookCommand(cmd: Record<string, unknown>): Reco
|
|
|
32
33
|
export declare function serializeMcpLaunch(launch: McpServerDefinition["launch"]): object;
|
|
33
34
|
export declare function copyDirectory(fileService: IFileService, source: URI, target: URI): Promise<void>;
|
|
34
35
|
export declare function updateMarketplaceIfNeeded(fileService: IFileService, targetDir: URI, pluginName: string): Promise<void>;
|
|
35
|
-
export declare function registerCreatePluginAction():
|
|
36
|
+
export declare function registerCreatePluginAction(): DisposableStore;
|
|
36
37
|
export {};
|
|
@@ -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(5059, "Plugin name is required.");
|
|
32
32
|
}
|
|
33
33
|
if (name.length > 64) {
|
|
34
|
-
return localize(
|
|
34
|
+
return localize(5060, "Plugin name must be at most 64 characters.");
|
|
35
35
|
}
|
|
36
36
|
if (!VALID_PLUGIN_NAME.test(name)) {
|
|
37
37
|
return localize(
|
|
38
|
-
|
|
38
|
+
5061,
|
|
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(5062, "Plugin name must not contain consecutive hyphens or periods.");
|
|
44
44
|
}
|
|
45
45
|
return undefined;
|
|
46
46
|
}
|
|
@@ -72,14 +72,14 @@ class CreatePluginAction extends Action2 {
|
|
|
72
72
|
constructor() {
|
|
73
73
|
super({
|
|
74
74
|
id: CreatePluginAction.ID,
|
|
75
|
-
title: ( localize2(
|
|
75
|
+
title: ( localize2(5063, "Create Plugin")),
|
|
76
76
|
category: CHAT_CATEGORY,
|
|
77
77
|
f1: true,
|
|
78
78
|
precondition: ChatContextKeys.enabled,
|
|
79
79
|
icon: Codicon.save,
|
|
80
80
|
menu: [{
|
|
81
81
|
id: MenuId.ViewTitle,
|
|
82
|
-
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("view", InstalledAgentPluginsViewId)), ( ChatContextKeys.Setup.hidden.negate()))),
|
|
82
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("view", InstalledAgentPluginsViewId)), ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
|
|
83
83
|
group: "navigation",
|
|
84
84
|
order: 2
|
|
85
85
|
}]
|
|
@@ -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(5064, "Instructions")), Codicon.book);
|
|
136
|
+
addGroup(prompts, "prompt", ( localize(5065, "Prompts")), Codicon.comment);
|
|
137
|
+
addGroup(agents, "agent", ( localize(5066, "Agents")), Codicon.copilot);
|
|
138
|
+
addGroup(skills, "skill", ( localize(5067, "Skills")), Codicon.lightbulb);
|
|
139
|
+
addGroup(hooks, "hook", ( localize(5068, "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(5069, "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(5070, "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(5071, "Create Plugin"));
|
|
178
178
|
tree.setItemTree(buildTree());
|
|
179
179
|
const toggleButton = {
|
|
180
180
|
iconClass: ThemeIcon.asClassName(Codicon.filter),
|
|
181
|
-
tooltip: ( localize(
|
|
181
|
+
tooltip: ( localize(5072, "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(5073, "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(5074, "Select Plugin Save Location")),
|
|
218
|
+
openLabel: ( localize(5075, "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
|
+
5076,
|
|
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(5077, "Plugin '{0}' created successfully.", pluginName)));
|
|
240
240
|
} catch (err) {
|
|
241
|
-
notificationService.error(( localize(
|
|
241
|
+
notificationService.error(( localize(5078, "Failed to create plugin: {0}", String(err))));
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
}
|
|
@@ -476,7 +476,9 @@ async function updateMarketplaceIfNeeded(fileService, targetDir, pluginName) {
|
|
|
476
476
|
}
|
|
477
477
|
}
|
|
478
478
|
function registerCreatePluginAction() {
|
|
479
|
-
|
|
479
|
+
const store = ( new DisposableStore());
|
|
480
|
+
store.add(registerAction2(CreatePluginAction));
|
|
481
|
+
return store;
|
|
480
482
|
}
|
|
481
483
|
|
|
482
484
|
export { copyDirectory, getResourceFileName, getResourceLabel, registerCreatePluginAction, serializeHookCommand, serializeMcpLaunch, updateMarketplaceIfNeeded, validatePluginName, writePluginToDisk };
|
|
@@ -17,7 +17,7 @@ import { hasKey } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types
|
|
|
17
17
|
|
|
18
18
|
let InstallPluginAction = class InstallPluginAction extends Action {
|
|
19
19
|
constructor(item, pluginInstallService) {
|
|
20
|
-
super("agentPlugin.install", ( localize(
|
|
20
|
+
super("agentPlugin.install", ( localize(5079, "Install")), "extension-action label prominent install", true, () => pluginInstallService.installPlugin({
|
|
21
21
|
name: item.name,
|
|
22
22
|
description: item.description,
|
|
23
23
|
version: "",
|
|
@@ -33,7 +33,7 @@ let InstallPluginAction = class InstallPluginAction extends Action {
|
|
|
33
33
|
InstallPluginAction = ( __decorate([( __param(1, IPluginInstallService))], InstallPluginAction));
|
|
34
34
|
class UninstallPluginAction extends Action {
|
|
35
35
|
constructor(plugin) {
|
|
36
|
-
super("agentPlugin.uninstall", ( localize(
|
|
36
|
+
super("agentPlugin.uninstall", ( localize(5080, "Uninstall")), "extension-action label uninstall", true, () => {
|
|
37
37
|
plugin.remove();
|
|
38
38
|
return Promise.resolve();
|
|
39
39
|
});
|
|
@@ -41,7 +41,7 @@ class UninstallPluginAction extends Action {
|
|
|
41
41
|
}
|
|
42
42
|
let OpenPluginFolderAction = class OpenPluginFolderAction extends Action {
|
|
43
43
|
constructor(plugin, commandService, openerService) {
|
|
44
|
-
super("agentPlugin.openFolder", ( localize(
|
|
44
|
+
super("agentPlugin.openFolder", ( localize(5081, "Open Plugin Folder")), undefined, true, async () => {
|
|
45
45
|
try {
|
|
46
46
|
await commandService.executeCommand("revealFileInOS", plugin.uri);
|
|
47
47
|
} catch {
|
|
@@ -53,7 +53,7 @@ let OpenPluginFolderAction = class OpenPluginFolderAction extends Action {
|
|
|
53
53
|
OpenPluginFolderAction = ( __decorate([( __param(1, ICommandService)), ( __param(2, IOpenerService))], OpenPluginFolderAction));
|
|
54
54
|
let OpenPluginReadmeAction = class OpenPluginReadmeAction extends Action {
|
|
55
55
|
constructor(readmeUri, openerService) {
|
|
56
|
-
super("agentPlugin.openReadme", ( localize(
|
|
56
|
+
super("agentPlugin.openReadme", ( localize(5082, "Open README")), undefined, true, () => openerService.open(readmeUri));
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
OpenPluginReadmeAction = ( __decorate([( __param(1, IOpenerService))], OpenPluginReadmeAction));
|
|
@@ -168,11 +168,11 @@ class EnablementDropdownActionViewItem extends ActionWithDropdownActionViewItem
|
|
|
168
168
|
function createEnablePluginDropDown(plugin, enablementModel, workspaceContextService) {
|
|
169
169
|
const key = ( plugin.uri.toString());
|
|
170
170
|
const hasWorkspace = workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY;
|
|
171
|
-
const enable = ( new EnablementSubAction("agentPlugin.enable", ( localize(
|
|
171
|
+
const enable = ( new EnablementSubAction("agentPlugin.enable", ( localize(5083, "Enable")), "extension-action label prominent", isContributionDisabled(plugin.enablement.get()), () => {
|
|
172
172
|
enablementModel.setEnabled(key, ContributionEnablementState.EnabledProfile);
|
|
173
173
|
return Promise.resolve();
|
|
174
174
|
}));
|
|
175
|
-
const enableWorkspace = ( new EnablementSubAction("agentPlugin.enableForWorkspace", ( localize(
|
|
175
|
+
const enableWorkspace = ( new EnablementSubAction("agentPlugin.enableForWorkspace", ( localize(5084, "Enable (Workspace)")), "extension-action label", isContributionDisabled(plugin.enablement.get()) && hasWorkspace, () => {
|
|
176
176
|
enablementModel.setEnabled(key, ContributionEnablementState.EnabledWorkspace);
|
|
177
177
|
return Promise.resolve();
|
|
178
178
|
}));
|
|
@@ -181,11 +181,11 @@ function createEnablePluginDropDown(plugin, enablementModel, workspaceContextSer
|
|
|
181
181
|
function createDisablePluginDropDown(plugin, enablementModel, workspaceContextService) {
|
|
182
182
|
const key = ( plugin.uri.toString());
|
|
183
183
|
const hasWorkspace = workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY;
|
|
184
|
-
const disable = ( new EnablementSubAction("agentPlugin.disable", ( localize(
|
|
184
|
+
const disable = ( new EnablementSubAction("agentPlugin.disable", ( localize(5085, "Disable")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()), () => {
|
|
185
185
|
enablementModel.setEnabled(key, ContributionEnablementState.DisabledProfile);
|
|
186
186
|
return Promise.resolve();
|
|
187
187
|
}));
|
|
188
|
-
const disableWorkspace = ( new EnablementSubAction("agentPlugin.disableForWorkspace", ( localize(
|
|
188
|
+
const disableWorkspace = ( new EnablementSubAction("agentPlugin.disableForWorkspace", ( localize(5086, "Disable (Workspace)")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()) && hasWorkspace, () => {
|
|
189
189
|
enablementModel.setEnabled(key, ContributionEnablementState.DisabledWorkspace);
|
|
190
190
|
return Promise.resolve();
|
|
191
191
|
}));
|
|
@@ -357,7 +357,7 @@ let AgentPluginEditor = class AgentPluginEditor extends EditorPane {
|
|
|
357
357
|
this.contentDisposables.add(toDisposable(insert(this.layoutParticipants, {
|
|
358
358
|
layout
|
|
359
359
|
})));
|
|
360
|
-
return this.openMarkdown(this.pluginReadme.get(), ( localize(
|
|
360
|
+
return this.openMarkdown(this.pluginReadme.get(), ( localize(5087, "No README available.")), readmeContainer, WebviewIndex.Readme, ( localize(5088, "Readme")), token);
|
|
361
361
|
}
|
|
362
362
|
async openMarkdown(cacheResult, noContentCopy, container, webviewIndex, title, token) {
|
|
363
363
|
try {
|
|
@@ -529,7 +529,7 @@ let UpdatePluginEditorAction = class UpdatePluginEditorAction extends Action {
|
|
|
529
529
|
pluginInstallService,
|
|
530
530
|
pluginMarketplaceService
|
|
531
531
|
) {
|
|
532
|
-
super(UpdatePluginEditorAction_1.ID, ( localize(
|
|
532
|
+
super(UpdatePluginEditorAction_1.ID, ( localize(5089, "Update")), "extension-action label prominent install");
|
|
533
533
|
this.plugin = plugin;
|
|
534
534
|
this.liveMarketplacePlugin = liveMarketplacePlugin;
|
|
535
535
|
this.pluginInstallService = pluginInstallService;
|
package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js
CHANGED
|
@@ -8,7 +8,7 @@ import { EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/
|
|
|
8
8
|
import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
|
|
9
9
|
import { AgentPluginItemKind } from './agentPluginItems.js';
|
|
10
10
|
|
|
11
|
-
const AgentPluginEditorIcon = registerIcon("agent-plugin-editor-icon", Codicon.extensions, ( localize(
|
|
11
|
+
const AgentPluginEditorIcon = registerIcon("agent-plugin-editor-icon", Codicon.extensions, ( localize(5090, "Icon of the Agent Plugin editor.")));
|
|
12
12
|
function getPluginId(item) {
|
|
13
13
|
if (item.kind === AgentPluginItemKind.Installed) {
|
|
14
14
|
return ( item.plugin.uri.toString());
|
|
@@ -39,7 +39,7 @@ class AgentPluginEditorInput extends EditorInput {
|
|
|
39
39
|
return this._item;
|
|
40
40
|
}
|
|
41
41
|
getName() {
|
|
42
|
-
return localize(
|
|
42
|
+
return localize(5091, "Plugin: {0}", this._item.name);
|
|
43
43
|
}
|
|
44
44
|
getIcon() {
|
|
45
45
|
return AgentPluginEditorIcon;
|