@codingame/monaco-vscode-workbench-service-override 37.1.0 → 37.3.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.d.ts +3 -0
- package/common.js +29 -0
- package/index.d.ts +1 -1
- package/index.js +25 -32
- package/package.json +18 -8
- package/session.d.ts +4 -0
- package/session.js +260 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.d.ts +24 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.js +71 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.d.ts +7 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.js +7 -0
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +50 -0
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +120 -0
- package/vscode/src/vs/sessions/browser/media/sessions-logo-dark.svg +6 -0
- package/vscode/src/vs/sessions/browser/media/sessions-logo-light.svg +6 -0
- package/vscode/src/vs/sessions/browser/media/sessionsSetUp.css +72 -0
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +116 -0
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +566 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +43 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +308 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +108 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +324 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +136 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +771 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridPart.d.ts +43 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +113 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridParts.d.ts +17 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridParts.js +31 -0
- package/vscode/src/vs/sessions/browser/parts/customViewNode.d.ts +24 -0
- package/vscode/src/vs/sessions/browser/parts/customViewNode.js +131 -0
- package/vscode/src/vs/sessions/browser/parts/editorPart.d.ts +11 -0
- package/vscode/src/vs/sessions/browser/parts/editorPart.js +36 -0
- package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +12 -0
- package/vscode/src/vs/sessions/browser/parts/editorParts.js +45 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +559 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatGroupDropTarget.css +27 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +60 -0
- package/vscode/src/vs/sessions/browser/parts/media/customViewGridPart.css +108 -0
- package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +210 -0
- package/vscode/src/vs/sessions/browser/parts/media/remoteHostUnavailableEmptyState.css +81 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionDropTarget.css +31 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +87 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +107 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +134 -0
- package/vscode/src/vs/sessions/browser/parts/menubar.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +79 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.d.ts +13 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.js +33 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.d.ts +14 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +34 -0
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +39 -0
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +136 -0
- package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.d.ts +9 -0
- package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +62 -0
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +39 -0
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +261 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +97 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +345 -0
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +43 -0
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +69 -0
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +79 -0
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +363 -0
- package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +125 -0
- package/vscode/src/vs/sessions/browser/parts/sessionView.js +300 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +124 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +336 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +33 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +62 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.d.ts +13 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +36 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.d.ts +65 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.js +178 -0
- package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +12 -0
- package/vscode/src/vs/sessions/browser/sessionWorkspace.js +19 -0
- package/vscode/src/vs/sessions/browser/sessionsSetUpService.d.ts +24 -0
- package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +598 -0
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +25 -0
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +91 -0
- package/vscode/src/vs/sessions/common/welcome.d.ts +1 -0
- package/vscode/src/vs/sessions/common/welcome.js +5 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +11 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +1052 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +23 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +168 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +646 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountWidget.css +231 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/chatPetAchievementBadges.css +120 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +99 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +270 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.d.ts +62 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +606 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/media/aiCustomizationTreeView.css +116 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +97 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.d.ts +72 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +776 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.d.ts +68 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.js +153 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.d.ts +58 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.js +172 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/media/aquarium.css +316 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.js +5 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +173 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1589 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +32 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +396 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.d.ts +33 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.js +216 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +37 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +126 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +294 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +59 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +232 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +13 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +22 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +60 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +1256 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +88 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +746 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +62 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +493 -0
- package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.d.ts +38 -0
- package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.js +123 -0
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +45 -0
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +110 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.js +5 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.d.ts +31 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.js +137 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +130 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +8 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +385 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.d.ts +28 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +76 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +509 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +58 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +11 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.d.ts +24 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +188 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +100 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.d.ts +9 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.js +18 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/media/sessionChatInputToolbarDebug.css +59 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.d.ts +47 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +306 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +41 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +31 -0
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +84 -0
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +111 -0
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/media/customViewTest.css +9 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +170 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +14 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +425 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +35 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.d.ts +18 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +85 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.d.ts +31 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +125 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +66 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +113 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/media/emptyFileEditor.css +30 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.js +25 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +66 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +274 -0
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +100 -0
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +76 -0
- package/vscode/src/vs/sessions/contrib/files/browser/media/filesView.css +29 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +211 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +587 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +112 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +444 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.d.ts +13 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.js +8 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +68 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.d.ts +32 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.js +81 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.d.ts +111 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.js +513 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.d.ts +44 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.js +423 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.d.ts +62 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +435 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.d.ts +46 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.js +11 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.d.ts +11 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +43 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.js +77 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +55 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +91 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.d.ts +11 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.js +39 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +109 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +123 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +24 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +67 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +47 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.d.ts +79 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +1277 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.js +75 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.d.ts +34 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +53 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.d.ts +40 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +69 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +4 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +38 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +63 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +49 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +125 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +20 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +98 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +218 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +496 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +27 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +26 -0
- package/vscode/src/vs/sessions/contrib/search/browser/media/searchEditorEmptyState.css +15 -0
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +79 -0
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.d.ts +7 -0
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +57 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.js +155 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +117 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +320 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.d.ts +65 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +129 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +624 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/blockedSessionsList.css +111 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/newSessionActionViewItem.css +112 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +159 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.d.ts +26 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.js +26 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +77 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +162 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +111 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +1550 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.d.ts +13 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.js +69 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.d.ts +10 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.js +33 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +126 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +724 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +150 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +526 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.d.ts +64 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.js +99 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +37 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +160 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.d.ts +19 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +74 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +4 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +228 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +2143 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +12 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +1270 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.js +5 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +28 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +95 -0
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +79 -0
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +259 -0
- package/vscode/src/vs/sessions/services/customView/browser/customView.d.ts +42 -0
- package/vscode/src/vs/sessions/services/customView/browser/customView.js +15 -0
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +21 -0
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +68 -0
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +72 -0
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +115 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +77 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +330 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +67 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +157 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.d.ts +32 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.js +162 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.d.ts +40 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.js +170 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.d.ts +63 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +419 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +229 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +1212 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.d.ts +22 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.js +42 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +43 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +103 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +243 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +1121 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.d.ts +8 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.js +24 -0
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +321 -0
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +729 -0
- package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.d.ts +23 -0
- package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.js +23 -0
- package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.d.ts +32 -0
- package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +103 -0
- package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.d.ts +16 -0
- package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +41 -0
- package/vscode/src/vs/workbench/browser/layout.js +7 -7
- package/vscode/src/vs/workbench/browser/workbench.js +3 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
2
|
+
import { ISessionsWindowUsageService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsWindowUsageService.service";
|
|
3
|
+
export declare class SessionsWindowUsageService implements ISessionsWindowUsageService {
|
|
4
|
+
readonly _serviceBrand: undefined;
|
|
5
|
+
readonly hadPriorWindowOpen: boolean;
|
|
6
|
+
readonly windowOpenCount: number;
|
|
7
|
+
constructor(storageService: IStorageService);
|
|
8
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
4
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
5
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
|
+
|
|
8
|
+
const AGENTS_WINDOW_OPEN_COUNT_KEY = "agentSessions.telemetry.summary.appLaunchCount";
|
|
9
|
+
let SessionsWindowUsageService = class SessionsWindowUsageService {
|
|
10
|
+
constructor(storageService) {
|
|
11
|
+
const previousWindowOpenCount = storageService.getNumber(AGENTS_WINDOW_OPEN_COUNT_KEY, StorageScope.APPLICATION, 0);
|
|
12
|
+
this.hadPriorWindowOpen = previousWindowOpenCount > 0;
|
|
13
|
+
this.windowOpenCount = previousWindowOpenCount + 1;
|
|
14
|
+
storageService.store(
|
|
15
|
+
AGENTS_WINDOW_OPEN_COUNT_KEY,
|
|
16
|
+
this.windowOpenCount,
|
|
17
|
+
StorageScope.APPLICATION,
|
|
18
|
+
StorageTarget.MACHINE
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
SessionsWindowUsageService = ( __decorate([( __param(0, IStorageService))], SessionsWindowUsageService));
|
|
23
|
+
|
|
24
|
+
export { SessionsWindowUsageService };
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
|
+
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
5
|
+
import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
|
|
6
|
+
import { IChat, ISession, SessionStatus } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
7
|
+
/**
|
|
8
|
+
* Wraps an {@link ISession} with an active chat observable to form an
|
|
9
|
+
* {@link IActiveSession}. Delegates all {@link ISession} property accesses
|
|
10
|
+
* to the wrapped session so the active session always reflects the latest
|
|
11
|
+
* session state without a stale shallow copy.
|
|
12
|
+
*
|
|
13
|
+
* One instance exists per session currently in the visibility model
|
|
14
|
+
* (active, transient, or sticky). Each instance owns its own active-chat
|
|
15
|
+
* observable so visible-but-not-active sessions retain their per-session
|
|
16
|
+
* chat selection.
|
|
17
|
+
*/
|
|
18
|
+
export declare class VisibleSession extends Disposable implements IActiveSession {
|
|
19
|
+
private readonly _session;
|
|
20
|
+
private readonly _isCreated;
|
|
21
|
+
readonly isCreated: IObservable<boolean>;
|
|
22
|
+
private readonly _sticky;
|
|
23
|
+
readonly sticky: IObservable<boolean>;
|
|
24
|
+
private readonly _activeChat;
|
|
25
|
+
readonly activeChat: IObservable<IChat>;
|
|
26
|
+
/**
|
|
27
|
+
* Model and mode are scoped to the active chat so the Agents window pickers
|
|
28
|
+
* read and write the selection of the currently focused chat, not the
|
|
29
|
+
* session/default chat. Sessions with multiple peer chats keep an
|
|
30
|
+
* independent model/agent per chat.
|
|
31
|
+
*/
|
|
32
|
+
private readonly _activeChatModelId;
|
|
33
|
+
private readonly _activeChatMode;
|
|
34
|
+
/** Resource strings of chats that have been closed (hidden from the tab strip). */
|
|
35
|
+
private readonly _closedChatUris;
|
|
36
|
+
/**
|
|
37
|
+
* Resource strings of subagent (tool-origin) chats the user explicitly opened,
|
|
38
|
+
* so they surface as tabs. Subagents are hidden from the tab strip by default.
|
|
39
|
+
*/
|
|
40
|
+
private readonly _shownRelatedChatUris;
|
|
41
|
+
/** Append-only list tracking close order; last element is the most recently closed. */
|
|
42
|
+
private readonly _closedChatOrder;
|
|
43
|
+
readonly openChats: IObservable<readonly IChat[]>;
|
|
44
|
+
readonly closedChats: IObservable<readonly IChat[]>;
|
|
45
|
+
readonly visibleChatTabs: IObservable<readonly IChat[]>;
|
|
46
|
+
readonly shouldShowChatTabs: IObservable<boolean>;
|
|
47
|
+
constructor(_session: ISession, initialChat: IChat, initialClosedChatUris?: Iterable<string>, initialShownRelatedChatUris?: Iterable<string>);
|
|
48
|
+
setActiveChat(chat: IChat): void;
|
|
49
|
+
closeChat(chat: IChat): void;
|
|
50
|
+
openChat(chat: IChat): void;
|
|
51
|
+
/**
|
|
52
|
+
* Pick the active chat to fall back to when the current one is closed: the
|
|
53
|
+
* last chat that would appear as a visible tab given the closed and shown-
|
|
54
|
+
* subagent sets, or the main chat.
|
|
55
|
+
*/
|
|
56
|
+
private _defaultActiveChat;
|
|
57
|
+
get lastClosedChat(): IChat | undefined;
|
|
58
|
+
setSticky(value: boolean): void;
|
|
59
|
+
/** Register a disposable that lives as long as this wrapper. */
|
|
60
|
+
addDisposable(disposable: IDisposable): IDisposable;
|
|
61
|
+
get sessionId(): string;
|
|
62
|
+
get resource(): URI;
|
|
63
|
+
get providerId(): string;
|
|
64
|
+
get sessionType(): string;
|
|
65
|
+
get icon(): import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
66
|
+
get createdAt(): Date;
|
|
67
|
+
get workspace(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionWorkspace | undefined>;
|
|
68
|
+
get hasGitRepository(): IObservable<boolean> | undefined;
|
|
69
|
+
get worktreePending(): IObservable<boolean> | undefined;
|
|
70
|
+
get isQuickChat(): IObservable<boolean> | undefined;
|
|
71
|
+
get isAutomation(): IObservable<boolean> | undefined;
|
|
72
|
+
get isExternal(): IObservable<boolean> | undefined;
|
|
73
|
+
get remoteConnectionStatus(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").SessionRemoteConnectionStatus> | undefined;
|
|
74
|
+
get createdBySession(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionCreationReference | undefined> | undefined;
|
|
75
|
+
get title(): IObservable<string>;
|
|
76
|
+
get updatedAt(): IObservable<Date>;
|
|
77
|
+
get status(): IObservable<SessionStatus>;
|
|
78
|
+
get completedStateIcon(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon | undefined> | undefined;
|
|
79
|
+
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
|
+
get artifacts(): IObservable<readonly import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionArtifact[]> | undefined;
|
|
83
|
+
get modelId(): IObservable<string | undefined>;
|
|
84
|
+
get mode(): IObservable<{
|
|
85
|
+
readonly id: string;
|
|
86
|
+
readonly kind: string;
|
|
87
|
+
} | undefined>;
|
|
88
|
+
get loading(): IObservable<boolean>;
|
|
89
|
+
get isNewSessionRequestInProgress(): IObservable<boolean> | undefined;
|
|
90
|
+
get isArchived(): IObservable<boolean>;
|
|
91
|
+
get isRead(): IObservable<boolean>;
|
|
92
|
+
get description(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent").IMarkdownString | undefined>;
|
|
93
|
+
get lastTurnEnd(): IObservable<Date | undefined>;
|
|
94
|
+
get chats(): IObservable<readonly IChat[]>;
|
|
95
|
+
get mainChat(): IObservable<IChat>;
|
|
96
|
+
get capabilities(): IObservable<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session").ISessionCapabilities>;
|
|
97
|
+
/** The wrapped session, which outlives this wrapper. */
|
|
98
|
+
get session(): ISession;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Encapsulates the visibility model used by the
|
|
102
|
+
* {@link SessionsManagementService}.
|
|
103
|
+
*
|
|
104
|
+
* The model tracks:
|
|
105
|
+
* - The currently active session.
|
|
106
|
+
* - An ordered list of slots to display in the sessions part's grid. A slot
|
|
107
|
+
* is either a session id (string) or `undefined` (the "empty" / new-session
|
|
108
|
+
* placeholder). At most one slot may be `undefined` at a time.
|
|
109
|
+
* - A "sticky" set: sessions the user has explicitly pinned. Non-sticky
|
|
110
|
+
* sessions also live in the grid but get replaced when new sessions open.
|
|
111
|
+
* The empty slot is always non-sticky.
|
|
112
|
+
*
|
|
113
|
+
* Each tracked session has a single {@link VisibleSession} wrapper owned by
|
|
114
|
+
* this class. Wrappers are disposed automatically when their session leaves
|
|
115
|
+
* the visibility model.
|
|
116
|
+
*/
|
|
117
|
+
export declare class VisibleSessions extends Disposable {
|
|
118
|
+
private readonly _resolveInitialChat;
|
|
119
|
+
private readonly _resolveInitialClosedChats;
|
|
120
|
+
private readonly _resolveInitialShownRelatedChats;
|
|
121
|
+
private readonly _onSlotReplaced;
|
|
122
|
+
private readonly _uriIdentityService;
|
|
123
|
+
private readonly _activeSession;
|
|
124
|
+
readonly activeSession: IObservable<IActiveSession | undefined>;
|
|
125
|
+
/**
|
|
126
|
+
* Whether the most recent active-session change asked to preserve keyboard
|
|
127
|
+
* focus (i.e. show the session without moving focus into it). Always set in
|
|
128
|
+
* the **same transaction** as {@link _activeSession} via
|
|
129
|
+
* {@link _setActiveSession} so the pair can never go stale, and read
|
|
130
|
+
* reactively by the consumer that drives focus.
|
|
131
|
+
*/
|
|
132
|
+
private readonly _activePreserveFocus;
|
|
133
|
+
readonly activePreserveFocus: IObservable<boolean>;
|
|
134
|
+
private readonly _visibleSessions;
|
|
135
|
+
readonly visibleSessions: IObservable<readonly (IActiveSession | undefined)[]>;
|
|
136
|
+
private readonly _wrappers;
|
|
137
|
+
/**
|
|
138
|
+
* Ordered slot ids in the grid (left-to-right). Each entry is either a
|
|
139
|
+
* session id or `undefined` (the empty slot). The invariant is that at
|
|
140
|
+
* most one entry is `undefined` at any time.
|
|
141
|
+
*/
|
|
142
|
+
private _visibleList;
|
|
143
|
+
/** Subset of {@link _visibleList} the user has marked sticky. */
|
|
144
|
+
private readonly _stickyIds;
|
|
145
|
+
/**
|
|
146
|
+
* Slot id of the most recently opened (or toggled-to-non-sticky) entry in
|
|
147
|
+
* the grid. Used to choose which non-sticky slot to replace when opening a
|
|
148
|
+
* new session while the active one is sticky.
|
|
149
|
+
* - `NO_RECENT` means none is tracked.
|
|
150
|
+
* - `undefined` refers to the empty slot.
|
|
151
|
+
* - A string refers to that session id.
|
|
152
|
+
*/
|
|
153
|
+
private _mostRecentNonStickySlot;
|
|
154
|
+
/**
|
|
155
|
+
* @param _onSlotReplaced Reports a session that left the grid because a
|
|
156
|
+
* newly opened slot took its place, with the slot state it lost. Explicit
|
|
157
|
+
* removals ({@link removeMany}) and grid restores are not reported.
|
|
158
|
+
*/
|
|
159
|
+
constructor(_resolveInitialChat: (session: ISession) => IChat, _resolveInitialClosedChats: (session: ISession) => Iterable<string>, _resolveInitialShownRelatedChats: (session: ISession) => Iterable<string>, _onSlotReplaced: (replaced: ISession, index: number, sticky: boolean, replacedBySessionId: string | undefined) => void, _uriIdentityService: IUriIdentityService);
|
|
160
|
+
/**
|
|
161
|
+
* Set the active session together with its preserve-focus intent in a
|
|
162
|
+
* single transaction. Routing every active-session change through here
|
|
163
|
+
* guarantees the two observables are always consistent and that the intent
|
|
164
|
+
* never goes stale (callers that do not preserve focus pass `false`).
|
|
165
|
+
*/
|
|
166
|
+
private _setActiveSession;
|
|
167
|
+
/**
|
|
168
|
+
* Set the active session, updating the visibility model accordingly.
|
|
169
|
+
*
|
|
170
|
+
* - Passing `undefined` places (or keeps) the single empty slot in the
|
|
171
|
+
* grid and makes it active. The empty slot is always non-sticky.
|
|
172
|
+
* - If the session is already in the grid, its slot is preserved and only
|
|
173
|
+
* the active observable is updated.
|
|
174
|
+
* - Otherwise the session is placed as non-sticky:
|
|
175
|
+
* - If the active slot is non-sticky, the new one replaces it in
|
|
176
|
+
* place.
|
|
177
|
+
* - Else if a non-sticky slot exists, the most-recently opened
|
|
178
|
+
* non-sticky is replaced.
|
|
179
|
+
* - Else the session is appended at the end of the grid.
|
|
180
|
+
*
|
|
181
|
+
* Returns the wrapper for the active session, or `undefined` when the
|
|
182
|
+
* active slot is the empty slot.
|
|
183
|
+
*/
|
|
184
|
+
setActive(session: ISession | undefined, preserveFocus?: boolean): VisibleSession | undefined;
|
|
185
|
+
/**
|
|
186
|
+
* Insert (or move) a slot into the grid positioned next to a target
|
|
187
|
+
* session that is already visible. Used by drag-and-drop and by
|
|
188
|
+
* "open at position" entry points.
|
|
189
|
+
*
|
|
190
|
+
* - If the slot is not yet visible, a new non-sticky entry is created
|
|
191
|
+
* at the computed position.
|
|
192
|
+
* - If the slot is already visible, it is moved to the computed
|
|
193
|
+
* position; its sticky / non-sticky state is preserved. This also
|
|
194
|
+
* moves the single empty slot when `session` is `undefined`.
|
|
195
|
+
*
|
|
196
|
+
* When `activate` is `true` (default), the inserted slot also becomes
|
|
197
|
+
* the active session. When `false`, the active session is left
|
|
198
|
+
* unchanged.
|
|
199
|
+
*
|
|
200
|
+
* `targetSessionId` may be `undefined` to position relative to the empty
|
|
201
|
+
* (new-session) slot. No-op if the target slot is not currently visible.
|
|
202
|
+
*/
|
|
203
|
+
insertAt(session: ISession | undefined, targetSessionId: string | undefined, side: "left" | "right", activate?: boolean): void;
|
|
204
|
+
/**
|
|
205
|
+
* Atomically (re)build the entire grid from a persisted snapshot.
|
|
206
|
+
*
|
|
207
|
+
* Slots are given left-to-right; a `session` of `undefined` denotes the
|
|
208
|
+
* empty new-session slot. The whole model — slot order, stickiness and the
|
|
209
|
+
* active slot — is published in a single transaction so restoring multiple
|
|
210
|
+
* sessions does not produce intermediate layouts (which would otherwise
|
|
211
|
+
* cause the grid to visibly flicker as sessions are restored one by one).
|
|
212
|
+
*
|
|
213
|
+
* Any wrappers for sessions no longer present in the snapshot are disposed.
|
|
214
|
+
*
|
|
215
|
+
* @param slots Ordered grid slots to restore.
|
|
216
|
+
* @param activeIndex Index into `slots` of the slot that should be active,
|
|
217
|
+
* or `-1` for none.
|
|
218
|
+
*/
|
|
219
|
+
restoreGrid(slots: ReadonlyArray<{
|
|
220
|
+
readonly session: ISession | undefined;
|
|
221
|
+
readonly sticky: boolean;
|
|
222
|
+
}>, activeIndex: number): void;
|
|
223
|
+
/**
|
|
224
|
+
* The grid slot state of a currently visible session (or of the empty slot
|
|
225
|
+
* when `sessionId` is `undefined`), or `undefined` when it is not visible.
|
|
226
|
+
*/
|
|
227
|
+
getSlot(sessionId: string | undefined): {
|
|
228
|
+
readonly index: number;
|
|
229
|
+
readonly sticky: boolean;
|
|
230
|
+
} | undefined;
|
|
231
|
+
/** The session behind a visible slot, or `undefined` for the empty slot / an unknown id. */
|
|
232
|
+
getSession(sessionId: string | undefined): ISession | undefined;
|
|
233
|
+
/**
|
|
234
|
+
* Put a session (back) into the grid at `index`, shifting the slots at and
|
|
235
|
+
* after it to the right, and make it active. The index is clamped to the
|
|
236
|
+
* current grid size, so a stale index appends instead of failing. No-op
|
|
237
|
+
* when the session is already visible.
|
|
238
|
+
*/
|
|
239
|
+
insertAtIndex(session: ISession, index: number, sticky: boolean): VisibleSession | undefined;
|
|
240
|
+
/**
|
|
241
|
+
* Replace the slot currently held by `slotId` (`undefined` for the empty
|
|
242
|
+
* slot) with `session`, and make it active. Used to undo a grid
|
|
243
|
+
* replacement, so the restored session lands exactly where it was and the
|
|
244
|
+
* session that took its place leaves the grid. No-op when the slot is not
|
|
245
|
+
* visible or the session is already visible elsewhere.
|
|
246
|
+
*/
|
|
247
|
+
replaceSlot(slotId: string | undefined, session: ISession, sticky: boolean): VisibleSession | undefined;
|
|
248
|
+
/**
|
|
249
|
+
* Toggle a session's stickiness in the grid. The session keeps its grid
|
|
250
|
+
* slot when toggled.
|
|
251
|
+
* - If the session is not currently visible, it is appended at the end as
|
|
252
|
+
* sticky.
|
|
253
|
+
*
|
|
254
|
+
* Returns the session's stickiness state after the toggle.
|
|
255
|
+
*/
|
|
256
|
+
toggleStickiness(session: ISession): boolean;
|
|
257
|
+
/**
|
|
258
|
+
* Remove the given session ids from the visibility model and dispose their
|
|
259
|
+
* wrappers. Passing `undefined` removes the empty (new-session) slot if
|
|
260
|
+
* present. If the active slot is among the removed entries, the active
|
|
261
|
+
* observable falls back to the slot at the active's original position
|
|
262
|
+
* (or the slot to its left if it was at the end of the grid); when no
|
|
263
|
+
* visible slot remains, the active observable is cleared. Observables
|
|
264
|
+
* are refreshed once if anything changed.
|
|
265
|
+
*/
|
|
266
|
+
removeMany(sessionIds: Iterable<string | undefined>): void;
|
|
267
|
+
/**
|
|
268
|
+
* Set the active chat for the given session's wrapper. No-op if the
|
|
269
|
+
* session is not currently tracked in the visibility model.
|
|
270
|
+
*/
|
|
271
|
+
setActiveChat(session: ISession, chat: IChat): void;
|
|
272
|
+
/**
|
|
273
|
+
* Close (hide from the tab strip) the given chat in the session's wrapper.
|
|
274
|
+
* No-op if the session is not currently tracked in the visibility model.
|
|
275
|
+
*/
|
|
276
|
+
closeChat(session: ISession, chat: IChat): void;
|
|
277
|
+
/**
|
|
278
|
+
* Open (un-hide from the tab strip) a previously closed chat in the session's
|
|
279
|
+
* wrapper. No-op if the session is not currently tracked in the visibility model.
|
|
280
|
+
*/
|
|
281
|
+
openChat(session: ISession, chat: IChat): void;
|
|
282
|
+
/**
|
|
283
|
+
* Replace the given session in the visibility model with `updatedSession`,
|
|
284
|
+
* preserving the grid slot, sticky state, and active state. The wrapper
|
|
285
|
+
* for the old session is disposed; a fresh wrapper is created for the
|
|
286
|
+
* updated session. No-op if `session` is not currently in the grid.
|
|
287
|
+
*/
|
|
288
|
+
updateSession(session: ISession, updatedSession: ISession): void;
|
|
289
|
+
/**
|
|
290
|
+
* Create a transient {@link ISession} that mirrors the given session but
|
|
291
|
+
* exposes a different {@link ISession.resource}. The visibility model's
|
|
292
|
+
* wrapper for the same session id is rebuilt against this transient
|
|
293
|
+
* session so consumers observe the new resource. Returns the transient
|
|
294
|
+
* session so callers can pass it to a subsequent {@link updateSession}
|
|
295
|
+
* once the provider produces the final session.
|
|
296
|
+
*
|
|
297
|
+
* No-op (but still returns the transient session) if the session is not
|
|
298
|
+
* currently in the grid.
|
|
299
|
+
*/
|
|
300
|
+
updateResourceOfSession(session: ISession, resource: URI): ISession;
|
|
301
|
+
/**
|
|
302
|
+
* Rename a session id in the visibility model so the same grid slot is
|
|
303
|
+
* reused for the replacement. The old wrapper is disposed; a fresh one is
|
|
304
|
+
* created lazily on next access. Does not auto-refresh — callers should
|
|
305
|
+
* call {@link refresh} or {@link setActive} as appropriate.
|
|
306
|
+
*/
|
|
307
|
+
replaceId(fromId: string, toId: string): void;
|
|
308
|
+
/** Re-publish the visible sessions and sticky ids observables. */
|
|
309
|
+
refresh(): void;
|
|
310
|
+
private _findLastNonSticky;
|
|
311
|
+
/** True if the given slot id refers to a sticky session. The empty slot is never sticky. */
|
|
312
|
+
private _isStickySlot;
|
|
313
|
+
/**
|
|
314
|
+
* Returns the slot id of the currently active entry in the grid, or
|
|
315
|
+
* {@link NO_RECENT} if no entry in the grid is active.
|
|
316
|
+
*/
|
|
317
|
+
private _currentActiveSlot;
|
|
318
|
+
private _removeFromModel;
|
|
319
|
+
private _refresh;
|
|
320
|
+
private _getOrCreateVisibleSession;
|
|
321
|
+
}
|