@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
|
@@ -6,7 +6,7 @@ import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workben
|
|
|
6
6
|
import { ISessionTaskRunner } from "../../chat/browser/sessionTaskRunner.js";
|
|
7
7
|
import { ITaskEntry } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/sessionsTasksService";
|
|
8
8
|
import { ISessionsTasksService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/sessionsTasksService.service";
|
|
9
|
-
import { ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
9
|
+
import { IChat, ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
10
10
|
import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
|
|
11
11
|
import { IConfigurationResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service";
|
|
12
12
|
/**
|
|
@@ -25,9 +25,27 @@ export declare class AgentHostSessionTaskRunner implements ISessionTaskRunner {
|
|
|
25
25
|
private readonly _logService;
|
|
26
26
|
readonly id = "agentHost";
|
|
27
27
|
readonly priority = 100;
|
|
28
|
+
/** The terminal that last ran each task, keyed by host, working directory, and task label. */
|
|
29
|
+
private readonly _taskTerminals;
|
|
28
30
|
constructor(_agentHostTerminalService: IAgentHostTerminalService, _sessionsProvidersService: ISessionsProvidersService, _sessionsTasksService: ISessionsTasksService, _configurationResolverService: IConfigurationResolverService, _terminalService: ITerminalService, _terminalGroupService: ITerminalGroupService, _logService: ILogService);
|
|
29
31
|
canRun(session: ISession): boolean;
|
|
30
|
-
runTask(task: ITaskEntry, session: ISession): Promise<IDisposable | undefined>;
|
|
32
|
+
runTask(task: ITaskEntry, session: ISession, chat?: IChat): Promise<IDisposable | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the terminal that last ran the task identified by {@link key}
|
|
35
|
+
* when it can run the task again, mirroring how the workbench task system
|
|
36
|
+
* reuses task terminals. A terminal is only reused when it is known to be
|
|
37
|
+
* idle, so that the command is never typed into a still running process,
|
|
38
|
+
* when the shell is still in the directory the terminal started in, so
|
|
39
|
+
* that the command runs from the task's working directory, and when it is
|
|
40
|
+
* not hidden in the background (e.g. after switching sessions), since only
|
|
41
|
+
* foreground terminals can be activated.
|
|
42
|
+
*/
|
|
43
|
+
private _getReusableTerminal;
|
|
44
|
+
/**
|
|
45
|
+
* Reads the task's presentation options, falling back to the legacy
|
|
46
|
+
* `terminal` property like the workbench task configuration does.
|
|
47
|
+
*/
|
|
48
|
+
private _getPresentation;
|
|
31
49
|
private _getAddress;
|
|
32
50
|
private _isSessionRemoteHostAvailable;
|
|
33
51
|
private _getCwd;
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
4
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
5
|
-
import { OS } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
5
|
+
import { OS, OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
6
|
+
import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
6
7
|
import { toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
8
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
8
9
|
import { AGENT_HOST_SCHEME, fromAgentHostUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
|
|
@@ -18,6 +19,14 @@ import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/res
|
|
|
18
19
|
|
|
19
20
|
const LOG_PREFIX = "[AgentHostSessionTaskRunner]";
|
|
20
21
|
const LOCAL_AGENT_HOST_ADDRESS = "__local__";
|
|
22
|
+
function normalizeCwd(cwd) {
|
|
23
|
+
return cwd.replace(/(?<=[^\\/:])[\\/]+$/, "");
|
|
24
|
+
}
|
|
25
|
+
function isEqualCwd(a, b, ignoreCase) {
|
|
26
|
+
a = normalizeCwd(a);
|
|
27
|
+
b = normalizeCwd(b);
|
|
28
|
+
return ignoreCase ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
29
|
+
}
|
|
21
30
|
let AgentHostSessionTaskRunner = class AgentHostSessionTaskRunner {
|
|
22
31
|
constructor(
|
|
23
32
|
_agentHostTerminalService,
|
|
@@ -37,11 +46,12 @@ let AgentHostSessionTaskRunner = class AgentHostSessionTaskRunner {
|
|
|
37
46
|
this._logService = _logService;
|
|
38
47
|
this.id = "agentHost";
|
|
39
48
|
this.priority = 100;
|
|
49
|
+
this._taskTerminals = ( new Map());
|
|
40
50
|
}
|
|
41
51
|
canRun(session) {
|
|
42
52
|
return this._isSessionRemoteHostAvailable(session) && this._getAddress(session) !== undefined;
|
|
43
53
|
}
|
|
44
|
-
async runTask(task, session) {
|
|
54
|
+
async runTask(task, session, chat) {
|
|
45
55
|
if (!this._isSessionRemoteHostAvailable(session)) {
|
|
46
56
|
return undefined;
|
|
47
57
|
}
|
|
@@ -49,12 +59,13 @@ let AgentHostSessionTaskRunner = class AgentHostSessionTaskRunner {
|
|
|
49
59
|
if (!address) {
|
|
50
60
|
return undefined;
|
|
51
61
|
}
|
|
52
|
-
const
|
|
62
|
+
const owner = chat ?? session;
|
|
63
|
+
const allTasks = await this._sessionsTasksService.getAllTasks(owner);
|
|
53
64
|
const byLabel = ( new Map());
|
|
54
65
|
for (const entry of allTasks) {
|
|
55
66
|
byLabel.set(entry.task.label, entry.task);
|
|
56
67
|
}
|
|
57
|
-
const cwd = this._getCwd(
|
|
68
|
+
const cwd = this._getCwd(owner);
|
|
58
69
|
const command = await resolveTaskCommand(task, {
|
|
59
70
|
targetOS: address === LOCAL_AGENT_HOST_ADDRESS ? osToTaskTargetOS(OS) : undefined,
|
|
60
71
|
lookup: label => byLabel.get(label),
|
|
@@ -69,23 +80,95 @@ let AgentHostSessionTaskRunner = class AgentHostSessionTaskRunner {
|
|
|
69
80
|
if (!this._isSessionRemoteHostAvailable(session)) {
|
|
70
81
|
return undefined;
|
|
71
82
|
}
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
const terminalKey = JSON.stringify([address, cwd?.toString(), task.label]);
|
|
84
|
+
const presentation = this._getPresentation(task);
|
|
85
|
+
const shouldReuse = !(typeof presentation?.panel === "string" && presentation.panel.toLowerCase() === "new");
|
|
86
|
+
let taskTerminal = shouldReuse ? this._getReusableTerminal(terminalKey, address) : undefined;
|
|
87
|
+
const isReused = !!taskTerminal;
|
|
88
|
+
if (!taskTerminal) {
|
|
89
|
+
const instance = await this._agentHostTerminalService.createTerminalForEntry(address, {
|
|
90
|
+
cwd,
|
|
91
|
+
name: ( localize(6311, "Task: {0}", task.label))
|
|
92
|
+
});
|
|
93
|
+
if (!instance) {
|
|
94
|
+
this._logService.warn(
|
|
95
|
+
`${LOG_PREFIX} Failed to create terminal for task '${task.label}' on '${address}'.`
|
|
96
|
+
);
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
taskTerminal = {
|
|
100
|
+
instance,
|
|
101
|
+
isLaunching: false,
|
|
102
|
+
executionId: 0
|
|
103
|
+
};
|
|
104
|
+
if (shouldReuse) {
|
|
105
|
+
this._taskTerminals.set(terminalKey, taskTerminal);
|
|
106
|
+
instance.store.add(instance.onDisposed(() => {
|
|
107
|
+
if (this._taskTerminals.get(terminalKey) === taskTerminal) {
|
|
108
|
+
this._taskTerminals.delete(terminalKey);
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const {
|
|
114
|
+
instance
|
|
115
|
+
} = taskTerminal;
|
|
116
|
+
taskTerminal.isLaunching = true;
|
|
117
|
+
const executionId = ++taskTerminal.executionId;
|
|
118
|
+
try {
|
|
119
|
+
this._terminalService.setActiveInstance(instance);
|
|
120
|
+
await this._terminalGroupService.showPanel(true);
|
|
121
|
+
if (isReused) {
|
|
122
|
+
await instance.sendText("\u0003", false);
|
|
123
|
+
await timeout(100);
|
|
124
|
+
}
|
|
125
|
+
if (isReused && presentation?.clear === true) {
|
|
126
|
+
instance.clearBuffer();
|
|
127
|
+
}
|
|
128
|
+
this._agentHostTerminalService.markCommandPending(instance);
|
|
129
|
+
await instance.sendText(command, true);
|
|
130
|
+
} finally {
|
|
131
|
+
taskTerminal.isLaunching = false;
|
|
81
132
|
}
|
|
82
|
-
this._terminalService.setActiveInstance(instance);
|
|
83
|
-
await this._terminalGroupService.showPanel(true);
|
|
84
|
-
await instance.sendText(command, true);
|
|
85
133
|
return toDisposable(() => {
|
|
86
|
-
|
|
134
|
+
if (taskTerminal.executionId === executionId) {
|
|
135
|
+
instance.dispose(TerminalExitReason.User);
|
|
136
|
+
}
|
|
87
137
|
});
|
|
88
138
|
}
|
|
139
|
+
_getReusableTerminal(key, address) {
|
|
140
|
+
const taskTerminal = this._taskTerminals.get(key);
|
|
141
|
+
if (!taskTerminal) {
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
const {
|
|
145
|
+
instance
|
|
146
|
+
} = taskTerminal;
|
|
147
|
+
if (instance.isDisposed) {
|
|
148
|
+
this._taskTerminals.delete(key);
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
if (taskTerminal.isLaunching || this._agentHostTerminalService.isCommandExecuting(instance) !== false) {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
if (!this._terminalService.foregroundInstances.includes(instance)) {
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
const terminalCwd = this._agentHostTerminalService.getCwd(instance);
|
|
158
|
+
if (!terminalCwd) {
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
const ignoreCase = address === LOCAL_AGENT_HOST_ADDRESS ? OS !== OperatingSystem.Linux : /^[a-zA-Z]:[\\/]/.test(terminalCwd.initial);
|
|
162
|
+
return isEqualCwd(terminalCwd.current, terminalCwd.initial, ignoreCase) ? taskTerminal : undefined;
|
|
163
|
+
}
|
|
164
|
+
_getPresentation(task) {
|
|
165
|
+
for (const value of [task.presentation, task.terminal]) {
|
|
166
|
+
if (typeof value === "object" && value !== null) {
|
|
167
|
+
return value;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
89
172
|
_getAddress(session) {
|
|
90
173
|
const provider = this._sessionsProvidersService.getProvider(session.providerId);
|
|
91
174
|
if (!provider || !isAgentHostProvider(provider)) {
|
|
@@ -6,7 +6,7 @@ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/w
|
|
|
6
6
|
import { IAgentHostTerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service";
|
|
7
7
|
import { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
8
8
|
import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
|
|
9
|
-
import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService
|
|
9
|
+
import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService";
|
|
10
10
|
import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service";
|
|
11
11
|
import { ISessionsService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service";
|
|
12
12
|
import { ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
@@ -33,8 +33,10 @@ export declare class SessionsTerminalContribution extends Disposable implements
|
|
|
33
33
|
private readonly _terminalProfileService;
|
|
34
34
|
static readonly ID = "workbench.contrib.sessionsTerminal";
|
|
35
35
|
private _activeKey;
|
|
36
|
+
private _activeAgentHostAddress;
|
|
36
37
|
private _activeSessionId;
|
|
37
38
|
private readonly _sessionTerminals;
|
|
39
|
+
private readonly _trackedTerminalScopes;
|
|
38
40
|
private readonly _standaloneTerminalIds;
|
|
39
41
|
/** In-flight terminal work for drafts, retained only until each operation settles. */
|
|
40
42
|
private readonly _pendingTerminalOperations;
|
|
@@ -60,6 +62,7 @@ export declare class SessionsTerminalContribution extends Disposable implements
|
|
|
60
62
|
*/
|
|
61
63
|
ensureTerminal(cwd: URI, focus: boolean, session?: ISession): Promise<ITerminalInstance[]>;
|
|
62
64
|
private _ensureTerminal;
|
|
65
|
+
private _filterTerminalsForScope;
|
|
63
66
|
private _isTerminalOperationCancelled;
|
|
64
67
|
private _isSessionRemoteHostAvailable;
|
|
65
68
|
private _getTerminalOperationGeneration;
|
|
@@ -96,6 +99,7 @@ export declare class SessionsTerminalContribution extends Disposable implements
|
|
|
96
99
|
* session has no tracked terminals yet, falls back to initial cwd matching
|
|
97
100
|
* for compatibility with restored terminals from previous sessions.
|
|
98
101
|
*/
|
|
102
|
+
private _terminalMatchesScope;
|
|
99
103
|
private _updateTerminalVisibility;
|
|
100
104
|
/**
|
|
101
105
|
* Disposes (kills) terminals associated with the given session id. Used
|
|
@@ -7,7 +7,7 @@ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/netw
|
|
|
7
7
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
8
8
|
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
9
9
|
import { Action2, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
10
|
-
import {
|
|
10
|
+
import { fromAgentHostUri, AGENT_HOST_SCHEME } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
|
|
11
11
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
12
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
13
13
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
@@ -15,7 +15,7 @@ import { registerWorkbenchContribution2, WorkbenchPhase, getWorkbenchContributio
|
|
|
15
15
|
import { IAgentHostTerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service';
|
|
16
16
|
import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
17
17
|
import { TerminalCapability } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities';
|
|
18
|
-
import
|
|
18
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService';
|
|
19
19
|
import { LOCAL_AGENT_HOST_PROVIDER_ID, isAgentHostProvider } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider';
|
|
20
20
|
import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
|
|
21
21
|
import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service';
|
|
@@ -25,12 +25,25 @@ import { ISessionTaskRunnerRegistry } from '@codingame/monaco-vscode-api/vscode/
|
|
|
25
25
|
import { AgentHostSessionTaskRunner } from './agentHostSessionTaskRunner.js';
|
|
26
26
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
27
27
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
28
|
+
import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/platform/path/common/pathService.service';
|
|
28
29
|
|
|
30
|
+
const LOCAL_AGENT_HOST_ADDRESS = "__local__";
|
|
29
31
|
function getSessionTerminalInfo(session, reader) {
|
|
30
32
|
if (!session) {
|
|
31
33
|
return undefined;
|
|
32
34
|
}
|
|
33
|
-
const workspace =
|
|
35
|
+
const workspace = session.workspace.get();
|
|
36
|
+
return getWorkspaceTerminalInfo(workspace);
|
|
37
|
+
}
|
|
38
|
+
function getActiveSessionTerminalInfo(session, reader) {
|
|
39
|
+
if (!session) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const activeChat = reader ? session.activeChat.read(reader) : session.activeChat.get();
|
|
43
|
+
const workspace = reader ? activeChat.workspace.read(reader) : activeChat.workspace.get();
|
|
44
|
+
return getWorkspaceTerminalInfo(workspace);
|
|
45
|
+
}
|
|
46
|
+
function getWorkspaceTerminalInfo(workspace) {
|
|
34
47
|
if (workspace?.isVirtualWorkspace !== false) {
|
|
35
48
|
return undefined;
|
|
36
49
|
}
|
|
@@ -39,9 +52,13 @@ function getSessionTerminalInfo(session, reader) {
|
|
|
39
52
|
if (!cwd) {
|
|
40
53
|
return undefined;
|
|
41
54
|
}
|
|
55
|
+
const terminalCwd = fromAgentHostUri(cwd);
|
|
56
|
+
if (terminalCwd.scheme !== Schemas.file && terminalCwd.scheme !== Schemas.vscodeRemote) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
42
59
|
if (cwd.scheme === AGENT_HOST_SCHEME) {
|
|
43
60
|
return {
|
|
44
|
-
cwd:
|
|
61
|
+
cwd: terminalCwd,
|
|
45
62
|
agentHostCwd: cwd
|
|
46
63
|
};
|
|
47
64
|
}
|
|
@@ -79,6 +96,7 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
79
96
|
this._fileService = _fileService;
|
|
80
97
|
this._terminalProfileService = _terminalProfileService;
|
|
81
98
|
this._sessionTerminals = ( new Map());
|
|
99
|
+
this._trackedTerminalScopes = ( new Map());
|
|
82
100
|
this._standaloneTerminalIds = ( new Set());
|
|
83
101
|
this._pendingTerminalOperations = ( new Map());
|
|
84
102
|
this._sessionTerminalGenerations = ( new Map());
|
|
@@ -116,7 +134,7 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
116
134
|
this._agentHostTerminalService.setDefaultCwd(undefined);
|
|
117
135
|
return;
|
|
118
136
|
}
|
|
119
|
-
const info =
|
|
137
|
+
const info = getActiveSessionTerminalInfo(session, reader);
|
|
120
138
|
this._agentHostTerminalService.setDefaultCwd(info?.cwd);
|
|
121
139
|
}));
|
|
122
140
|
this._register(autorun(reader => {
|
|
@@ -136,11 +154,13 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
136
154
|
}
|
|
137
155
|
if (!preserveActiveTerminalState) {
|
|
138
156
|
this._activeKey = undefined;
|
|
157
|
+
this._activeAgentHostAddress = undefined;
|
|
139
158
|
this._activeSessionId = undefined;
|
|
140
159
|
}
|
|
141
160
|
return;
|
|
142
161
|
}
|
|
143
|
-
|
|
162
|
+
const info = getActiveSessionTerminalInfo(session, reader);
|
|
163
|
+
this._onActiveSessionChanged(session, info);
|
|
144
164
|
}));
|
|
145
165
|
this._register(this._sessionsManagementService.onDidReplaceNewDraftSession((
|
|
146
166
|
{
|
|
@@ -233,16 +253,20 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
233
253
|
this._endTerminalOperation(session.sessionId);
|
|
234
254
|
}
|
|
235
255
|
}
|
|
236
|
-
async _ensureTerminal(cwd, focus, session, generation) {
|
|
256
|
+
async _ensureTerminal(cwd, focus, session, generation, requireCwdMatch = false) {
|
|
237
257
|
if (session && this._isTerminalOperationCancelled(session, generation)) {
|
|
238
258
|
return [];
|
|
239
259
|
}
|
|
240
260
|
const key = cwd.fsPath.toLowerCase();
|
|
261
|
+
const agentHostAddress = this._getSessionAgentHostAddress(session);
|
|
241
262
|
let existing = session ? this._getTrackedTerminalsForSession(session.sessionId) : [];
|
|
263
|
+
if (requireCwdMatch && existing.length > 0) {
|
|
264
|
+
existing = await this._filterTerminalsForScope(existing, key, agentHostAddress);
|
|
265
|
+
}
|
|
242
266
|
if (existing.length === 0) {
|
|
243
|
-
existing = await this._findTerminalsForKey(key, {
|
|
267
|
+
existing = await this._filterTerminalsForScope(await this._findTerminalsForKey(key, {
|
|
244
268
|
excludeTracked: !!session
|
|
245
|
-
});
|
|
269
|
+
}), key, agentHostAddress);
|
|
246
270
|
if (session && this._isTerminalOperationCancelled(session, generation)) {
|
|
247
271
|
return [];
|
|
248
272
|
}
|
|
@@ -272,13 +296,26 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
272
296
|
}
|
|
273
297
|
}
|
|
274
298
|
if (session) {
|
|
275
|
-
this._trackTerminalsForSession(session.sessionId, existing
|
|
299
|
+
this._trackTerminalsForSession(session.sessionId, existing, {
|
|
300
|
+
sessionId: session.sessionId,
|
|
301
|
+
key,
|
|
302
|
+
agentHostAddress
|
|
303
|
+
});
|
|
276
304
|
}
|
|
277
305
|
if (focus) {
|
|
278
306
|
await this._terminalService.focusActiveInstance();
|
|
279
307
|
}
|
|
280
308
|
return existing;
|
|
281
309
|
}
|
|
310
|
+
async _filterTerminalsForScope(instances, key, agentHostAddress) {
|
|
311
|
+
const result = [];
|
|
312
|
+
for (const instance of instances) {
|
|
313
|
+
if (await this._terminalMatchesScope(instance, key, agentHostAddress)) {
|
|
314
|
+
result.push(instance);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return result;
|
|
318
|
+
}
|
|
282
319
|
_isTerminalOperationCancelled(
|
|
283
320
|
session,
|
|
284
321
|
generation = this._getTerminalOperationGeneration(session.sessionId)
|
|
@@ -319,31 +356,43 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
319
356
|
if (!provider || !isAgentHostProvider(provider)) {
|
|
320
357
|
return undefined;
|
|
321
358
|
}
|
|
322
|
-
return provider.remoteAddress ??
|
|
359
|
+
return provider.remoteAddress ?? LOCAL_AGENT_HOST_ADDRESS;
|
|
323
360
|
}
|
|
324
|
-
async _onActiveSessionChanged(session) {
|
|
361
|
+
async _onActiveSessionChanged(session, info = getActiveSessionTerminalInfo(session)) {
|
|
325
362
|
if (!session) {
|
|
326
363
|
return;
|
|
327
364
|
}
|
|
365
|
+
if (!info && session.activeChat.get().workspace.get()?.isVirtualWorkspace === false) {
|
|
366
|
+
this._logService.trace(
|
|
367
|
+
`[SessionsTerminal] Waiting for a filesystem working directory for ${session.sessionId}`
|
|
368
|
+
);
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
328
371
|
this._beginTerminalOperation(session.sessionId);
|
|
329
372
|
try {
|
|
330
373
|
const generation = this._getTerminalOperationGeneration(session.sessionId);
|
|
331
|
-
const info = getSessionTerminalInfo(session);
|
|
332
374
|
if (info?.cwd && !info.agentHostCwd && info.cwd.scheme === Schemas.file && !(await this._fileService.exists(info.cwd))) {
|
|
333
375
|
return;
|
|
334
376
|
}
|
|
335
377
|
const targetPath = info?.cwd ?? (await this._pathService.userHome());
|
|
336
378
|
const targetKey = targetPath.fsPath.toLowerCase();
|
|
337
|
-
|
|
379
|
+
const targetAgentHostAddress = this._getSessionAgentHostAddress(session);
|
|
380
|
+
if (this._activeKey === targetKey && this._activeAgentHostAddress === targetAgentHostAddress && this._activeSessionId === session.sessionId) {
|
|
338
381
|
return;
|
|
339
382
|
}
|
|
340
383
|
this._activeKey = targetKey;
|
|
384
|
+
this._activeAgentHostAddress = targetAgentHostAddress;
|
|
341
385
|
this._activeSessionId = session.sessionId;
|
|
342
|
-
const instances = await this._ensureTerminal(targetPath, false, session, generation);
|
|
343
|
-
if (this._activeKey !== targetKey || this._activeSessionId !== session.sessionId) {
|
|
386
|
+
const instances = await this._ensureTerminal(targetPath, false, session, generation, true);
|
|
387
|
+
if (this._activeKey !== targetKey || this._activeAgentHostAddress !== targetAgentHostAddress || this._activeSessionId !== session.sessionId) {
|
|
344
388
|
return;
|
|
345
389
|
}
|
|
346
|
-
await this._updateTerminalVisibility(
|
|
390
|
+
await this._updateTerminalVisibility(
|
|
391
|
+
session,
|
|
392
|
+
targetKey,
|
|
393
|
+
targetAgentHostAddress,
|
|
394
|
+
instances.map(instance => instance.instanceId)
|
|
395
|
+
);
|
|
347
396
|
} finally {
|
|
348
397
|
this._endTerminalOperation(session.sessionId);
|
|
349
398
|
}
|
|
@@ -366,7 +415,7 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
366
415
|
}
|
|
367
416
|
return result;
|
|
368
417
|
}
|
|
369
|
-
_trackTerminalsForSession(sessionId, instances) {
|
|
418
|
+
_trackTerminalsForSession(sessionId, instances, scope) {
|
|
370
419
|
if (instances.length === 0) {
|
|
371
420
|
return;
|
|
372
421
|
}
|
|
@@ -377,6 +426,9 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
377
426
|
}
|
|
378
427
|
for (const instance of instances) {
|
|
379
428
|
terminalIds.add(instance.instanceId);
|
|
429
|
+
if (scope) {
|
|
430
|
+
this._trackedTerminalScopes.set(instance.instanceId, scope);
|
|
431
|
+
}
|
|
380
432
|
}
|
|
381
433
|
}
|
|
382
434
|
_beginTerminalOperation(sessionId) {
|
|
@@ -420,6 +472,7 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
420
472
|
const terminals = this._getTrackedTerminalsForSession(sessionId);
|
|
421
473
|
for (const terminal of terminals) {
|
|
422
474
|
this._standaloneTerminalIds.add(terminal.instanceId);
|
|
475
|
+
this._trackedTerminalScopes.delete(terminal.instanceId);
|
|
423
476
|
}
|
|
424
477
|
if (terminals.length > 0) {
|
|
425
478
|
this._logService.trace(
|
|
@@ -470,6 +523,7 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
470
523
|
const instance = this._terminalService.getInstanceFromId(instanceId);
|
|
471
524
|
if (!instance || instance.isDisposed) {
|
|
472
525
|
terminalIds.delete(instanceId);
|
|
526
|
+
this._trackedTerminalScopes.delete(instanceId);
|
|
473
527
|
if (terminalIds.size === 0) {
|
|
474
528
|
this._sessionTerminals.delete(sessionId);
|
|
475
529
|
}
|
|
@@ -483,6 +537,7 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
483
537
|
_removeTerminalFromTrackedSessions(instanceId) {
|
|
484
538
|
for (const [sessionId, terminalIds] of this._sessionTerminals) {
|
|
485
539
|
terminalIds.delete(instanceId);
|
|
540
|
+
this._trackedTerminalScopes.delete(instanceId);
|
|
486
541
|
if (terminalIds.size === 0) {
|
|
487
542
|
this._sessionTerminals.delete(sessionId);
|
|
488
543
|
}
|
|
@@ -498,7 +553,31 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
498
553
|
}
|
|
499
554
|
return currentInstance;
|
|
500
555
|
}
|
|
501
|
-
async
|
|
556
|
+
async _terminalMatchesScope(instance, key, agentHostAddress) {
|
|
557
|
+
const trackedScope = this._trackedTerminalScopes.get(instance.instanceId);
|
|
558
|
+
if (trackedScope) {
|
|
559
|
+
return trackedScope.key === key && trackedScope.agentHostAddress === agentHostAddress;
|
|
560
|
+
}
|
|
561
|
+
const instanceAgentHostAddress = this._agentHostTerminalService.getAgentHostAddress(instance);
|
|
562
|
+
if (instanceAgentHostAddress !== undefined) {
|
|
563
|
+
if (instanceAgentHostAddress !== agentHostAddress) {
|
|
564
|
+
return false;
|
|
565
|
+
}
|
|
566
|
+
} else if (instance.shellLaunchConfig.customPtyImplementation || (agentHostAddress !== undefined && agentHostAddress !== LOCAL_AGENT_HOST_ADDRESS)) {
|
|
567
|
+
return false;
|
|
568
|
+
}
|
|
569
|
+
try {
|
|
570
|
+
return (await instance.getInitialCwd()).toLowerCase() === key;
|
|
571
|
+
} catch {
|
|
572
|
+
return false;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
async _updateTerminalVisibility(
|
|
576
|
+
activeSession,
|
|
577
|
+
activeKey,
|
|
578
|
+
activeAgentHostAddress,
|
|
579
|
+
forceForegroundTerminalIds
|
|
580
|
+
) {
|
|
502
581
|
const toShow = [];
|
|
503
582
|
const toHide = [];
|
|
504
583
|
const trackedTerminalIds = ( new Set(
|
|
@@ -508,21 +587,16 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
508
587
|
if (instance.shellLaunchConfig.hideFromUser || ( this._standaloneTerminalIds.has(instance.instanceId))) {
|
|
509
588
|
continue;
|
|
510
589
|
}
|
|
511
|
-
let cwd;
|
|
512
590
|
const currentInstance = this._getAvailableTerminal(instance, "update terminal visibility");
|
|
513
591
|
if (!currentInstance) {
|
|
514
592
|
continue;
|
|
515
593
|
}
|
|
516
594
|
const isForeground = this._terminalService.foregroundInstances.includes(currentInstance);
|
|
517
|
-
const
|
|
518
|
-
|
|
595
|
+
const matchesActiveScope = await this._terminalMatchesScope(currentInstance, activeKey, activeAgentHostAddress);
|
|
596
|
+
const isForceVisible = forceForegroundTerminalIds.includes(currentInstance.instanceId) && matchesActiveScope;
|
|
597
|
+
let belongsToActiveSession = ( trackedTerminalIds.has(currentInstance.instanceId)) && matchesActiveScope;
|
|
519
598
|
if (!belongsToActiveSession && !this._isTerminalTracked(currentInstance.instanceId)) {
|
|
520
|
-
|
|
521
|
-
cwd = (await currentInstance.getInitialCwd()).toLowerCase();
|
|
522
|
-
} catch {
|
|
523
|
-
continue;
|
|
524
|
-
}
|
|
525
|
-
belongsToActiveSession = cwd === activeKey;
|
|
599
|
+
belongsToActiveSession = matchesActiveScope;
|
|
526
600
|
}
|
|
527
601
|
if ((belongsToActiveSession || isForceVisible) && !isForeground) {
|
|
528
602
|
toShow.push(currentInstance);
|
|
@@ -552,6 +626,9 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
552
626
|
if (( this._standaloneTerminalIds.has(instance.instanceId))) {
|
|
553
627
|
continue;
|
|
554
628
|
}
|
|
629
|
+
if (!(await this._terminalMatchesScope(instance, activeKey, activeAgentHostAddress))) {
|
|
630
|
+
continue;
|
|
631
|
+
}
|
|
555
632
|
const cmdDetection = instance.capabilities.get(TerminalCapability.CommandDetection);
|
|
556
633
|
const lastCmd = cmdDetection?.commands.at(-1);
|
|
557
634
|
if (lastCmd && lastCmd.timestamp > mostRecentTimestamp) {
|
|
@@ -641,6 +718,7 @@ let SessionsTerminalContribution = class SessionsTerminalContribution extends Di
|
|
|
641
718
|
return;
|
|
642
719
|
}
|
|
643
720
|
this._activeKey = undefined;
|
|
721
|
+
this._activeAgentHostAddress = undefined;
|
|
644
722
|
this._activeSessionId = undefined;
|
|
645
723
|
await this._onActiveSessionChanged(activeSession);
|
|
646
724
|
}
|
|
@@ -713,7 +791,7 @@ class DumpTerminalTrackingAction extends Action2 {
|
|
|
713
791
|
constructor() {
|
|
714
792
|
super({
|
|
715
793
|
id: "agentSession.dumpTerminalTracking",
|
|
716
|
-
title: ( localize2(
|
|
794
|
+
title: ( localize2(6312, "Dump Terminal Tracking")),
|
|
717
795
|
f1: true
|
|
718
796
|
});
|
|
719
797
|
}
|
|
@@ -727,7 +805,7 @@ class ShowAllTerminalsAction extends Action2 {
|
|
|
727
805
|
constructor() {
|
|
728
806
|
super({
|
|
729
807
|
id: "agentSession.showAllTerminals",
|
|
730
|
-
title: ( localize2(
|
|
808
|
+
title: ( localize2(6313, "Show All Terminals")),
|
|
731
809
|
f1: true
|
|
732
810
|
});
|
|
733
811
|
}
|
|
@@ -6,6 +6,7 @@ import { IWorkspaceEditingService } from "@codingame/monaco-vscode-api/vscode/vs
|
|
|
6
6
|
import { IWorkspaceTrustManagementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service";
|
|
7
7
|
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
8
8
|
import { IWorkspaceFolderLabelService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/workspaces/common/workspaceFolderLabelService.service";
|
|
9
|
+
import { IHistoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/history/common/history.service";
|
|
9
10
|
export declare class WorkspaceFolderManagementContribution extends Disposable implements IWorkbenchContribution {
|
|
10
11
|
private readonly sessionsService;
|
|
11
12
|
private readonly uriIdentityService;
|
|
@@ -13,11 +14,12 @@ export declare class WorkspaceFolderManagementContribution extends Disposable im
|
|
|
13
14
|
private readonly workspaceEditingService;
|
|
14
15
|
private readonly workspaceTrustManagementService;
|
|
15
16
|
private readonly workspaceFolderLabelService;
|
|
17
|
+
private readonly historyService;
|
|
16
18
|
static readonly ID = "workbench.contrib.workspaceFolderManagement";
|
|
17
19
|
private queue;
|
|
18
|
-
constructor(sessionsService: ISessionsService, uriIdentityService: IUriIdentityService, workspaceContextService: IWorkspaceContextService, workspaceEditingService: IWorkspaceEditingService, workspaceTrustManagementService: IWorkspaceTrustManagementService, workspaceFolderLabelService: IWorkspaceFolderLabelService);
|
|
19
|
-
private
|
|
20
|
-
private
|
|
20
|
+
constructor(sessionsService: ISessionsService, uriIdentityService: IUriIdentityService, workspaceContextService: IWorkspaceContextService, workspaceEditingService: IWorkspaceEditingService, workspaceTrustManagementService: IWorkspaceTrustManagementService, workspaceFolderLabelService: IWorkspaceFolderLabelService, historyService: IHistoryService);
|
|
21
|
+
private updateWorkspaceFolders;
|
|
22
|
+
private getWorkspaceFolderData;
|
|
21
23
|
/**
|
|
22
24
|
* Whether `uri` may be mounted as the workspace folder. A session that
|
|
23
25
|
* requires workspace trust may only mount a trusted folder; anything else is
|