@codingame/monaco-vscode-chat-service-override 24.3.0 → 25.0.1
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 +35 -35
- package/package.json +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.d.ts → accessibility/chatAccessibilityService.d.ts} +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.js → accessibility/chatAccessibilityService.js} +23 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.d.ts → accessibility/chatResponseAccessibleView.d.ts} +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.js → accessibility/chatResponseAccessibleView.js} +38 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.js → accessibility/chatTerminalOutputAccessibleView.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +69 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +2 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +48 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +22 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +31 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +61 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +482 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +84 -93
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +137 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +92 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +81 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +335 -102
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +47 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +80 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.d.ts → attachments/chatAttachmentResolveService.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.js → attachments/chatAttachmentResolveService.js} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.d.ts → attachments/chatVariables.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.js → attachments/chatVariables.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -206
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +41 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.d.ts → chatSessions/chatSessions.contribution.d.ts} +7 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.js → chatSessions/chatSessions.contribution.js} +53 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +64 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +90 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.d.ts → contextContrib/chatContextService.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.js → contextContrib/chatContextService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.d.ts → tools/languageModelToolsConfirmationService.d.ts} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.js → tools/languageModelToolsConfirmationService.js} +47 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.d.ts → tools/languageModelToolsService.d.ts} +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.js → tools/languageModelToolsService.js} +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.d.ts → widget/chatLayoutService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.d.ts → widget/chatWidgetService.d.ts} +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.js → widget/chatWidgetService.js} +27 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.d.ts → widget/input/chatStatusWidget.d.ts} +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.js → widget/input/chatStatusWidget.js} +17 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.js +12 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.d.ts → widgetHosts/chatQuick.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.js → widgetHosts/chatQuick.js} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.d.ts → widgetHosts/editor/chatEditor.d.ts} +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.js → widgetHosts/editor/chatEditor.js} +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.d.ts → widgetHosts/viewPane/chatViewPane.d.ts} +46 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.js → widgetHosts/viewPane/chatViewPane.js} +258 -154
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.d.ts → widgetHosts/viewPane/chatViewTitleControl.d.ts} +5 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.js → widgetHosts/viewPane/chatViewTitleControl.js} +97 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +176 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +89 -0
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.d.ts → chatService/chatServiceImpl.d.ts} +16 -20
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.js → chatService/chatServiceImpl.js} +97 -151
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.d.ts → chatService/chatServiceTelemetry.d.ts} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.js → chatService/chatServiceTelemetry.js} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.d.ts → editing/chatCodeMapperService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.d.ts → model/chatModelStore.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.d.ts → model/chatSessionStore.d.ts} +14 -7
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.js → model/chatSessionStore.js} +164 -39
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.d.ts → model/chatTransferService.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.js → model/chatTransferService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.d.ts → participants/chatSlashCommands.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +25 -49
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +54 -54
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +83 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -10
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.d.ts → tools/chatTodoListService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.js → tools/chatTodoListService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.d.ts → widget/chatResponseResourceFileSystemProvider.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.js → widget/chatResponseResourceFileSystemProvider.js} +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -23
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +47 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +1 -1
- 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 +15 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +33 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +6 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +17 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +22 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +100 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +19 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.d.ts → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts} +11 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.js → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js} +83 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +156 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +64 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +16 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +1 -1
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +55 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +85 -46
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
- 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 +9 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +0 -248
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +0 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +0 -184
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +0 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +0 -229
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +0 -102
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +0 -495
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +0 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +0 -386
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -299
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +0 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +0 -39
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.d.ts → accessibility/chatTerminalOutputAccessibleView.d.ts} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → attachments/media}/simpleBrowserOverlay.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditingEditorOverlay.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditorController.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.js +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.js → widget/chatLayoutService.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.d.ts → widget/input/editor/chatEditorInputContentProvider.d.ts} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.js → widget/input/editor/chatEditorInputContentProvider.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.js +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/media/editorHoverWrapper.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/input/media}/chatStatusWidget.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.js → editing/chatCodeMapperService.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.js → model/chatModelStore.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.js → participants/chatSlashCommands.js} +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
|
|
2
2
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
|
-
import {
|
|
3
|
+
import { AgentSessionSection, isAgentSessionSection, isMarshalledAgentSessionContext, isLocalAgentSessionItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
|
|
4
|
+
import { Action2, MenuId, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
4
5
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
9
|
-
import { isMarshalledChatSessionContext } from '../actions/chatSessionActions.js';
|
|
6
|
+
import { AgentSessionProviders, AGENT_SESSION_RENAME_ACTION_ID, AGENT_SESSION_DELETE_ACTION_ID, AgentSessionsViewerOrientation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
7
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
8
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
10
9
|
import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
11
10
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
12
11
|
import { ACTIVE_GROUP, SIDE_GROUP, AUX_WINDOW_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
@@ -17,32 +16,268 @@ import { Position } from '@codingame/monaco-vscode-api/vscode/vs/workbench/servi
|
|
|
17
16
|
import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
|
|
18
17
|
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
19
18
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
20
|
-
import { showClearEditingSessionConfirmation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
|
|
19
|
+
import { ChatEditorInput, showClearEditingSessionConfirmation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput';
|
|
21
20
|
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
22
21
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
23
22
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
23
|
+
import { CHAT_CATEGORY, ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
24
|
+
import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
25
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
26
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
27
|
+
import { AgentSessionsPicker } from './agentSessionsPicker.js';
|
|
28
|
+
import { ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
29
|
+
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
30
|
+
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
31
|
+
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
24
32
|
|
|
33
|
+
class ToggleChatViewSessionsAction extends Action2 {
|
|
34
|
+
constructor() {
|
|
35
|
+
super({
|
|
36
|
+
id: 'workbench.action.chat.toggleChatViewSessions',
|
|
37
|
+
title: ( localize2(4855, "Show Sessions")),
|
|
38
|
+
toggled: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)),
|
|
39
|
+
menu: {
|
|
40
|
+
id: MenuId.ChatWelcomeContext,
|
|
41
|
+
group: '0_sessions',
|
|
42
|
+
order: 1,
|
|
43
|
+
when: ( ChatContextKeys.inChatEditor.negate())
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async run(accessor) {
|
|
48
|
+
const configurationService = accessor.get(IConfigurationService);
|
|
49
|
+
const chatViewSessionsEnabled = configurationService.getValue(ChatConfiguration.ChatViewSessionsEnabled);
|
|
50
|
+
await configurationService.updateValue(ChatConfiguration.ChatViewSessionsEnabled, !chatViewSessionsEnabled);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const agentSessionsOrientationSubmenu = ( new MenuId('chatAgentSessionsOrientationSubmenu'));
|
|
54
|
+
MenuRegistry.appendMenuItem(MenuId.ChatWelcomeContext, {
|
|
55
|
+
submenu: agentSessionsOrientationSubmenu,
|
|
56
|
+
title: ( localize2(4856, "Sessions Orientation")),
|
|
57
|
+
group: '0_sessions',
|
|
58
|
+
order: 2,
|
|
59
|
+
when: ( ChatContextKeys.inChatEditor.negate())
|
|
60
|
+
});
|
|
61
|
+
class SetAgentSessionsOrientationStackedAction extends Action2 {
|
|
62
|
+
constructor() {
|
|
63
|
+
super({
|
|
64
|
+
id: 'workbench.action.chat.setAgentSessionsOrientationStacked',
|
|
65
|
+
title: ( localize2(4857, "Stacked")),
|
|
66
|
+
toggled: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsOrientation}`, 'stacked')),
|
|
67
|
+
precondition: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)),
|
|
68
|
+
menu: {
|
|
69
|
+
id: agentSessionsOrientationSubmenu,
|
|
70
|
+
group: 'navigation',
|
|
71
|
+
order: 2
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
async run(accessor) {
|
|
76
|
+
const commandService = accessor.get(ICommandService);
|
|
77
|
+
await commandService.executeCommand(HideAgentSessionsSidebar.ID);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
class SetAgentSessionsOrientationSideBySideAction extends Action2 {
|
|
81
|
+
constructor() {
|
|
82
|
+
super({
|
|
83
|
+
id: 'workbench.action.chat.setAgentSessionsOrientationSideBySide',
|
|
84
|
+
title: ( localize2(4858, "Side by Side")),
|
|
85
|
+
toggled: ( ContextKeyExpr.notEquals(`config.${ChatConfiguration.ChatViewSessionsOrientation}`, 'stacked')),
|
|
86
|
+
precondition: ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)),
|
|
87
|
+
menu: {
|
|
88
|
+
id: agentSessionsOrientationSubmenu,
|
|
89
|
+
group: 'navigation',
|
|
90
|
+
order: 1
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
async run(accessor) {
|
|
95
|
+
const commandService = accessor.get(ICommandService);
|
|
96
|
+
await commandService.executeCommand(ShowAgentSessionsSidebar.ID);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
class PickAgentSessionAction extends Action2 {
|
|
100
|
+
constructor() {
|
|
101
|
+
super({
|
|
102
|
+
id: `workbench.action.chat.history`,
|
|
103
|
+
title: ( localize2(4859, "Open Agent Session...")),
|
|
104
|
+
menu: [
|
|
105
|
+
{
|
|
106
|
+
id: MenuId.ViewTitle,
|
|
107
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', ChatViewId)), ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, false)))),
|
|
108
|
+
group: 'navigation',
|
|
109
|
+
order: 2
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: MenuId.ViewTitle,
|
|
113
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', ChatViewId)), ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)))),
|
|
114
|
+
group: '2_history',
|
|
115
|
+
order: 1
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id: MenuId.EditorTitle,
|
|
119
|
+
when: ( ActiveEditorContext.isEqualTo(ChatEditorInput.EditorID)),
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
category: CHAT_CATEGORY,
|
|
123
|
+
icon: Codicon.history,
|
|
124
|
+
f1: true,
|
|
125
|
+
precondition: ChatContextKeys.enabled
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
async run(accessor) {
|
|
129
|
+
const instantiationService = accessor.get(IInstantiationService);
|
|
130
|
+
const agentSessionsPicker = instantiationService.createInstance(AgentSessionsPicker);
|
|
131
|
+
await agentSessionsPicker.pickAgentSession();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
class ArchiveAllAgentSessionsAction extends Action2 {
|
|
135
|
+
constructor() {
|
|
136
|
+
super({
|
|
137
|
+
id: 'workbench.action.chat.archiveAllAgentSessions',
|
|
138
|
+
title: ( localize2(4860, "Archive All Workspace Agent Sessions")),
|
|
139
|
+
precondition: ChatContextKeys.enabled,
|
|
140
|
+
category: CHAT_CATEGORY,
|
|
141
|
+
f1: true,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
async run(accessor) {
|
|
145
|
+
const agentSessionsService = accessor.get(IAgentSessionsService);
|
|
146
|
+
const dialogService = accessor.get(IDialogService);
|
|
147
|
+
const sessionsToArchive = agentSessionsService.model.sessions.filter(session => !session.isArchived());
|
|
148
|
+
if (sessionsToArchive.length === 0) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const confirmed = await dialogService.confirm({
|
|
152
|
+
message: sessionsToArchive.length === 1
|
|
153
|
+
? ( localize(4861, "Are you sure you want to archive 1 agent session?"))
|
|
154
|
+
: ( localize(
|
|
155
|
+
4862,
|
|
156
|
+
"Are you sure you want to archive {0} agent sessions?",
|
|
157
|
+
sessionsToArchive.length
|
|
158
|
+
)),
|
|
159
|
+
detail: ( localize(4863, "You can unarchive sessions later if needed from the Chat view.")),
|
|
160
|
+
primaryButton: ( localize(4864, "Archive"))
|
|
161
|
+
});
|
|
162
|
+
if (!confirmed.confirmed) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
for (const session of sessionsToArchive) {
|
|
166
|
+
session.setArchived(true);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
class ArchiveAgentSessionSectionAction extends Action2 {
|
|
171
|
+
constructor() {
|
|
172
|
+
super({
|
|
173
|
+
id: 'agentSessionSection.archive',
|
|
174
|
+
title: ( localize2(4865, "Archive All")),
|
|
175
|
+
icon: Codicon.archive,
|
|
176
|
+
menu: {
|
|
177
|
+
id: MenuId.AgentSessionSectionToolbar,
|
|
178
|
+
group: 'navigation',
|
|
179
|
+
order: 1,
|
|
180
|
+
when: ( ChatContextKeys.agentSessionSection.notEqualsTo(AgentSessionSection.Archived)),
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
async run(accessor, context) {
|
|
185
|
+
if (!context || !isAgentSessionSection(context)) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const dialogService = accessor.get(IDialogService);
|
|
189
|
+
const confirmed = await dialogService.confirm({
|
|
190
|
+
message: context.sessions.length === 1
|
|
191
|
+
? ( localize(
|
|
192
|
+
4866,
|
|
193
|
+
"Are you sure you want to archive 1 agent session from '{0}'?",
|
|
194
|
+
context.label
|
|
195
|
+
))
|
|
196
|
+
: ( localize(
|
|
197
|
+
4867,
|
|
198
|
+
"Are you sure you want to archive {0} agent sessions from '{1}'?",
|
|
199
|
+
context.sessions.length,
|
|
200
|
+
context.label
|
|
201
|
+
)),
|
|
202
|
+
detail: ( localize(4868, "You can unarchive sessions later if needed from the sessions view.")),
|
|
203
|
+
primaryButton: ( localize(4869, "Archive All"))
|
|
204
|
+
});
|
|
205
|
+
if (!confirmed.confirmed) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
for (const session of context.sessions) {
|
|
209
|
+
session.setArchived(true);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
25
213
|
class BaseAgentSessionAction extends Action2 {
|
|
26
|
-
run(accessor, context) {
|
|
214
|
+
async run(accessor, context) {
|
|
27
215
|
const agentSessionsService = accessor.get(IAgentSessionsService);
|
|
216
|
+
const viewsService = accessor.get(IViewsService);
|
|
28
217
|
let session;
|
|
29
|
-
if (
|
|
218
|
+
if (isMarshalledAgentSessionContext(context)) {
|
|
30
219
|
session = agentSessionsService.getSession(context.session.resource);
|
|
31
220
|
}
|
|
32
221
|
else {
|
|
33
222
|
session = context;
|
|
34
223
|
}
|
|
224
|
+
if (!session) {
|
|
225
|
+
const chatView = viewsService.getActiveViewWithId(ChatViewId);
|
|
226
|
+
session = chatView?.getFocusedSessions().at(0);
|
|
227
|
+
}
|
|
35
228
|
if (session) {
|
|
36
|
-
this.runWithSession(session, accessor);
|
|
229
|
+
await this.runWithSession(session, accessor);
|
|
37
230
|
}
|
|
38
231
|
}
|
|
39
232
|
}
|
|
233
|
+
class MarkAgentSessionUnreadAction extends BaseAgentSessionAction {
|
|
234
|
+
constructor() {
|
|
235
|
+
super({
|
|
236
|
+
id: 'agentSession.markUnread',
|
|
237
|
+
title: ( localize2(4870, "Mark as Unread")),
|
|
238
|
+
menu: {
|
|
239
|
+
id: MenuId.AgentSessionsContext,
|
|
240
|
+
group: '1_edit',
|
|
241
|
+
order: 1,
|
|
242
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.isReadAgentSession, (
|
|
243
|
+
ChatContextKeys.isArchivedAgentSession.negate()))),
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
runWithSession(session) {
|
|
248
|
+
session.setRead(false);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
class MarkAgentSessionReadAction extends BaseAgentSessionAction {
|
|
252
|
+
constructor() {
|
|
253
|
+
super({
|
|
254
|
+
id: 'agentSession.markRead',
|
|
255
|
+
title: ( localize2(4871, "Mark as Read")),
|
|
256
|
+
menu: {
|
|
257
|
+
id: MenuId.AgentSessionsContext,
|
|
258
|
+
group: '1_edit',
|
|
259
|
+
order: 1,
|
|
260
|
+
when: ( ContextKeyExpr.and(( ChatContextKeys.isReadAgentSession.negate()), (
|
|
261
|
+
ChatContextKeys.isArchivedAgentSession.negate()))),
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
runWithSession(session) {
|
|
266
|
+
session.setRead(true);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
40
269
|
class ArchiveAgentSessionAction extends BaseAgentSessionAction {
|
|
41
270
|
constructor() {
|
|
42
271
|
super({
|
|
43
272
|
id: 'agentSession.archive',
|
|
44
|
-
title: ( localize2(
|
|
273
|
+
title: ( localize2(4872, "Archive")),
|
|
45
274
|
icon: Codicon.archive,
|
|
275
|
+
keybinding: {
|
|
276
|
+
primary: KeyCode.Delete,
|
|
277
|
+
mac: { primary: KeyMod.CtrlCmd | KeyCode.Backspace },
|
|
278
|
+
weight: KeybindingWeight.WorkbenchContrib + 1,
|
|
279
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.agentSessionsViewerFocused, ( ChatContextKeys.isArchivedAgentSession.negate())))
|
|
280
|
+
},
|
|
46
281
|
menu: [{
|
|
47
282
|
id: MenuId.AgentSessionItemToolbar,
|
|
48
283
|
group: 'navigation',
|
|
@@ -50,7 +285,7 @@ class ArchiveAgentSessionAction extends BaseAgentSessionAction {
|
|
|
50
285
|
when: ( ChatContextKeys.isArchivedAgentSession.negate()),
|
|
51
286
|
}, {
|
|
52
287
|
id: MenuId.AgentSessionsContext,
|
|
53
|
-
group: '
|
|
288
|
+
group: '1_edit',
|
|
54
289
|
order: 2,
|
|
55
290
|
when: ( ChatContextKeys.isArchivedAgentSession.negate())
|
|
56
291
|
}]
|
|
@@ -62,8 +297,8 @@ class ArchiveAgentSessionAction extends BaseAgentSessionAction {
|
|
|
62
297
|
const dialogService = accessor.get(IDialogService);
|
|
63
298
|
if (chatModel && !(await showClearEditingSessionConfirmation(chatModel, dialogService, {
|
|
64
299
|
isArchiveAction: true,
|
|
65
|
-
titleOverride: ( localize(
|
|
66
|
-
messageOverride: ( localize(
|
|
300
|
+
titleOverride: ( localize(4873, "Archive chat with pending edits?")),
|
|
301
|
+
messageOverride: ( localize(4874, "You have pending changes in this chat session."))
|
|
67
302
|
}))) {
|
|
68
303
|
return;
|
|
69
304
|
}
|
|
@@ -74,8 +309,19 @@ class UnarchiveAgentSessionAction extends BaseAgentSessionAction {
|
|
|
74
309
|
constructor() {
|
|
75
310
|
super({
|
|
76
311
|
id: 'agentSession.unarchive',
|
|
77
|
-
title: ( localize2(
|
|
312
|
+
title: ( localize2(4875, "Unarchive")),
|
|
78
313
|
icon: Codicon.unarchive,
|
|
314
|
+
keybinding: {
|
|
315
|
+
primary: KeyMod.Shift | KeyCode.Delete,
|
|
316
|
+
mac: {
|
|
317
|
+
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backspace,
|
|
318
|
+
},
|
|
319
|
+
weight: KeybindingWeight.WorkbenchContrib + 1,
|
|
320
|
+
when: ( ContextKeyExpr.and(
|
|
321
|
+
ChatContextKeys.agentSessionsViewerFocused,
|
|
322
|
+
ChatContextKeys.isArchivedAgentSession
|
|
323
|
+
))
|
|
324
|
+
},
|
|
79
325
|
menu: [{
|
|
80
326
|
id: MenuId.AgentSessionItemToolbar,
|
|
81
327
|
group: 'navigation',
|
|
@@ -83,7 +329,7 @@ class UnarchiveAgentSessionAction extends BaseAgentSessionAction {
|
|
|
83
329
|
when: ChatContextKeys.isArchivedAgentSession,
|
|
84
330
|
}, {
|
|
85
331
|
id: MenuId.AgentSessionsContext,
|
|
86
|
-
group: '
|
|
332
|
+
group: '1_edit',
|
|
87
333
|
order: 2,
|
|
88
334
|
when: ChatContextKeys.isArchivedAgentSession,
|
|
89
335
|
}]
|
|
@@ -93,16 +339,108 @@ class UnarchiveAgentSessionAction extends BaseAgentSessionAction {
|
|
|
93
339
|
session.setArchived(false);
|
|
94
340
|
}
|
|
95
341
|
}
|
|
96
|
-
class
|
|
97
|
-
|
|
98
|
-
|
|
342
|
+
class RenameAgentSessionAction extends BaseAgentSessionAction {
|
|
343
|
+
constructor() {
|
|
344
|
+
super({
|
|
345
|
+
id: AGENT_SESSION_RENAME_ACTION_ID,
|
|
346
|
+
title: ( localize2(4876, "Rename...")),
|
|
347
|
+
keybinding: {
|
|
348
|
+
primary: KeyCode.F2,
|
|
349
|
+
mac: {
|
|
350
|
+
primary: KeyCode.Enter
|
|
351
|
+
},
|
|
352
|
+
weight: KeybindingWeight.WorkbenchContrib + 1,
|
|
353
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.agentSessionsViewerFocused, ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local)))),
|
|
354
|
+
},
|
|
355
|
+
menu: {
|
|
356
|
+
id: MenuId.AgentSessionsContext,
|
|
357
|
+
group: '1_edit',
|
|
358
|
+
order: 3,
|
|
359
|
+
when: ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local))
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
async runWithSession(session, accessor) {
|
|
364
|
+
const quickInputService = accessor.get(IQuickInputService);
|
|
365
|
+
const chatService = accessor.get(IChatService);
|
|
366
|
+
const title = await quickInputService.input({ prompt: ( localize(4877, "New agent session title")), value: session.label });
|
|
367
|
+
if (title) {
|
|
368
|
+
chatService.setChatSessionTitle(session.resource, title);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
class DeleteAgentSessionAction extends BaseAgentSessionAction {
|
|
373
|
+
constructor() {
|
|
374
|
+
super({
|
|
375
|
+
id: AGENT_SESSION_DELETE_ACTION_ID,
|
|
376
|
+
title: ( localize2(4878, "Delete...")),
|
|
377
|
+
menu: {
|
|
378
|
+
id: MenuId.AgentSessionsContext,
|
|
379
|
+
group: '1_edit',
|
|
380
|
+
order: 4,
|
|
381
|
+
when: ( ChatContextKeys.agentSessionType.isEqualTo(AgentSessionProviders.Local))
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
async runWithSession(session, accessor) {
|
|
386
|
+
const chatService = accessor.get(IChatService);
|
|
387
|
+
const dialogService = accessor.get(IDialogService);
|
|
388
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
389
|
+
const confirmed = await dialogService.confirm({
|
|
390
|
+
message: ( localize(4879, "Are you sure you want to delete this chat session?")),
|
|
391
|
+
detail: ( localize(4880, "This action cannot be undone.")),
|
|
392
|
+
primaryButton: ( localize(4881, "Delete"))
|
|
393
|
+
});
|
|
394
|
+
if (!confirmed.confirmed) {
|
|
99
395
|
return;
|
|
100
396
|
}
|
|
397
|
+
await widgetService.getWidgetBySessionResource(session.resource)?.clear();
|
|
398
|
+
await chatService.removeHistoryEntry(session.resource);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
class DeleteAllLocalSessionsAction extends Action2 {
|
|
402
|
+
constructor() {
|
|
403
|
+
super({
|
|
404
|
+
id: 'workbench.action.chat.clearHistory',
|
|
405
|
+
title: ( localize2(4882, "Delete All Local Workspace Chat Sessions")),
|
|
406
|
+
precondition: ChatContextKeys.enabled,
|
|
407
|
+
category: CHAT_CATEGORY,
|
|
408
|
+
f1: true,
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
async run(accessor, ...args) {
|
|
412
|
+
const chatService = accessor.get(IChatService);
|
|
413
|
+
const widgetService = accessor.get(IChatWidgetService);
|
|
414
|
+
const dialogService = accessor.get(IDialogService);
|
|
415
|
+
const agentSessionsService = accessor.get(IAgentSessionsService);
|
|
416
|
+
const localSessionsCount = agentSessionsService.model.sessions.filter(session => isLocalAgentSessionItem(session)).length;
|
|
417
|
+
if (localSessionsCount === 0) {
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
420
|
+
const confirmed = await dialogService.confirm({
|
|
421
|
+
message: localSessionsCount === 1
|
|
422
|
+
? ( localize(4883, "Are you sure you want to delete 1 local workspace chat session?"))
|
|
423
|
+
: ( localize(
|
|
424
|
+
4884,
|
|
425
|
+
"Are you sure you want to delete {0} local workspace chat sessions?",
|
|
426
|
+
localSessionsCount
|
|
427
|
+
)),
|
|
428
|
+
detail: ( localize(4885, "This action cannot be undone.")),
|
|
429
|
+
primaryButton: ( localize(4886, "Delete All"))
|
|
430
|
+
});
|
|
431
|
+
if (!confirmed.confirmed) {
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
await Promise.all(( widgetService.getAllWidgets().map(widget => widget.clear())));
|
|
435
|
+
await chatService.clearAllHistoryEntries();
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
class BaseOpenAgentSessionAction extends BaseAgentSessionAction {
|
|
439
|
+
async runWithSession(session, accessor) {
|
|
101
440
|
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
102
|
-
const uri =
|
|
441
|
+
const uri = session.resource;
|
|
103
442
|
await chatWidgetService.openSession(uri, this.getTargetGroup(), {
|
|
104
443
|
...this.getOptions(),
|
|
105
|
-
ignoreInView: true,
|
|
106
444
|
pinned: true
|
|
107
445
|
});
|
|
108
446
|
}
|
|
@@ -112,7 +450,15 @@ class OpenAgentSessionInEditorGroupAction extends BaseOpenAgentSessionAction {
|
|
|
112
450
|
constructor() {
|
|
113
451
|
super({
|
|
114
452
|
id: OpenAgentSessionInEditorGroupAction.id,
|
|
115
|
-
title: (
|
|
453
|
+
title: ( localize2(4887, "Open as Editor")),
|
|
454
|
+
keybinding: {
|
|
455
|
+
primary: KeyMod.CtrlCmd | KeyCode.Enter,
|
|
456
|
+
mac: {
|
|
457
|
+
primary: KeyMod.WinCtrl | KeyCode.Enter
|
|
458
|
+
},
|
|
459
|
+
weight: KeybindingWeight.WorkbenchContrib + 1,
|
|
460
|
+
when: ChatContextKeys.agentSessionsViewerFocused,
|
|
461
|
+
},
|
|
116
462
|
menu: {
|
|
117
463
|
id: MenuId.AgentSessionsContext,
|
|
118
464
|
order: 1,
|
|
@@ -132,7 +478,15 @@ class OpenAgentSessionInNewEditorGroupAction extends BaseOpenAgentSessionAction
|
|
|
132
478
|
constructor() {
|
|
133
479
|
super({
|
|
134
480
|
id: OpenAgentSessionInNewEditorGroupAction.id,
|
|
135
|
-
title: (
|
|
481
|
+
title: ( localize2(4888, "Open to the Side")),
|
|
482
|
+
keybinding: {
|
|
483
|
+
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter,
|
|
484
|
+
mac: {
|
|
485
|
+
primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.Enter
|
|
486
|
+
},
|
|
487
|
+
weight: KeybindingWeight.WorkbenchContrib + 1,
|
|
488
|
+
when: ChatContextKeys.agentSessionsViewerFocused,
|
|
489
|
+
},
|
|
136
490
|
menu: {
|
|
137
491
|
id: MenuId.AgentSessionsContext,
|
|
138
492
|
order: 2,
|
|
@@ -152,7 +506,7 @@ class OpenAgentSessionInNewWindowAction extends BaseOpenAgentSessionAction {
|
|
|
152
506
|
constructor() {
|
|
153
507
|
super({
|
|
154
508
|
id: OpenAgentSessionInNewWindowAction.id,
|
|
155
|
-
title: (
|
|
509
|
+
title: ( localize2(4889, "Open in New Window")),
|
|
156
510
|
menu: {
|
|
157
511
|
id: MenuId.AgentSessionsContext,
|
|
158
512
|
order: 3,
|
|
@@ -169,83 +523,11 @@ class OpenAgentSessionInNewWindowAction extends BaseOpenAgentSessionAction {
|
|
|
169
523
|
};
|
|
170
524
|
}
|
|
171
525
|
}
|
|
172
|
-
class MarkAgentSessionUnreadAction extends BaseAgentSessionAction {
|
|
173
|
-
constructor() {
|
|
174
|
-
super({
|
|
175
|
-
id: 'agentSession.markUnread',
|
|
176
|
-
title: ( localize2(4846, "Mark as Unread")),
|
|
177
|
-
menu: {
|
|
178
|
-
id: MenuId.AgentSessionsContext,
|
|
179
|
-
group: 'edit',
|
|
180
|
-
order: 1,
|
|
181
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.isReadAgentSession, (
|
|
182
|
-
ChatContextKeys.isArchivedAgentSession.negate()))),
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
runWithSession(session) {
|
|
187
|
-
session.setRead(false);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
class MarkAgentSessionReadAction extends BaseAgentSessionAction {
|
|
191
|
-
constructor() {
|
|
192
|
-
super({
|
|
193
|
-
id: 'agentSession.markRead',
|
|
194
|
-
title: ( localize2(4847, "Mark as Read")),
|
|
195
|
-
menu: {
|
|
196
|
-
id: MenuId.AgentSessionsContext,
|
|
197
|
-
group: 'edit',
|
|
198
|
-
order: 1,
|
|
199
|
-
when: ( ContextKeyExpr.and(( ChatContextKeys.isReadAgentSession.negate()), (
|
|
200
|
-
ChatContextKeys.isArchivedAgentSession.negate()))),
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
runWithSession(session) {
|
|
205
|
-
session.setRead(true);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
class RefreshAgentSessionsViewAction extends ViewAction {
|
|
209
|
-
constructor() {
|
|
210
|
-
super({
|
|
211
|
-
id: 'agentSessionsView.refresh',
|
|
212
|
-
title: ( localize2(4848, "Refresh Agent Sessions")),
|
|
213
|
-
icon: Codicon.refresh,
|
|
214
|
-
menu: {
|
|
215
|
-
id: MenuId.AgentSessionsViewTitle,
|
|
216
|
-
group: 'navigation',
|
|
217
|
-
order: 1
|
|
218
|
-
},
|
|
219
|
-
viewId: AGENT_SESSIONS_VIEW_ID
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
runInView(accessor, view) {
|
|
223
|
-
view.refresh();
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
class FindAgentSessionAction extends ViewAction {
|
|
227
|
-
constructor() {
|
|
228
|
-
super({
|
|
229
|
-
id: 'agentSessionsView.find',
|
|
230
|
-
title: ( localize2(4849, "Find Agent Session")),
|
|
231
|
-
icon: Codicon.search,
|
|
232
|
-
menu: {
|
|
233
|
-
id: MenuId.AgentSessionsViewTitle,
|
|
234
|
-
group: 'navigation',
|
|
235
|
-
order: 2
|
|
236
|
-
},
|
|
237
|
-
viewId: AGENT_SESSIONS_VIEW_ID
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
runInView(accessor, view) {
|
|
241
|
-
view.openFind();
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
526
|
class RefreshAgentSessionsViewerAction extends Action2 {
|
|
245
527
|
constructor() {
|
|
246
528
|
super({
|
|
247
529
|
id: 'agentSessionsViewer.refresh',
|
|
248
|
-
title: ( localize2(
|
|
530
|
+
title: ( localize2(4890, "Refresh Agent Sessions")),
|
|
249
531
|
icon: Codicon.refresh,
|
|
250
532
|
menu: {
|
|
251
533
|
id: MenuId.AgentSessionsToolbar,
|
|
@@ -263,7 +545,7 @@ class FindAgentSessionInViewerAction extends Action2 {
|
|
|
263
545
|
constructor() {
|
|
264
546
|
super({
|
|
265
547
|
id: 'agentSessionsViewer.find',
|
|
266
|
-
title: ( localize2(
|
|
548
|
+
title: ( localize2(4891, "Find Agent Session")),
|
|
267
549
|
icon: Codicon.search,
|
|
268
550
|
menu: {
|
|
269
551
|
id: MenuId.AgentSessionsToolbar,
|
|
@@ -282,58 +564,76 @@ class UpdateChatViewWidthAction extends Action2 {
|
|
|
282
564
|
const layoutService = accessor.get(IWorkbenchLayoutService);
|
|
283
565
|
const viewDescriptorService = accessor.get(IViewDescriptorService);
|
|
284
566
|
const configurationService = accessor.get(IConfigurationService);
|
|
285
|
-
const
|
|
567
|
+
const viewsService = accessor.get(IViewsService);
|
|
286
568
|
const chatLocation = viewDescriptorService.getViewLocationById(ChatViewId);
|
|
287
569
|
if (typeof chatLocation !== 'number') {
|
|
288
570
|
return;
|
|
289
571
|
}
|
|
290
572
|
const panelPosition = layoutService.getPanelPosition();
|
|
291
573
|
const canResizeView = chatLocation !== ViewContainerLocation.Panel || (panelPosition === Position.LEFT || panelPosition === Position.RIGHT);
|
|
292
|
-
const
|
|
293
|
-
if (
|
|
294
|
-
await configurationService.updateValue(ChatConfiguration.
|
|
574
|
+
const chatViewSessionsEnabled = configurationService.getValue(ChatConfiguration.ChatViewSessionsEnabled);
|
|
575
|
+
if (!chatViewSessionsEnabled) {
|
|
576
|
+
await configurationService.updateValue(ChatConfiguration.ChatViewSessionsEnabled, true);
|
|
295
577
|
}
|
|
296
|
-
|
|
297
|
-
|
|
578
|
+
let chatView = viewsService.getActiveViewWithId(ChatViewId);
|
|
579
|
+
if (!chatView) {
|
|
580
|
+
chatView = await viewsService.openView(ChatViewId, false);
|
|
298
581
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
582
|
+
if (!chatView) {
|
|
583
|
+
return;
|
|
584
|
+
}
|
|
585
|
+
const configuredOrientation = configurationService.getValue(ChatConfiguration.ChatViewSessionsOrientation);
|
|
586
|
+
let validatedConfiguredOrientation;
|
|
587
|
+
if (configuredOrientation === 'stacked' || configuredOrientation === 'sideBySide') {
|
|
588
|
+
validatedConfiguredOrientation = configuredOrientation;
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
validatedConfiguredOrientation = 'sideBySide';
|
|
592
|
+
}
|
|
593
|
+
const newOrientation = this.getOrientation();
|
|
594
|
+
const lastWidthForOrientation = chatView?.getLastDimensions(newOrientation)?.width;
|
|
595
|
+
if ((!canResizeView || validatedConfiguredOrientation === 'sideBySide') && newOrientation === AgentSessionsViewerOrientation.Stacked) {
|
|
596
|
+
chatView.updateConfiguredSessionsViewerOrientation('stacked');
|
|
597
|
+
}
|
|
598
|
+
else if ((!canResizeView || validatedConfiguredOrientation === 'stacked') && newOrientation === AgentSessionsViewerOrientation.SideBySide) {
|
|
599
|
+
chatView.updateConfiguredSessionsViewerOrientation('sideBySide');
|
|
309
600
|
}
|
|
310
601
|
if (!canResizeView) {
|
|
311
602
|
return;
|
|
312
603
|
}
|
|
604
|
+
const part = getPartByLocation(chatLocation);
|
|
605
|
+
let currentSize = layoutService.getSize(part);
|
|
606
|
+
const chatViewDefaultWidth = 300;
|
|
607
|
+
const sideBySideMinWidth = (chatViewDefaultWidth * 2) + 1;
|
|
608
|
+
if ((newOrientation === AgentSessionsViewerOrientation.SideBySide && currentSize.width >= sideBySideMinWidth) ||
|
|
609
|
+
(newOrientation === AgentSessionsViewerOrientation.Stacked && chatLocation === ViewContainerLocation.AuxiliaryBar && layoutService.isAuxiliaryBarMaximized())
|
|
610
|
+
) {
|
|
611
|
+
return;
|
|
612
|
+
}
|
|
313
613
|
if (chatLocation === ViewContainerLocation.AuxiliaryBar) {
|
|
314
614
|
layoutService.setAuxiliaryBarMaximized(false);
|
|
315
615
|
currentSize = layoutService.getSize(part);
|
|
316
616
|
}
|
|
317
617
|
let newWidth;
|
|
318
|
-
if (
|
|
319
|
-
newWidth = Math.max(sideBySideMinWidth, Math.round(layoutService.mainContainerDimension.width / 2));
|
|
618
|
+
if (newOrientation === AgentSessionsViewerOrientation.SideBySide) {
|
|
619
|
+
newWidth = Math.max(sideBySideMinWidth, lastWidthForOrientation || Math.round(layoutService.mainContainerDimension.width / 2));
|
|
320
620
|
}
|
|
321
621
|
else {
|
|
322
|
-
newWidth =
|
|
622
|
+
newWidth = lastWidthForOrientation || chatViewDefaultWidth;
|
|
323
623
|
}
|
|
324
|
-
layoutService.setSize(part, {
|
|
325
|
-
width: newWidth,
|
|
326
|
-
height: currentSize.height
|
|
327
|
-
});
|
|
624
|
+
layoutService.setSize(part, { width: newWidth, height: currentSize.height });
|
|
328
625
|
}
|
|
329
626
|
}
|
|
330
627
|
class ShowAgentSessionsSidebar extends UpdateChatViewWidthAction {
|
|
331
628
|
static { this.ID = 'agentSessions.showAgentSessionsSidebar'; }
|
|
332
|
-
static { this.TITLE = ( localize2(
|
|
629
|
+
static { this.TITLE = ( localize2(4892, "Show Agent Sessions Sidebar")); }
|
|
333
630
|
constructor() {
|
|
334
631
|
super({
|
|
335
632
|
id: ShowAgentSessionsSidebar.ID,
|
|
336
633
|
title: ShowAgentSessionsSidebar.TITLE,
|
|
634
|
+
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.agentSessionsViewerOrientation.isEqualTo(AgentSessionsViewerOrientation.Stacked)))),
|
|
635
|
+
f1: true,
|
|
636
|
+
category: CHAT_CATEGORY,
|
|
337
637
|
});
|
|
338
638
|
}
|
|
339
639
|
getOrientation() {
|
|
@@ -342,17 +642,74 @@ class ShowAgentSessionsSidebar extends UpdateChatViewWidthAction {
|
|
|
342
642
|
}
|
|
343
643
|
class HideAgentSessionsSidebar extends UpdateChatViewWidthAction {
|
|
344
644
|
static { this.ID = 'agentSessions.hideAgentSessionsSidebar'; }
|
|
345
|
-
static { this.TITLE = ( localize2(
|
|
645
|
+
static { this.TITLE = ( localize2(4893, "Hide Agent Sessions Sidebar")); }
|
|
346
646
|
constructor() {
|
|
347
647
|
super({
|
|
348
648
|
id: HideAgentSessionsSidebar.ID,
|
|
349
649
|
title: HideAgentSessionsSidebar.TITLE,
|
|
350
|
-
|
|
650
|
+
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.agentSessionsViewerOrientation.isEqualTo(AgentSessionsViewerOrientation.SideBySide)))),
|
|
651
|
+
f1: true,
|
|
652
|
+
category: CHAT_CATEGORY,
|
|
351
653
|
});
|
|
352
654
|
}
|
|
353
655
|
getOrientation() {
|
|
354
656
|
return AgentSessionsViewerOrientation.Stacked;
|
|
355
657
|
}
|
|
356
658
|
}
|
|
659
|
+
class ToggleAgentSessionsSidebar extends Action2 {
|
|
660
|
+
static { this.ID = 'agentSessions.toggleAgentSessionsSidebar'; }
|
|
661
|
+
static { this.TITLE = ( localize2(4894, "Toggle Agent Sessions Sidebar")); }
|
|
662
|
+
constructor() {
|
|
663
|
+
super({
|
|
664
|
+
id: ToggleAgentSessionsSidebar.ID,
|
|
665
|
+
title: ToggleAgentSessionsSidebar.TITLE,
|
|
666
|
+
precondition: ChatContextKeys.enabled,
|
|
667
|
+
f1: true,
|
|
668
|
+
category: CHAT_CATEGORY,
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
async run(accessor) {
|
|
672
|
+
const commandService = accessor.get(ICommandService);
|
|
673
|
+
const viewsService = accessor.get(IViewsService);
|
|
674
|
+
const chatView = viewsService.getActiveViewWithId(ChatViewId);
|
|
675
|
+
const currentOrientation = chatView?.getSessionsViewerOrientation();
|
|
676
|
+
if (currentOrientation === AgentSessionsViewerOrientation.SideBySide) {
|
|
677
|
+
await commandService.executeCommand(HideAgentSessionsSidebar.ID);
|
|
678
|
+
}
|
|
679
|
+
else {
|
|
680
|
+
await commandService.executeCommand(ShowAgentSessionsSidebar.ID);
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
class FocusAgentSessionsAction extends Action2 {
|
|
685
|
+
static { this.id = 'workbench.action.chat.focusAgentSessionsViewer'; }
|
|
686
|
+
constructor() {
|
|
687
|
+
super({
|
|
688
|
+
id: FocusAgentSessionsAction.id,
|
|
689
|
+
title: ( localize2(4895, "Focus Agent Sessions")),
|
|
690
|
+
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals(`config.${ChatConfiguration.ChatViewSessionsEnabled}`, true)))),
|
|
691
|
+
category: CHAT_CATEGORY,
|
|
692
|
+
f1: true,
|
|
693
|
+
});
|
|
694
|
+
}
|
|
695
|
+
async run(accessor) {
|
|
696
|
+
const viewsService = accessor.get(IViewsService);
|
|
697
|
+
const configurationService = accessor.get(IConfigurationService);
|
|
698
|
+
const commandService = accessor.get(ICommandService);
|
|
699
|
+
const chatView = await viewsService.openView(ChatViewId, true);
|
|
700
|
+
const focused = chatView?.focusSessions();
|
|
701
|
+
if (focused) {
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
const configuredSessionsViewerOrientation = configurationService.getValue(ChatConfiguration.ChatViewSessionsOrientation);
|
|
705
|
+
if (configuredSessionsViewerOrientation === 'stacked') {
|
|
706
|
+
await commandService.executeCommand(ACTION_ID_NEW_CHAT);
|
|
707
|
+
}
|
|
708
|
+
else {
|
|
709
|
+
await commandService.executeCommand(ShowAgentSessionsSidebar.ID);
|
|
710
|
+
}
|
|
711
|
+
chatView?.focusSessions();
|
|
712
|
+
}
|
|
713
|
+
}
|
|
357
714
|
|
|
358
|
-
export { ArchiveAgentSessionAction,
|
|
715
|
+
export { ArchiveAgentSessionAction, ArchiveAgentSessionSectionAction, ArchiveAllAgentSessionsAction, DeleteAgentSessionAction, DeleteAllLocalSessionsAction, FindAgentSessionInViewerAction, FocusAgentSessionsAction, HideAgentSessionsSidebar, MarkAgentSessionReadAction, MarkAgentSessionUnreadAction, OpenAgentSessionInEditorGroupAction, OpenAgentSessionInNewEditorGroupAction, OpenAgentSessionInNewWindowAction, PickAgentSessionAction, RefreshAgentSessionsViewerAction, RenameAgentSessionAction, SetAgentSessionsOrientationSideBySideAction, SetAgentSessionsOrientationStackedAction, ShowAgentSessionsSidebar, ToggleAgentSessionsSidebar, ToggleChatViewSessionsAction, UnarchiveAgentSessionAction };
|