@codingame/monaco-vscode-workbench-service-override 37.2.0 → 37.3.1
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,419 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
4
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
5
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import { themeColorFromId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
7
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
8
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
9
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
10
|
+
import { SessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
11
|
+
import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
|
|
12
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
13
|
+
|
|
14
|
+
var SessionsListModelService_1;
|
|
15
|
+
var SessionListModelChangeKind;
|
|
16
|
+
(function(SessionListModelChangeKind) {
|
|
17
|
+
SessionListModelChangeKind["Pinned"] = "pinned";
|
|
18
|
+
SessionListModelChangeKind["Sort"] = "sort";
|
|
19
|
+
})(SessionListModelChangeKind || (SessionListModelChangeKind = {}));
|
|
20
|
+
let SessionsListModelService = class SessionsListModelService extends Disposable {
|
|
21
|
+
static {
|
|
22
|
+
SessionsListModelService_1 = this;
|
|
23
|
+
}
|
|
24
|
+
static {
|
|
25
|
+
this.PINNED_SESSIONS_KEY = "sessionsListControl.pinnedSessions";
|
|
26
|
+
}
|
|
27
|
+
static {
|
|
28
|
+
this.SORT_OVERRIDES_KEY = "sessionsListControl.sortOverrides";
|
|
29
|
+
}
|
|
30
|
+
static {
|
|
31
|
+
this.UPDATED_DEFAULT_PLACEMENTS_KEY = "sessionsListControl.updatedDefaultPlacements";
|
|
32
|
+
}
|
|
33
|
+
static {
|
|
34
|
+
this.LEGACY_READ_SESSIONS_KEY = "sessionsListControl.readSessions";
|
|
35
|
+
}
|
|
36
|
+
static {
|
|
37
|
+
this.READ_MIGRATION_DONE_KEY = "sessionsListControl.readMigrationDone";
|
|
38
|
+
}
|
|
39
|
+
static {
|
|
40
|
+
this.UNREAD_DEFAULT_CUTOFF = ( new Date("2026-05-12T00:00:00.000Z"));
|
|
41
|
+
}
|
|
42
|
+
constructor(storageService, sessionsManagementService) {
|
|
43
|
+
super();
|
|
44
|
+
this.storageService = storageService;
|
|
45
|
+
this.sessionsManagementService = sessionsManagementService;
|
|
46
|
+
this._onDidChange = this._register(( new Emitter()));
|
|
47
|
+
this.onDidChange = this._onDidChange.event;
|
|
48
|
+
this._pinnedSessionIds = this.loadSet(SessionsListModelService_1.PINNED_SESSIONS_KEY);
|
|
49
|
+
this._sortOverrides = this.loadSortOverrides();
|
|
50
|
+
this._updatedDefaultPlacements = this.loadUpdatedDefaultPlacements();
|
|
51
|
+
const legacyRead = this.loadSet(SessionsListModelService_1.LEGACY_READ_SESSIONS_KEY);
|
|
52
|
+
this._legacyReadSessionIds = legacyRead.size > 0 ? legacyRead : undefined;
|
|
53
|
+
this._migratedReadSessionIds = this.loadSet(SessionsListModelService_1.READ_MIGRATION_DONE_KEY);
|
|
54
|
+
this._register(this.sessionsManagementService.onDidChangeSessions(
|
|
55
|
+
() => this.updateDefaultPlacement(this.sessionsManagementService.getSessions())
|
|
56
|
+
));
|
|
57
|
+
this.updateDefaultPlacement(this.sessionsManagementService.getSessions());
|
|
58
|
+
this._register(this.sessionsManagementService.onDidDeleteSession(session => {
|
|
59
|
+
this.deleteSession(session);
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
migrateLegacyReadState(session) {
|
|
63
|
+
const sessionId = session.sessionId;
|
|
64
|
+
if (( this._migratedReadSessionIds.has(sessionId))) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const wasRead = (this._legacyReadSessionIds?.has(sessionId) ?? false) || session.updatedAt.get() < SessionsListModelService_1.UNREAD_DEFAULT_CUTOFF;
|
|
68
|
+
if (!wasRead) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this.sessionsManagementService.markRead(session);
|
|
72
|
+
this._migratedReadSessionIds.add(sessionId);
|
|
73
|
+
this.saveSet(
|
|
74
|
+
SessionsListModelService_1.READ_MIGRATION_DONE_KEY,
|
|
75
|
+
this._migratedReadSessionIds
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
pinSession(session) {
|
|
79
|
+
if (( this._pinnedSessionIds.has(session.sessionId))) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this._pinnedSessionIds.add(session.sessionId);
|
|
83
|
+
this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
|
|
84
|
+
this._onDidChange.fire({
|
|
85
|
+
changes: [{
|
|
86
|
+
sessionId: session.sessionId,
|
|
87
|
+
kind: SessionListModelChangeKind.Pinned
|
|
88
|
+
}]
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
unpinSession(session) {
|
|
92
|
+
if (!( this._pinnedSessionIds.has(session.sessionId))) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
this._pinnedSessionIds.delete(session.sessionId);
|
|
96
|
+
this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
|
|
97
|
+
this._onDidChange.fire({
|
|
98
|
+
changes: [{
|
|
99
|
+
sessionId: session.sessionId,
|
|
100
|
+
kind: SessionListModelChangeKind.Pinned
|
|
101
|
+
}]
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
unpinSessions(sessions) {
|
|
105
|
+
const changed = [];
|
|
106
|
+
for (const session of sessions) {
|
|
107
|
+
if (this._pinnedSessionIds.delete(session.sessionId)) {
|
|
108
|
+
changed.push({
|
|
109
|
+
sessionId: session.sessionId,
|
|
110
|
+
kind: SessionListModelChangeKind.Pinned
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (changed.length > 0) {
|
|
115
|
+
this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
|
|
116
|
+
this._onDidChange.fire({
|
|
117
|
+
changes: changed
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
isSessionPinned(session) {
|
|
122
|
+
return ( this._pinnedSessionIds.has(session.sessionId));
|
|
123
|
+
}
|
|
124
|
+
updateDefaultPlacement(sessionsToCheck) {
|
|
125
|
+
const sessions = this.sessionsManagementService.getSessions();
|
|
126
|
+
const changedSessionIds = ( new Set());
|
|
127
|
+
let sortChanged = this.expireUpdatedDefaultPlacements(sessionsToCheck, changedSessionIds);
|
|
128
|
+
for (const mode of ["created", "updated"]) {
|
|
129
|
+
for (const session of sessionsToCheck) {
|
|
130
|
+
if (this.ensureCreatorAdjacentSortOverride(session, mode, sessions, ( new Set()), changedSessionIds)) {
|
|
131
|
+
sortChanged = true;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (sortChanged) {
|
|
136
|
+
this.saveSortOverrides();
|
|
137
|
+
this.saveUpdatedDefaultPlacements();
|
|
138
|
+
}
|
|
139
|
+
if (changedSessionIds.size > 0) {
|
|
140
|
+
this._onDidChange.fire({
|
|
141
|
+
changes: [...changedSessionIds].map(sessionId => ({
|
|
142
|
+
sessionId,
|
|
143
|
+
kind: SessionListModelChangeKind.Sort
|
|
144
|
+
}))
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
ensureCreatorAdjacentSortOverride(session, mode, sessions, visiting, changedSessionIds) {
|
|
149
|
+
if (( this._sortOverrides[mode].has(session.sessionId)) || (mode === "updated" && ( this._updatedDefaultPlacements.has(session.sessionId)))) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
const creatorResource = session.createdBySession?.get()?.session;
|
|
153
|
+
if (!creatorResource) {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
const creator = this.sessionsManagementService.getSession(creatorResource);
|
|
157
|
+
if (!creator || ( visiting.has(session.sessionId))) {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
visiting.add(session.sessionId);
|
|
161
|
+
this.ensureCreatorAdjacentSortOverride(creator, mode, sessions, visiting, changedSessionIds);
|
|
162
|
+
visiting.delete(session.sessionId);
|
|
163
|
+
if (creator.createdBySession?.get() && !( this._sortOverrides[mode].has(creator.sessionId))) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
const creatorKey = this.getSortKey(creator, mode);
|
|
167
|
+
const sorted = sessions.filter(candidate => candidate.sessionId !== session.sessionId).sort((a, b) => this.getSortKey(b, mode) - this.getSortKey(a, mode));
|
|
168
|
+
const creatorIndex = sorted.findIndex(candidate => candidate.sessionId === creator.sessionId);
|
|
169
|
+
if (creatorIndex < 0) {
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
const below = sorted[creatorIndex + 1];
|
|
173
|
+
const belowKey = below ? this.getSortKey(below, mode) : undefined;
|
|
174
|
+
const createdSessionKey = belowKey !== undefined && creatorKey > belowKey ? (creatorKey + belowKey) / 2 : creatorKey - 60_000;
|
|
175
|
+
this._sortOverrides[mode].set(session.sessionId, createdSessionKey);
|
|
176
|
+
if (mode === "updated") {
|
|
177
|
+
this._updatedDefaultPlacements.set(session.sessionId, this.getNaturalSortKey(session, mode));
|
|
178
|
+
}
|
|
179
|
+
changedSessionIds.add(session.sessionId);
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
expireUpdatedDefaultPlacements(sessionsToCheck, changedSessionIds) {
|
|
183
|
+
let changed = false;
|
|
184
|
+
for (const session of sessionsToCheck) {
|
|
185
|
+
const naturalKeyAtPlacement = this._updatedDefaultPlacements.get(session.sessionId);
|
|
186
|
+
if (naturalKeyAtPlacement === undefined || naturalKeyAtPlacement === null || naturalKeyAtPlacement === this.getNaturalSortKey(session, "updated")) {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
this._sortOverrides.updated.delete(session.sessionId);
|
|
190
|
+
this._updatedDefaultPlacements.set(session.sessionId, null);
|
|
191
|
+
changedSessionIds.add(session.sessionId);
|
|
192
|
+
changed = true;
|
|
193
|
+
}
|
|
194
|
+
return changed;
|
|
195
|
+
}
|
|
196
|
+
getNaturalSortKey(session, mode) {
|
|
197
|
+
return mode === "updated" ? session.updatedAt.get().getTime() : session.createdAt.getTime();
|
|
198
|
+
}
|
|
199
|
+
getSortKey(session, mode) {
|
|
200
|
+
const override = this._sortOverrides[mode].get(session.sessionId);
|
|
201
|
+
return override ?? this.getNaturalSortKey(session, mode);
|
|
202
|
+
}
|
|
203
|
+
hasSortOverride(sessionId, mode) {
|
|
204
|
+
return ( this._sortOverrides[mode].has(sessionId));
|
|
205
|
+
}
|
|
206
|
+
applySortChanges(mode, set, clear) {
|
|
207
|
+
const map = this._sortOverrides[mode];
|
|
208
|
+
const changes = [];
|
|
209
|
+
let updatedDefaultPlacementChanged = false;
|
|
210
|
+
for (const sessionId of clear) {
|
|
211
|
+
if (mode === "updated" && this._updatedDefaultPlacements.delete(sessionId)) {
|
|
212
|
+
updatedDefaultPlacementChanged = true;
|
|
213
|
+
}
|
|
214
|
+
const session = this.sessionsManagementService.getSessions().find(session => session.sessionId === sessionId);
|
|
215
|
+
if (session?.createdBySession?.get()) {
|
|
216
|
+
const naturalKey = this.getNaturalSortKey(session, mode);
|
|
217
|
+
if (map.get(sessionId) !== naturalKey) {
|
|
218
|
+
map.set(sessionId, naturalKey);
|
|
219
|
+
changes.push({
|
|
220
|
+
sessionId,
|
|
221
|
+
kind: SessionListModelChangeKind.Sort
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
} else if (map.delete(sessionId)) {
|
|
225
|
+
changes.push({
|
|
226
|
+
sessionId,
|
|
227
|
+
kind: SessionListModelChangeKind.Sort
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
for (const [sessionId, value] of set) {
|
|
232
|
+
if (mode === "updated" && this._updatedDefaultPlacements.delete(sessionId)) {
|
|
233
|
+
updatedDefaultPlacementChanged = true;
|
|
234
|
+
}
|
|
235
|
+
if (map.get(sessionId) !== value) {
|
|
236
|
+
map.set(sessionId, value);
|
|
237
|
+
changes.push({
|
|
238
|
+
sessionId,
|
|
239
|
+
kind: SessionListModelChangeKind.Sort
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
if (changes.length > 0) {
|
|
244
|
+
this.saveSortOverrides();
|
|
245
|
+
this._onDidChange.fire({
|
|
246
|
+
changes
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
if (updatedDefaultPlacementChanged) {
|
|
250
|
+
this.saveUpdatedDefaultPlacements();
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
getStatusIcon(status, isRead, isArchived, completedStateIcon) {
|
|
254
|
+
switch (status) {
|
|
255
|
+
case SessionStatus.InProgress:
|
|
256
|
+
return {
|
|
257
|
+
...Codicon.sessionInProgress,
|
|
258
|
+
color: themeColorFromId("textLink.foreground")
|
|
259
|
+
};
|
|
260
|
+
case SessionStatus.NeedsInput:
|
|
261
|
+
return {
|
|
262
|
+
...Codicon.circleFilled,
|
|
263
|
+
color: themeColorFromId("list.warningForeground")
|
|
264
|
+
};
|
|
265
|
+
case SessionStatus.Error:
|
|
266
|
+
return {
|
|
267
|
+
...Codicon.error,
|
|
268
|
+
color: themeColorFromId("errorForeground")
|
|
269
|
+
};
|
|
270
|
+
default:
|
|
271
|
+
if (isArchived) {
|
|
272
|
+
return {
|
|
273
|
+
...Codicon.passFilled,
|
|
274
|
+
color: themeColorFromId("agentSessionReadIndicator.foreground")
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
if (!isRead) {
|
|
278
|
+
return {
|
|
279
|
+
...Codicon.circleFilled,
|
|
280
|
+
color: themeColorFromId("textLink.foreground")
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
if (completedStateIcon) {
|
|
284
|
+
return completedStateIcon;
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
...Codicon.circleSmallFilled,
|
|
288
|
+
color: themeColorFromId("agentSessionReadIndicator.foreground")
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
deleteSession(session) {
|
|
293
|
+
const changes = [];
|
|
294
|
+
if (this._pinnedSessionIds.delete(session.sessionId)) {
|
|
295
|
+
this.saveSet(SessionsListModelService_1.PINNED_SESSIONS_KEY, this._pinnedSessionIds);
|
|
296
|
+
changes.push({
|
|
297
|
+
sessionId: session.sessionId,
|
|
298
|
+
kind: SessionListModelChangeKind.Pinned
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
let sortChanged = false;
|
|
302
|
+
if (this._sortOverrides.created.delete(session.sessionId)) {
|
|
303
|
+
sortChanged = true;
|
|
304
|
+
}
|
|
305
|
+
if (this._sortOverrides.updated.delete(session.sessionId)) {
|
|
306
|
+
sortChanged = true;
|
|
307
|
+
}
|
|
308
|
+
if (this._updatedDefaultPlacements.delete(session.sessionId)) {
|
|
309
|
+
this.saveUpdatedDefaultPlacements();
|
|
310
|
+
}
|
|
311
|
+
if (sortChanged) {
|
|
312
|
+
this.saveSortOverrides();
|
|
313
|
+
changes.push({
|
|
314
|
+
sessionId: session.sessionId,
|
|
315
|
+
kind: SessionListModelChangeKind.Sort
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
if (changes.length > 0) {
|
|
319
|
+
this._onDidChange.fire({
|
|
320
|
+
changes
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
loadSet(key) {
|
|
325
|
+
const raw = this.storageService.get(key, StorageScope.PROFILE);
|
|
326
|
+
if (raw) {
|
|
327
|
+
try {
|
|
328
|
+
const arr = JSON.parse(raw);
|
|
329
|
+
if (Array.isArray(arr)) {
|
|
330
|
+
return ( new Set(arr));
|
|
331
|
+
}
|
|
332
|
+
} catch {}
|
|
333
|
+
}
|
|
334
|
+
return ( new Set());
|
|
335
|
+
}
|
|
336
|
+
saveSet(key, set) {
|
|
337
|
+
if (set.size === 0) {
|
|
338
|
+
this.storageService.remove(key, StorageScope.PROFILE);
|
|
339
|
+
} else {
|
|
340
|
+
this.storageService.store(key, JSON.stringify([...set]), StorageScope.PROFILE, StorageTarget.USER);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
loadSortOverrides() {
|
|
344
|
+
const result = {
|
|
345
|
+
created: ( new Map()),
|
|
346
|
+
updated: ( new Map())
|
|
347
|
+
};
|
|
348
|
+
const raw = this.storageService.get(SessionsListModelService_1.SORT_OVERRIDES_KEY, StorageScope.PROFILE);
|
|
349
|
+
if (raw) {
|
|
350
|
+
try {
|
|
351
|
+
const parsed = JSON.parse(raw);
|
|
352
|
+
for (const mode of ["created", "updated"]) {
|
|
353
|
+
const entries = parsed[mode];
|
|
354
|
+
if (entries) {
|
|
355
|
+
for (const [sessionId, value] of Object.entries(entries)) {
|
|
356
|
+
if (typeof value === "number") {
|
|
357
|
+
result[mode].set(sessionId, value);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
} catch {}
|
|
363
|
+
}
|
|
364
|
+
return result;
|
|
365
|
+
}
|
|
366
|
+
saveSortOverrides() {
|
|
367
|
+
if (this._sortOverrides.created.size === 0 && this._sortOverrides.updated.size === 0) {
|
|
368
|
+
this.storageService.remove(SessionsListModelService_1.SORT_OVERRIDES_KEY, StorageScope.PROFILE);
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
const serialized = {
|
|
372
|
+
created: Object.fromEntries(this._sortOverrides.created),
|
|
373
|
+
updated: Object.fromEntries(this._sortOverrides.updated)
|
|
374
|
+
};
|
|
375
|
+
this.storageService.store(
|
|
376
|
+
SessionsListModelService_1.SORT_OVERRIDES_KEY,
|
|
377
|
+
JSON.stringify(serialized),
|
|
378
|
+
StorageScope.PROFILE,
|
|
379
|
+
StorageTarget.USER
|
|
380
|
+
);
|
|
381
|
+
}
|
|
382
|
+
loadUpdatedDefaultPlacements() {
|
|
383
|
+
const result = ( new Map());
|
|
384
|
+
const raw = this.storageService.get(
|
|
385
|
+
SessionsListModelService_1.UPDATED_DEFAULT_PLACEMENTS_KEY,
|
|
386
|
+
StorageScope.PROFILE
|
|
387
|
+
);
|
|
388
|
+
if (!raw) {
|
|
389
|
+
return result;
|
|
390
|
+
}
|
|
391
|
+
try {
|
|
392
|
+
const parsed = JSON.parse(raw);
|
|
393
|
+
for (const [sessionId, value] of Object.entries(parsed)) {
|
|
394
|
+
if (typeof value === "number" || value === null) {
|
|
395
|
+
result.set(sessionId, value);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
} catch {}
|
|
399
|
+
return result;
|
|
400
|
+
}
|
|
401
|
+
saveUpdatedDefaultPlacements() {
|
|
402
|
+
if (this._updatedDefaultPlacements.size === 0) {
|
|
403
|
+
this.storageService.remove(
|
|
404
|
+
SessionsListModelService_1.UPDATED_DEFAULT_PLACEMENTS_KEY,
|
|
405
|
+
StorageScope.PROFILE
|
|
406
|
+
);
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
this.storageService.store(
|
|
410
|
+
SessionsListModelService_1.UPDATED_DEFAULT_PLACEMENTS_KEY,
|
|
411
|
+
JSON.stringify(Object.fromEntries(this._updatedDefaultPlacements)),
|
|
412
|
+
StorageScope.PROFILE,
|
|
413
|
+
StorageTarget.USER
|
|
414
|
+
);
|
|
415
|
+
}
|
|
416
|
+
};
|
|
417
|
+
SessionsListModelService = SessionsListModelService_1 = ( __decorate([( __param(0, IStorageService)), ( __param(1, ISessionsManagementService))], SessionsListModelService));
|
|
418
|
+
|
|
419
|
+
export { SessionListModelChangeKind, SessionsListModelService };
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
3
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
5
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
6
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
7
|
+
import { IRemoteAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service";
|
|
8
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
9
|
+
import { IChatWidgetHistoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.service";
|
|
10
|
+
import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service";
|
|
11
|
+
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
12
|
+
import { ICreateNewChatInSessionOptions, ICreateNewSessionOptions, IProviderSessionType, ISendRequestOptions, ISendRequestSentEvent, ISessionsChangeEvent, NewSessionRequestOptions } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
|
|
13
|
+
import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service";
|
|
14
|
+
import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
|
|
15
|
+
import { IDeleteChatOptions, type SessionResourceResolveReason } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsProvider";
|
|
16
|
+
import { IChat, ISession, ISessionWorkspace, ISideChatSelection, ISessionType } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
17
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
18
|
+
import { IWorkspaceTrustManagementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service";
|
|
19
|
+
export declare class SessionsManagementService extends Disposable implements ISessionsManagementService {
|
|
20
|
+
private readonly logService;
|
|
21
|
+
private readonly sessionsProvidersService;
|
|
22
|
+
private readonly uriIdentityService;
|
|
23
|
+
private readonly chatService;
|
|
24
|
+
private readonly chatWidgetHistoryService;
|
|
25
|
+
private readonly storageService;
|
|
26
|
+
private readonly pathService;
|
|
27
|
+
private readonly remoteAgentHostService;
|
|
28
|
+
private readonly workspaceTrustManagementService;
|
|
29
|
+
readonly _serviceBrand: undefined;
|
|
30
|
+
private readonly _onDidChangeSessions;
|
|
31
|
+
readonly onDidChangeSessions: Event<ISessionsChangeEvent>;
|
|
32
|
+
private readonly _onDidStartSession;
|
|
33
|
+
readonly onDidStartSession: Event<ISession>;
|
|
34
|
+
private readonly _onWillSendRequest;
|
|
35
|
+
readonly onWillSendRequest: Event<ISession>;
|
|
36
|
+
private readonly _onDidSendRequest;
|
|
37
|
+
readonly onDidSendRequest: Event<ISendRequestSentEvent>;
|
|
38
|
+
private readonly _onDidArchiveSession;
|
|
39
|
+
readonly onDidArchiveSession: Event<ISession>;
|
|
40
|
+
private readonly _onDidUnarchiveSession;
|
|
41
|
+
readonly onDidUnarchiveSession: Event<ISession>;
|
|
42
|
+
private readonly _onDidDeleteSession;
|
|
43
|
+
readonly onDidDeleteSession: Event<ISession>;
|
|
44
|
+
private readonly _onDidDeleteChat;
|
|
45
|
+
readonly onDidDeleteChat: Event<ISession>;
|
|
46
|
+
private readonly _onDidRenameChat;
|
|
47
|
+
readonly onDidRenameChat: Event<ISession>;
|
|
48
|
+
private readonly _onDidRenameSession;
|
|
49
|
+
readonly onDidRenameSession: Event<ISession>;
|
|
50
|
+
private readonly _onDidChangeSessionTypes;
|
|
51
|
+
readonly onDidChangeSessionTypes: Event<void>;
|
|
52
|
+
private readonly _onDidReplaceSession;
|
|
53
|
+
readonly onDidReplaceSession: Event<{
|
|
54
|
+
readonly from: ISession;
|
|
55
|
+
readonly to: ISession;
|
|
56
|
+
}>;
|
|
57
|
+
private readonly _onDidDiscardNewSession;
|
|
58
|
+
readonly onDidDiscardNewSession: Event<ISession>;
|
|
59
|
+
private readonly _onDidReplaceNewDraftSession;
|
|
60
|
+
readonly onDidReplaceNewDraftSession: Event<{
|
|
61
|
+
readonly from: ISession;
|
|
62
|
+
readonly to: ISession;
|
|
63
|
+
}>;
|
|
64
|
+
private _sessionTypes;
|
|
65
|
+
/** Tracks the in-progress new session (composed but not yet sent). */
|
|
66
|
+
private readonly _newSession;
|
|
67
|
+
readonly newSession: IObservable<ISession | undefined>;
|
|
68
|
+
/** Tracks the Automation dialog's in-progress session draft. */
|
|
69
|
+
private readonly _automationSession;
|
|
70
|
+
readonly automationSession: IObservable<ISession | undefined>;
|
|
71
|
+
private readonly _providerListeners;
|
|
72
|
+
private readonly _disposeCts;
|
|
73
|
+
private readonly _unlistedNewSessions;
|
|
74
|
+
private readonly _inFlightNewSessionRequests;
|
|
75
|
+
/**
|
|
76
|
+
* Chat resources for which this service has just kicked off a
|
|
77
|
+
* `provider.sendRequest` and will emit `_onDidSendRequest` manually after
|
|
78
|
+
* the provider call resolves. Used to suppress the duplicate event that
|
|
79
|
+
* would otherwise arrive via {@link IChatService.onDidSubmitRequest},
|
|
80
|
+
* which fires synchronously inside the same provider call.
|
|
81
|
+
*/
|
|
82
|
+
private readonly _pendingSendChatResources;
|
|
83
|
+
constructor(logService: ILogService, sessionsProvidersService: ISessionsProvidersService, uriIdentityService: IUriIdentityService, chatService: IChatService, chatWidgetHistoryService: IChatWidgetHistoryService, storageService: IStorageService, pathService: IPathService, remoteAgentHostService: IRemoteAgentHostService, workspaceTrustManagementService: IWorkspaceTrustManagementService);
|
|
84
|
+
private _onProvidersChanged;
|
|
85
|
+
private _subscribeToProviders;
|
|
86
|
+
private _handleDidReplaceSession;
|
|
87
|
+
private onDidChangeSessionsFromSessionsProviders;
|
|
88
|
+
/**
|
|
89
|
+
* Resolves a session resource to the one that should actually be opened,
|
|
90
|
+
* giving providers a chance to supersede another provider's resource (legacy
|
|
91
|
+
* Copilot CLI adoption). Falls back to `resource` when no provider claims it,
|
|
92
|
+
* so an unresolvable session still opens the way it does today.
|
|
93
|
+
*/
|
|
94
|
+
resolveSessionResource(resource: URI, reason?: SessionResourceResolveReason): Promise<URI>;
|
|
95
|
+
getSessions(): ISession[];
|
|
96
|
+
getInFlightNewSessionRequests(): readonly ISession[];
|
|
97
|
+
private trackInFlightNewSessionRequest;
|
|
98
|
+
private _getMergedSessions;
|
|
99
|
+
/**
|
|
100
|
+
* A legacy Copilot CLI session migrated in place to the agent host is briefly
|
|
101
|
+
* listed by BOTH the extension-host provider (`copilotcli:/<id>`) and the
|
|
102
|
+
* agent-host provider (`agent-host-copilotcli:/<id>`) for the same underlying
|
|
103
|
+
* SDK session id — the workbench agent-session model caches the stale legacy
|
|
104
|
+
* entry even after the extension stops reporting it. Drop the legacy entry so
|
|
105
|
+
* exactly one row shows per session.
|
|
106
|
+
*
|
|
107
|
+
* A legacy row that has no twin yet stays visible: opening it redirects through
|
|
108
|
+
* {@link resolveSessionResource} and adopts it, so it is never a dead end.
|
|
109
|
+
*/
|
|
110
|
+
private _dedupeMigratedCopilotCliSessions;
|
|
111
|
+
getSession(resource: URI): ISession | undefined;
|
|
112
|
+
getSessionForChatResource(resource: URI): {
|
|
113
|
+
session: ISession;
|
|
114
|
+
chat: IChat;
|
|
115
|
+
} | undefined;
|
|
116
|
+
getAllSessionTypes(): ISessionType[];
|
|
117
|
+
getAllProviderSessionTypes(): IProviderSessionType[];
|
|
118
|
+
getSessionTypesForFolder(folderUri: URI): IProviderSessionType[];
|
|
119
|
+
getQuickChatSessionTypes(): IProviderSessionType[];
|
|
120
|
+
isNewSessionTargetAvailable(folderUri: URI, options?: ICreateNewSessionOptions): boolean;
|
|
121
|
+
isQuickChatTargetAvailable(options?: ICreateNewSessionOptions): boolean;
|
|
122
|
+
private _isTargetAvailable;
|
|
123
|
+
resolveWorkspace(folderUri: URI, preferredProviderId?: string): {
|
|
124
|
+
providerId: string;
|
|
125
|
+
workspace: ISessionWorkspace;
|
|
126
|
+
} | undefined;
|
|
127
|
+
private _collectSessionTypes;
|
|
128
|
+
private _updateSessionTypes;
|
|
129
|
+
discardNewSession(session?: ISession): void;
|
|
130
|
+
discardAutomationSession(session?: ISession): void;
|
|
131
|
+
/**
|
|
132
|
+
* Resolve the provider and session type to use for a new session in the
|
|
133
|
+
* given folder. Includes that provider's resolved workspace so headless
|
|
134
|
+
* callers can enforce provider-specific trust without resolving it again.
|
|
135
|
+
*/
|
|
136
|
+
private _resolveProviderForNewSession;
|
|
137
|
+
createNewSession(folderUri: URI, options?: ICreateNewSessionOptions): ISession;
|
|
138
|
+
createAutomationSession(folderUri: URI, options?: ICreateNewSessionOptions): ISession;
|
|
139
|
+
/**
|
|
140
|
+
* Resolve the provider and session type to use for a quick chat, keyed on
|
|
141
|
+
* {@link ISessionsProvider.supportsQuickChats} instead of `resolveWorkspace`.
|
|
142
|
+
* Honors an explicit `options.sessionTypeId` (validated against the chosen
|
|
143
|
+
* provider) and otherwise defaults to the last-used type, then the first
|
|
144
|
+
* advertised one. Throws when no capable provider/type can be resolved.
|
|
145
|
+
*/
|
|
146
|
+
private _resolveProviderForQuickChat;
|
|
147
|
+
/** Default quick-chat session type: the last-used one if still advertised, else the first. */
|
|
148
|
+
private _defaultQuickChatSessionType;
|
|
149
|
+
createQuickChat(options?: ICreateNewSessionOptions): ISession;
|
|
150
|
+
createAutomationQuickChat(options?: ICreateNewSessionOptions): ISession;
|
|
151
|
+
private _providerCreateSessionOptions;
|
|
152
|
+
getAutomationSessionConfiguration(session: ISession): Promise<import("@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsProvider").IAutomationSessionConfiguration | null | undefined>;
|
|
153
|
+
supportsAutomationSessionConfiguration(session: ISession): boolean;
|
|
154
|
+
usesCombinedNewSessionConfigPicker(session: ISession): boolean;
|
|
155
|
+
createNewChatInSession(session: ISession, options?: ICreateNewChatInSessionOptions): Promise<IChat | undefined>;
|
|
156
|
+
forkChatInSession(session: ISession, sourceChat: URI, turnId: string): Promise<IChat>;
|
|
157
|
+
createSideChatInSession(session: ISession, sourceChat: URI, turnId: string, selection?: ISideChatSelection): Promise<IChat>;
|
|
158
|
+
/**
|
|
159
|
+
* For a `/troubleshoot` request, strip any `#session` marker attachments and
|
|
160
|
+
* append a `Session log:` line with the resolved host-local `events.jsonl`
|
|
161
|
+
* path(s) — the referenced sessions if present, otherwise the current one.
|
|
162
|
+
* Returns `options` unchanged when there is nothing to do.
|
|
163
|
+
*/
|
|
164
|
+
private _augmentOptionsForTroubleshoot;
|
|
165
|
+
sendNewChatRequest(session: ISession, options: ISendRequestOptions): Promise<void>;
|
|
166
|
+
private _prepareNewSessionForSend;
|
|
167
|
+
/**
|
|
168
|
+
* Create a new session for the given folder and send a chat request to it,
|
|
169
|
+
* without navigating into the started session. The started session appears
|
|
170
|
+
* in the sessions list once the provider commits it, while the user's
|
|
171
|
+
* current view is left untouched. Returns the committed session,
|
|
172
|
+
* or `undefined` if the service was disposed during the send.
|
|
173
|
+
*
|
|
174
|
+
* Unlike {@link sendNewChatRequest} with `background`, this does not go
|
|
175
|
+
* through the new-session composer: it creates a fresh session purely for
|
|
176
|
+
* this request and never sets it as pending/active. Intended for callers
|
|
177
|
+
* outside the composer that want to kick off a session programmatically.
|
|
178
|
+
*
|
|
179
|
+
* If the send or any configuration setter fails, the stranded draft is
|
|
180
|
+
* disposed through its provider and the error is rethrown.
|
|
181
|
+
*/
|
|
182
|
+
createAndSendNewChatRequest(folderUri: URI, options: NewSessionRequestOptions, createOptions?: ICreateNewSessionOptions, token?: CancellationToken): Promise<ISession | undefined>;
|
|
183
|
+
createAndSendQuickChatRequest(options: ISendRequestOptions, createOptions?: ICreateNewSessionOptions, token?: CancellationToken): Promise<ISession | undefined>;
|
|
184
|
+
private _configureAndSendNewSession;
|
|
185
|
+
private _configureNewSession;
|
|
186
|
+
private _waitForRequestedModel;
|
|
187
|
+
dispose(): void;
|
|
188
|
+
private _prepareAndSendNewChatRequestInBackground;
|
|
189
|
+
/**
|
|
190
|
+
* Commit a new-session request: fire {@link _onWillSendRequest}, create the
|
|
191
|
+
* new chat via the provider, send the request, and—on success—fire
|
|
192
|
+
* {@link _onDidStartSession} and {@link _onDidSendRequest}. The started
|
|
193
|
+
* session is never swapped into the visible chat slot, so it simply appears
|
|
194
|
+
* in the sessions list once the provider commits it.
|
|
195
|
+
*
|
|
196
|
+
* Owns the full will/did send lifecycle so callers do not fire the paired
|
|
197
|
+
* events themselves. Errors are propagated to the caller; this method does
|
|
198
|
+
* not clean up the stranded draft, so callers own any view handling and the
|
|
199
|
+
* error handling (e.g. disposing the stranded draft via
|
|
200
|
+
* {@link ISessionsProvider.deleteNewSession}).
|
|
201
|
+
*
|
|
202
|
+
* Providers are multi-new-session aware, so the graduating session and a
|
|
203
|
+
* concurrently reseeded composer draft coexist without conflict.
|
|
204
|
+
*/
|
|
205
|
+
private _sendNewChatRequestInBackground;
|
|
206
|
+
sendRequest(session: ISession, chat: IChat, options: ISendRequestOptions): Promise<void>;
|
|
207
|
+
/**
|
|
208
|
+
* Send a request for an existing chat in the background: commit the send via
|
|
209
|
+
* the provider and—on success—fire {@link _onDidSendRequest}. Unlike the
|
|
210
|
+
* foreground {@link sendRequest} path this does not fire
|
|
211
|
+
* {@link _onWillSendRequest}, so the view's send-follow never navigates the
|
|
212
|
+
* visible slot into the sent chat. Errors are propagated to the caller.
|
|
213
|
+
*/
|
|
214
|
+
private _sendRequestInBackground;
|
|
215
|
+
private _getProvider;
|
|
216
|
+
cancelCurrentRequest(session: ISession): Promise<void>;
|
|
217
|
+
archiveSession(session: ISession): Promise<void>;
|
|
218
|
+
unarchiveSession(session: ISession): Promise<void>;
|
|
219
|
+
setSessionReadState(session: ISession, isRead: boolean): Promise<void>;
|
|
220
|
+
markRead(session: ISession): Promise<void>;
|
|
221
|
+
markUnread(session: ISession): Promise<void>;
|
|
222
|
+
markAllRead(sessions: readonly ISession[]): Promise<void>;
|
|
223
|
+
deleteSession(session: ISession): Promise<void>;
|
|
224
|
+
deleteSessions(sessions: readonly ISession[]): Promise<void>;
|
|
225
|
+
deleteChat(session: ISession, chatUri: URI, options?: IDeleteChatOptions): Promise<void>;
|
|
226
|
+
renameChat(session: ISession, chatUri: URI, title: string): Promise<void>;
|
|
227
|
+
renameSession(session: ISession, title: string): Promise<void>;
|
|
228
|
+
removeSessionArtifact(session: ISession, artifactId: string): Promise<void>;
|
|
229
|
+
}
|