@codingame/monaco-vscode-workbench-service-override 37.6.0 → 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 +15 -13
- 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 -96
- 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.d.ts +46 -70
- package/vscode/src/vs/workbench/browser/layout.js +243 -44
- package/vscode/src/vs/workbench/browser/workbench.d.ts +1 -3
- package/vscode/src/vs/workbench/browser/workbench.js +26 -24
- 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
|
@@ -34,6 +34,8 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
34
34
|
this._logService = _logService;
|
|
35
35
|
this._session = observableValue(this, undefined);
|
|
36
36
|
this._attempt = observableValue(this, undefined);
|
|
37
|
+
this._connectionAttemptObserved = observableValue(this, false);
|
|
38
|
+
this._inputReceived = observableValue(this, false);
|
|
37
39
|
this._progressListener = this._register(( new MutableDisposable()));
|
|
38
40
|
this._deadlineSignal = observableSignal(this);
|
|
39
41
|
this._reconnectCountdownSignal = observableSignal(this);
|
|
@@ -92,14 +94,30 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
92
94
|
});
|
|
93
95
|
this.bannerContent = derived(this, reader => this._getRemoteConnectionBannerContent(reader));
|
|
94
96
|
this.recoveryContent = derived(this, reader => this._getRemoteHostUnavailableContent(reader));
|
|
97
|
+
this.isQuiet = derived(this, reader => {
|
|
98
|
+
if (!this._inputReceived.read(reader)) {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
return this._getEffectiveStatus(reader)?.kind === "disconnected" && this._attempt.read(reader) === undefined && !this._connectionAttemptObserved.read(reader) && !this._autoConnectPending.read(reader);
|
|
102
|
+
});
|
|
95
103
|
this._register(autorun(reader => {
|
|
96
|
-
|
|
97
|
-
|
|
104
|
+
const session = this._session.read(reader);
|
|
105
|
+
const status = session?.remoteConnectionStatus?.read(reader);
|
|
106
|
+
if (status?.kind === "connecting" || status?.kind === "reconnecting") {
|
|
107
|
+
this._connectionAttemptObserved.set(true, undefined);
|
|
108
|
+
}
|
|
109
|
+
if (status?.kind === "connected") {
|
|
110
|
+
transaction(tx => {
|
|
111
|
+
this._autoConnected.set(undefined, tx);
|
|
112
|
+
this._connectionAttemptObserved.set(false, tx);
|
|
113
|
+
if (this._attempt.read(reader)?.kind === "failed") {
|
|
114
|
+
this._attempt.set(undefined, tx);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
98
117
|
}
|
|
99
118
|
if (!this._autoConnectPending.read(reader)) {
|
|
100
119
|
return;
|
|
101
120
|
}
|
|
102
|
-
const session = this._session.read(reader);
|
|
103
121
|
this._logService.info(
|
|
104
122
|
`[SessionRemoteConnection] auto-connect triggered for ${session?.providerId}`
|
|
105
123
|
);
|
|
@@ -112,6 +130,8 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
112
130
|
transaction(tx => {
|
|
113
131
|
this._session.set(session, tx);
|
|
114
132
|
this._attempt.set(undefined, tx);
|
|
133
|
+
this._connectionAttemptObserved.set(false, tx);
|
|
134
|
+
this._inputReceived.set(false, tx);
|
|
115
135
|
this._autoConnected.set(undefined, tx);
|
|
116
136
|
this._connectAttempted.set(undefined, tx);
|
|
117
137
|
});
|
|
@@ -167,6 +187,24 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
167
187
|
}
|
|
168
188
|
void this._runConnect(session, statusBefore, () => provider.connect());
|
|
169
189
|
}
|
|
190
|
+
connectOnInput() {
|
|
191
|
+
const session = this._session.get();
|
|
192
|
+
if (!session || session.isArchived.get()) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const connectionAttemptObserved = this._connectionAttemptObserved.get();
|
|
196
|
+
transaction(tx => {
|
|
197
|
+
this._inputReceived.set(true, tx);
|
|
198
|
+
if (connectionAttemptObserved) {
|
|
199
|
+
this._connectAttempted.set(session, tx);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
if (connectionAttemptObserved || session.remoteConnectionStatus?.get().kind !== "disconnected" || this._autoConnected.get() === session || this._attempt.get() !== undefined) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
this._autoConnected.set(session, undefined);
|
|
206
|
+
this.connect();
|
|
207
|
+
}
|
|
170
208
|
async _runConnect(session, statusBefore, connect) {
|
|
171
209
|
try {
|
|
172
210
|
await connect();
|
|
@@ -210,19 +248,19 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
210
248
|
if (provider && isAgentHostProvider(provider) && provider.connectionLabels) {
|
|
211
249
|
return provider.connectionLabels;
|
|
212
250
|
}
|
|
213
|
-
const hostLabel = provider?.label ?? ( localize(
|
|
251
|
+
const hostLabel = provider?.label ?? ( localize(3438, "The remote host"));
|
|
214
252
|
return {
|
|
215
|
-
unavailableTitle: ( localize(
|
|
216
|
-
unavailableDescription: ( localize(
|
|
217
|
-
unavailable: ( localize(
|
|
218
|
-
connectingTitle: ( localize(
|
|
219
|
-
connectingDescription: ( localize(
|
|
220
|
-
connecting: ( localize(
|
|
221
|
-
reconnecting: ( localize(
|
|
222
|
-
reconnectingIn: seconds => ( localize(
|
|
223
|
-
incompatibleTitle: ( localize(
|
|
253
|
+
unavailableTitle: ( localize(3439, "Cannot Connect to {0}", hostLabel)),
|
|
254
|
+
unavailableDescription: ( localize(3440, "Cannot reach {0}.", hostLabel)),
|
|
255
|
+
unavailable: ( localize(3440, "Cannot reach {0}.", hostLabel)),
|
|
256
|
+
connectingTitle: ( localize(3441, "Connecting to {0}", hostLabel)),
|
|
257
|
+
connectingDescription: ( localize(3442, "Starting {0}.", hostLabel)),
|
|
258
|
+
connecting: ( localize(3443, "Waiting for agent host connection...")),
|
|
259
|
+
reconnecting: ( localize(3444, "Reconnecting to {0}...", hostLabel)),
|
|
260
|
+
reconnectingIn: seconds => ( localize(3445, "Reconnecting to {0} in {1}s", hostLabel, seconds)),
|
|
261
|
+
incompatibleTitle: ( localize(3446, "Cannot Connect to {0}", hostLabel)),
|
|
224
262
|
incompatible: ( localize(
|
|
225
|
-
|
|
263
|
+
3447,
|
|
226
264
|
"{0} is incompatible with this version of Visual Studio Code.",
|
|
227
265
|
hostLabel
|
|
228
266
|
))
|
|
@@ -246,7 +284,7 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
246
284
|
}
|
|
247
285
|
const status = this._getEffectiveStatus(reader);
|
|
248
286
|
const provider = this._sessionsProvidersService.getProvider(session.providerId);
|
|
249
|
-
const hostLabel = provider?.label ?? ( localize(
|
|
287
|
+
const hostLabel = provider?.label ?? ( localize(3438, "The remote host"));
|
|
250
288
|
const labels = this._getConnectionLabels(provider);
|
|
251
289
|
if (status?.kind === "connected") {
|
|
252
290
|
return undefined;
|
|
@@ -268,10 +306,15 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
268
306
|
const attempt = this._attempt.read(reader);
|
|
269
307
|
const startedFromStoppedHost = autoConnectPending || (attempt?.kind === "active" && attempt.session === session && attempt.statusBefore?.kind === "disconnected" && attempt.statusBefore.reason === SessionRemoteConnectionFailureReason.HostNotRunning);
|
|
270
308
|
if (progressMessage || autoConnectPending || status?.kind === "connecting") {
|
|
309
|
+
const showConnectionLog = provider && isAgentHostProvider(provider) ? provider.showConnectionLog : undefined;
|
|
271
310
|
return {
|
|
272
311
|
title: labels.connectingTitle,
|
|
273
312
|
description: labels.connectingDescription,
|
|
274
313
|
progress: progressMessage ?? labels.connecting,
|
|
314
|
+
detail: showConnectionLog ? {
|
|
315
|
+
label: ( localize(3448, "Show Log")),
|
|
316
|
+
run: () => showConnectionLog().catch(onUnexpectedError)
|
|
317
|
+
} : undefined,
|
|
275
318
|
autoConnect: startedFromStoppedHost ? autoConnect : undefined
|
|
276
319
|
};
|
|
277
320
|
}
|
|
@@ -280,10 +323,10 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
280
323
|
}
|
|
281
324
|
if (status.reason === SessionRemoteConnectionFailureReason.HostNotRunning) {
|
|
282
325
|
return {
|
|
283
|
-
title: ( localize(
|
|
284
|
-
description: ( localize(
|
|
326
|
+
title: ( localize(3449, "Unable to Connect to {0}", hostLabel)),
|
|
327
|
+
description: ( localize(3450, "{0} is not running.", hostLabel)),
|
|
285
328
|
action: provider && isAgentHostProvider(provider) && provider.connect ? {
|
|
286
|
-
label: ( localize(
|
|
329
|
+
label: ( localize(3451, "Start {0}", hostLabel)),
|
|
287
330
|
run: () => this.connect()
|
|
288
331
|
} : undefined,
|
|
289
332
|
autoConnect
|
|
@@ -305,7 +348,7 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
305
348
|
}
|
|
306
349
|
const status = this._getEffectiveStatus(reader);
|
|
307
350
|
const provider = this._sessionsProvidersService.getProvider(session.providerId);
|
|
308
|
-
const hostLabel = provider?.label ?? ( localize(
|
|
351
|
+
const hostLabel = provider?.label ?? ( localize(3438, "The remote host"));
|
|
309
352
|
const labels = this._getConnectionLabels(provider);
|
|
310
353
|
const progressMessage = this._getRemoteHostConnectProgress(session, status, labels, reader);
|
|
311
354
|
if (progressMessage || this._autoConnectPending.read(reader) || status?.kind === "connecting") {
|
|
@@ -330,7 +373,7 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
330
373
|
message: seconds === undefined ? labels.reconnecting : labels.reconnectingIn(seconds),
|
|
331
374
|
ariaLabel: labels.reconnecting,
|
|
332
375
|
action: seconds !== undefined && provider && isAgentHostProvider(provider) && provider.reconnectNow ? {
|
|
333
|
-
label: ( localize(
|
|
376
|
+
label: ( localize(3452, "Try Now")),
|
|
334
377
|
run: () => provider.reconnectNow?.()
|
|
335
378
|
} : undefined
|
|
336
379
|
} : undefined;
|
|
@@ -338,9 +381,9 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
338
381
|
if (status.reason === SessionRemoteConnectionFailureReason.HostNotRunning) {
|
|
339
382
|
return {
|
|
340
383
|
icon: Codicon.debugDisconnect,
|
|
341
|
-
message: ( localize(
|
|
384
|
+
message: ( localize(3450, "{0} is not running.", hostLabel)),
|
|
342
385
|
action: provider && isAgentHostProvider(provider) && provider.connect ? {
|
|
343
|
-
label: ( localize(
|
|
386
|
+
label: ( localize(3451, "Start {0}", hostLabel)),
|
|
344
387
|
run: () => this.connect()
|
|
345
388
|
} : undefined
|
|
346
389
|
};
|
|
@@ -355,7 +398,7 @@ let SessionRemoteConnection = class SessionRemoteConnection extends Disposable {
|
|
|
355
398
|
};
|
|
356
399
|
}
|
|
357
400
|
_connectActionLabel(session, reader) {
|
|
358
|
-
return this._connectAttempted.read(reader) === session ? ( localize(
|
|
401
|
+
return this._connectAttempted.read(reader) === session ? ( localize(3453, "Retry")) : ( localize(3454, "Connect"));
|
|
359
402
|
}
|
|
360
403
|
};
|
|
361
404
|
SessionRemoteConnection = ( __decorate([( __param(0, ISessionsProvidersService)), ( __param(1, ILogService))], SessionRemoteConnection));
|
|
@@ -2,14 +2,17 @@ import { ISerializableView, IViewSize } from "@codingame/monaco-vscode-api/vscod
|
|
|
2
2
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
3
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
4
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
5
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
6
|
+
import { IAgentsWindowDraft } from "@codingame/monaco-vscode-api/vscode/vs/platform/window/common/window";
|
|
5
7
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
6
8
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
7
9
|
import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
|
|
8
10
|
import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
|
|
9
11
|
import { IChat } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
10
|
-
import { IChatViewOptions, ISelectWorkspaceOptions, WorkspaceSelectionResult } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/parts/chatView";
|
|
12
|
+
import { IChatViewOptions, ISelectNoWorkspaceOptions, ISelectWorkspaceOptions, WorkspaceSelectionResult } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/parts/chatView";
|
|
11
13
|
import { ISessionChangesStatsCache } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionChangesStatsCache.service";
|
|
12
14
|
import { IChatViewFactory } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/chatView/browser/chatViewFactory.service";
|
|
15
|
+
import { ISessionGridView } from "./sessionGridLayout.js";
|
|
13
16
|
/**
|
|
14
17
|
* Options passed to {@link SessionView.openSession}. Extends the chat view
|
|
15
18
|
* options so they can be forwarded to the new-chat views the host creates.
|
|
@@ -25,7 +28,7 @@ export interface ISessionViewOptions extends IChatViewOptions {
|
|
|
25
28
|
* renders the session's chats as a grid of groups. The header content shares the
|
|
26
29
|
* chat's centered, width-capped content band.
|
|
27
30
|
*/
|
|
28
|
-
export declare class SessionView extends Disposable implements ISerializableView {
|
|
31
|
+
export declare class SessionView extends Disposable implements ISerializableView, ISessionGridView {
|
|
29
32
|
private readonly _chatViewFactory;
|
|
30
33
|
private readonly themeService;
|
|
31
34
|
private readonly _changesStatsCache;
|
|
@@ -41,10 +44,12 @@ export declare class SessionView extends Disposable implements ISerializableView
|
|
|
41
44
|
private readonly _header;
|
|
42
45
|
private readonly _groupsView;
|
|
43
46
|
private readonly _standaloneView;
|
|
47
|
+
private _preparationView;
|
|
44
48
|
private readonly _floatingToolbar;
|
|
45
49
|
private readonly _centeredContentContainer;
|
|
46
50
|
private readonly _contentContainer;
|
|
47
51
|
private _lastLayout;
|
|
52
|
+
private _lastContentLayout;
|
|
48
53
|
private _openSessionDisposables;
|
|
49
54
|
private _currentSession;
|
|
50
55
|
private _hasOpenedSession;
|
|
@@ -60,14 +65,21 @@ export declare class SessionView extends Disposable implements ISerializableView
|
|
|
60
65
|
/** Whether this leaf is visible within the part's internal grid. */
|
|
61
66
|
private _isLeafVisible;
|
|
62
67
|
private readonly _sessionObs;
|
|
68
|
+
private readonly _isVisibleObs;
|
|
69
|
+
readonly pickerVisibility: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservableWithChange<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionPickerVisibility").ISessionPickerVisibility, void>;
|
|
63
70
|
constructor(_chatViewFactory: IChatViewFactory, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, themeService: IThemeService, _changesStatsCache: ISessionChangesStatsCache);
|
|
64
71
|
openSession(session: IActiveSession | undefined, options: ISessionViewOptions): void;
|
|
65
72
|
private _showSessionGroups;
|
|
73
|
+
private get _visibleStandaloneView();
|
|
66
74
|
private _handleContextKeys;
|
|
67
75
|
layout(width: number, height: number, top: number, left: number): void;
|
|
76
|
+
layoutContainer(width: number, height: number, top: number, left: number): void;
|
|
77
|
+
layoutContents(): void;
|
|
68
78
|
private _layoutChildren;
|
|
69
79
|
toJSON(): object;
|
|
70
80
|
focus(): void;
|
|
81
|
+
focusWorkspacePicker(): void;
|
|
82
|
+
focusHarnessPicker(): void;
|
|
71
83
|
/**
|
|
72
84
|
* Starts an inline rename of the session title in the header. Returns
|
|
73
85
|
* `false` when the header cannot host it (e.g. this view is hidden or the
|
|
@@ -75,12 +87,18 @@ export declare class SessionView extends Disposable implements ISerializableView
|
|
|
75
87
|
* rename affordance.
|
|
76
88
|
*/
|
|
77
89
|
startTitleEditing(): boolean;
|
|
90
|
+
startFocusedChatTitleEditing(): boolean;
|
|
91
|
+
startChatTitleEditing(chatResource: URI): boolean;
|
|
78
92
|
getFocusedChat(): IChat | undefined;
|
|
93
|
+
getActiveChat(): IChat | undefined;
|
|
94
|
+
toggleActiveChatPin(): void;
|
|
95
|
+
closeChatGroup(chatResource: URI): Promise<boolean>;
|
|
79
96
|
getSession(): IActiveSession | undefined;
|
|
80
97
|
selectWorkspace(folderUri: URI, options?: ISelectWorkspaceOptions): WorkspaceSelectionResult;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
98
|
+
applyDraft(draft: IAgentsWindowDraft, folderUri: URI | undefined, options: ISelectWorkspaceOptions, token: CancellationToken): Promise<WorkspaceSelectionResult>;
|
|
99
|
+
selectNoWorkspace(options?: ISelectNoWorkspaceOptions): void;
|
|
100
|
+
/** Opens the given chat beside a reference chat, or the active group ("open to the side"). */
|
|
101
|
+
openChatToSide(resource: URI, referenceChatResource?: URI): Promise<void>;
|
|
84
102
|
/** Places a freshly created chat (e.g. a side chat) into its own group beside the current one. */
|
|
85
103
|
splitChatToSide(resource: URI): void;
|
|
86
104
|
focusAdjacentChatGroup(direction: "previous" | "next"): void;
|
|
@@ -122,4 +140,5 @@ export declare class SessionView extends Disposable implements ISerializableView
|
|
|
122
140
|
private get _isVisible();
|
|
123
141
|
private _updateVisibility;
|
|
124
142
|
private _applyActiveSessionStyles;
|
|
143
|
+
dispose(): void;
|
|
125
144
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
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 { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
5
|
import * as sessionView from './media/sessionView.css';
|
|
5
|
-
import { $, size } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
|
+
import { $, isAncestorOfActiveElement, size } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
7
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
7
|
-
import { Disposable,
|
|
8
|
+
import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
8
9
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
9
10
|
import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
|
|
10
11
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
11
12
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
12
13
|
import { ChatGroupsView } from './chatGroupsView.js';
|
|
13
|
-
import { SessionHeader
|
|
14
|
+
import { SessionHeader } from './sessionHeader.js';
|
|
14
15
|
import { SessionContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionContext';
|
|
15
16
|
import { ISessionContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionContext.service';
|
|
16
17
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
@@ -20,8 +21,11 @@ import { setActiveSessionContextKeys } from '../../services/sessions/common/sess
|
|
|
20
21
|
import { ISessionChangesStatsCache } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionChangesStatsCache.service';
|
|
21
22
|
import { applySessionViewThemeColors } from './sessionBarStyles.js';
|
|
22
23
|
import { IChatViewFactory } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/chatView/browser/chatViewFactory.service';
|
|
23
|
-
import {
|
|
24
|
+
import { noSessionPickerVisibility, SessionPickerVisibilityContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionPickerVisibility';
|
|
25
|
+
import { disposableObservableValue, observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
26
|
+
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
24
27
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
28
|
+
import { SessionViewFloatingToolbar } from './sessionHeaderBar.js';
|
|
25
29
|
|
|
26
30
|
var SessionView_1;
|
|
27
31
|
registerCss(sessionView, 0);
|
|
@@ -53,7 +57,7 @@ let SessionView = class SessionView extends Disposable {
|
|
|
53
57
|
this.maximumHeight = Number.POSITIVE_INFINITY;
|
|
54
58
|
this._onDidChange = this._register(( new Emitter()));
|
|
55
59
|
this.onDidChange = this._onDidChange.event;
|
|
56
|
-
this._standaloneView = this._register((
|
|
60
|
+
this._standaloneView = this._register(disposableObservableValue(this, undefined));
|
|
57
61
|
this._openSessionDisposables = this._register(( new DisposableStore()));
|
|
58
62
|
this._hasOpenedSession = false;
|
|
59
63
|
this._isGridLayout = false;
|
|
@@ -61,8 +65,22 @@ let SessionView = class SessionView extends Disposable {
|
|
|
61
65
|
this._isPartVisible = true;
|
|
62
66
|
this._isLeafVisible = true;
|
|
63
67
|
this._sessionObs = observableValue(this, undefined);
|
|
68
|
+
this._isVisibleObs = observableValue(this, true);
|
|
69
|
+
this.pickerVisibility = derived(
|
|
70
|
+
this,
|
|
71
|
+
reader => this._isVisibleObs.read(reader) && !this._sessionObs.read(reader)?.preparationProgress?.read(reader) ? this._standaloneView.read(reader)?.pickerVisibility.read(reader) ?? noSessionPickerVisibility : noSessionPickerVisibility
|
|
72
|
+
);
|
|
73
|
+
this.element.setAttribute("role", "region");
|
|
74
|
+
this._register(autorun(reader => {
|
|
75
|
+
const session = this._sessionObs.read(reader);
|
|
76
|
+
this.element.setAttribute("aria-label", session ? ( localize(3455, "Session: {0}", session.title.read(reader))) : ( localize(3456, "New Session")));
|
|
77
|
+
}));
|
|
64
78
|
const scopedContextKeyService = this._scopedContextKeyService = this._register(contextKeyService.createScoped(this.element));
|
|
65
79
|
this._sessionIsMaximizedKey = SessionIsMaximizedContext.bindTo(scopedContextKeyService);
|
|
80
|
+
const pickerVisibilityContextKeys = this._register(( new SessionPickerVisibilityContextKeys(scopedContextKeyService)));
|
|
81
|
+
this._register(autorun(
|
|
82
|
+
reader => pickerVisibilityContextKeys.set(this.pickerVisibility.read(reader))
|
|
83
|
+
));
|
|
66
84
|
this._scopedInstantiationService = this._register(instantiationService.createChild(( new ServiceCollection(
|
|
67
85
|
[IContextKeyService, scopedContextKeyService],
|
|
68
86
|
[ISessionContext, ( new SessionContext(this._sessionObs))]
|
|
@@ -100,8 +118,10 @@ let SessionView = class SessionView extends Disposable {
|
|
|
100
118
|
}));
|
|
101
119
|
this._register(autorun(reader => {
|
|
102
120
|
const session = this._sessionObs.read(reader);
|
|
103
|
-
const
|
|
104
|
-
this.
|
|
121
|
+
const groupCount = this._groupsView.groupCount.read(reader);
|
|
122
|
+
const showChatAsSessionView = this._groupsView.showChatAsSessionView.read(reader);
|
|
123
|
+
const tabsReplaceHeader = groupCount === 1 && (session?.isCreated.read(reader) ?? false) && !showChatAsSessionView && (session?.shouldShowChatTabs.read(reader) ?? false);
|
|
124
|
+
this._header.setVisible(!tabsReplaceHeader && !(showChatAsSessionView && groupCount > 1));
|
|
105
125
|
this._groupsView.setSingleGroupTabsReplaceHeader(tabsReplaceHeader);
|
|
106
126
|
this.element.classList.toggle("tabs-replace-header", tabsReplaceHeader);
|
|
107
127
|
}));
|
|
@@ -110,6 +130,10 @@ let SessionView = class SessionView extends Disposable {
|
|
|
110
130
|
if (this._hasOpenedSession && this._currentSession === session) {
|
|
111
131
|
return;
|
|
112
132
|
}
|
|
133
|
+
options = {
|
|
134
|
+
...options,
|
|
135
|
+
hostVisible: this._isVisibleObs
|
|
136
|
+
};
|
|
113
137
|
this._hasOpenedSession = true;
|
|
114
138
|
this._currentSession = session;
|
|
115
139
|
this._sessionObs.set(session, undefined);
|
|
@@ -118,19 +142,56 @@ let SessionView = class SessionView extends Disposable {
|
|
|
118
142
|
this._header.setSession(session);
|
|
119
143
|
if (session && !session.isCreated.get()) {
|
|
120
144
|
this._groupsView.setSession(undefined, options);
|
|
121
|
-
let view = this._standaloneView.
|
|
145
|
+
let view = this._standaloneView.get();
|
|
122
146
|
if (!view || view.kind !== "newSession") {
|
|
123
147
|
view = this._chatViewFactory.createNewChatView(false, options, this._scopedInstantiationService);
|
|
124
|
-
this._standaloneView.
|
|
148
|
+
this._standaloneView.set(view, undefined);
|
|
125
149
|
}
|
|
126
150
|
if (view.element.parentElement !== this._contentContainer) {
|
|
127
151
|
this._contentContainer.replaceChildren(view.element);
|
|
128
152
|
}
|
|
129
153
|
view.setActive(this._isActive);
|
|
130
154
|
view.setVisible(this._isVisible);
|
|
155
|
+
let restoreComposerFocus = false;
|
|
156
|
+
const hasPreparationProgress = derived(reader => !!session.preparationProgress?.read(reader));
|
|
131
157
|
this._openSessionDisposables.add(autorun(reader => {
|
|
132
|
-
if (
|
|
158
|
+
if (this._currentSession !== session) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (session.isCreated.read(reader)) {
|
|
162
|
+
const moveFocus = restoreComposerFocus || isAncestorOfActiveElement(view.element);
|
|
133
163
|
this._showSessionGroups(session, options);
|
|
164
|
+
if (moveFocus) {
|
|
165
|
+
this._groupsView.focus();
|
|
166
|
+
}
|
|
167
|
+
} else if (session.isNewSessionRequestInProgress?.read(reader) && hasPreparationProgress.read(reader)) {
|
|
168
|
+
const moveFocus = isAncestorOfActiveElement(view.element);
|
|
169
|
+
view.setVisible(false);
|
|
170
|
+
reader.store.add(toDisposable(() => {
|
|
171
|
+
restoreComposerFocus = !!this._preparationView && isAncestorOfActiveElement(this._preparationView.element);
|
|
172
|
+
this._preparationView = undefined;
|
|
173
|
+
}));
|
|
174
|
+
const preparationView = reader.store.add(this._chatViewFactory.createChatView(this._scopedInstantiationService));
|
|
175
|
+
this._preparationView = preparationView;
|
|
176
|
+
preparationView.setChat(session.mainChat.read(reader), session.sessionId, session);
|
|
177
|
+
preparationView.setActive(this._isActive);
|
|
178
|
+
preparationView.setVisible(this._isVisible);
|
|
179
|
+
this._contentContainer.replaceChildren(preparationView.element);
|
|
180
|
+
this._layoutChildren();
|
|
181
|
+
if (moveFocus) {
|
|
182
|
+
preparationView.focus();
|
|
183
|
+
}
|
|
184
|
+
} else {
|
|
185
|
+
if (view.element.parentElement !== this._contentContainer) {
|
|
186
|
+
this._contentContainer.replaceChildren(view.element);
|
|
187
|
+
}
|
|
188
|
+
view.setActive(this._isActive);
|
|
189
|
+
view.setVisible(this._isVisible);
|
|
190
|
+
this._layoutChildren();
|
|
191
|
+
if (restoreComposerFocus) {
|
|
192
|
+
view.focus();
|
|
193
|
+
restoreComposerFocus = false;
|
|
194
|
+
}
|
|
134
195
|
}
|
|
135
196
|
}));
|
|
136
197
|
} else if (session) {
|
|
@@ -138,7 +199,7 @@ let SessionView = class SessionView extends Disposable {
|
|
|
138
199
|
} else {
|
|
139
200
|
this._groupsView.setSession(undefined, options);
|
|
140
201
|
const view = this._chatViewFactory.createNewChatView(false, options, this._scopedInstantiationService);
|
|
141
|
-
this._standaloneView.
|
|
202
|
+
this._standaloneView.set(view, undefined);
|
|
142
203
|
this._contentContainer.replaceChildren(view.element);
|
|
143
204
|
view.setActive(this._isActive);
|
|
144
205
|
view.setVisible(this._isVisible);
|
|
@@ -147,24 +208,34 @@ let SessionView = class SessionView extends Disposable {
|
|
|
147
208
|
this._layoutChildren();
|
|
148
209
|
}
|
|
149
210
|
_showSessionGroups(session, options) {
|
|
150
|
-
this._standaloneView.
|
|
211
|
+
this._standaloneView.set(undefined, undefined);
|
|
151
212
|
this._contentContainer.replaceChildren(this._groupsView.element);
|
|
152
213
|
this._groupsView.setSession(session, options);
|
|
153
214
|
this._layoutChildren();
|
|
154
215
|
}
|
|
216
|
+
get _visibleStandaloneView() {
|
|
217
|
+
return this._preparationView ?? this._standaloneView.get();
|
|
218
|
+
}
|
|
155
219
|
_handleContextKeys(session) {
|
|
156
220
|
return autorun(reader => {
|
|
157
221
|
setActiveSessionContextKeys(session, this._scopedContextKeyService, reader, this._changesStatsCache);
|
|
158
222
|
});
|
|
159
223
|
}
|
|
160
224
|
layout(width, height, top, left) {
|
|
225
|
+
this.layoutContainer(width, height, top, left);
|
|
226
|
+
this.layoutContents();
|
|
227
|
+
}
|
|
228
|
+
layoutContainer(width, height, top, left) {
|
|
161
229
|
size(this.element, width, height);
|
|
230
|
+
this._centeredContentContainer.style.width = `${width}px`;
|
|
162
231
|
this._lastLayout = {
|
|
163
232
|
width,
|
|
164
233
|
height,
|
|
165
234
|
top,
|
|
166
235
|
left
|
|
167
236
|
};
|
|
237
|
+
}
|
|
238
|
+
layoutContents() {
|
|
168
239
|
this._layoutChildren();
|
|
169
240
|
}
|
|
170
241
|
_layoutChildren() {
|
|
@@ -178,19 +249,26 @@ let SessionView = class SessionView extends Disposable {
|
|
|
178
249
|
left
|
|
179
250
|
} = this._lastLayout;
|
|
180
251
|
if (!this._isVisible || width === 0 || height === 0) {
|
|
252
|
+
this._lastContentLayout = undefined;
|
|
181
253
|
return;
|
|
182
254
|
}
|
|
183
|
-
this._centeredContentContainer.style.width = `${width}px`;
|
|
184
255
|
const barHeight = this._header.visible ? this._header.height : 0;
|
|
185
|
-
|
|
186
|
-
const contentHeight = height - barHeight;
|
|
256
|
+
const contentHeight = Math.max(0, height - barHeight);
|
|
187
257
|
const contentTop = top + barHeight;
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
this._groupsView.layout(width, contentHeight, contentTop, left);
|
|
258
|
+
const view = this._visibleStandaloneView ?? this._groupsView;
|
|
259
|
+
const previous = this._lastContentLayout;
|
|
260
|
+
if (previous?.view === view && previous.width === width && previous.height === contentHeight && previous.top === contentTop && previous.left === left) {
|
|
261
|
+
return;
|
|
193
262
|
}
|
|
263
|
+
this._lastContentLayout = {
|
|
264
|
+
view,
|
|
265
|
+
width,
|
|
266
|
+
height: contentHeight,
|
|
267
|
+
top: contentTop,
|
|
268
|
+
left
|
|
269
|
+
};
|
|
270
|
+
size(this._centeredContentContainer, width, barHeight);
|
|
271
|
+
view.layout(width, contentHeight, contentTop, left);
|
|
194
272
|
}
|
|
195
273
|
toJSON() {
|
|
196
274
|
return {
|
|
@@ -198,28 +276,52 @@ let SessionView = class SessionView extends Disposable {
|
|
|
198
276
|
};
|
|
199
277
|
}
|
|
200
278
|
focus() {
|
|
201
|
-
const standaloneView = this.
|
|
279
|
+
const standaloneView = this._visibleStandaloneView;
|
|
202
280
|
standaloneView ? standaloneView.focus() : this._groupsView.focus();
|
|
203
281
|
}
|
|
282
|
+
focusWorkspacePicker() {
|
|
283
|
+
this._visibleStandaloneView?.focusWorkspacePicker();
|
|
284
|
+
}
|
|
285
|
+
focusHarnessPicker() {
|
|
286
|
+
this._visibleStandaloneView?.focusHarnessPicker();
|
|
287
|
+
}
|
|
204
288
|
startTitleEditing() {
|
|
205
289
|
return this._isVisible && this._header.startTitleEditing();
|
|
206
290
|
}
|
|
291
|
+
startFocusedChatTitleEditing() {
|
|
292
|
+
return this._isVisible && this._groupsView.startFocusedChatTitleEditing();
|
|
293
|
+
}
|
|
294
|
+
startChatTitleEditing(chatResource) {
|
|
295
|
+
return this._isVisible && this._groupsView.startChatTitleEditing(chatResource);
|
|
296
|
+
}
|
|
207
297
|
getFocusedChat() {
|
|
208
298
|
return this._groupsView.getFocusedChat();
|
|
209
299
|
}
|
|
300
|
+
getActiveChat() {
|
|
301
|
+
return this._groupsView.getActiveChat();
|
|
302
|
+
}
|
|
303
|
+
toggleActiveChatPin() {
|
|
304
|
+
this._groupsView.toggleActiveChatPin();
|
|
305
|
+
}
|
|
306
|
+
closeChatGroup(chatResource) {
|
|
307
|
+
return this._groupsView.closeChatGroup(chatResource);
|
|
308
|
+
}
|
|
210
309
|
getSession() {
|
|
211
310
|
return this._currentSession;
|
|
212
311
|
}
|
|
213
312
|
selectWorkspace(folderUri, options) {
|
|
214
|
-
const standaloneView = this.
|
|
313
|
+
const standaloneView = this._visibleStandaloneView;
|
|
215
314
|
return standaloneView ? standaloneView.selectWorkspace(folderUri, options) : this._groupsView.selectWorkspace(folderUri, options);
|
|
216
315
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
316
|
+
applyDraft(draft, folderUri, options, token) {
|
|
317
|
+
return this._standaloneView.get()?.applyDraft(draft, folderUri, options, token) ?? Promise.resolve("notReady");
|
|
318
|
+
}
|
|
319
|
+
selectNoWorkspace(options) {
|
|
320
|
+
const standaloneView = this._visibleStandaloneView;
|
|
321
|
+
standaloneView ? standaloneView.selectNoWorkspace(options) : this._groupsView.selectNoWorkspace(options);
|
|
220
322
|
}
|
|
221
|
-
openChatToSide(resource) {
|
|
222
|
-
return this._groupsView.openChatInNewGroup(resource);
|
|
323
|
+
openChatToSide(resource, referenceChatResource) {
|
|
324
|
+
return this._groupsView.openChatInNewGroup(resource, referenceChatResource);
|
|
223
325
|
}
|
|
224
326
|
splitChatToSide(resource) {
|
|
225
327
|
this._groupsView.splitChatToSide(resource);
|
|
@@ -234,18 +336,18 @@ let SessionView = class SessionView extends Disposable {
|
|
|
234
336
|
this._groupsView.moveActiveChatToAdjacentGroup(direction);
|
|
235
337
|
}
|
|
236
338
|
prefillInput(text) {
|
|
237
|
-
const standaloneView = this.
|
|
339
|
+
const standaloneView = this._visibleStandaloneView;
|
|
238
340
|
standaloneView ? standaloneView.prefillInput(text) : this._groupsView.prefillInput(text);
|
|
239
341
|
}
|
|
240
342
|
sendQuery(text) {
|
|
241
|
-
const standaloneView = this.
|
|
343
|
+
const standaloneView = this._visibleStandaloneView;
|
|
242
344
|
standaloneView ? standaloneView.sendQuery(text) : this._groupsView.sendQuery(text);
|
|
243
345
|
}
|
|
244
346
|
submitInput() {
|
|
245
|
-
return this.
|
|
347
|
+
return this._visibleStandaloneView?.submitInput() ?? this._groupsView.submitInput();
|
|
246
348
|
}
|
|
247
349
|
attach(uris) {
|
|
248
|
-
const standaloneView = this.
|
|
350
|
+
const standaloneView = this._visibleStandaloneView;
|
|
249
351
|
standaloneView ? standaloneView.attach(uris) : this._groupsView.attach(uris);
|
|
250
352
|
}
|
|
251
353
|
setMaximized(maximized) {
|
|
@@ -258,7 +360,7 @@ let SessionView = class SessionView extends Disposable {
|
|
|
258
360
|
this._isActive = active;
|
|
259
361
|
this._applyActiveSessionStyles();
|
|
260
362
|
this._groupsView.setSessionActive(active);
|
|
261
|
-
this.
|
|
363
|
+
this._visibleStandaloneView?.setActive(active);
|
|
262
364
|
}
|
|
263
365
|
setVisible(visible) {
|
|
264
366
|
if (this._isLeafVisible === visible) {
|
|
@@ -284,8 +386,10 @@ let SessionView = class SessionView extends Disposable {
|
|
|
284
386
|
if (visible === wasVisible) {
|
|
285
387
|
return;
|
|
286
388
|
}
|
|
389
|
+
this._lastContentLayout = undefined;
|
|
390
|
+
this._isVisibleObs.set(visible, undefined);
|
|
287
391
|
this._groupsView.setSessionVisible(visible);
|
|
288
|
-
this.
|
|
392
|
+
this._visibleStandaloneView?.setVisible(visible);
|
|
289
393
|
if (visible) {
|
|
290
394
|
this._layoutChildren();
|
|
291
395
|
}
|
|
@@ -294,6 +398,12 @@ let SessionView = class SessionView extends Disposable {
|
|
|
294
398
|
this.element.classList.toggle("modern-ui-editor-tab-group-active", this._isActive);
|
|
295
399
|
applySessionViewThemeColors(this.element, this.themeService.getColorTheme(), this._isActive);
|
|
296
400
|
}
|
|
401
|
+
dispose() {
|
|
402
|
+
this._lastLayout = undefined;
|
|
403
|
+
this._lastContentLayout = undefined;
|
|
404
|
+
this._isVisibleObs.set(false, undefined);
|
|
405
|
+
super.dispose();
|
|
406
|
+
}
|
|
297
407
|
};
|
|
298
408
|
SessionView = SessionView_1 = ( __decorate([( __param(0, IChatViewFactory)), ( __param(1, IInstantiationService)), ( __param(2, IContextKeyService)), ( __param(3, IThemeService)), ( __param(4, ISessionChangesStatsCache))], SessionView));
|
|
299
409
|
|