@codingame/monaco-vscode-workbench-service-override 37.2.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,57 @@
|
|
|
1
|
+
|
|
2
|
+
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
|
+
import * as searchEditorEmptyState from './media/searchEditorEmptyState.css';
|
|
4
|
+
import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
7
|
+
import { registerEditorContribution, EditorContributionInstantiation } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
|
|
8
|
+
import { observableCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/observableCodeEditor';
|
|
9
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
10
|
+
import { SearchEditorScheme } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/searchEditor/browser/constants';
|
|
11
|
+
import { renderSessionsEmptyState } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/parts/sessionsEmptyState';
|
|
12
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
13
|
+
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
14
|
+
|
|
15
|
+
registerCss(searchEditorEmptyState, 1);
|
|
16
|
+
class SearchEditorEmptyStateContribution extends Disposable {
|
|
17
|
+
static {
|
|
18
|
+
this.ID = "sessions.searchEditor.emptyState";
|
|
19
|
+
}
|
|
20
|
+
constructor(editor) {
|
|
21
|
+
super();
|
|
22
|
+
const editorObservable = observableCodeEditor(editor);
|
|
23
|
+
this._register(autorun(reader => {
|
|
24
|
+
const model = editorObservable.model.read(reader);
|
|
25
|
+
if (model?.uri.scheme !== SearchEditorScheme) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
editorObservable.versionId.read(reader);
|
|
29
|
+
if (model.getValueLength() !== 0) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const container = $(".sessions-search-empty-state");
|
|
33
|
+
renderSessionsEmptyState(container, ( localize(4465, "Search")), ( localize(4466, "Search for text in your files")));
|
|
34
|
+
reader.store.add(editorObservable.createOverlayWidget({
|
|
35
|
+
domNode: container,
|
|
36
|
+
position: constObservable(null),
|
|
37
|
+
minContentWidthInPx: constObservable(0),
|
|
38
|
+
allowEditorOverflow: false
|
|
39
|
+
}));
|
|
40
|
+
reader.store.add(autorun(reader => {
|
|
41
|
+
const {
|
|
42
|
+
width,
|
|
43
|
+
height
|
|
44
|
+
} = editorObservable.layoutInfo.read(reader);
|
|
45
|
+
container.style.width = `${width}px`;
|
|
46
|
+
container.style.height = `${height}px`;
|
|
47
|
+
}));
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
registerEditorContribution(
|
|
52
|
+
SearchEditorEmptyStateContribution.ID,
|
|
53
|
+
SearchEditorEmptyStateContribution,
|
|
54
|
+
EditorContributionInstantiation.AfterFirstRender
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
export { SearchEditorEmptyStateContribution };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Disposable } 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 { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
4
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
5
|
+
import { ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
6
|
+
import { IGitHubService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/github/browser/githubService.service";
|
|
7
|
+
import { ISessionCIFixModel, ISessionCIFixState } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/views/sessionsList";
|
|
8
|
+
/**
|
|
9
|
+
* Backs the per-session "Fix CI" row shown in the blocked-sessions dropdown for
|
|
10
|
+
* sessions whose pull request has failing CI checks. Exposes a reactive summary
|
|
11
|
+
* of the failing/pending check counts and, on demand, submits the `fix-ci`
|
|
12
|
+
* prompt to the session's chat **in the background** — the session starts
|
|
13
|
+
* working without being opened or made visible.
|
|
14
|
+
*
|
|
15
|
+
* While a fix is being submitted the session is reported via
|
|
16
|
+
* {@link hiddenSessions} so the blocked-sessions list can drop it immediately;
|
|
17
|
+
* by the time the submit resolves the session is in progress and so is no longer
|
|
18
|
+
* blocked, keeping it out of the list without a flicker.
|
|
19
|
+
*/
|
|
20
|
+
export declare class BlockedSessionsCIFixModel extends Disposable implements ISessionCIFixModel {
|
|
21
|
+
private readonly _gitHubService;
|
|
22
|
+
private readonly _chatService;
|
|
23
|
+
private readonly _logService;
|
|
24
|
+
/** Cached CI-state observables, keyed by session, to keep references stable and GC-friendly. */
|
|
25
|
+
private readonly _states;
|
|
26
|
+
/**
|
|
27
|
+
* Session ids whose fix-CI submission is in flight. Doubles as the guard that
|
|
28
|
+
* stops repeated clicks submitting duplicate prompts, and as the set the
|
|
29
|
+
* blocked-sessions indicator hides while the background work runs.
|
|
30
|
+
*/
|
|
31
|
+
private readonly _hiddenSessions;
|
|
32
|
+
readonly hiddenSessions: IObservable<ReadonlySet<string>>;
|
|
33
|
+
constructor(_gitHubService: IGitHubService, _chatService: IChatService, _logService: ILogService);
|
|
34
|
+
getCIFix(session: ISession): IObservable<ISessionCIFixState | undefined>;
|
|
35
|
+
fixCI(session: ISession): void;
|
|
36
|
+
private _fixCI;
|
|
37
|
+
private _acquireCIModel;
|
|
38
|
+
private _setHidden;
|
|
39
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
4
|
+
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
6
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
7
|
+
import { ChatSendResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
8
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
9
|
+
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
10
|
+
import { getFailedChecks, buildFixCIPrompt } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/changes/browser/checksActions';
|
|
11
|
+
import { IGitHubService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/github/browser/githubService.service';
|
|
12
|
+
import { GitHubCheckStatus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/github/common/types';
|
|
13
|
+
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
14
|
+
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
15
|
+
|
|
16
|
+
let BlockedSessionsCIFixModel = class BlockedSessionsCIFixModel extends Disposable {
|
|
17
|
+
constructor(_gitHubService, _chatService, _logService) {
|
|
18
|
+
super();
|
|
19
|
+
this._gitHubService = _gitHubService;
|
|
20
|
+
this._chatService = _chatService;
|
|
21
|
+
this._logService = _logService;
|
|
22
|
+
this._states = ( new WeakMap());
|
|
23
|
+
this._hiddenSessions = observableValue(this, ( new Set()));
|
|
24
|
+
this.hiddenSessions = this._hiddenSessions;
|
|
25
|
+
}
|
|
26
|
+
getCIFix(session) {
|
|
27
|
+
let obs = this._states.get(session);
|
|
28
|
+
if (!obs) {
|
|
29
|
+
obs = derived(this, reader => {
|
|
30
|
+
const gitHubInfo = session.workspace.read(reader)?.folders[0]?.gitRepository?.gitHubInfo.read(reader);
|
|
31
|
+
if (!gitHubInfo?.pullRequest) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
const prRef = reader.delayedStore.add(
|
|
35
|
+
this._gitHubService.createPullRequestModelReference(gitHubInfo.owner, gitHubInfo.repo, gitHubInfo.pullRequest.number)
|
|
36
|
+
);
|
|
37
|
+
const livePR = prRef.object.pullRequest.read(reader);
|
|
38
|
+
if (!livePR) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const ciRef = reader.delayedStore.add(this._gitHubService.createPullRequestCIModelReference(
|
|
42
|
+
gitHubInfo.owner,
|
|
43
|
+
gitHubInfo.repo,
|
|
44
|
+
gitHubInfo.pullRequest.number,
|
|
45
|
+
livePR.headSha
|
|
46
|
+
));
|
|
47
|
+
const ciModel = ciRef.object;
|
|
48
|
+
if (ciModel.fixRequested.read(reader)) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
const checks = ciModel.checks.read(reader);
|
|
52
|
+
const failed = getFailedChecks(checks).length;
|
|
53
|
+
if (failed === 0) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const completed = checks.filter(check => check.status === GitHubCheckStatus.Completed).length;
|
|
57
|
+
const pending = checks.length - completed;
|
|
58
|
+
return {
|
|
59
|
+
failed,
|
|
60
|
+
pending
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
this._states.set(session, obs);
|
|
64
|
+
}
|
|
65
|
+
return obs;
|
|
66
|
+
}
|
|
67
|
+
fixCI(session) {
|
|
68
|
+
if (( this._hiddenSessions.get().has(session.sessionId))) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this._setHidden(session.sessionId, true);
|
|
72
|
+
this._fixCI(session).catch(
|
|
73
|
+
err => this._logService.error("[BlockedSessionsCIFixModel] Failed to fix CI checks", err)
|
|
74
|
+
).finally(() => this._setHidden(session.sessionId, false));
|
|
75
|
+
}
|
|
76
|
+
async _fixCI(session) {
|
|
77
|
+
const store = ( new DisposableStore());
|
|
78
|
+
try {
|
|
79
|
+
const ciModel = this._acquireCIModel(session, store);
|
|
80
|
+
if (!ciModel) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const prompt = await buildFixCIPrompt(ciModel);
|
|
84
|
+
if (!prompt) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const ref = await this._chatService.acquireOrLoadSession(
|
|
88
|
+
session.resource,
|
|
89
|
+
ChatAgentLocation.Chat,
|
|
90
|
+
CancellationToken.None,
|
|
91
|
+
"BlockedSessionsCIFix"
|
|
92
|
+
);
|
|
93
|
+
if (!ref) {
|
|
94
|
+
this._logService.error(
|
|
95
|
+
"[BlockedSessionsCIFixModel] Cannot fix CI checks: failed to load session",
|
|
96
|
+
( session.resource.toString())
|
|
97
|
+
);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
let result = await this._chatService.sendRequest(session.resource, prompt, {
|
|
102
|
+
agentIdSilent: session.resource.scheme
|
|
103
|
+
});
|
|
104
|
+
if (ChatSendResult.isQueued(result)) {
|
|
105
|
+
result = await result.deferred;
|
|
106
|
+
}
|
|
107
|
+
if (ChatSendResult.isSent(result)) {
|
|
108
|
+
ciModel.markFixRequested();
|
|
109
|
+
} else if (ChatSendResult.isRejected(result)) {
|
|
110
|
+
this._logService.error("[BlockedSessionsCIFixModel] Fix CI request rejected", result.reason);
|
|
111
|
+
}
|
|
112
|
+
} finally {
|
|
113
|
+
ref.dispose();
|
|
114
|
+
}
|
|
115
|
+
} finally {
|
|
116
|
+
store.dispose();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
_acquireCIModel(session, store) {
|
|
120
|
+
const gitHubInfo = session.workspace.get()?.folders[0]?.gitRepository?.gitHubInfo.get();
|
|
121
|
+
if (!gitHubInfo?.pullRequest) {
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
const prRef = store.add(
|
|
125
|
+
this._gitHubService.createPullRequestModelReference(gitHubInfo.owner, gitHubInfo.repo, gitHubInfo.pullRequest.number)
|
|
126
|
+
);
|
|
127
|
+
const livePR = prRef.object.pullRequest.get();
|
|
128
|
+
if (!livePR) {
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
const ciRef = store.add(this._gitHubService.createPullRequestCIModelReference(
|
|
132
|
+
gitHubInfo.owner,
|
|
133
|
+
gitHubInfo.repo,
|
|
134
|
+
gitHubInfo.pullRequest.number,
|
|
135
|
+
livePR.headSha
|
|
136
|
+
));
|
|
137
|
+
return ciRef.object;
|
|
138
|
+
}
|
|
139
|
+
_setHidden(sessionId, hidden) {
|
|
140
|
+
const current = this._hiddenSessions.get();
|
|
141
|
+
if (( current.has(sessionId)) === hidden) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const next = ( new Set(current));
|
|
145
|
+
if (hidden) {
|
|
146
|
+
next.add(sessionId);
|
|
147
|
+
} else {
|
|
148
|
+
next.delete(sessionId);
|
|
149
|
+
}
|
|
150
|
+
this._hiddenSessions.set(next, undefined);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
BlockedSessionsCIFixModel = ( __decorate([( __param(0, IGitHubService)), ( __param(1, IChatService)), ( __param(2, ILogService))], BlockedSessionsCIFixModel));
|
|
154
|
+
|
|
155
|
+
export { BlockedSessionsCIFixModel };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
4
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
5
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
6
|
+
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
7
|
+
import { AgentSessionApprovalModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel";
|
|
8
|
+
import { ISessionsService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service";
|
|
9
|
+
import { ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
10
|
+
import { BlockedSessions, IBlockedSession } from "../../blockedSessions/browser/blockedSessions.js";
|
|
11
|
+
import { BlockedSessionsCIFixModel } from "./blockedSessionsCIFixModel.js";
|
|
12
|
+
import { IApprovedSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/views/sessionsList";
|
|
13
|
+
/**
|
|
14
|
+
* The specific reason a homogeneous set of blocked sessions needs attention,
|
|
15
|
+
* used to render a more helpful requires-input message. `undefined` (a mix of
|
|
16
|
+
* reasons, or an indeterminate one) falls back to the generic message.
|
|
17
|
+
*/
|
|
18
|
+
export declare enum RequiresInputKind {
|
|
19
|
+
/** All sessions are waiting to run a terminal command. */
|
|
20
|
+
TerminalApproval = 0,
|
|
21
|
+
/** All sessions are asking the user a question. */
|
|
22
|
+
Question = 1,
|
|
23
|
+
/** All sessions have failing CI checks. */
|
|
24
|
+
FailingCI = 2
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Model behind the sessions title bar's "N sessions require input" indicator.
|
|
28
|
+
*
|
|
29
|
+
* It refines the raw {@link BlockedSessions} set into what the title bar should
|
|
30
|
+
* actually surface: visible and explicitly ignored occurrences are acknowledged,
|
|
31
|
+
* approvals are dismissed optimistically, and later occurrences surface again.
|
|
32
|
+
*
|
|
33
|
+
* Blink detection keys off blocked occurrences, so navigation can acknowledge a
|
|
34
|
+
* block but never creates one.
|
|
35
|
+
*
|
|
36
|
+
* The DOM rendering of the indicator lives in the title bar widget; this class is
|
|
37
|
+
* DOM-free so it can be unit tested in isolation. It is owned by the title bar
|
|
38
|
+
* *contribution* rather than the widget, because the command center rebuilds its
|
|
39
|
+
* action view items (and so the widget) whenever its context keys change — e.g.
|
|
40
|
+
* when the new-session view opens — and acknowledgements must survive that.
|
|
41
|
+
*/
|
|
42
|
+
export declare class BlockedSessionsIndicatorModel extends Disposable {
|
|
43
|
+
private readonly _sessionsService;
|
|
44
|
+
private readonly _logService;
|
|
45
|
+
/** Computes the raw set of blocked sessions (needs input / failing CI). */
|
|
46
|
+
private readonly _blockedSessionsModel;
|
|
47
|
+
/** Tracks pending tool approvals per chat; distinguishes terminal vs question. */
|
|
48
|
+
private readonly _approvalModel;
|
|
49
|
+
/** The approval model, shared with the dropdown list so both agree on each session's pending action. */
|
|
50
|
+
get approvalModel(): AgentSessionApprovalModel;
|
|
51
|
+
/** Drives the per-session "Fix CI" row; shared with the dropdown list. */
|
|
52
|
+
private readonly _ciFixModel;
|
|
53
|
+
/** The CI-fix model, shared with the dropdown list so the fix action and the hide-while-fixing agree. */
|
|
54
|
+
get ciFixModel(): BlockedSessionsCIFixModel;
|
|
55
|
+
/** Current blocked occurrences the user has already acknowledged, keyed by session id. */
|
|
56
|
+
private readonly _ignoredBlockOccurrences;
|
|
57
|
+
/**
|
|
58
|
+
* Blocked sessions that are not visible, ignored, being fixed, or already approved.
|
|
59
|
+
* Visible blocked occurrences stay acknowledged after the user navigates away.
|
|
60
|
+
*/
|
|
61
|
+
readonly blockedSessions: IObservable<readonly IBlockedSession[]>;
|
|
62
|
+
/**
|
|
63
|
+
* The homogeneous reason the blocked sessions need attention (all terminal
|
|
64
|
+
* approvals, all failing CI, etc.), or `undefined` when they are a mix — which
|
|
65
|
+
* drives whether a specific or the generic requires-input message is shown.
|
|
66
|
+
*/
|
|
67
|
+
readonly requiresInputKind: IObservable<RequiresInputKind | undefined>;
|
|
68
|
+
/**
|
|
69
|
+
* Latest blocked occurrence per session, independent of visibility. Used so the
|
|
70
|
+
* attention blink only fires for a genuinely new input request or CI failure.
|
|
71
|
+
*/
|
|
72
|
+
private _lastBlockedOccurrences;
|
|
73
|
+
/**
|
|
74
|
+
* Not-yet-visible blocked occurrences whose attention blink has not played yet.
|
|
75
|
+
*/
|
|
76
|
+
private readonly _pendingBlinkOccurrences;
|
|
77
|
+
private readonly _onDidRequestBlink;
|
|
78
|
+
/**
|
|
79
|
+
* Fires when a genuinely new, not-yet-visible session becomes blocked and the
|
|
80
|
+
* indicator should play its attention blink. Consumers should re-render and
|
|
81
|
+
* call {@link consumePendingBlink}.
|
|
82
|
+
*/
|
|
83
|
+
readonly onDidRequestBlink: Event<void>;
|
|
84
|
+
constructor(approvalModel: AgentSessionApprovalModel | undefined, blockedSessions: BlockedSessions | undefined, ciFixModel: BlockedSessionsCIFixModel | undefined, _sessionsService: ISessionsService, instantiationService: IInstantiationService, productService: IProductService, _logService: ILogService);
|
|
85
|
+
/**
|
|
86
|
+
* Whether a fresh attention blink is pending. Returns `true` only when a session
|
|
87
|
+
* queued as newly blocked is still in the surfaced (visible-filtered) blocked set,
|
|
88
|
+
* so a blink queued while the pill was suppressed can't fire for a session that has
|
|
89
|
+
* since become visible or unblocked. The pending queue is cleared as it is read so
|
|
90
|
+
* a subsequent render won't replay the animation.
|
|
91
|
+
*/
|
|
92
|
+
consumePendingBlink(): boolean;
|
|
93
|
+
/** Ignore this session's current blocked occurrence. */
|
|
94
|
+
ignoreSession(session: ISession): void;
|
|
95
|
+
/** Ignore every blocked occurrence currently surfaced by the indicator. */
|
|
96
|
+
ignoreAllSessions(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Remember that the user allowed this exact approval so the session drops out of
|
|
99
|
+
* the blocked set immediately.
|
|
100
|
+
*/
|
|
101
|
+
dismissApproval(approved: IApprovedSession): void;
|
|
102
|
+
/**
|
|
103
|
+
* Build the requires-input pill label. A homogeneous set of blocked sessions
|
|
104
|
+
* gets a specific, more actionable message; a mix (or an unclassified session)
|
|
105
|
+
* falls back to the generic "N sessions require input".
|
|
106
|
+
*/
|
|
107
|
+
getRequiresInputLabel(count: number, kind: RequiresInputKind | undefined): string;
|
|
108
|
+
private _ignoreOccurrence;
|
|
109
|
+
private _isBlockIgnored;
|
|
110
|
+
private _getBlockOccurrenceId;
|
|
111
|
+
private _approvalOccurrenceId;
|
|
112
|
+
/**
|
|
113
|
+
* Classify a single blocked session into a specific requires-input kind, or
|
|
114
|
+
* `undefined` when it can't be classified (which forces the generic message).
|
|
115
|
+
*/
|
|
116
|
+
private _kindOf;
|
|
117
|
+
}
|