@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
|
@@ -4,6 +4,7 @@ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
|
4
4
|
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
5
5
|
import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
|
|
6
6
|
import { IChat, ISession, SessionStatus } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
7
|
+
import { ISessionGridSlot } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsPartService";
|
|
7
8
|
/**
|
|
8
9
|
* Wraps an {@link ISession} with an active chat observable to form an
|
|
9
10
|
* {@link IActiveSession}. Delegates all {@link ISession} property accesses
|
|
@@ -62,6 +63,9 @@ export declare class VisibleSession extends Disposable implements IActiveSession
|
|
|
62
63
|
get resource(): URI;
|
|
63
64
|
get providerId(): string;
|
|
64
65
|
get sessionType(): string;
|
|
66
|
+
get harness(): string;
|
|
67
|
+
get environment(): string;
|
|
68
|
+
get application(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionApplication>;
|
|
65
69
|
get icon(): import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
66
70
|
get createdAt(): Date;
|
|
67
71
|
get workspace(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionWorkspace | undefined>;
|
|
@@ -77,16 +81,17 @@ export declare class VisibleSession extends Disposable implements IActiveSession
|
|
|
77
81
|
get status(): IObservable<SessionStatus>;
|
|
78
82
|
get completedStateIcon(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon | undefined> | undefined;
|
|
79
83
|
get changesSummary(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionChangesSummary | undefined> | undefined;
|
|
80
|
-
get changesets(): IObservable<readonly import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionChangeset[] | undefined>;
|
|
81
|
-
get changes(): IObservable<readonly import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionFileChange[]>;
|
|
82
84
|
get artifacts(): IObservable<readonly import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionArtifact[]> | undefined;
|
|
83
85
|
get modelId(): IObservable<string | undefined>;
|
|
84
86
|
get mode(): IObservable<{
|
|
85
87
|
readonly id: string;
|
|
86
88
|
readonly kind: string;
|
|
87
89
|
} | undefined>;
|
|
90
|
+
get permissionLevel(): IObservable<string> | undefined;
|
|
91
|
+
get branch(): IObservable<string | undefined> | undefined;
|
|
88
92
|
get loading(): IObservable<boolean>;
|
|
89
93
|
get isNewSessionRequestInProgress(): IObservable<boolean> | undefined;
|
|
94
|
+
get preparationProgress(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionPreparationProgress | undefined> | undefined;
|
|
90
95
|
get isArchived(): IObservable<boolean>;
|
|
91
96
|
get isRead(): IObservable<boolean>;
|
|
92
97
|
get description(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent").IMarkdownString | undefined>;
|
|
@@ -120,6 +125,9 @@ export declare class VisibleSessions extends Disposable {
|
|
|
120
125
|
private readonly _resolveInitialShownRelatedChats;
|
|
121
126
|
private readonly _onSlotReplaced;
|
|
122
127
|
private readonly _uriIdentityService;
|
|
128
|
+
private readonly _gridSlots;
|
|
129
|
+
getGridSlots(): readonly ISessionGridSlot[];
|
|
130
|
+
private transferGridSlot;
|
|
123
131
|
private readonly _activeSession;
|
|
124
132
|
readonly activeSession: IObservable<IActiveSession | undefined>;
|
|
125
133
|
/**
|
|
@@ -200,7 +208,7 @@ export declare class VisibleSessions extends Disposable {
|
|
|
200
208
|
* `targetSessionId` may be `undefined` to position relative to the empty
|
|
201
209
|
* (new-session) slot. No-op if the target slot is not currently visible.
|
|
202
210
|
*/
|
|
203
|
-
insertAt(session: ISession | undefined, targetSessionId: string | undefined, side: "left" | "right", activate?: boolean): void;
|
|
211
|
+
insertAt(session: ISession | undefined, targetSessionId: string | undefined, side: "left" | "right" | "up" | "down", activate?: boolean): void;
|
|
204
212
|
/**
|
|
205
213
|
* Atomically (re)build the entire grid from a persisted snapshot.
|
|
206
214
|
*
|
|
@@ -219,6 +227,7 @@ export declare class VisibleSessions extends Disposable {
|
|
|
219
227
|
restoreGrid(slots: ReadonlyArray<{
|
|
220
228
|
readonly session: ISession | undefined;
|
|
221
229
|
readonly sticky: boolean;
|
|
230
|
+
readonly gridId?: string;
|
|
222
231
|
}>, activeIndex: number): void;
|
|
223
232
|
/**
|
|
224
233
|
* The grid slot state of a currently visible session (or of the empty slot
|
|
@@ -285,7 +294,7 @@ export declare class VisibleSessions extends Disposable {
|
|
|
285
294
|
* for the old session is disposed; a fresh wrapper is created for the
|
|
286
295
|
* updated session. No-op if `session` is not currently in the grid.
|
|
287
296
|
*/
|
|
288
|
-
updateSession(session: ISession, updatedSession: ISession): void;
|
|
297
|
+
updateSession(session: ISession, updatedSession: ISession, preserveFocus?: boolean): void;
|
|
289
298
|
/**
|
|
290
299
|
* Create a transient {@link ISession} that mirrors the given session but
|
|
291
300
|
* exposes a different {@link ISession.resource}. The visibility model's
|
|
@@ -4,6 +4,8 @@ import { Disposable, DisposableMap } from '@codingame/monaco-vscode-api/vscode/v
|
|
|
4
4
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
5
5
|
import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
6
6
|
import { ChatOriginKind, SessionStatus, ChatInteractivity } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
7
|
+
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
8
|
+
import { Direction } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/grid/grid';
|
|
7
9
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
8
10
|
import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
|
|
9
11
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -150,6 +152,15 @@ class VisibleSession extends Disposable {
|
|
|
150
152
|
get sessionType() {
|
|
151
153
|
return this._session.sessionType;
|
|
152
154
|
}
|
|
155
|
+
get harness() {
|
|
156
|
+
return this._session.harness;
|
|
157
|
+
}
|
|
158
|
+
get environment() {
|
|
159
|
+
return this._session.environment;
|
|
160
|
+
}
|
|
161
|
+
get application() {
|
|
162
|
+
return this._session.application;
|
|
163
|
+
}
|
|
153
164
|
get icon() {
|
|
154
165
|
return this._session.icon;
|
|
155
166
|
}
|
|
@@ -195,12 +206,6 @@ class VisibleSession extends Disposable {
|
|
|
195
206
|
get changesSummary() {
|
|
196
207
|
return this._session.changesSummary;
|
|
197
208
|
}
|
|
198
|
-
get changesets() {
|
|
199
|
-
return this._session.changesets;
|
|
200
|
-
}
|
|
201
|
-
get changes() {
|
|
202
|
-
return this._session.changes;
|
|
203
|
-
}
|
|
204
209
|
get artifacts() {
|
|
205
210
|
return this._session.artifacts;
|
|
206
211
|
}
|
|
@@ -210,12 +215,21 @@ class VisibleSession extends Disposable {
|
|
|
210
215
|
get mode() {
|
|
211
216
|
return this._activeChatMode;
|
|
212
217
|
}
|
|
218
|
+
get permissionLevel() {
|
|
219
|
+
return this._session.permissionLevel;
|
|
220
|
+
}
|
|
221
|
+
get branch() {
|
|
222
|
+
return this._session.branch;
|
|
223
|
+
}
|
|
213
224
|
get loading() {
|
|
214
225
|
return this._session.loading;
|
|
215
226
|
}
|
|
216
227
|
get isNewSessionRequestInProgress() {
|
|
217
228
|
return this._session.isNewSessionRequestInProgress;
|
|
218
229
|
}
|
|
230
|
+
get preparationProgress() {
|
|
231
|
+
return this._session.preparationProgress;
|
|
232
|
+
}
|
|
219
233
|
get isArchived() {
|
|
220
234
|
return this._session.isArchived;
|
|
221
235
|
}
|
|
@@ -255,6 +269,15 @@ class ResourceOverrideSession {
|
|
|
255
269
|
get sessionType() {
|
|
256
270
|
return this._session.sessionType;
|
|
257
271
|
}
|
|
272
|
+
get harness() {
|
|
273
|
+
return this._session.harness;
|
|
274
|
+
}
|
|
275
|
+
get environment() {
|
|
276
|
+
return this._session.environment;
|
|
277
|
+
}
|
|
278
|
+
get application() {
|
|
279
|
+
return this._session.application;
|
|
280
|
+
}
|
|
258
281
|
get icon() {
|
|
259
282
|
return this._session.icon;
|
|
260
283
|
}
|
|
@@ -300,12 +323,6 @@ class ResourceOverrideSession {
|
|
|
300
323
|
get changesSummary() {
|
|
301
324
|
return this._session.changesSummary;
|
|
302
325
|
}
|
|
303
|
-
get changes() {
|
|
304
|
-
return this._session.changes;
|
|
305
|
-
}
|
|
306
|
-
get changesets() {
|
|
307
|
-
return this._session.changesets;
|
|
308
|
-
}
|
|
309
326
|
get artifacts() {
|
|
310
327
|
return this._session.artifacts;
|
|
311
328
|
}
|
|
@@ -315,12 +332,21 @@ class ResourceOverrideSession {
|
|
|
315
332
|
get mode() {
|
|
316
333
|
return this._session.mode;
|
|
317
334
|
}
|
|
335
|
+
get permissionLevel() {
|
|
336
|
+
return this._session.permissionLevel;
|
|
337
|
+
}
|
|
338
|
+
get branch() {
|
|
339
|
+
return this._session.branch;
|
|
340
|
+
}
|
|
318
341
|
get loading() {
|
|
319
342
|
return this._session.loading;
|
|
320
343
|
}
|
|
321
344
|
get isNewSessionRequestInProgress() {
|
|
322
345
|
return this._session.isNewSessionRequestInProgress;
|
|
323
346
|
}
|
|
347
|
+
get preparationProgress() {
|
|
348
|
+
return this._session.preparationProgress;
|
|
349
|
+
}
|
|
324
350
|
get isArchived() {
|
|
325
351
|
return this._session.isArchived;
|
|
326
352
|
}
|
|
@@ -345,6 +371,25 @@ class ResourceOverrideSession {
|
|
|
345
371
|
}
|
|
346
372
|
const NO_RECENT = Symbol("no-recent");
|
|
347
373
|
let VisibleSessions = class VisibleSessions extends Disposable {
|
|
374
|
+
getGridSlots() {
|
|
375
|
+
return (this._visibleList.length ? this._visibleList : [undefined]).map(id => {
|
|
376
|
+
let slot = this._gridSlots.get(id);
|
|
377
|
+
if (!slot) {
|
|
378
|
+
slot = {
|
|
379
|
+
id: generateUuid()
|
|
380
|
+
};
|
|
381
|
+
this._gridSlots.set(id, slot);
|
|
382
|
+
}
|
|
383
|
+
return slot;
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
transferGridSlot(from, to) {
|
|
387
|
+
const slot = this._gridSlots.get(from);
|
|
388
|
+
this._gridSlots.delete(from);
|
|
389
|
+
if (slot) {
|
|
390
|
+
this._gridSlots.set(to, slot);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
348
393
|
constructor(
|
|
349
394
|
_resolveInitialChat,
|
|
350
395
|
_resolveInitialClosedChats,
|
|
@@ -358,6 +403,9 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
358
403
|
this._resolveInitialShownRelatedChats = _resolveInitialShownRelatedChats;
|
|
359
404
|
this._onSlotReplaced = _onSlotReplaced;
|
|
360
405
|
this._uriIdentityService = _uriIdentityService;
|
|
406
|
+
this._gridSlots = ( new Map([[undefined, {
|
|
407
|
+
id: "initial"
|
|
408
|
+
}]]));
|
|
361
409
|
this._activeSession = observableValue(this, undefined);
|
|
362
410
|
this.activeSession = this._activeSession;
|
|
363
411
|
this._activePreserveFocus = observableValue(this, false);
|
|
@@ -388,6 +436,7 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
388
436
|
replaceSlot = this._findLastNonSticky();
|
|
389
437
|
}
|
|
390
438
|
if (replaceSlot !== NO_RECENT) {
|
|
439
|
+
this.transferGridSlot(replaceSlot, targetId);
|
|
391
440
|
const idx = this._visibleList.indexOf(replaceSlot);
|
|
392
441
|
this._visibleList.splice(idx, 1, targetId);
|
|
393
442
|
if (replaceSlot !== undefined) {
|
|
@@ -399,6 +448,9 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
399
448
|
}
|
|
400
449
|
}
|
|
401
450
|
} else {
|
|
451
|
+
if (!this._visibleList.length) {
|
|
452
|
+
this.transferGridSlot(undefined, targetId);
|
|
453
|
+
}
|
|
402
454
|
this._visibleList.push(targetId);
|
|
403
455
|
}
|
|
404
456
|
this._mostRecentNonStickySlot = targetId;
|
|
@@ -413,12 +465,27 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
413
465
|
return visibleSession;
|
|
414
466
|
}
|
|
415
467
|
insertAt(session, targetSessionId, side, activate = true) {
|
|
468
|
+
if (!this._visibleList.length && targetSessionId === undefined) {
|
|
469
|
+
this._visibleList.push(undefined);
|
|
470
|
+
}
|
|
416
471
|
const id = session?.sessionId;
|
|
417
472
|
const targetIdx = this._visibleList.indexOf(targetSessionId);
|
|
418
473
|
if (targetIdx < 0) {
|
|
419
474
|
return;
|
|
420
475
|
}
|
|
421
|
-
|
|
476
|
+
if (id === targetSessionId) {
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
const reference = this.getGridSlots()[targetIdx].id;
|
|
480
|
+
const previous = this._gridSlots.get(id);
|
|
481
|
+
this._gridSlots.set(id, {
|
|
482
|
+
id: previous?.id ?? generateUuid(),
|
|
483
|
+
placement: {
|
|
484
|
+
reference,
|
|
485
|
+
direction: side === "left" ? Direction.Left : side === "right" ? Direction.Right : side === "up" ? Direction.Up : Direction.Down
|
|
486
|
+
}
|
|
487
|
+
});
|
|
488
|
+
let destIdx = side === "left" || side === "up" ? targetIdx : targetIdx + 1;
|
|
422
489
|
const currentIdx = this._visibleList.indexOf(id);
|
|
423
490
|
if (currentIdx >= 0) {
|
|
424
491
|
if (currentIdx !== destIdx && currentIdx + 1 !== destIdx) {
|
|
@@ -457,6 +524,14 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
457
524
|
sticky
|
|
458
525
|
} = slots[i];
|
|
459
526
|
const id = session?.sessionId;
|
|
527
|
+
if (this._visibleList.includes(id)) {
|
|
528
|
+
continue;
|
|
529
|
+
}
|
|
530
|
+
if (slots[i].gridId) {
|
|
531
|
+
this._gridSlots.set(id, {
|
|
532
|
+
id: slots[i].gridId
|
|
533
|
+
});
|
|
534
|
+
}
|
|
460
535
|
this._visibleList.push(id);
|
|
461
536
|
if (session) {
|
|
462
537
|
const wrapper = this._getOrCreateVisibleSession(session);
|
|
@@ -484,6 +559,12 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
484
559
|
});
|
|
485
560
|
}
|
|
486
561
|
getSlot(sessionId) {
|
|
562
|
+
if (!this._visibleList.length && sessionId === undefined) {
|
|
563
|
+
return {
|
|
564
|
+
index: 0,
|
|
565
|
+
sticky: false
|
|
566
|
+
};
|
|
567
|
+
}
|
|
487
568
|
const index = this._visibleList.indexOf(sessionId);
|
|
488
569
|
return index < 0 ? undefined : {
|
|
489
570
|
index,
|
|
@@ -521,6 +602,7 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
521
602
|
return undefined;
|
|
522
603
|
}
|
|
523
604
|
this._visibleList.splice(idx, 1, id);
|
|
605
|
+
this.transferGridSlot(slotId, id);
|
|
524
606
|
if (slotId !== undefined) {
|
|
525
607
|
this._stickyIds.delete(slotId);
|
|
526
608
|
this._wrappers.deleteAndDispose(slotId);
|
|
@@ -596,7 +678,7 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
596
678
|
openChat(session, chat) {
|
|
597
679
|
this._wrappers.get(session.sessionId)?.openChat(chat);
|
|
598
680
|
}
|
|
599
|
-
updateSession(session, updatedSession) {
|
|
681
|
+
updateSession(session, updatedSession, preserveFocus = false) {
|
|
600
682
|
const fromId = session.sessionId;
|
|
601
683
|
if (!this._visibleList.includes(fromId)) {
|
|
602
684
|
return;
|
|
@@ -609,7 +691,7 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
609
691
|
transaction(tsx => {
|
|
610
692
|
const visibleSession = this._getOrCreateVisibleSession(updatedSession);
|
|
611
693
|
if (wasActive) {
|
|
612
|
-
this._setActiveSession(visibleSession,
|
|
694
|
+
this._setActiveSession(visibleSession, preserveFocus, tsx);
|
|
613
695
|
}
|
|
614
696
|
this._refresh(tsx);
|
|
615
697
|
});
|
|
@@ -625,6 +707,7 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
625
707
|
}
|
|
626
708
|
const idx = this._visibleList.indexOf(fromId);
|
|
627
709
|
if (idx >= 0) {
|
|
710
|
+
this.transferGridSlot(fromId, toId);
|
|
628
711
|
this._visibleList.splice(idx, 1, toId);
|
|
629
712
|
}
|
|
630
713
|
if (this._stickyIds.delete(fromId)) {
|
|
@@ -680,6 +763,13 @@ let VisibleSessions = class VisibleSessions extends Disposable {
|
|
|
680
763
|
return changed;
|
|
681
764
|
}
|
|
682
765
|
_refresh(tsx) {
|
|
766
|
+
const ids = this._visibleList.length ? this._visibleList : [undefined];
|
|
767
|
+
for (const id of ( this._gridSlots.keys())) {
|
|
768
|
+
if (!ids.includes(id)) {
|
|
769
|
+
this._gridSlots.delete(id);
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
this.getGridSlots();
|
|
683
773
|
const wrappers = [];
|
|
684
774
|
for (const id of this._visibleList) {
|
|
685
775
|
if (id === undefined) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
3
|
-
import {
|
|
4
|
-
import { isActiveSessionStatus, SessionStatus, ChatOriginKind, getChatCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
5
|
-
import { readSessionChangesStats } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionChangesStatsCache';
|
|
3
|
+
import { SessionActiveChatHasSideChatsContext, SessionActiveChatResourceContext, SessionActiveChatIsUntitledContext, SessionActiveChatIsDeletableContext, SessionActiveChatCanArchiveContext, SessionActiveChatIsClosableContext, SessionHasMultipleOpenChatsContext, SessionShouldShowChatTabsContext, SessionHasMultipleCommittedChatsContext, SessionIsStickyContext, SessionIsCreatedContext, IsQuickChatSessionContext, SessionHasWorkspaceContext, SessionHasIssuesContext, SessionHasPullRequestContext, SessionHasCachedChangesContext, SessionHasChangesContext, SessionHasGitRepositoryContext, SessionWorkspaceIsVirtualContext, SessionSupportsDeleteContext, SessionSupportsRenameContext, SessionSupportsSideChatContext, SessionSupportsForkContext, SessionSupportsMultipleChatsContext, SessionIsReadContext, SessionIsActiveContext, SessionIsArchivedContext, SessionTypeContext, SessionProviderIdContext, SessionIdContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
|
|
4
|
+
import { isActiveSessionStatus, SessionStatus, ChatOriginKind, getChatCapabilities, isSideChatOf } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
5
|
+
import { readSessionChangesStats, readChatChangesStats } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionChangesStatsCache';
|
|
6
6
|
|
|
7
7
|
const boundKeysByService = ( new WeakMap());
|
|
8
8
|
function getBoundKeys(contextKeyService) {
|
|
@@ -34,21 +34,24 @@ function getBoundKeys(contextKeyService) {
|
|
|
34
34
|
shouldShowChatTabs: SessionShouldShowChatTabsContext.bindTo(contextKeyService),
|
|
35
35
|
hasMultipleOpenChats: SessionHasMultipleOpenChatsContext.bindTo(contextKeyService),
|
|
36
36
|
activeChatIsClosable: SessionActiveChatIsClosableContext.bindTo(contextKeyService),
|
|
37
|
+
activeChatCanArchive: SessionActiveChatCanArchiveContext.bindTo(contextKeyService),
|
|
37
38
|
activeChatIsDeletable: SessionActiveChatIsDeletableContext.bindTo(contextKeyService),
|
|
38
|
-
|
|
39
|
+
activeChatIsUntitled: SessionActiveChatIsUntitledContext.bindTo(contextKeyService),
|
|
40
|
+
activeChatResource: SessionActiveChatResourceContext.bindTo(contextKeyService),
|
|
41
|
+
activeChatHasSideChats: SessionActiveChatHasSideChatsContext.bindTo(contextKeyService)
|
|
39
42
|
};
|
|
40
43
|
boundKeysByService.set(contextKeyService, keys);
|
|
41
44
|
}
|
|
42
45
|
return keys;
|
|
43
46
|
}
|
|
44
|
-
function
|
|
47
|
+
function setSessionContextKeysUnbuffered(session, contextKeyService, reader, changesStatsCache) {
|
|
45
48
|
const keys = getBoundKeys(contextKeyService);
|
|
46
49
|
keys.sessionId.set(session?.sessionId ?? "");
|
|
47
50
|
keys.providerId.set(session?.providerId ?? "");
|
|
48
51
|
keys.type.set(session?.sessionType ?? "");
|
|
49
52
|
keys.isArchived.set(session?.isArchived.read(reader) ?? false);
|
|
50
53
|
keys.isActive.set(session ? isActiveSessionStatus(session.status.read(reader)) : false);
|
|
51
|
-
keys.isRead.set(session?.isRead.read(reader) ?? true);
|
|
54
|
+
keys.isRead.set(session?.mainChat.read(reader).isRead.read(reader) ?? true);
|
|
52
55
|
const capabilities = session?.capabilities.read(reader);
|
|
53
56
|
keys.supportsMultipleChats.set(capabilities?.supportsMultipleChats ?? false);
|
|
54
57
|
keys.supportsFork.set(capabilities?.supportsFork ?? false);
|
|
@@ -61,15 +64,11 @@ function setSessionContextKeys(session, contextKeyService, reader, changesStatsC
|
|
|
61
64
|
session?.hasGitRepository?.read(reader) ?? workspace?.folders.some(folder => folder.gitRepository !== undefined) ?? false
|
|
62
65
|
);
|
|
63
66
|
const worktreePending = session?.worktreePending?.read(reader) ?? false;
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
deletions += change.deletions;
|
|
70
|
-
}
|
|
71
|
-
keys.hasChanges.set(!worktreePending && (insertions > 0 || deletions > 0));
|
|
72
|
-
const changesReported = session ? readSessionChangesStats(session, reader) !== undefined : true;
|
|
67
|
+
const changesStats = session ? readSessionChangesStats(session, reader) : undefined;
|
|
68
|
+
keys.hasChanges.set(
|
|
69
|
+
!worktreePending && !!changesStats && (changesStats.insertions > 0 || changesStats.deletions > 0)
|
|
70
|
+
);
|
|
71
|
+
const changesReported = changesStats !== undefined;
|
|
73
72
|
const cachedFiles = !changesReported && session ? changesStatsCache?.get(session.sessionId, reader)?.files ?? 0 : 0;
|
|
74
73
|
keys.hasCachedChanges.set(!worktreePending && cachedFiles > 0);
|
|
75
74
|
const pullRequest = session?.workspace.read(reader)?.folders[0]?.gitRepository?.gitHubInfo.read(reader)?.pullRequest;
|
|
@@ -80,24 +79,44 @@ function setSessionContextKeys(session, contextKeyService, reader, changesStatsC
|
|
|
80
79
|
keys.isQuickChat.set(!!session && (session.isQuickChat?.read(reader) ?? false));
|
|
81
80
|
}
|
|
82
81
|
function setActiveSessionContextKeys(session, contextKeyService, reader, changesStatsCache) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
82
|
+
contextKeyService.bufferChangeEvents(() => {
|
|
83
|
+
setSessionContextKeysUnbuffered(session, contextKeyService, reader, changesStatsCache);
|
|
84
|
+
const keys = getBoundKeys(contextKeyService);
|
|
85
|
+
keys.isCreated.set(session?.isCreated.read(reader) ?? false);
|
|
86
|
+
keys.sticky.set(session?.sticky.read(reader) ?? false);
|
|
87
|
+
const focusedChat = session?.activeChat.read(reader);
|
|
88
|
+
const activeChatStats = focusedChat ? readChatChangesStats(focusedChat, reader) : undefined;
|
|
89
|
+
const worktreePending = session?.worktreePending?.read(reader) ?? false;
|
|
90
|
+
keys.hasChanges.set(
|
|
91
|
+
!worktreePending && !!activeChatStats && (activeChatStats.insertions > 0 || activeChatStats.deletions > 0)
|
|
92
|
+
);
|
|
93
|
+
const mainChat = session?.mainChat?.read(reader);
|
|
94
|
+
const isMainChat = mainChat && focusedChat && isEqual(mainChat.resource, focusedChat.resource);
|
|
95
|
+
const cachedFiles = activeChatStats === undefined && isMainChat && session ? changesStatsCache?.get(session.sessionId, reader)?.files ?? 0 : 0;
|
|
96
|
+
keys.hasCachedChanges.set(!worktreePending && cachedFiles > 0);
|
|
97
|
+
const committedChatCount = session?.chats.read(reader).reduce(
|
|
98
|
+
(count, chat) => chat.status.read(reader) === SessionStatus.Untitled || chat.origin?.kind === ChatOriginKind.Tool ? count : count + 1,
|
|
99
|
+
0
|
|
100
|
+
) ?? 0;
|
|
101
|
+
keys.hasMultipleCommittedChats.set(committedChatCount > 1);
|
|
102
|
+
keys.shouldShowChatTabs.set(session?.shouldShowChatTabs.read(reader) ?? false);
|
|
103
|
+
keys.hasMultipleOpenChats.set((session?.visibleChatTabs.read(reader).length ?? 0) > 1);
|
|
104
|
+
const activeChat = session?.activeChat.read(reader);
|
|
105
|
+
const mainResource = session?.mainChat.read(reader).resource;
|
|
106
|
+
keys.activeChatResource.set(activeChat?.resource.toString() ?? "");
|
|
107
|
+
const isNonMainChat = !!activeChat && !!mainResource && !isEqual(mainResource, activeChat.resource);
|
|
108
|
+
keys.activeChatIsClosable.set(isNonMainChat);
|
|
109
|
+
keys.activeChatCanArchive.set(
|
|
110
|
+
!!activeChat && !(activeChat.isArchived?.read(reader) ?? false) && getChatCapabilities(activeChat, session, reader).canArchive
|
|
111
|
+
);
|
|
112
|
+
keys.activeChatIsDeletable.set(!!activeChat && getChatCapabilities(activeChat, session, reader).canDelete);
|
|
113
|
+
keys.activeChatIsUntitled.set(activeChat?.status.read(reader) === SessionStatus.Untitled);
|
|
114
|
+
const workspace = activeChat?.workspace.read(reader);
|
|
115
|
+
keys.workspaceIsVirtual.set(workspace?.isVirtualWorkspace ?? true);
|
|
116
|
+
keys.hasWorkspace.set(!!workspace?.label);
|
|
117
|
+
const allChats = session?.chats.read(reader) ?? [];
|
|
118
|
+
keys.activeChatHasSideChats.set(!!activeChat && ( allChats.some(chat => isSideChatOf(chat, activeChat.resource))));
|
|
119
|
+
});
|
|
101
120
|
}
|
|
102
121
|
|
|
103
|
-
export { setActiveSessionContextKeys
|
|
122
|
+
export { setActiveSessionContextKeys };
|
package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js
CHANGED
|
@@ -20,7 +20,7 @@ let SessionsWorkspaceFolderLabelService = class SessionsWorkspaceFolderLabelServ
|
|
|
20
20
|
this.labelService = labelService;
|
|
21
21
|
}
|
|
22
22
|
getWorkspaceFolderLabel(workspaceFolder, verbose) {
|
|
23
|
-
const workspace = this.sessionsService.activeSession.get()?.workspace.get();
|
|
23
|
+
const workspace = this.sessionsService.activeSession.get()?.activeChat.get().workspace.get();
|
|
24
24
|
const folder = workspace?.folders.find(folder => this.isWorkspaceFolder(folder, workspaceFolder)) ?? this.sessionsManagementService.getSessions().flatMap(session => session.workspace.get()?.folders ?? []).find(folder => this.isWorkspaceFolder(folder, workspaceFolder));
|
|
25
25
|
if (folder) {
|
|
26
26
|
const repositoryName = folder.name;
|
|
@@ -1841,7 +1841,7 @@ class Layout extends Disposable {
|
|
|
1841
1841
|
toggleSecondarySideBar() {
|
|
1842
1842
|
const visible = !this.isSecondarySideBarVisible();
|
|
1843
1843
|
this.setPartHidden(!visible, Parts.AUXILIARYBAR_PART);
|
|
1844
|
-
alert(visible ? ( localize(
|
|
1844
|
+
alert(visible ? ( localize(6955, "Secondary Side Bar shown")) : ( localize(6956, "Secondary Side Bar hidden")));
|
|
1845
1845
|
}
|
|
1846
1846
|
isSecondarySideBarVisible() {
|
|
1847
1847
|
return this.isVisible(Parts.AUXILIARYBAR_PART);
|
|
@@ -30,8 +30,6 @@ export declare class Workbench extends Layout {
|
|
|
30
30
|
readonly onDidShutdown: Event<void>;
|
|
31
31
|
constructor(parent: HTMLElement, options: IWorkbenchOptions | undefined, serviceCollection: ServiceCollection, logService: ILogService);
|
|
32
32
|
protected registerErrorHandler(logService: ILogService): void;
|
|
33
|
-
private previousUnexpectedError;
|
|
34
|
-
protected handleUnexpectedError(error: unknown, logService: ILogService): void;
|
|
35
33
|
startup(): IInstantiationService;
|
|
36
34
|
protected initServices(serviceCollection: ServiceCollection): IInstantiationService;
|
|
37
35
|
protected registerListeners(lifecycleService: ILifecycleService, storageService: IStorageService, configurationService: IConfigurationService, hostService: IHostService, dialogService: IDialogService): void;
|
|
@@ -6,7 +6,10 @@ import { timeout, RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/v
|
|
|
6
6
|
import { isFirefox, isChrome, isSafari } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/browser';
|
|
7
7
|
import { mark } from '@codingame/monaco-vscode-api/vscode/vs/base/common/performance';
|
|
8
8
|
import { onUnexpectedError, setUnexpectedErrorHandler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
9
|
+
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
9
10
|
import { isNative, isMacintosh, isWindows, isLinux, isWeb } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
11
|
+
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
12
|
+
import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
10
13
|
import { getSingletonServiceDescriptors } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
11
14
|
import { Parts, Position, positionToString } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
|
|
12
15
|
import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
|
|
@@ -24,7 +27,8 @@ import { NotificationsToasts } from '@codingame/monaco-vscode-api/vscode/vs/work
|
|
|
24
27
|
import { setARIAContainer } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
25
28
|
import { FontMeasurements } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/config/fontMeasurements';
|
|
26
29
|
import { createBareFontInfoFromRawSettings } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/config/fontInfoFromSettings';
|
|
27
|
-
import {
|
|
30
|
+
import { createUnexpectedErrorHandler } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log';
|
|
31
|
+
import { WorkbenchContextKeysHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/contextkeys';
|
|
28
32
|
import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
|
|
29
33
|
import { InstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiationService';
|
|
30
34
|
import { Layout } from './layout.js';
|
|
@@ -32,6 +36,10 @@ import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/s
|
|
|
32
36
|
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
33
37
|
import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
|
|
34
38
|
import { PixelRatio } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/pixelRatio';
|
|
39
|
+
import { WorkbenchHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover';
|
|
40
|
+
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
41
|
+
import { setHoverDelegateFactory } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
|
|
42
|
+
import { setBaseLayerHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegate2';
|
|
35
43
|
import { AccessibilityProgressSignalScheduler } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler';
|
|
36
44
|
import { setProgressAccessibilitySignalScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/progressbar/progressAccessibilitySignal';
|
|
37
45
|
import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
|
|
@@ -51,10 +59,6 @@ class Workbench extends Layout {
|
|
|
51
59
|
this.onWillShutdown = this._onWillShutdown.event;
|
|
52
60
|
this._onDidShutdown = this._register(( new Emitter()));
|
|
53
61
|
this.onDidShutdown = this._onDidShutdown.event;
|
|
54
|
-
this.previousUnexpectedError = {
|
|
55
|
-
message: undefined,
|
|
56
|
-
time: 0
|
|
57
|
-
};
|
|
58
62
|
mark("code/willStartWorkbench");
|
|
59
63
|
this.registerErrorHandler(logService);
|
|
60
64
|
this.parent.appendChild(this.mainContainer);
|
|
@@ -67,20 +71,7 @@ class Workbench extends Layout {
|
|
|
67
71
|
onUnexpectedError(event.reason);
|
|
68
72
|
event.preventDefault();
|
|
69
73
|
});
|
|
70
|
-
setUnexpectedErrorHandler(
|
|
71
|
-
}
|
|
72
|
-
handleUnexpectedError(error, logService) {
|
|
73
|
-
const message = toErrorMessage(error, true);
|
|
74
|
-
if (!message) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
const now = Date.now();
|
|
78
|
-
if (message === this.previousUnexpectedError.message && now - this.previousUnexpectedError.time <= 1000) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
this.previousUnexpectedError.time = now;
|
|
82
|
-
this.previousUnexpectedError.message = message;
|
|
83
|
-
logService.error(message);
|
|
74
|
+
setUnexpectedErrorHandler(createUnexpectedErrorHandler(logService));
|
|
84
75
|
}
|
|
85
76
|
startup() {
|
|
86
77
|
try {
|
|
@@ -91,11 +82,21 @@ class Workbench extends Layout {
|
|
|
91
82
|
const storageService = accessor.get(IStorageService);
|
|
92
83
|
const configurationService = accessor.get(IConfigurationService);
|
|
93
84
|
const hostService = accessor.get(IHostService);
|
|
85
|
+
const hoverService = accessor.get(IHoverService);
|
|
94
86
|
const dialogService = accessor.get(IDialogService);
|
|
95
87
|
const notificationService = accessor.get(INotificationService);
|
|
96
88
|
const markdownRendererService = accessor.get(IMarkdownRendererService);
|
|
97
89
|
markdownRendererService.setDefaultCodeBlockRenderer(instantiationService.createInstance(EditorMarkdownCodeBlockRenderer));
|
|
90
|
+
setHoverDelegateFactory(
|
|
91
|
+
(placement, enableInstantHover) => instantiationService.createInstance(WorkbenchHoverDelegate, placement, {
|
|
92
|
+
instantHover: enableInstantHover
|
|
93
|
+
}, {})
|
|
94
|
+
);
|
|
95
|
+
setBaseLayerHoverDelegate(hoverService);
|
|
98
96
|
this.initLayout(accessor);
|
|
97
|
+
( Registry.as(Extensions.Workbench)).start(accessor);
|
|
98
|
+
( Registry.as(EditorExtensions.EditorFactory)).start(accessor);
|
|
99
|
+
this._register(instantiationService.createInstance(WorkbenchContextKeysHandler));
|
|
99
100
|
this.registerListeners(
|
|
100
101
|
lifecycleService,
|
|
101
102
|
storageService,
|
|
@@ -324,7 +325,9 @@ class Workbench extends Layout {
|
|
|
324
325
|
this._register(notificationsToasts.onDidChangeVisibility(() => {
|
|
325
326
|
notificationsStatus.update(notificationsCenter.isVisible, notificationsToasts.isVisible);
|
|
326
327
|
}));
|
|
327
|
-
|
|
328
|
+
this._register(
|
|
329
|
+
registerNotificationCommands(notificationsCenter, notificationsToasts, notificationService.model)
|
|
330
|
+
);
|
|
328
331
|
AccessibleViewRegistry.register(( new NotificationAccessibleView()));
|
|
329
332
|
this.registerNotifications({
|
|
330
333
|
onDidChangeNotificationsVisibility: Event.map(Event.any(
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IAutomationSchedule } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automation";
|
|
2
|
+
/** Projects a fixed UTC schedule into local wall-clock fields using a Date.getTimezoneOffset() value. */
|
|
3
|
+
export declare function automationScheduleToLocal(schedule: IAutomationSchedule, timezoneOffset?: number): IAutomationSchedule;
|
|
4
|
+
/** Converts local wall-clock fields to fixed UTC, using the same offset as the editing session. */
|
|
5
|
+
export declare function automationScheduleToUTC(schedule: IAutomationSchedule, timezoneOffset?: number): IAutomationSchedule;
|
|
6
|
+
export declare const DAYS_OF_WEEK: readonly string[];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
|
+
|
|
4
|
+
function automationScheduleToLocal(
|
|
5
|
+
schedule,
|
|
6
|
+
timezoneOffset = ( new Date()).getTimezoneOffset()
|
|
7
|
+
) {
|
|
8
|
+
if (schedule.timeZone !== "UTC") {
|
|
9
|
+
return schedule;
|
|
10
|
+
}
|
|
11
|
+
const {
|
|
12
|
+
timeZone: _timeZone,
|
|
13
|
+
...local
|
|
14
|
+
} = shiftSchedule(schedule, -timezoneOffset);
|
|
15
|
+
return local;
|
|
16
|
+
}
|
|
17
|
+
function automationScheduleToUTC(
|
|
18
|
+
schedule,
|
|
19
|
+
timezoneOffset = ( new Date()).getTimezoneOffset()
|
|
20
|
+
) {
|
|
21
|
+
return schedule.timeZone === "UTC" ? schedule : {
|
|
22
|
+
...shiftSchedule(schedule, timezoneOffset),
|
|
23
|
+
timeZone: "UTC"
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function shiftSchedule(schedule, minutes) {
|
|
27
|
+
if (schedule.interval !== "daily" && schedule.interval !== "weekly") {
|
|
28
|
+
return schedule;
|
|
29
|
+
}
|
|
30
|
+
const shifted = schedule.scheduleHour * 60 + schedule.scheduleMinute + minutes;
|
|
31
|
+
const minuteOfDay = ((shifted % 1440) + 1440) % 1440;
|
|
32
|
+
return {
|
|
33
|
+
...schedule,
|
|
34
|
+
scheduleHour: Math.floor(minuteOfDay / 60),
|
|
35
|
+
scheduleMinute: minuteOfDay % 60,
|
|
36
|
+
scheduleDay: schedule.interval === "weekly" ? ((schedule.scheduleDay + Math.floor(shifted / 1440)) % 7 + 7) % 7 : schedule.scheduleDay
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const DAYS_OF_WEEK = [( localize(14828, "Sunday")), ( localize(14829, "Monday")), ( localize(14830, "Tuesday")), ( localize(14831, "Wednesday")), ( localize(14832, "Thursday")), ( localize(14833, "Friday")), ( localize(14834, "Saturday"))];
|
|
40
|
+
|
|
41
|
+
export { DAYS_OF_WEEK, automationScheduleToLocal, automationScheduleToUTC };
|