@codingame/monaco-vscode-workbench-service-override 37.6.1 → 38.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/common.js +2 -0
- package/index.js +9 -10
- package/package.json +10 -10
- package/session.js +45 -42
- package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.js +12 -0
- package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.d.ts → desktopWorkbench.d.ts} +6 -5
- package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.js → desktopWorkbench.js} +23 -25
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +5 -2
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +41 -3
- package/vscode/src/vs/sessions/browser/layoutActions.js +25 -41
- package/vscode/src/vs/sessions/browser/mobileWorkbench.d.ts +4 -0
- package/vscode/src/vs/sessions/browser/mobileWorkbench.js +10 -0
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +10 -5
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +138 -34
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +2 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +13 -5
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +27 -5
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +129 -28
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +22 -7
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +260 -21
- package/vscode/src/vs/sessions/browser/parts/chatHeader.d.ts +25 -0
- package/vscode/src/vs/sessions/browser/parts/chatHeader.js +42 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +9 -1
- package/vscode/src/vs/sessions/browser/parts/customViewNode.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/{singlePaneAuxiliaryBarPart.d.ts → desktopAuxiliaryBarPart.d.ts} +4 -4
- package/vscode/src/vs/sessions/browser/parts/desktopAuxiliaryBarPart.js +26 -0
- package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.d.ts → desktopEditorPart.d.ts} +8 -6
- package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.js → desktopEditorPart.js} +25 -5
- package/vscode/src/vs/sessions/browser/parts/editorPart.js +16 -4
- package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +1 -1
- package/vscode/src/vs/sessions/browser/parts/editorParts.js +7 -6
- package/vscode/src/vs/sessions/browser/parts/gridGap.d.ts +14 -0
- package/vscode/src/vs/sessions/browser/parts/gridGap.js +69 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +132 -4
- package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +10 -0
- package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +46 -2
- package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +3 -3
- package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +45 -48
- package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +15 -0
- package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +9 -1
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +21 -3
- package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +4 -3
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +29 -15
- package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.d.ts +67 -0
- package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.js +598 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +11 -84
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +37 -317
- package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.d.ts +103 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.js +391 -0
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +6 -4
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +58 -28
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +4 -0
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +66 -23
- package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +24 -5
- package/vscode/src/vs/sessions/browser/parts/sessionView.js +143 -33
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +25 -19
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +157 -58
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +12 -3
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +17 -2
- package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +6 -3
- package/vscode/src/vs/sessions/browser/sessionWorkspace.js +2 -2
- package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +66 -20
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +1 -0
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +5 -4
- package/vscode/src/vs/sessions/browser/workbenchFactory.d.ts +12 -0
- package/vscode/src/vs/sessions/browser/workbenchFactory.js +17 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +85 -1
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +118 -100
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +3 -2
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +39 -34
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +6 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +3 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +6 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
- package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +7 -7
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +78 -8
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1166 -202
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +11 -1
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +190 -69
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +11 -9
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +122 -233
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.d.ts +22 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.js +62 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +7 -2
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +172 -84
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +17 -7
- package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +242 -60
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +24 -36
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +104 -420
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +15 -14
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +13 -3
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +66 -43
- package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +2 -7
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +54 -59
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +7 -7
- package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +6 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +25 -21
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +21 -27
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +5 -5
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +2 -2
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +9 -16
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +10 -10
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +13 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +104 -117
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +8 -7
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +0 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +1 -1
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +7 -0
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +77 -13
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +2 -1
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +14 -4
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +45 -10
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +527 -77
- package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.d.ts +18 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.js +95 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.d.ts → desktop/desktopDetailPanelCoordinator.d.ts} +5 -4
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.js → desktop/desktopDetailPanelCoordinator.js} +10 -7
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.d.ts → desktop/desktopDockedTabsCoordinator.d.ts} +15 -12
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.js → desktop/desktopDockedTabsCoordinator.js} +91 -44
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.d.ts → desktop/desktopDraftSessionStrategy.d.ts} +10 -5
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.js → desktop/desktopDraftSessionStrategy.js} +95 -22
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.d.ts → desktop/desktopExistingSessionStrategy.d.ts} +13 -11
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.js → desktop/desktopExistingSessionStrategy.js} +137 -57
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.d.ts → desktop/desktopLayoutStrategy.d.ts} +22 -13
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.js → desktop/desktopLayoutStrategy.js} +2 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.d.ts +22 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.js +136 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneSharedHelpers.d.ts → desktop/desktopSharedHelpers.d.ts} +9 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopSharedHelpers.js +56 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.d.ts → desktop/desktopVisibilityProfileStore.d.ts} +3 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.js → desktop/desktopVisibilityProfileStore.js} +10 -9
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.d.ts +71 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.js +201 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +8 -1
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +35 -35
- package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.js +73 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +42 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +14 -10
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +3 -4
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +2 -2
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +13 -9
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +20 -5
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.d.ts +8 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.js +19 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +21 -20
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +10 -5
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +12 -8
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +3 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +12 -7
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +9 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +46 -19
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +2 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +33 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +4 -2
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +29 -8
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +15 -2
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +169 -32
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +30 -8
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +8 -34
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +63 -49
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +31 -17
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.d.ts +32 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.js +250 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.js +52 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.d.ts +51 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.js +439 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.d.ts +45 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.js +595 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +20 -3
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +360 -46
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.d.ts +9 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.js +59 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/connectionDiagnostics.css +201 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.d.ts +10 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.js +70 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.d.ts +20 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.js +104 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.js +152 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.d.ts +49 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.js +340 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.d.ts +41 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.js +400 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.d.ts +28 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.js +178 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.d.ts +17 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.js +206 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.js +58 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.d.ts +10 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.js +90 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.d.ts +38 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.js +58 -0
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +4 -5
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.js +33 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.d.ts +30 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.js +190 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.d.ts +31 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.js +559 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.d.ts +12 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.js +38 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +13 -4
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +155 -22
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +9 -5
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +90 -25
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +21 -4
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +11 -7
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +116 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +126 -30
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.d.ts +26 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.js +160 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +14 -6
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +555 -151
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.d.ts +192 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.js +510 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +6 -7
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +64 -57
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +5 -3
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +83 -51
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +5 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +33 -12
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.d.ts +3 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.js +53 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +2 -2
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +103 -55
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +7 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +679 -325
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +27 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +508 -163
- package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.d.ts +20 -2
- package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +100 -17
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +5 -1
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +108 -30
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +5 -3
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +47 -35
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +9 -4
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +75 -25
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +11 -4
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +17 -9
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +5 -0
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +20 -2
- package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.d.ts +75 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.js +1135 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.d.ts +17 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.js +99 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +4 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +88 -23
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +19 -26
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +115 -74
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +1 -1
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +22 -7
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +278 -60
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +17 -20
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +33 -22
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +28 -8
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +673 -160
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +13 -4
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +105 -15
- package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +53 -34
- package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +1 -1
- package/vscode/src/vs/workbench/browser/layout.js +1 -1
- package/vscode/src/vs/workbench/browser/workbench.d.ts +0 -2
- package/vscode/src/vs/workbench/browser/workbench.js +23 -20
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +41 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.js +56 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +0 -18
- package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +0 -27
- package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +0 -36
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +0 -37
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +0 -126
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +0 -59
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +0 -232
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +0 -13
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +0 -22
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +0 -45
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +0 -110
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +0 -112
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +0 -444
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +0 -43
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +0 -55
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +0 -91
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +0 -26
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +0 -98
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +0 -33
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +0 -98
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +0 -2
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +0 -13
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +0 -122
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +0 -464
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +0 -35
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +0 -90
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +0 -84
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +0 -328
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +0 -174
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +0 -1390
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +0 -44
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +0 -30
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +0 -78
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +0 -11
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +0 -26
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +0 -27
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +0 -26
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
|
|
2
2
|
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
3
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
|
+
import { raceCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
5
|
+
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
4
6
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
5
7
|
import { fromNow } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
|
|
6
|
-
import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
8
|
+
import { onUnexpectedError, isCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
7
9
|
import { KeyMod, KeyCode, KeyChord } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
8
|
-
import { DisposableStore, toDisposable, Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
10
|
+
import { DisposableStore, toDisposable, Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
11
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
10
12
|
import { Event, Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
11
13
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
14
|
+
import { hasKey } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
15
|
+
import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
12
16
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
13
|
-
import { registerAction2, Action2, MenuId, MenuItemAction
|
|
17
|
+
import { registerAction2, Action2, MenuRegistry, MenuId, MenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
14
18
|
import { IActionViewItemService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/actionViewItemService.service';
|
|
15
19
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
16
20
|
import { isConfigured } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
|
|
@@ -30,15 +34,14 @@ import { Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services
|
|
|
30
34
|
import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
|
|
31
35
|
import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
32
36
|
import { getQuickNavigateHandler, inQuickPickContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/quickaccess';
|
|
33
|
-
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
34
37
|
import { Menus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/menus';
|
|
35
38
|
import { SessionsCategories } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/categories';
|
|
36
|
-
import { SessionsPickerVisibleContext, SessionsWelcomeVisibleContext, CanGoBackContext, CanGoForwardContext, SessionsFocusContext, SessionFocusedChatIsRenameTargetContext, SessionIsCreatedContext, SessionSupportsMultipleChatsContext, IsQuickChatSessionContext,
|
|
39
|
+
import { SessionsPickerVisibleContext, SessionsWelcomeVisibleContext, CanGoBackContext, CanGoForwardContext, SessionsFocusContext, SessionHeaderShowsChatContext, SessionFocusedChatIsRenameTargetContext, SessionIsCreatedContext, SessionIsArchivedContext, SessionsListPromoteNewChatActionContext, SessionSupportsMultipleChatsContext, IsQuickChatSessionContext, SessionItemIsMultiSelectionContext, SessionHasMultipleOpenChatsContext, SessionActiveChatIsClosableContext, SessionHeaderTargetsChatContext, SessionActiveChatIsDeletableContext, SessionActiveChatIsUntitledContext, SessionsHasClosedItemContext, SessionsEditorScopeContext, SessionChatsPickerVisibleContext, SessionHasMultipleCommittedChatsContext, SessionsTitleBarNewSessionEnabledContext, SessionIdContext, SessionActiveChatHasSideChatsContext, SessionActiveChatResourceContext, SessionIsStickyContext, SessionHeaderActiveChatIsPinnedContext, SessionProviderIdContext, SessionSupportsRenameContext, MultipleSessionsVisibleContext, SessionToolbarShowsSessionContext, IsNewChatSessionContext, IsPhoneLayoutContext, SessionIsMaximizedContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
|
|
37
40
|
import { ANY_AGENT_HOST_PROVIDER_RE } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider';
|
|
38
|
-
import { FOCUS_ACTIVE_SESSION_COMMAND_ID, FOCUS_PREVIOUS_CHAT_GROUP_COMMAND_ID, FOCUS_NEXT_CHAT_GROUP_COMMAND_ID, SPLIT_CHAT_GROUP_RIGHT_COMMAND_ID, SPLIT_CHAT_GROUP_DOWN_COMMAND_ID, MOVE_CHAT_TO_PREVIOUS_GROUP_COMMAND_ID, MOVE_CHAT_TO_NEXT_GROUP_COMMAND_ID, RENAME_CHAT_COMMAND_ID, CLOSE_CHAT_COMMAND_ID, RENAME_SESSION_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionCommands';
|
|
41
|
+
import { FOCUS_ACTIVE_SESSION_COMMAND_ID, FOCUS_PREVIOUS_CHAT_GROUP_COMMAND_ID, FOCUS_NEXT_CHAT_GROUP_COMMAND_ID, SPLIT_CHAT_GROUP_RIGHT_COMMAND_ID, SPLIT_CHAT_GROUP_DOWN_COMMAND_ID, MOVE_CHAT_TO_PREVIOUS_GROUP_COMMAND_ID, MOVE_CHAT_TO_NEXT_GROUP_COMMAND_ID, RENAME_CHAT_COMMAND_ID, CLOSE_CHAT_COMMAND_ID, TOGGLE_PIN_SESSION_COMMAND_ID, TOGGLE_PIN_CHAT_COMMAND_ID, RENAME_SESSION_COMMAND_ID, CLOSE_SESSION_COMMAND_ID, ARRANGE_SESSIONS_COMMAND_ID, SESSION_GRID_FOCUS_COMMANDS } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionCommands';
|
|
39
42
|
import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
|
|
40
43
|
import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service';
|
|
41
|
-
import { getUntitledSessionTitle, getGitHubPullRequestRefs, SessionStatus, getChatCapabilities, ChatOriginKind } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
44
|
+
import { getUntitledSessionTitle, getGitHubPullRequestRefs, SessionStatus, getChatCapabilities, ChatOriginKind, isSideChatOf } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
42
45
|
import { ISessionsPartService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsPartService.service';
|
|
43
46
|
import { ISessionsListModelService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsListModelService.service';
|
|
44
47
|
import { EventHelper, isMouseEvent, $, reset, append, ModifierKeyEmitter } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
@@ -65,21 +68,25 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/sear
|
|
|
65
68
|
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
66
69
|
import { markOnboardingTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/onboarding/browser/spotlight/onboardingTarget';
|
|
67
70
|
import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
|
|
68
|
-
import {
|
|
71
|
+
import { registerViewNavigationCommand } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/actions/navigationActions';
|
|
72
|
+
import { agentsNewSessionButtonBorder, agentsNewSessionButtonHoverBackground, agentsNewSessionButtonForeground, agentsNewSessionButtonBackground } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/agentsColors';
|
|
69
73
|
import { logSessionsInteraction } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionsTelemetry';
|
|
70
74
|
import { NEW_SESSION_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/common/constants';
|
|
71
75
|
import { groupSessionsForPicker } from './sessionsPicker.js';
|
|
72
|
-
import { SESSION_CONVERSATION_SIDE_CHATS_GROUP, getSessionConversationActionId
|
|
73
|
-
import {
|
|
76
|
+
import { SESSION_CONVERSATION_SIDE_CHATS_GROUP, getSessionConversationActionId } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/sessionConversationGroups';
|
|
77
|
+
import { SessionChatItemCanRenameContext, SessionChatItemIsUntitledContext, SessionsListFocusedChatItemContext, SessionChatItemCanDeleteContext, SessionItemInExternalSectionContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/views/sessionsList';
|
|
74
78
|
import { SessionsViewId } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/views/sessionsView';
|
|
75
79
|
import * as newSessionActionViewItem from './media/newSessionActionViewItem.css';
|
|
76
80
|
import { INewSessionComposerService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/newSessionComposerService.service';
|
|
81
|
+
import { SESSIONS_CHAT_TABS_SETTING, SessionsChatTabsMode } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionConfig';
|
|
82
|
+
import { Direction } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/grid/grid';
|
|
83
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
77
84
|
import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
|
|
78
85
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
79
86
|
import { getHighestPriorityPullRequestIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/chatPullRequest';
|
|
80
87
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
81
88
|
|
|
82
|
-
var NewSessionActionViewItemContribution_1;
|
|
89
|
+
var NewSessionActionViewItemContribution_1, SessionListActionsExperimentContribution_1;
|
|
83
90
|
registerCss(newSessionActionViewItem, 1);
|
|
84
91
|
const NEW_SESSION_BUTTON_STYLE_SETTING = "sessions.newSessionButton.style";
|
|
85
92
|
const NEW_SESSION_BUTTON_STYLE_TREATMENT = "agentSessionsNewSessionButtonStyle";
|
|
@@ -88,7 +95,7 @@ registerAction2(class ShowSessionsPickerAction extends Action2 {
|
|
|
88
95
|
constructor() {
|
|
89
96
|
super({
|
|
90
97
|
id: SHOW_SESSIONS_PICKER_COMMAND_ID,
|
|
91
|
-
title: ( localize2(
|
|
98
|
+
title: ( localize2(5797, "Show Sessions Picker")),
|
|
92
99
|
f1: true,
|
|
93
100
|
category: SessionsCategories.Sessions,
|
|
94
101
|
keybinding: {
|
|
@@ -141,7 +148,7 @@ registerAction2(class ShowSessionsPickerAction extends Action2 {
|
|
|
141
148
|
const picker = quickInputService.createQuickPick({
|
|
142
149
|
useSeparators: true
|
|
143
150
|
});
|
|
144
|
-
picker.placeholder = ( localize(
|
|
151
|
+
picker.placeholder = ( localize(5798, "Search sessions by name or folder"));
|
|
145
152
|
picker.canAcceptInBackground = true;
|
|
146
153
|
picker.matchOnDetail = true;
|
|
147
154
|
const disposables = ( new DisposableStore());
|
|
@@ -159,7 +166,7 @@ registerAction2(class ShowSessionsPickerAction extends Action2 {
|
|
|
159
166
|
const sessionGroups = groupSessionsForPicker(recent, other, reader);
|
|
160
167
|
const items = [{
|
|
161
168
|
id: "newSession",
|
|
162
|
-
label: `$(add) ${( localize(
|
|
169
|
+
label: `$(add) ${( localize(5799, "New Session"))}`,
|
|
163
170
|
session: undefined
|
|
164
171
|
}];
|
|
165
172
|
let firstSessionItem;
|
|
@@ -177,10 +184,10 @@ registerAction2(class ShowSessionsPickerAction extends Action2 {
|
|
|
177
184
|
items.push(item);
|
|
178
185
|
}
|
|
179
186
|
};
|
|
180
|
-
appendSessions(( localize(
|
|
181
|
-
appendSessions(( localize(
|
|
182
|
-
appendSessions(( localize(
|
|
183
|
-
appendSessions(( localize(
|
|
187
|
+
appendSessions(( localize(5800, "needs attention")), sessionGroups.needsInput);
|
|
188
|
+
appendSessions(( localize(5801, "unread")), sessionGroups.unread);
|
|
189
|
+
appendSessions(( localize(5802, "recently opened")), sessionGroups.recent);
|
|
190
|
+
appendSessions(( localize(5803, "other sessions")), sessionGroups.other);
|
|
184
191
|
const activeItemId = picker.activeItems[0]?.id;
|
|
185
192
|
picker.items = items;
|
|
186
193
|
const activeItem = activeItemId ? items.find(item => item.type !== "separator" && item.id === activeItemId) : firstSessionItem;
|
|
@@ -199,7 +206,11 @@ registerAction2(class ShowSessionsPickerAction extends Action2 {
|
|
|
199
206
|
return;
|
|
200
207
|
}
|
|
201
208
|
if (toSide && activeSessionId !== undefined && selected.session.sessionId !== activeSessionId) {
|
|
202
|
-
sessionsService.
|
|
209
|
+
void sessionsService.openSessionsAt([selected.session], activeSessionId, "right", {
|
|
210
|
+
preserveFocus: inBackground,
|
|
211
|
+
activate: inBackground ? false : "first",
|
|
212
|
+
source: "sessionsList"
|
|
213
|
+
}).catch(onUnexpectedError);
|
|
203
214
|
} else {
|
|
204
215
|
sessionsService.openSession(selected.session.resource, {
|
|
205
216
|
preserveFocus: inBackground,
|
|
@@ -248,15 +259,15 @@ registerAction2(class GoBackAction extends Action2 {
|
|
|
248
259
|
super({
|
|
249
260
|
id: "sessions.goBack",
|
|
250
261
|
title: {
|
|
251
|
-
...( localize2(
|
|
252
|
-
mnemonicTitle: ( localize(
|
|
262
|
+
...( localize2(5804, "Go Back")),
|
|
263
|
+
mnemonicTitle: ( localize(5805, "&&Back"))
|
|
253
264
|
},
|
|
254
265
|
f1: true,
|
|
255
266
|
icon: Codicon.arrowLeft,
|
|
256
|
-
tooltip: ( localize(
|
|
267
|
+
tooltip: ( localize(5806, "Go Back One Session")),
|
|
257
268
|
category: SessionsCategories.Sessions,
|
|
258
269
|
precondition: CanGoBackContext,
|
|
259
|
-
keybinding: {
|
|
270
|
+
keybinding: [{
|
|
260
271
|
weight: KeybindingWeight.SessionsContrib,
|
|
261
272
|
win: {
|
|
262
273
|
primary: KeyMod.Alt | KeyCode.LeftArrow,
|
|
@@ -268,10 +279,20 @@ registerAction2(class GoBackAction extends Action2 {
|
|
|
268
279
|
},
|
|
269
280
|
linux: {
|
|
270
281
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Minus,
|
|
271
|
-
secondary: [
|
|
282
|
+
secondary: [
|
|
283
|
+
KeyMod.Alt | KeyCode.LeftArrow,
|
|
284
|
+
KeyCode.BrowserBack,
|
|
285
|
+
KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Tab
|
|
286
|
+
]
|
|
272
287
|
},
|
|
273
288
|
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( EditorAreaFocusContext.toNegated())))
|
|
274
|
-
},
|
|
289
|
+
}, {
|
|
290
|
+
weight: KeybindingWeight.SessionsContrib,
|
|
291
|
+
mac: {
|
|
292
|
+
primary: KeyMod.Alt | KeyCode.LeftArrow
|
|
293
|
+
},
|
|
294
|
+
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( EditorAreaFocusContext.toNegated()), ( InputFocusedContext.negate()), ( EditorContextKeys.textInputFocus.negate())))
|
|
295
|
+
}],
|
|
275
296
|
menu: [{
|
|
276
297
|
id: Menus.TitleBarCenterLeft,
|
|
277
298
|
group: "navigation",
|
|
@@ -293,15 +314,15 @@ registerAction2(class GoForwardAction extends Action2 {
|
|
|
293
314
|
super({
|
|
294
315
|
id: "sessions.goForward",
|
|
295
316
|
title: {
|
|
296
|
-
...( localize2(
|
|
297
|
-
mnemonicTitle: ( localize(
|
|
317
|
+
...( localize2(5807, "Go Forward")),
|
|
318
|
+
mnemonicTitle: ( localize(5808, "&&Forward"))
|
|
298
319
|
},
|
|
299
320
|
f1: true,
|
|
300
321
|
icon: Codicon.arrowRight,
|
|
301
|
-
tooltip: ( localize(
|
|
322
|
+
tooltip: ( localize(5809, "Go Forward One Session")),
|
|
302
323
|
category: SessionsCategories.Sessions,
|
|
303
324
|
precondition: CanGoForwardContext,
|
|
304
|
-
keybinding: {
|
|
325
|
+
keybinding: [{
|
|
305
326
|
weight: KeybindingWeight.SessionsContrib,
|
|
306
327
|
win: {
|
|
307
328
|
primary: KeyMod.Alt | KeyCode.RightArrow,
|
|
@@ -313,10 +334,20 @@ registerAction2(class GoForwardAction extends Action2 {
|
|
|
313
334
|
},
|
|
314
335
|
linux: {
|
|
315
336
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Minus,
|
|
316
|
-
secondary: [
|
|
337
|
+
secondary: [
|
|
338
|
+
KeyMod.Alt | KeyCode.RightArrow,
|
|
339
|
+
KeyCode.BrowserForward,
|
|
340
|
+
KeyMod.CtrlCmd | KeyCode.Tab
|
|
341
|
+
]
|
|
317
342
|
},
|
|
318
343
|
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( EditorAreaFocusContext.toNegated())))
|
|
319
|
-
},
|
|
344
|
+
}, {
|
|
345
|
+
weight: KeybindingWeight.SessionsContrib,
|
|
346
|
+
mac: {
|
|
347
|
+
primary: KeyMod.Alt | KeyCode.RightArrow
|
|
348
|
+
},
|
|
349
|
+
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( EditorAreaFocusContext.toNegated()), ( InputFocusedContext.negate()), ( EditorContextKeys.textInputFocus.negate())))
|
|
350
|
+
}],
|
|
320
351
|
menu: [{
|
|
321
352
|
id: Menus.TitleBarCenterLeft,
|
|
322
353
|
group: "navigation",
|
|
@@ -337,7 +368,7 @@ registerAction2(class FocusActiveSessionAction extends Action2 {
|
|
|
337
368
|
constructor() {
|
|
338
369
|
super({
|
|
339
370
|
id: FOCUS_ACTIVE_SESSION_COMMAND_ID,
|
|
340
|
-
title: ( localize2(
|
|
371
|
+
title: ( localize2(5810, "Focus Active Session")),
|
|
341
372
|
f1: true,
|
|
342
373
|
category: SessionsCategories.Sessions,
|
|
343
374
|
keybinding: {
|
|
@@ -372,7 +403,7 @@ registerAction2(class FocusPreviousChatGroupAction extends Action2 {
|
|
|
372
403
|
constructor() {
|
|
373
404
|
super({
|
|
374
405
|
id: FOCUS_PREVIOUS_CHAT_GROUP_COMMAND_ID,
|
|
375
|
-
title: ( localize2(
|
|
406
|
+
title: ( localize2(5811, "Focus Previous Chat Group")),
|
|
376
407
|
f1: true,
|
|
377
408
|
category: SessionsCategories.Sessions,
|
|
378
409
|
keybinding: {
|
|
@@ -390,7 +421,7 @@ registerAction2(class FocusNextChatGroupAction extends Action2 {
|
|
|
390
421
|
constructor() {
|
|
391
422
|
super({
|
|
392
423
|
id: FOCUS_NEXT_CHAT_GROUP_COMMAND_ID,
|
|
393
|
-
title: ( localize2(
|
|
424
|
+
title: ( localize2(5812, "Focus Next Chat Group")),
|
|
394
425
|
f1: true,
|
|
395
426
|
category: SessionsCategories.Sessions,
|
|
396
427
|
keybinding: {
|
|
@@ -408,7 +439,7 @@ registerAction2(class SplitChatGroupRightAction extends Action2 {
|
|
|
408
439
|
constructor() {
|
|
409
440
|
super({
|
|
410
441
|
id: SPLIT_CHAT_GROUP_RIGHT_COMMAND_ID,
|
|
411
|
-
title: ( localize2(
|
|
442
|
+
title: ( localize2(5813, "Split Chat Group Right")),
|
|
412
443
|
f1: true,
|
|
413
444
|
category: SessionsCategories.Sessions
|
|
414
445
|
});
|
|
@@ -421,7 +452,7 @@ registerAction2(class SplitChatGroupDownAction extends Action2 {
|
|
|
421
452
|
constructor() {
|
|
422
453
|
super({
|
|
423
454
|
id: SPLIT_CHAT_GROUP_DOWN_COMMAND_ID,
|
|
424
|
-
title: ( localize2(
|
|
455
|
+
title: ( localize2(5814, "Split Chat Group Down")),
|
|
425
456
|
f1: true,
|
|
426
457
|
category: SessionsCategories.Sessions
|
|
427
458
|
});
|
|
@@ -434,7 +465,7 @@ registerAction2(class MoveChatToPreviousGroupAction extends Action2 {
|
|
|
434
465
|
constructor() {
|
|
435
466
|
super({
|
|
436
467
|
id: MOVE_CHAT_TO_PREVIOUS_GROUP_COMMAND_ID,
|
|
437
|
-
title: ( localize2(
|
|
468
|
+
title: ( localize2(5815, "Move Chat to Previous Group")),
|
|
438
469
|
f1: true,
|
|
439
470
|
category: SessionsCategories.Sessions
|
|
440
471
|
});
|
|
@@ -447,7 +478,7 @@ registerAction2(class MoveChatToNextGroupAction extends Action2 {
|
|
|
447
478
|
constructor() {
|
|
448
479
|
super({
|
|
449
480
|
id: MOVE_CHAT_TO_NEXT_GROUP_COMMAND_ID,
|
|
450
|
-
title: ( localize2(
|
|
481
|
+
title: ( localize2(5816, "Move Chat to Next Group")),
|
|
451
482
|
f1: true,
|
|
452
483
|
category: SessionsCategories.Sessions
|
|
453
484
|
});
|
|
@@ -463,7 +494,7 @@ for (let index = 0; index < 9; index++) {
|
|
|
463
494
|
constructor() {
|
|
464
495
|
super({
|
|
465
496
|
id: `sessions.focusSessionInGrid${position}`,
|
|
466
|
-
title: isLast ? ( localize2(
|
|
497
|
+
title: isLast ? ( localize2(5817, "Focus Last Session in Grid")) : ( localize2(5818, "Focus Session {0} in Grid", position)),
|
|
467
498
|
f1: true,
|
|
468
499
|
category: SessionsCategories.Sessions,
|
|
469
500
|
keybinding: {
|
|
@@ -491,7 +522,7 @@ registerAction2(class CloseAllSessionsAction extends Action2 {
|
|
|
491
522
|
constructor() {
|
|
492
523
|
super({
|
|
493
524
|
id: "sessions.closeAllSessions",
|
|
494
|
-
title: ( localize2(
|
|
525
|
+
title: ( localize2(5819, "Close All Sessions")),
|
|
495
526
|
f1: true,
|
|
496
527
|
category: SessionsCategories.Sessions,
|
|
497
528
|
precondition: IsSessionsWindowContext,
|
|
@@ -543,11 +574,11 @@ async function renameChatWithQuickInput(accessor, context) {
|
|
|
543
574
|
if (!initialChat || extUri.isEqual(resource, session.mainChat.get().resource) || initialChat.status.get() === SessionStatus.Untitled || !getChatCapabilities(initialChat, session, undefined).canRename) {
|
|
544
575
|
return;
|
|
545
576
|
}
|
|
546
|
-
const initialTitle = initialChat.title.get().trim() || ( localize(
|
|
577
|
+
const initialTitle = initialChat.title.get().trim() || ( localize(5820, "Untitled Chat"));
|
|
547
578
|
const newTitle = await quickInputService.input({
|
|
548
579
|
value: initialTitle,
|
|
549
|
-
prompt: ( localize(
|
|
550
|
-
validateInput: async value => value.trim() ? undefined : ( localize(
|
|
580
|
+
prompt: ( localize(5821, "New chat title")),
|
|
581
|
+
validateInput: async value => value.trim() ? undefined : ( localize(5822, "Title cannot be empty"))
|
|
551
582
|
});
|
|
552
583
|
const trimmedTitle = newTitle?.trim();
|
|
553
584
|
if (!trimmedTitle || trimmedTitle === initialTitle) {
|
|
@@ -563,49 +594,74 @@ registerAction2(class RenameChatAction extends Action2 {
|
|
|
563
594
|
constructor() {
|
|
564
595
|
super({
|
|
565
596
|
id: RENAME_CHAT_COMMAND_ID,
|
|
566
|
-
title: ( localize2(
|
|
597
|
+
title: ( localize2(5823, "Rename...")),
|
|
567
598
|
f1: false,
|
|
568
599
|
category: SessionsCategories.Sessions,
|
|
569
600
|
keybinding: {
|
|
570
601
|
primary: KeyCode.F2,
|
|
571
602
|
weight: CHAT_TAB_KEYBINDING_WEIGHT,
|
|
572
|
-
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( ContextKeyExpr.or(
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
}
|
|
576
|
-
async run(accessor, context) {
|
|
577
|
-
const target = getChatRenameContext(accessor, context);
|
|
578
|
-
if (target) {
|
|
579
|
-
await renameChatWithQuickInput(accessor, target);
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
});
|
|
583
|
-
registerAction2(class RenameSessionListChatAction extends Action2 {
|
|
584
|
-
constructor() {
|
|
585
|
-
super({
|
|
586
|
-
id: "sessions.list.renameChat",
|
|
587
|
-
title: ( localize2(4679, "Rename...")),
|
|
588
|
-
f1: false,
|
|
589
|
-
menu: {
|
|
603
|
+
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( ContextKeyExpr.or(SessionFocusedChatIsRenameTargetContext, ( ContextKeyExpr.and(( FocusedViewContext.isEqualTo(SessionsViewId)), WorkbenchListFocusContextKey, SessionsListFocusedChatItemContext))))))
|
|
604
|
+
},
|
|
605
|
+
menu: [{
|
|
590
606
|
id: Menus.SessionChatItemContext,
|
|
591
607
|
group: "1_chat",
|
|
592
608
|
order: 1,
|
|
593
609
|
when: ( ContextKeyExpr.and(SessionChatItemCanRenameContext, ( SessionChatItemIsUntitledContext.negate())))
|
|
594
|
-
}
|
|
610
|
+
}, {
|
|
611
|
+
id: Menus.SessionHeaderContext,
|
|
612
|
+
group: "2_edit",
|
|
613
|
+
order: 1,
|
|
614
|
+
when: ( ContextKeyExpr.and(SessionHeaderShowsChatContext, SessionFocusedChatIsRenameTargetContext))
|
|
615
|
+
}, {
|
|
616
|
+
id: Menus.SessionBarToolbar,
|
|
617
|
+
group: "secondary/1_session",
|
|
618
|
+
order: 20,
|
|
619
|
+
when: ( ContextKeyExpr.and(
|
|
620
|
+
SessionIsCreatedContext,
|
|
621
|
+
SessionHeaderShowsChatContext,
|
|
622
|
+
SessionFocusedChatIsRenameTargetContext,
|
|
623
|
+
( SessionIsArchivedContext.negate())
|
|
624
|
+
))
|
|
625
|
+
}]
|
|
595
626
|
});
|
|
596
627
|
}
|
|
597
|
-
async run(accessor, context) {
|
|
598
|
-
|
|
628
|
+
async run(accessor, context, chat) {
|
|
629
|
+
let renameContext;
|
|
630
|
+
if (context && hasKey(context, {
|
|
631
|
+
session: true
|
|
632
|
+
})) {
|
|
633
|
+
renameContext = context;
|
|
634
|
+
} else if (context && chat) {
|
|
635
|
+
renameContext = {
|
|
636
|
+
session: context,
|
|
637
|
+
chat,
|
|
638
|
+
inline: true
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
if (!renameContext) {
|
|
642
|
+
const sessionsList = getSessionsList(accessor);
|
|
643
|
+
const focusedChat = sessionsList?.getFocusedChatItem();
|
|
644
|
+
if (focusedChat && sessionsList?.beginRenameChat(focusedChat)) {
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
if (renameContext?.inline && accessor.get(ISessionsPartService).getSessionView(renameContext.session.sessionId)?.startChatTitleEditing(renameContext.chat.resource)) {
|
|
599
649
|
return;
|
|
600
650
|
}
|
|
601
|
-
|
|
651
|
+
if (!renameContext && accessor.get(ISessionsPartService).getFocusedSessionView()?.startFocusedChatTitleEditing?.()) {
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
const target = getChatRenameContext(accessor, renameContext);
|
|
655
|
+
if (target) {
|
|
656
|
+
await renameChatWithQuickInput(accessor, target);
|
|
657
|
+
}
|
|
602
658
|
}
|
|
603
659
|
});
|
|
604
660
|
registerAction2(class OpenSessionListChatToSideAction extends Action2 {
|
|
605
661
|
constructor() {
|
|
606
662
|
super({
|
|
607
663
|
id: "sessions.list.openChatToSide",
|
|
608
|
-
title: ( localize2(
|
|
664
|
+
title: ( localize2(5824, "Open to the Side")),
|
|
609
665
|
f1: false,
|
|
610
666
|
menu: {
|
|
611
667
|
id: Menus.SessionChatItemContext,
|
|
@@ -629,21 +685,33 @@ registerAction2(class DeleteSessionListChatAction extends Action2 {
|
|
|
629
685
|
constructor() {
|
|
630
686
|
super({
|
|
631
687
|
id: "sessions.list.deleteChat",
|
|
632
|
-
title: ( localize2(
|
|
688
|
+
title: ( localize2(5825, "Delete...")),
|
|
689
|
+
icon: Codicon.trash,
|
|
633
690
|
f1: false,
|
|
634
|
-
menu: {
|
|
691
|
+
menu: [{
|
|
635
692
|
id: Menus.SessionChatItemContext,
|
|
636
693
|
group: "2_delete",
|
|
637
694
|
order: 1,
|
|
638
695
|
when: SessionChatItemCanDeleteContext
|
|
639
|
-
}
|
|
696
|
+
}, {
|
|
697
|
+
id: Menus.SessionChatItemToolbar,
|
|
698
|
+
group: "navigation",
|
|
699
|
+
order: 1,
|
|
700
|
+
when: ( ContextKeyExpr.and(SessionChatItemCanDeleteContext, SessionChatItemIsUntitledContext))
|
|
701
|
+
}]
|
|
640
702
|
});
|
|
641
703
|
}
|
|
642
704
|
async run(accessor, context) {
|
|
643
705
|
if (!context || !getChatCapabilities(context.chat, context.session, undefined).canDelete) {
|
|
644
706
|
return;
|
|
645
707
|
}
|
|
646
|
-
await accessor.get(ISessionsManagementService).deleteChat(
|
|
708
|
+
await accessor.get(ISessionsManagementService).deleteChat(
|
|
709
|
+
context.session,
|
|
710
|
+
context.chat.resource,
|
|
711
|
+
context.chat.status.get() === SessionStatus.Untitled ? {
|
|
712
|
+
skipConfirmation: true
|
|
713
|
+
} : undefined
|
|
714
|
+
);
|
|
647
715
|
}
|
|
648
716
|
});
|
|
649
717
|
const ADD_CHAT_TO_SESSION_ACTION_ID = "sessions.chatCompositeBar.addChat";
|
|
@@ -651,33 +719,30 @@ registerAction2(class AddChatToSessionAction extends Action2 {
|
|
|
651
719
|
constructor() {
|
|
652
720
|
super({
|
|
653
721
|
id: ADD_CHAT_TO_SESSION_ACTION_ID,
|
|
654
|
-
title: ( localize2(
|
|
722
|
+
title: ( localize2(5826, "New Nested Session")),
|
|
655
723
|
icon: Codicon.add,
|
|
724
|
+
precondition: ( SessionItemIsMultiSelectionContext.negate()),
|
|
656
725
|
keybinding: {
|
|
657
726
|
weight: CHAT_TAB_KEYBINDING_WEIGHT,
|
|
658
727
|
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( EditorAreaFocusContext.toNegated()), SessionIsCreatedContext, SessionSupportsMultipleChatsContext, ( IsQuickChatSessionContext.negate()), ( SessionIsArchivedContext.negate()))),
|
|
659
728
|
primary: KeyMod.CtrlCmd | KeyCode.KeyT
|
|
660
729
|
},
|
|
661
730
|
menu: [{
|
|
662
|
-
id: Menus.
|
|
663
|
-
group: "
|
|
664
|
-
order:
|
|
731
|
+
id: Menus.SessionItemToolbar,
|
|
732
|
+
group: "navigation",
|
|
733
|
+
order: 1,
|
|
665
734
|
when: ( ContextKeyExpr.and(
|
|
666
|
-
|
|
735
|
+
SessionsListPromoteNewChatActionContext,
|
|
667
736
|
SessionSupportsMultipleChatsContext,
|
|
668
737
|
( IsQuickChatSessionContext.negate()),
|
|
669
|
-
( SessionIsArchivedContext.negate())
|
|
738
|
+
( SessionIsArchivedContext.negate()),
|
|
739
|
+
( SessionItemInExternalSectionContext.negate())
|
|
670
740
|
))
|
|
671
741
|
}, {
|
|
672
742
|
id: Menus.SessionItemContextMenu,
|
|
673
743
|
group: "1_newChat",
|
|
674
744
|
order: 0,
|
|
675
|
-
when: ( ContextKeyExpr.and(
|
|
676
|
-
SessionIsCreatedContext,
|
|
677
|
-
SessionSupportsMultipleChatsContext,
|
|
678
|
-
( IsQuickChatSessionContext.negate()),
|
|
679
|
-
( SessionIsArchivedContext.negate())
|
|
680
|
-
))
|
|
745
|
+
when: ( ContextKeyExpr.and(SessionSupportsMultipleChatsContext, ( IsQuickChatSessionContext.negate()), ( SessionIsArchivedContext.negate()), ( SessionItemInExternalSectionContext.negate())))
|
|
681
746
|
}]
|
|
682
747
|
});
|
|
683
748
|
}
|
|
@@ -720,7 +785,7 @@ registerAction2(class NavigateNextChatAction extends Action2 {
|
|
|
720
785
|
constructor() {
|
|
721
786
|
super({
|
|
722
787
|
id: "sessions.chatCompositeBar.navigateNextChat",
|
|
723
|
-
title: ( localize2(
|
|
788
|
+
title: ( localize2(5827, "Go to Next Chat")),
|
|
724
789
|
f1: true,
|
|
725
790
|
category: SessionsCategories.Sessions,
|
|
726
791
|
precondition: SessionHasMultipleOpenChatsContext,
|
|
@@ -739,7 +804,7 @@ registerAction2(class NavigatePreviousChatAction extends Action2 {
|
|
|
739
804
|
constructor() {
|
|
740
805
|
super({
|
|
741
806
|
id: "sessions.chatCompositeBar.navigatePreviousChat",
|
|
742
|
-
title: ( localize2(
|
|
807
|
+
title: ( localize2(5828, "Go to Previous Chat")),
|
|
743
808
|
f1: true,
|
|
744
809
|
category: SessionsCategories.Sessions,
|
|
745
810
|
precondition: SessionHasMultipleOpenChatsContext,
|
|
@@ -758,8 +823,8 @@ registerAction2(class CloseChatAction extends Action2 {
|
|
|
758
823
|
constructor() {
|
|
759
824
|
super({
|
|
760
825
|
id: CLOSE_CHAT_COMMAND_ID,
|
|
761
|
-
title: ( localize2(
|
|
762
|
-
icon: Codicon.
|
|
826
|
+
title: ( localize2(5829, "Close")),
|
|
827
|
+
icon: Codicon.closeSmall,
|
|
763
828
|
f1: false,
|
|
764
829
|
category: SessionsCategories.Sessions,
|
|
765
830
|
keybinding: {
|
|
@@ -771,39 +836,68 @@ registerAction2(class CloseChatAction extends Action2 {
|
|
|
771
836
|
secondary: [KeyMod.CtrlCmd | KeyCode.KeyW]
|
|
772
837
|
}
|
|
773
838
|
},
|
|
774
|
-
menu: {
|
|
839
|
+
menu: [{
|
|
775
840
|
id: Menus.SessionChatTab,
|
|
776
841
|
group: "navigation",
|
|
777
842
|
order: 10
|
|
778
|
-
}
|
|
843
|
+
}, {
|
|
844
|
+
id: Menus.SessionBarToolbar,
|
|
845
|
+
when: ( ContextKeyExpr.and(SessionHeaderShowsChatContext, SessionActiveChatIsClosableContext)),
|
|
846
|
+
group: "secondary/4_pin",
|
|
847
|
+
order: 30
|
|
848
|
+
}, {
|
|
849
|
+
id: Menus.SessionHeaderContext,
|
|
850
|
+
when: ( ContextKeyExpr.and(SessionHeaderShowsChatContext, SessionActiveChatIsClosableContext)),
|
|
851
|
+
group: "1_view",
|
|
852
|
+
order: 2
|
|
853
|
+
}]
|
|
779
854
|
});
|
|
780
855
|
}
|
|
781
|
-
async run(accessor,
|
|
856
|
+
async run(accessor, session, chat) {
|
|
782
857
|
const sessionsService = accessor.get(ISessionsService);
|
|
783
858
|
const sessionsManagementService = accessor.get(ISessionsManagementService);
|
|
784
859
|
const extUri = accessor.get(IUriIdentityService).extUri;
|
|
785
|
-
|
|
860
|
+
session ??= sessionsService.activeSession.get();
|
|
786
861
|
if (!session) {
|
|
787
862
|
return;
|
|
788
863
|
}
|
|
789
|
-
const
|
|
790
|
-
|
|
864
|
+
const sessionView = accessor.get(ISessionsPartService).getSessionView(session.sessionId);
|
|
865
|
+
chat ??= sessionView?.getActiveChat() ?? session.activeChat.get();
|
|
866
|
+
if (!chat) {
|
|
867
|
+
return;
|
|
868
|
+
}
|
|
869
|
+
if (extUri.isEqual(chat.resource, session.mainChat.get().resource)) {
|
|
870
|
+
await sessionView?.closeChatGroup(chat.resource);
|
|
791
871
|
return;
|
|
792
872
|
}
|
|
793
873
|
if (chat.status.get() === SessionStatus.Untitled) {
|
|
794
|
-
await sessionsManagementService.deleteChat(session, chat.resource, {
|
|
874
|
+
if (await sessionsManagementService.deleteChat(session, chat.resource, {
|
|
795
875
|
skipConfirmation: true
|
|
796
|
-
})
|
|
876
|
+
})) {
|
|
877
|
+
await sessionView?.closeChatGroup(chat.resource);
|
|
878
|
+
}
|
|
797
879
|
} else {
|
|
880
|
+
await sessionView?.closeChatGroup(chat.resource);
|
|
798
881
|
await sessionsService.closeChat(session, chat);
|
|
799
882
|
}
|
|
800
883
|
}
|
|
801
884
|
});
|
|
885
|
+
MenuRegistry.appendMenuItem(Menus.SessionBarToolbar, {
|
|
886
|
+
command: {
|
|
887
|
+
id: CLOSE_CHAT_COMMAND_ID,
|
|
888
|
+
title: ( localize(5830, "Close")),
|
|
889
|
+
tooltip: ( localize(5831, "Close Chat Group")),
|
|
890
|
+
icon: Codicon.closeCompact
|
|
891
|
+
},
|
|
892
|
+
when: ( ContextKeyExpr.and(SessionHeaderShowsChatContext, SessionActiveChatIsClosableContext)),
|
|
893
|
+
group: "navigation",
|
|
894
|
+
order: 30
|
|
895
|
+
});
|
|
802
896
|
registerAction2(class CloseAllChatsAction extends Action2 {
|
|
803
897
|
constructor() {
|
|
804
898
|
super({
|
|
805
899
|
id: "sessions.chatCompositeBar.closeAllChats",
|
|
806
|
-
title: ( localize2(
|
|
900
|
+
title: ( localize2(5832, "Close All Chats")),
|
|
807
901
|
f1: true,
|
|
808
902
|
category: SessionsCategories.Sessions,
|
|
809
903
|
precondition: SessionHasMultipleOpenChatsContext,
|
|
@@ -842,7 +936,8 @@ registerAction2(class DeleteChatAction extends Action2 {
|
|
|
842
936
|
constructor() {
|
|
843
937
|
super({
|
|
844
938
|
id: "sessions.chatCompositeBar.deleteChat",
|
|
845
|
-
title: ( localize2(
|
|
939
|
+
title: ( localize2(5833, "Delete Chat")),
|
|
940
|
+
icon: Codicon.trash,
|
|
846
941
|
f1: true,
|
|
847
942
|
category: SessionsCategories.Sessions,
|
|
848
943
|
keybinding: {
|
|
@@ -853,28 +948,49 @@ registerAction2(class DeleteChatAction extends Action2 {
|
|
|
853
948
|
primary: KeyMod.CtrlCmd | KeyCode.Backspace,
|
|
854
949
|
secondary: [KeyCode.Delete]
|
|
855
950
|
}
|
|
856
|
-
}
|
|
951
|
+
},
|
|
952
|
+
menu: [{
|
|
953
|
+
id: Menus.SessionBarToolbar,
|
|
954
|
+
group: "secondary/1_session",
|
|
955
|
+
order: 30,
|
|
956
|
+
when: ( ContextKeyExpr.and(
|
|
957
|
+
SessionHeaderTargetsChatContext,
|
|
958
|
+
SessionActiveChatIsDeletableContext,
|
|
959
|
+
SessionActiveChatIsUntitledContext
|
|
960
|
+
))
|
|
961
|
+
}, {
|
|
962
|
+
id: Menus.SessionHeaderContext,
|
|
963
|
+
group: "2_edit",
|
|
964
|
+
order: 2,
|
|
965
|
+
when: ( ContextKeyExpr.and(
|
|
966
|
+
SessionHeaderTargetsChatContext,
|
|
967
|
+
SessionActiveChatIsDeletableContext,
|
|
968
|
+
SessionActiveChatIsUntitledContext
|
|
969
|
+
))
|
|
970
|
+
}]
|
|
857
971
|
});
|
|
858
972
|
}
|
|
859
|
-
async run(accessor) {
|
|
973
|
+
async run(accessor, session, chat) {
|
|
860
974
|
const sessionsService = accessor.get(ISessionsService);
|
|
861
975
|
const sessionsManagementService = accessor.get(ISessionsManagementService);
|
|
862
|
-
|
|
976
|
+
session ??= sessionsService.activeSession.get();
|
|
863
977
|
if (!session) {
|
|
864
978
|
return;
|
|
865
979
|
}
|
|
866
|
-
|
|
980
|
+
chat ??= session.activeChat.get();
|
|
867
981
|
if (!chat || !getChatCapabilities(chat, session, undefined).canDelete) {
|
|
868
982
|
return;
|
|
869
983
|
}
|
|
870
|
-
await sessionsManagementService.deleteChat(session, chat.resource)
|
|
984
|
+
await sessionsManagementService.deleteChat(session, chat.resource, chat.status.get() === SessionStatus.Untitled ? {
|
|
985
|
+
skipConfirmation: true
|
|
986
|
+
} : undefined);
|
|
871
987
|
}
|
|
872
988
|
});
|
|
873
989
|
registerAction2(class ReopenLastClosedChatAction extends Action2 {
|
|
874
990
|
constructor() {
|
|
875
991
|
super({
|
|
876
992
|
id: "sessions.chatCompositeBar.reopenLastClosedChat",
|
|
877
|
-
title: ( localize2(
|
|
993
|
+
title: ( localize2(5834, "Reopen Last Closed Chat")),
|
|
878
994
|
f1: true,
|
|
879
995
|
category: SessionsCategories.Sessions,
|
|
880
996
|
precondition: SessionSupportsMultipleChatsContext
|
|
@@ -899,7 +1015,7 @@ registerAction2(class ReopenLastClosedItemAction extends Action2 {
|
|
|
899
1015
|
constructor() {
|
|
900
1016
|
super({
|
|
901
1017
|
id: "sessions.reopenLastClosedItem",
|
|
902
|
-
title: ( localize2(
|
|
1018
|
+
title: ( localize2(5835, "Reopen Closed Chat or Session")),
|
|
903
1019
|
category: SessionsCategories.Sessions,
|
|
904
1020
|
keybinding: {
|
|
905
1021
|
weight: CHAT_TAB_KEYBINDING_WEIGHT,
|
|
@@ -933,12 +1049,17 @@ function openChatsPicker(accessor, mru) {
|
|
|
933
1049
|
return;
|
|
934
1050
|
}
|
|
935
1051
|
const extUri = accessor.get(IUriIdentityService).extUri;
|
|
936
|
-
const toItem = chat =>
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
1052
|
+
const toItem = chat => {
|
|
1053
|
+
const updatedAt = chat.updatedAt.get();
|
|
1054
|
+
return {
|
|
1055
|
+
label: chat.title.get()?.trim() || ( localize(5820, "Untitled Chat")),
|
|
1056
|
+
...(updatedAt ? {
|
|
1057
|
+
description: fromNow(updatedAt, true, true)
|
|
1058
|
+
} : {}),
|
|
1059
|
+
iconClass: ThemeIcon.asClassName(Codicon.commentDiscussion),
|
|
1060
|
+
chat
|
|
1061
|
+
};
|
|
1062
|
+
};
|
|
942
1063
|
const openItems = (mru ? session.visibleChatTabs.get() : session.visibleChatTabs.get().filter(chat => chat.status.get() !== SessionStatus.Untitled)).map(toItem);
|
|
943
1064
|
const closedItems = mru ? [] : session.closedChats.get().filter(
|
|
944
1065
|
chat => chat.status.get() !== SessionStatus.Untitled && chat.origin?.kind !== ChatOriginKind.Tool
|
|
@@ -949,10 +1070,10 @@ function openChatsPicker(accessor, mru) {
|
|
|
949
1070
|
}
|
|
950
1071
|
const displayItems = closedItems.length === 0 ? openItems : [{
|
|
951
1072
|
type: "separator",
|
|
952
|
-
label: ( localize(
|
|
1073
|
+
label: ( localize(5836, "Open"))
|
|
953
1074
|
}, ...openItems, {
|
|
954
1075
|
type: "separator",
|
|
955
|
-
label: ( localize(
|
|
1076
|
+
label: ( localize(5837, "Closed"))
|
|
956
1077
|
}, ...closedItems];
|
|
957
1078
|
const activeChat = session.activeChat.get();
|
|
958
1079
|
const activeIndex = Math.max(
|
|
@@ -972,7 +1093,7 @@ function openChatsPicker(accessor, mru) {
|
|
|
972
1093
|
keybindings: keybindingService.lookupKeybindings(CHATS_PICKER_QUICK_NAVIGATE_NEXT_ID)
|
|
973
1094
|
};
|
|
974
1095
|
} else {
|
|
975
|
-
picker.placeholder = ( localize(
|
|
1096
|
+
picker.placeholder = ( localize(5838, "Search chats by name"));
|
|
976
1097
|
picker.matchOnDescription = true;
|
|
977
1098
|
}
|
|
978
1099
|
const pickerVisibleContext = SessionChatsPickerVisibleContext.bindTo(contextKeyService);
|
|
@@ -993,7 +1114,7 @@ registerAction2(class ShowChatsPickerAction extends Action2 {
|
|
|
993
1114
|
constructor() {
|
|
994
1115
|
super({
|
|
995
1116
|
id: SHOW_CHATS_PICKER_COMMAND_ID,
|
|
996
|
-
title: ( localize2(
|
|
1117
|
+
title: ( localize2(5839, "Go to Chat in Session")),
|
|
997
1118
|
f1: true,
|
|
998
1119
|
category: SessionsCategories.Sessions,
|
|
999
1120
|
precondition: SessionHasMultipleCommittedChatsContext,
|
|
@@ -1012,7 +1133,7 @@ registerAction2(class QuickSwitchNextChatAction extends Action2 {
|
|
|
1012
1133
|
constructor() {
|
|
1013
1134
|
super({
|
|
1014
1135
|
id: QUICK_SWITCH_NEXT_CHAT_ID,
|
|
1015
|
-
title: ( localize2(
|
|
1136
|
+
title: ( localize2(5840, "Quick Switch to Next Chat")),
|
|
1016
1137
|
f1: false,
|
|
1017
1138
|
category: SessionsCategories.Sessions,
|
|
1018
1139
|
precondition: SessionHasMultipleOpenChatsContext,
|
|
@@ -1036,7 +1157,7 @@ registerAction2(class QuickSwitchPreviousChatAction extends Action2 {
|
|
|
1036
1157
|
constructor() {
|
|
1037
1158
|
super({
|
|
1038
1159
|
id: QUICK_SWITCH_PREVIOUS_CHAT_ID,
|
|
1039
|
-
title: ( localize2(
|
|
1160
|
+
title: ( localize2(5841, "Quick Switch to Previous Chat")),
|
|
1040
1161
|
f1: false,
|
|
1041
1162
|
category: SessionsCategories.Sessions,
|
|
1042
1163
|
precondition: SessionHasMultipleOpenChatsContext,
|
|
@@ -1112,7 +1233,12 @@ let CompactButtonActionViewItem = class CompactButtonActionViewItem extends Base
|
|
|
1112
1233
|
this.configureButton(button);
|
|
1113
1234
|
const onboardingTargetId = this.onboardingTargetId;
|
|
1114
1235
|
if (onboardingTargetId) {
|
|
1115
|
-
this._register(markOnboardingTarget(button.element, onboardingTargetId
|
|
1236
|
+
this._register(markOnboardingTarget(button.element, onboardingTargetId, {
|
|
1237
|
+
onDidActivate: Event.map(
|
|
1238
|
+
Event.filter(button.onDidClick, () => this.action.enabled),
|
|
1239
|
+
() => undefined
|
|
1240
|
+
)
|
|
1241
|
+
}));
|
|
1116
1242
|
}
|
|
1117
1243
|
this._register(button.onDidClick(e => {
|
|
1118
1244
|
EventHelper.stop(e, true);
|
|
@@ -1195,7 +1321,7 @@ let NewSessionActionViewItem = class NewSessionActionViewItem extends CompactBut
|
|
|
1195
1321
|
return NEW_SESSION_ACTION_ID;
|
|
1196
1322
|
}
|
|
1197
1323
|
get label() {
|
|
1198
|
-
return localize(
|
|
1324
|
+
return localize(5842, "New");
|
|
1199
1325
|
}
|
|
1200
1326
|
get onboardingTargetId() {
|
|
1201
1327
|
return "sessions.newSession.button";
|
|
@@ -1214,10 +1340,10 @@ let NewSessionActionViewItem = class NewSessionActionViewItem extends CompactBut
|
|
|
1214
1340
|
}));
|
|
1215
1341
|
}
|
|
1216
1342
|
getHoverContent(keybindingLabel) {
|
|
1217
|
-
return keybindingLabel ? ( localize(
|
|
1343
|
+
return keybindingLabel ? ( localize(5843, "New Session ({0})", keybindingLabel)) : ( localize(5844, "New Session"));
|
|
1218
1344
|
}
|
|
1219
1345
|
getAriaLabel(keybindingAriaLabel) {
|
|
1220
|
-
return keybindingAriaLabel ? ( localize(
|
|
1346
|
+
return keybindingAriaLabel ? ( localize(5845, "New Session ({0})", keybindingAriaLabel)) : ( localize(5846, "New Session"));
|
|
1221
1347
|
}
|
|
1222
1348
|
onRun() {
|
|
1223
1349
|
logSessionsInteraction(this.telemetryService, "newSession", this.telemetrySource);
|
|
@@ -1327,6 +1453,54 @@ let NewSessionActionViewItemContribution = class NewSessionActionViewItemContrib
|
|
|
1327
1453
|
}
|
|
1328
1454
|
};
|
|
1329
1455
|
NewSessionActionViewItemContribution = NewSessionActionViewItemContribution_1 = ( __decorate([( __param(0, IActionViewItemService)), ( __param(1, IContextKeyService)), ( __param(2, IWorkbenchAssignmentService)), ( __param(3, IEnvironmentService)), ( __param(4, IProductService)), ( __param(5, IConfigurationService)), ( __param(6, ILogService))], NewSessionActionViewItemContribution));
|
|
1456
|
+
let SessionListActionsExperimentContribution = class SessionListActionsExperimentContribution extends Disposable {
|
|
1457
|
+
static {
|
|
1458
|
+
SessionListActionsExperimentContribution_1 = this;
|
|
1459
|
+
}
|
|
1460
|
+
static {
|
|
1461
|
+
this.ID = "workbench.contrib.sessions.sessionListActionsExperiment";
|
|
1462
|
+
}
|
|
1463
|
+
static {
|
|
1464
|
+
this.PROMOTE_NEW_CHAT_ACTION_TREATMENT = "sessions.promoteNewChatAction";
|
|
1465
|
+
}
|
|
1466
|
+
constructor(contextKeyService, assignmentService, logService) {
|
|
1467
|
+
super();
|
|
1468
|
+
this.assignmentService = assignmentService;
|
|
1469
|
+
this.logService = logService;
|
|
1470
|
+
this.treatmentCancellation = this._register(( new MutableDisposable()));
|
|
1471
|
+
this.promoteNewChatActionContext = SessionsListPromoteNewChatActionContext.bindTo(contextKeyService);
|
|
1472
|
+
this._register(
|
|
1473
|
+
this.assignmentService.onDidRefetchAssignments(() => this.updateTreatment())
|
|
1474
|
+
);
|
|
1475
|
+
this.updateTreatment();
|
|
1476
|
+
}
|
|
1477
|
+
updateTreatment() {
|
|
1478
|
+
const cancellation = ( new CancellationTokenSource());
|
|
1479
|
+
this.treatmentCancellation.value = toDisposable(() => {
|
|
1480
|
+
cancellation.cancel();
|
|
1481
|
+
cancellation.dispose();
|
|
1482
|
+
});
|
|
1483
|
+
void this.resolveTreatment(cancellation.token);
|
|
1484
|
+
}
|
|
1485
|
+
async resolveTreatment(token) {
|
|
1486
|
+
let enabled = false;
|
|
1487
|
+
try {
|
|
1488
|
+
enabled = (await raceCancellationError(this.assignmentService.getTreatment(
|
|
1489
|
+
SessionListActionsExperimentContribution_1.PROMOTE_NEW_CHAT_ACTION_TREATMENT
|
|
1490
|
+
), token)) ?? false;
|
|
1491
|
+
} catch (error) {
|
|
1492
|
+
if (isCancellationError(error)) {
|
|
1493
|
+
return;
|
|
1494
|
+
}
|
|
1495
|
+
this.logService.warn(
|
|
1496
|
+
"[SessionListActionsExperimentContribution] Failed to resolve the promoted New Chat action treatment; using the default session row action.",
|
|
1497
|
+
error
|
|
1498
|
+
);
|
|
1499
|
+
}
|
|
1500
|
+
this.promoteNewChatActionContext.set(enabled);
|
|
1501
|
+
}
|
|
1502
|
+
};
|
|
1503
|
+
SessionListActionsExperimentContribution = SessionListActionsExperimentContribution_1 = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IWorkbenchAssignmentService)), ( __param(2, ILogService))], SessionListActionsExperimentContribution));
|
|
1330
1504
|
let SessionConversationActionsContribution = class SessionConversationActionsContribution extends Disposable {
|
|
1331
1505
|
static {
|
|
1332
1506
|
this.ID = "workbench.contrib.sessions.conversationActions";
|
|
@@ -1348,11 +1522,11 @@ let SessionConversationActionsContribution = class SessionConversationActionsCon
|
|
|
1348
1522
|
const that = this;
|
|
1349
1523
|
const extUri = this._uriIdentityService.extUri;
|
|
1350
1524
|
const scopedToSession = ( ContextKeyExpr.equals(SessionIdContext.key, session.sessionId));
|
|
1351
|
-
const conversationsVisible = ( ContextKeyExpr.and(scopedToSession, SessionIsCreatedContext, ( SessionIsArchivedContext.negate()),
|
|
1525
|
+
const conversationsVisible = ( ContextKeyExpr.and(scopedToSession, SessionIsCreatedContext, ( SessionIsArchivedContext.negate()), SessionActiveChatHasSideChatsContext));
|
|
1352
1526
|
const allChats = session.chats.read(reader);
|
|
1353
|
-
const registerOpen = (chat, order) => {
|
|
1527
|
+
const registerOpen = (chat, parentChat, order) => {
|
|
1354
1528
|
const chatResource = chat.resource;
|
|
1355
|
-
const title = chat.title.read(reader) || ( localize(
|
|
1529
|
+
const title = chat.title.read(reader) || ( localize(5820, "Untitled Chat"));
|
|
1356
1530
|
store.add(registerAction2(class extends Action2 {
|
|
1357
1531
|
constructor() {
|
|
1358
1532
|
super({
|
|
@@ -1362,7 +1536,7 @@ let SessionConversationActionsContribution = class SessionConversationActionsCon
|
|
|
1362
1536
|
id: Menus.SessionConversations,
|
|
1363
1537
|
group: SESSION_CONVERSATION_SIDE_CHATS_GROUP,
|
|
1364
1538
|
order,
|
|
1365
|
-
when: conversationsVisible
|
|
1539
|
+
when: ( ContextKeyExpr.and(conversationsVisible, ( ContextKeyExpr.equals(SessionActiveChatResourceContext.key, ( parentChat.resource.toString())))))
|
|
1366
1540
|
}
|
|
1367
1541
|
});
|
|
1368
1542
|
}
|
|
@@ -1387,8 +1561,9 @@ let SessionConversationActionsContribution = class SessionConversationActionsCon
|
|
|
1387
1561
|
if (chat.status.read(reader) === SessionStatus.Untitled) {
|
|
1388
1562
|
return;
|
|
1389
1563
|
}
|
|
1390
|
-
|
|
1391
|
-
|
|
1564
|
+
const parentChat = allChats.find(candidate => isSideChatOf(chat, candidate.resource));
|
|
1565
|
+
if (parentChat) {
|
|
1566
|
+
registerOpen(chat, parentChat, index);
|
|
1392
1567
|
}
|
|
1393
1568
|
});
|
|
1394
1569
|
return store;
|
|
@@ -1397,33 +1572,74 @@ let SessionConversationActionsContribution = class SessionConversationActionsCon
|
|
|
1397
1572
|
SessionConversationActionsContribution = ( __decorate([( __param(0, ISessionsService)), ( __param(1, IUriIdentityService))], SessionConversationActionsContribution));
|
|
1398
1573
|
MenuRegistry.appendMenuItem(Menus.SessionBarToolbar, {
|
|
1399
1574
|
submenu: Menus.SessionConversations,
|
|
1400
|
-
title: ( localize2(
|
|
1575
|
+
title: ( localize2(5847, "Side Chats")),
|
|
1401
1576
|
icon: Codicon.commentDiscussion,
|
|
1402
1577
|
group: "secondary/2_chats",
|
|
1403
1578
|
order: 10,
|
|
1404
|
-
when: ( ContextKeyExpr.and(SessionIsCreatedContext, ( SessionIsArchivedContext.negate()),
|
|
1579
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, ( SessionIsArchivedContext.negate()), SessionActiveChatHasSideChatsContext))
|
|
1580
|
+
});
|
|
1581
|
+
MenuRegistry.appendMenuItem(Menus.SessionBarToolbar, {
|
|
1582
|
+
submenu: Menus.SessionChatTabs,
|
|
1583
|
+
title: ( localize2(5848, "Show Chat Tabs")),
|
|
1584
|
+
group: "secondary/3_tabs",
|
|
1585
|
+
order: 10,
|
|
1586
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, SessionSupportsMultipleChatsContext))
|
|
1587
|
+
});
|
|
1588
|
+
registerAction2(class ShowMultipleChatTabsAction extends Action2 {
|
|
1589
|
+
constructor() {
|
|
1590
|
+
super({
|
|
1591
|
+
id: "sessions.action.showMultipleChatTabs",
|
|
1592
|
+
title: ( localize2(5849, "Multiple")),
|
|
1593
|
+
toggled: ( ContextKeyExpr.equals(`config.${SESSIONS_CHAT_TABS_SETTING}`, SessionsChatTabsMode.Multiple)),
|
|
1594
|
+
menu: {
|
|
1595
|
+
id: Menus.SessionChatTabs,
|
|
1596
|
+
group: "1_presentation",
|
|
1597
|
+
order: 10
|
|
1598
|
+
}
|
|
1599
|
+
});
|
|
1600
|
+
}
|
|
1601
|
+
run(accessor) {
|
|
1602
|
+
return accessor.get(IConfigurationService).updateValue(SESSIONS_CHAT_TABS_SETTING, SessionsChatTabsMode.Multiple);
|
|
1603
|
+
}
|
|
1604
|
+
});
|
|
1605
|
+
registerAction2(class ShowSingleChatAction extends Action2 {
|
|
1606
|
+
constructor() {
|
|
1607
|
+
super({
|
|
1608
|
+
id: "sessions.action.showSingleChat",
|
|
1609
|
+
title: ( localize2(5850, "Single")),
|
|
1610
|
+
toggled: ( ContextKeyExpr.equals(`config.${SESSIONS_CHAT_TABS_SETTING}`, SessionsChatTabsMode.Single)),
|
|
1611
|
+
menu: {
|
|
1612
|
+
id: Menus.SessionChatTabs,
|
|
1613
|
+
group: "1_presentation",
|
|
1614
|
+
order: 20
|
|
1615
|
+
}
|
|
1616
|
+
});
|
|
1617
|
+
}
|
|
1618
|
+
run(accessor) {
|
|
1619
|
+
return accessor.get(IConfigurationService).updateValue(SESSIONS_CHAT_TABS_SETTING, SessionsChatTabsMode.Single);
|
|
1620
|
+
}
|
|
1405
1621
|
});
|
|
1406
1622
|
registerAction2(class TogglePinSessionAction extends Action2 {
|
|
1407
1623
|
constructor() {
|
|
1408
1624
|
super({
|
|
1409
|
-
id:
|
|
1410
|
-
title: ( localize2(
|
|
1625
|
+
id: TOGGLE_PIN_SESSION_COMMAND_ID,
|
|
1626
|
+
title: ( localize2(5851, "Pin")),
|
|
1411
1627
|
icon: Codicon.pin,
|
|
1412
1628
|
toggled: {
|
|
1413
1629
|
condition: SessionIsStickyContext,
|
|
1414
1630
|
icon: Codicon.pinned,
|
|
1415
|
-
title: ( localize(
|
|
1631
|
+
title: ( localize(5852, "Unpin"))
|
|
1416
1632
|
},
|
|
1417
1633
|
menu: [{
|
|
1418
1634
|
id: Menus.SessionBarToolbar,
|
|
1419
1635
|
group: "navigation",
|
|
1420
1636
|
order: 10,
|
|
1421
|
-
when: ( ContextKeyExpr.and(SessionIsCreatedContext, SessionIsStickyContext, ( SessionIsArchivedContext.negate())))
|
|
1637
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, SessionIsStickyContext, ( SessionIsArchivedContext.negate()), ( SessionHeaderShowsChatContext.negate())))
|
|
1422
1638
|
}, {
|
|
1423
1639
|
id: Menus.SessionBarToolbar,
|
|
1424
1640
|
group: "secondary/4_pin",
|
|
1425
1641
|
order: 10,
|
|
1426
|
-
when: ( ContextKeyExpr.and(SessionIsCreatedContext, ( SessionIsArchivedContext.negate())))
|
|
1642
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, ( SessionIsArchivedContext.negate()), ( SessionHeaderShowsChatContext.negate())))
|
|
1427
1643
|
}]
|
|
1428
1644
|
});
|
|
1429
1645
|
}
|
|
@@ -1436,37 +1652,89 @@ registerAction2(class TogglePinSessionAction extends Action2 {
|
|
|
1436
1652
|
});
|
|
1437
1653
|
MenuRegistry.appendMenuItem(Menus.SessionHeaderContext, {
|
|
1438
1654
|
command: {
|
|
1439
|
-
id:
|
|
1440
|
-
title: ( localize(
|
|
1655
|
+
id: TOGGLE_PIN_SESSION_COMMAND_ID,
|
|
1656
|
+
title: ( localize(5853, "Pin")),
|
|
1441
1657
|
toggled: {
|
|
1442
1658
|
condition: SessionIsStickyContext,
|
|
1443
|
-
title: ( localize(
|
|
1659
|
+
title: ( localize(5854, "Unpin"))
|
|
1444
1660
|
}
|
|
1445
1661
|
},
|
|
1446
1662
|
group: "1_view",
|
|
1447
1663
|
order: 1,
|
|
1448
|
-
when: SessionIsCreatedContext
|
|
1664
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, ( SessionHeaderShowsChatContext.negate())))
|
|
1665
|
+
});
|
|
1666
|
+
registerAction2(class TogglePinChatAction extends Action2 {
|
|
1667
|
+
constructor() {
|
|
1668
|
+
super({
|
|
1669
|
+
id: TOGGLE_PIN_CHAT_COMMAND_ID,
|
|
1670
|
+
title: ( localize2(5855, "Pin")),
|
|
1671
|
+
icon: Codicon.pin,
|
|
1672
|
+
toggled: {
|
|
1673
|
+
condition: SessionHeaderActiveChatIsPinnedContext,
|
|
1674
|
+
icon: Codicon.pinned,
|
|
1675
|
+
title: ( localize(5856, "Unpin"))
|
|
1676
|
+
},
|
|
1677
|
+
menu: [{
|
|
1678
|
+
id: Menus.SessionBarToolbar,
|
|
1679
|
+
group: "navigation",
|
|
1680
|
+
order: 10,
|
|
1681
|
+
when: ( ContextKeyExpr.and(
|
|
1682
|
+
SessionIsCreatedContext,
|
|
1683
|
+
SessionHeaderShowsChatContext,
|
|
1684
|
+
SessionHeaderActiveChatIsPinnedContext,
|
|
1685
|
+
( SessionIsArchivedContext.negate())
|
|
1686
|
+
))
|
|
1687
|
+
}, {
|
|
1688
|
+
id: Menus.SessionBarToolbar,
|
|
1689
|
+
group: "secondary/4_pin",
|
|
1690
|
+
order: 10,
|
|
1691
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, SessionHeaderShowsChatContext, ( SessionIsArchivedContext.negate())))
|
|
1692
|
+
}, {
|
|
1693
|
+
id: Menus.SessionHeaderContext,
|
|
1694
|
+
group: "1_view",
|
|
1695
|
+
order: 1,
|
|
1696
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, SessionHeaderShowsChatContext))
|
|
1697
|
+
}]
|
|
1698
|
+
});
|
|
1699
|
+
}
|
|
1700
|
+
run(accessor, session) {
|
|
1701
|
+
session ??= accessor.get(ISessionsService).activeSession.get();
|
|
1702
|
+
if (session) {
|
|
1703
|
+
accessor.get(ISessionsPartService).getSessionView(session.sessionId)?.toggleActiveChatPin();
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1449
1706
|
});
|
|
1450
1707
|
registerAction2(class RenameSessionHeaderAction extends Action2 {
|
|
1451
1708
|
constructor() {
|
|
1452
1709
|
super({
|
|
1453
1710
|
id: "sessions.sessionHeader.rename",
|
|
1454
|
-
title: ( localize2(
|
|
1711
|
+
title: ( localize2(5857, "Rename...")),
|
|
1455
1712
|
icon: Codicon.edit,
|
|
1713
|
+
keybinding: {
|
|
1714
|
+
primary: KeyCode.F2,
|
|
1715
|
+
weight: KeybindingWeight.SessionsContrib + 1,
|
|
1716
|
+
when: ( ContextKeyExpr.and(
|
|
1717
|
+
IsSessionsWindowContext,
|
|
1718
|
+
SessionsFocusContext,
|
|
1719
|
+
SessionSupportsRenameContext,
|
|
1720
|
+
( SessionFocusedChatIsRenameTargetContext.negate())
|
|
1721
|
+
))
|
|
1722
|
+
},
|
|
1456
1723
|
menu: [{
|
|
1457
1724
|
id: Menus.SessionHeaderContext,
|
|
1458
1725
|
group: "2_edit",
|
|
1459
1726
|
order: 1,
|
|
1460
|
-
when: ( ContextKeyExpr.regex(SessionProviderIdContext.key, ANY_AGENT_HOST_PROVIDER_RE))
|
|
1727
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.regex(SessionProviderIdContext.key, ANY_AGENT_HOST_PROVIDER_RE)), ( SessionHeaderShowsChatContext.negate())))
|
|
1461
1728
|
}, {
|
|
1462
1729
|
id: Menus.SessionBarToolbar,
|
|
1463
1730
|
group: "secondary/1_session",
|
|
1464
1731
|
order: 20,
|
|
1465
|
-
when: ( ContextKeyExpr.and(SessionIsCreatedContext, SessionSupportsRenameContext, ( SessionIsArchivedContext.negate())))
|
|
1732
|
+
when: ( ContextKeyExpr.and(SessionIsCreatedContext, SessionSupportsRenameContext, ( SessionHeaderShowsChatContext.negate()), ( SessionIsArchivedContext.negate())))
|
|
1466
1733
|
}]
|
|
1467
1734
|
});
|
|
1468
1735
|
}
|
|
1469
1736
|
async run(accessor, session) {
|
|
1737
|
+
session ??= accessor.get(ISessionsService).activeSession.get();
|
|
1470
1738
|
if (!session) {
|
|
1471
1739
|
return;
|
|
1472
1740
|
}
|
|
@@ -1479,17 +1747,32 @@ registerAction2(class RenameSessionHeaderAction extends Action2 {
|
|
|
1479
1747
|
registerAction2(class CloseSessionAction extends Action2 {
|
|
1480
1748
|
constructor() {
|
|
1481
1749
|
super({
|
|
1482
|
-
id:
|
|
1483
|
-
title: ( localize2(
|
|
1484
|
-
|
|
1750
|
+
id: CLOSE_SESSION_COMMAND_ID,
|
|
1751
|
+
title: ( localize2(5858, "Close")),
|
|
1752
|
+
tooltip: ( localize2(5859, "Close Session")),
|
|
1753
|
+
icon: Codicon.closeCompact,
|
|
1754
|
+
keybinding: {
|
|
1755
|
+
weight: KeybindingWeight.SessionsContrib,
|
|
1756
|
+
when: ( ContextKeyExpr.and(( IsNewChatSessionContext.negate()), IsSessionsWindowContext, SessionsFocusContext, ( EditorAreaFocusContext.negate()))),
|
|
1757
|
+
primary: KeyMod.CtrlCmd | KeyCode.KeyW,
|
|
1758
|
+
win: {
|
|
1759
|
+
primary: KeyMod.CtrlCmd | KeyCode.F4,
|
|
1760
|
+
secondary: [KeyMod.CtrlCmd | KeyCode.KeyW]
|
|
1761
|
+
}
|
|
1762
|
+
},
|
|
1485
1763
|
menu: [{
|
|
1486
1764
|
id: Menus.SessionBarToolbar,
|
|
1487
|
-
when: ( ContextKeyExpr.
|
|
1765
|
+
when: ( ContextKeyExpr.and(MultipleSessionsVisibleContext, SessionToolbarShowsSessionContext)),
|
|
1766
|
+
group: "navigation",
|
|
1767
|
+
order: 30
|
|
1768
|
+
}, {
|
|
1769
|
+
id: Menus.SessionBarToolbar,
|
|
1770
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(SessionIsCreatedContext, MultipleSessionsVisibleContext)), ( SessionHeaderShowsChatContext.negate()))),
|
|
1488
1771
|
group: "secondary/4_pin",
|
|
1489
1772
|
order: 30
|
|
1490
1773
|
}, {
|
|
1491
1774
|
id: Menus.SessionHeaderContext,
|
|
1492
|
-
when: ( ContextKeyExpr.or(SessionIsCreatedContext, MultipleSessionsVisibleContext)),
|
|
1775
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(SessionIsCreatedContext, MultipleSessionsVisibleContext)), ( SessionHeaderShowsChatContext.negate()))),
|
|
1493
1776
|
group: "1_view",
|
|
1494
1777
|
order: 2
|
|
1495
1778
|
}]
|
|
@@ -1498,39 +1781,160 @@ registerAction2(class CloseSessionAction extends Action2 {
|
|
|
1498
1781
|
async run(accessor, session) {
|
|
1499
1782
|
const sessionsService = accessor.get(ISessionsService);
|
|
1500
1783
|
const sessionsPartService = accessor.get(ISessionsPartService);
|
|
1784
|
+
session ??= sessionsService.activeSession.get();
|
|
1785
|
+
const sessionView = session && sessionsPartService.getSessionView(session.sessionId);
|
|
1786
|
+
const activeChat = sessionView?.getActiveChat();
|
|
1787
|
+
if (session && sessionView && activeChat && accessor.get(IUriIdentityService).extUri.isEqual(activeChat.resource, session.mainChat.get().resource) && (await sessionView.closeChatGroup(activeChat.resource))) {
|
|
1788
|
+
return;
|
|
1789
|
+
}
|
|
1501
1790
|
sessionsService.closeSession(session);
|
|
1502
1791
|
sessionsPartService.focusSession(sessionsService.activeSession.get());
|
|
1503
1792
|
}
|
|
1504
1793
|
});
|
|
1794
|
+
const sessionGridWhen = ( ContextKeyExpr.and(IsSessionsWindowContext, ChatContextKeys.enabled, ( IsPhoneLayoutContext.negate()), MultipleSessionsVisibleContext));
|
|
1795
|
+
MenuRegistry.appendMenuItem(Menus.SessionHeaderContext, {
|
|
1796
|
+
submenu: Menus.SessionGridLayout,
|
|
1797
|
+
title: ( localize(5860, "Session Layout")),
|
|
1798
|
+
group: "1_view",
|
|
1799
|
+
order: 3,
|
|
1800
|
+
when: sessionGridWhen
|
|
1801
|
+
});
|
|
1802
|
+
MenuRegistry.appendMenuItem(Menus.SessionBarToolbar, {
|
|
1803
|
+
submenu: Menus.SessionGridLayout,
|
|
1804
|
+
title: ( localize(5860, "Session Layout")),
|
|
1805
|
+
group: "secondary/4_pin",
|
|
1806
|
+
order: 30,
|
|
1807
|
+
when: sessionGridWhen
|
|
1808
|
+
});
|
|
1809
|
+
registerAction2(class ArrangeSessionsAction extends Action2 {
|
|
1810
|
+
constructor() {
|
|
1811
|
+
super({
|
|
1812
|
+
id: ARRANGE_SESSIONS_COMMAND_ID,
|
|
1813
|
+
title: ( localize2(5861, "Arrange Sessions in a Balanced Grid")),
|
|
1814
|
+
category: SessionsCategories.Sessions,
|
|
1815
|
+
f1: true,
|
|
1816
|
+
precondition: sessionGridWhen,
|
|
1817
|
+
menu: {
|
|
1818
|
+
id: Menus.SessionGridLayout,
|
|
1819
|
+
group: "0_arrange",
|
|
1820
|
+
order: 0
|
|
1821
|
+
}
|
|
1822
|
+
});
|
|
1823
|
+
}
|
|
1824
|
+
run(accessor) {
|
|
1825
|
+
accessor.get(ISessionsService).arrangeSessions();
|
|
1826
|
+
}
|
|
1827
|
+
});
|
|
1828
|
+
const sessionGridActions = [{
|
|
1829
|
+
direction: Direction.Left,
|
|
1830
|
+
key: KeyCode.LeftArrow,
|
|
1831
|
+
focus: SESSION_GRID_FOCUS_COMMANDS.left,
|
|
1832
|
+
focusTitle: ( localize2(5862, "Focus Session to the Left")),
|
|
1833
|
+
move: "sessions.moveSessionLeft",
|
|
1834
|
+
moveTitle: ( localize2(5863, "Move Session Left")),
|
|
1835
|
+
resize: "sessions.narrowSession",
|
|
1836
|
+
resizeTitle: ( localize2(5864, "Decrease Session Width"))
|
|
1837
|
+
}, {
|
|
1838
|
+
direction: Direction.Right,
|
|
1839
|
+
key: KeyCode.RightArrow,
|
|
1840
|
+
focus: SESSION_GRID_FOCUS_COMMANDS.right,
|
|
1841
|
+
focusTitle: ( localize2(5865, "Focus Session to the Right")),
|
|
1842
|
+
move: "sessions.moveSessionRight",
|
|
1843
|
+
moveTitle: ( localize2(5866, "Move Session Right")),
|
|
1844
|
+
resize: "sessions.widenSession",
|
|
1845
|
+
resizeTitle: ( localize2(5867, "Increase Session Width"))
|
|
1846
|
+
}, {
|
|
1847
|
+
direction: Direction.Up,
|
|
1848
|
+
key: KeyCode.UpArrow,
|
|
1849
|
+
focus: SESSION_GRID_FOCUS_COMMANDS.up,
|
|
1850
|
+
focusTitle: ( localize2(5868, "Focus Session Above")),
|
|
1851
|
+
move: "sessions.moveSessionUp",
|
|
1852
|
+
moveTitle: ( localize2(5869, "Move Session Above")),
|
|
1853
|
+
resize: "sessions.shortenSession",
|
|
1854
|
+
resizeTitle: ( localize2(5870, "Decrease Session Height"))
|
|
1855
|
+
}, {
|
|
1856
|
+
direction: Direction.Down,
|
|
1857
|
+
key: KeyCode.DownArrow,
|
|
1858
|
+
focus: SESSION_GRID_FOCUS_COMMANDS.down,
|
|
1859
|
+
focusTitle: ( localize2(5871, "Focus Session Below")),
|
|
1860
|
+
move: "sessions.moveSessionDown",
|
|
1861
|
+
moveTitle: ( localize2(5872, "Move Session Below")),
|
|
1862
|
+
resize: "sessions.heightenSession",
|
|
1863
|
+
resizeTitle: ( localize2(5873, "Increase Session Height"))
|
|
1864
|
+
}];
|
|
1865
|
+
const sessionGridNavigationWhen = ( ContextKeyExpr.and(sessionGridWhen, SessionsFocusContext));
|
|
1866
|
+
for (const item of sessionGridActions) {
|
|
1867
|
+
registerViewNavigationCommand(item.direction, item.focus, sessionGridNavigationWhen);
|
|
1868
|
+
}
|
|
1869
|
+
for (const item of sessionGridActions) {
|
|
1870
|
+
for (const operation of ["focus", "move", "resize"]) {
|
|
1871
|
+
registerAction2(class extends Action2 {
|
|
1872
|
+
constructor() {
|
|
1873
|
+
super({
|
|
1874
|
+
id: item[operation],
|
|
1875
|
+
title: operation === "focus" ? item.focusTitle : operation === "move" ? item.moveTitle : item.resizeTitle,
|
|
1876
|
+
category: SessionsCategories.Sessions,
|
|
1877
|
+
f1: true,
|
|
1878
|
+
precondition: sessionGridWhen,
|
|
1879
|
+
menu: {
|
|
1880
|
+
id: Menus.SessionGridLayout,
|
|
1881
|
+
group: operation === "focus" ? "1_focus" : operation === "move" ? "2_move" : "3_size",
|
|
1882
|
+
order: item.direction
|
|
1883
|
+
},
|
|
1884
|
+
keybinding: operation === "focus" ? {
|
|
1885
|
+
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | item.key),
|
|
1886
|
+
weight: KeybindingWeight.SessionsContrib,
|
|
1887
|
+
when: SessionsFocusContext
|
|
1888
|
+
} : undefined
|
|
1889
|
+
});
|
|
1890
|
+
}
|
|
1891
|
+
run(accessor, session) {
|
|
1892
|
+
const service = accessor.get(ISessionsService);
|
|
1893
|
+
session ??= service.activeSession.get();
|
|
1894
|
+
if (operation === "focus") {
|
|
1895
|
+
service.focusSessionInDirection(session, item.direction);
|
|
1896
|
+
} else if (operation === "move") {
|
|
1897
|
+
service.moveSessionInDirection(session, item.direction);
|
|
1898
|
+
} else {
|
|
1899
|
+
service.resizeSession(session, item.direction);
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
});
|
|
1903
|
+
}
|
|
1904
|
+
}
|
|
1505
1905
|
registerAction2(class ToggleMaximizeSessionViewAction extends Action2 {
|
|
1506
1906
|
constructor() {
|
|
1507
1907
|
super({
|
|
1508
1908
|
id: "sessions.chatCompositeBar.toggleMaximize",
|
|
1509
|
-
title: ( localize2(
|
|
1909
|
+
title: ( localize2(5874, "Maximize")),
|
|
1910
|
+
category: SessionsCategories.Sessions,
|
|
1911
|
+
precondition: sessionGridWhen,
|
|
1912
|
+
f1: true,
|
|
1510
1913
|
icon: Codicon.screenFull,
|
|
1511
1914
|
toggled: {
|
|
1512
1915
|
condition: SessionIsMaximizedContext,
|
|
1513
1916
|
icon: Codicon.screenNormal,
|
|
1514
|
-
title: ( localize(
|
|
1917
|
+
title: ( localize(5875, "Restore"))
|
|
1515
1918
|
},
|
|
1516
1919
|
menu: {
|
|
1517
1920
|
id: Menus.SessionBarToolbar,
|
|
1518
|
-
when:
|
|
1921
|
+
when: sessionGridWhen,
|
|
1519
1922
|
group: "secondary/4_pin",
|
|
1520
1923
|
order: 20
|
|
1521
1924
|
}
|
|
1522
1925
|
});
|
|
1523
1926
|
}
|
|
1524
1927
|
async run(accessor, session) {
|
|
1525
|
-
accessor.get(
|
|
1928
|
+
session ??= accessor.get(ISessionsService).activeSession.get();
|
|
1526
1929
|
accessor.get(ISessionsService).setActive(session);
|
|
1930
|
+
accessor.get(ISessionsPartService).toggleMaximizeSession(session);
|
|
1527
1931
|
}
|
|
1528
1932
|
});
|
|
1529
1933
|
registerAction2(class CloseEditorAreaAction extends Action2 {
|
|
1530
1934
|
constructor() {
|
|
1531
1935
|
super({
|
|
1532
1936
|
id: "sessions.closeEditorArea",
|
|
1533
|
-
title: ( localize2(
|
|
1937
|
+
title: ( localize2(5876, "Close Editor Area")),
|
|
1534
1938
|
icon: Codicon.close,
|
|
1535
1939
|
category: SessionsCategories.Sessions,
|
|
1536
1940
|
menu: {
|
|
@@ -1547,4 +1951,4 @@ registerAction2(class CloseEditorAreaAction extends Action2 {
|
|
|
1547
1951
|
}
|
|
1548
1952
|
});
|
|
1549
1953
|
|
|
1550
|
-
export { CompactButtonActionViewItem, NEW_SESSION_BUTTON_STYLE_SETTING, NEW_SESSION_BUTTON_STYLE_TREATMENT, NewSessionActionViewItem, NewSessionActionViewItemContribution, SHOW_CHATS_PICKER_COMMAND_ID, SHOW_SESSIONS_PICKER_COMMAND_ID, SessionConversationActionsContribution };
|
|
1954
|
+
export { CompactButtonActionViewItem, NEW_SESSION_BUTTON_STYLE_SETTING, NEW_SESSION_BUTTON_STYLE_TREATMENT, NewSessionActionViewItem, NewSessionActionViewItemContribution, SHOW_CHATS_PICKER_COMMAND_ID, SHOW_SESSIONS_PICKER_COMMAND_ID, SessionConversationActionsContribution, SessionListActionsExperimentContribution };
|