@codingame/monaco-vscode-workbench-service-override 37.6.0 → 38.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common.js +2 -0
- package/index.js +9 -10
- package/package.json +10 -10
- package/session.js +45 -42
- package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/sessionComparisonPrompts.js +12 -0
- package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.d.ts → desktopWorkbench.d.ts} +6 -5
- package/vscode/src/vs/sessions/browser/{singlePaneWorkbench.js → desktopWorkbench.js} +23 -25
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +5 -2
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +41 -3
- package/vscode/src/vs/sessions/browser/layoutActions.js +25 -41
- package/vscode/src/vs/sessions/browser/mobileWorkbench.d.ts +4 -0
- package/vscode/src/vs/sessions/browser/mobileWorkbench.js +10 -0
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +10 -5
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +138 -34
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +2 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +13 -5
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +27 -5
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +129 -28
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +22 -7
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +260 -21
- package/vscode/src/vs/sessions/browser/parts/chatHeader.d.ts +25 -0
- package/vscode/src/vs/sessions/browser/parts/chatHeader.js +42 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +9 -1
- package/vscode/src/vs/sessions/browser/parts/customViewNode.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/{singlePaneAuxiliaryBarPart.d.ts → desktopAuxiliaryBarPart.d.ts} +4 -4
- package/vscode/src/vs/sessions/browser/parts/desktopAuxiliaryBarPart.js +26 -0
- package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.d.ts → desktopEditorPart.d.ts} +8 -6
- package/vscode/src/vs/sessions/browser/parts/{singlePaneEditorPart.js → desktopEditorPart.js} +25 -5
- package/vscode/src/vs/sessions/browser/parts/editorPart.js +16 -4
- package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +1 -1
- package/vscode/src/vs/sessions/browser/parts/editorParts.js +7 -6
- package/vscode/src/vs/sessions/browser/parts/gridGap.d.ts +14 -0
- package/vscode/src/vs/sessions/browser/parts/gridGap.js +69 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +132 -4
- package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +10 -0
- package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +46 -2
- package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +3 -3
- package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +45 -48
- package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +15 -0
- package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +8 -8
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +9 -1
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +21 -3
- package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +4 -3
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +29 -15
- package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.d.ts +67 -0
- package/vscode/src/vs/sessions/browser/parts/sessionGridLayout.js +598 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +11 -84
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +37 -317
- package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.d.ts +103 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeaderBar.js +391 -0
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +6 -4
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +58 -28
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +4 -0
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +66 -23
- package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +24 -5
- package/vscode/src/vs/sessions/browser/parts/sessionView.js +143 -33
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +25 -19
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +157 -58
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +12 -3
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +17 -2
- package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +6 -3
- package/vscode/src/vs/sessions/browser/sessionWorkspace.js +2 -2
- package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +66 -20
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +1 -0
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +5 -4
- package/vscode/src/vs/sessions/browser/workbenchFactory.d.ts +12 -0
- package/vscode/src/vs/sessions/browser/workbenchFactory.js +17 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +85 -1
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +118 -100
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +3 -2
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +39 -34
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +6 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +3 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +6 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
- package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +7 -7
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +78 -8
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1166 -202
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +11 -1
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +190 -69
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +11 -9
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +122 -233
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.d.ts +22 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTelemetry.js +62 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +7 -2
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +172 -84
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +17 -7
- package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +242 -60
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +24 -36
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +104 -420
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +15 -14
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +13 -3
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +66 -43
- package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +2 -7
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +54 -59
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +7 -7
- package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +6 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +25 -21
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +21 -27
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +5 -5
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +2 -2
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +9 -16
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +15 -13
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +13 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +104 -117
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +8 -7
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +0 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +1 -1
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +7 -0
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +77 -13
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +2 -1
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +14 -4
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +45 -10
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +527 -96
- package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.d.ts +18 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/chatLayoutOwnerKeys.js +95 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.d.ts → desktop/desktopDetailPanelCoordinator.d.ts} +5 -4
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDetailPanelCoordinator.js → desktop/desktopDetailPanelCoordinator.js} +10 -7
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.d.ts → desktop/desktopDockedTabsCoordinator.d.ts} +15 -12
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDockedTabsCoordinator.js → desktop/desktopDockedTabsCoordinator.js} +91 -44
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.d.ts → desktop/desktopDraftSessionStrategy.d.ts} +10 -5
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneDraftSessionStrategy.js → desktop/desktopDraftSessionStrategy.js} +95 -22
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.d.ts → desktop/desktopExistingSessionStrategy.d.ts} +13 -11
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneExistingSessionStrategy.js → desktop/desktopExistingSessionStrategy.js} +137 -57
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.d.ts → desktop/desktopLayoutStrategy.d.ts} +22 -13
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneLayoutStrategy.js → desktop/desktopLayoutStrategy.js} +2 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.d.ts +22 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopOwnerCompositionStore.js +136 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneSharedHelpers.d.ts → desktop/desktopSharedHelpers.d.ts} +9 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/desktop/desktopSharedHelpers.js +56 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.d.ts → desktop/desktopVisibilityProfileStore.d.ts} +3 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/{singlePane/singlePaneVisibilityProfileStore.js → desktop/desktopVisibilityProfileStore.js} +10 -9
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.d.ts +71 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopLayoutController.js +201 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +8 -1
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +35 -35
- package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/layout/common/sessionEditorWorkingSet.js +73 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +42 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +14 -10
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +3 -4
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +2 -2
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +13 -9
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +20 -5
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.d.ts +8 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourVariation.js +19 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +21 -20
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +10 -5
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +12 -8
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +3 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +12 -7
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +9 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +46 -19
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +2 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +33 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +4 -2
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +29 -8
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +15 -2
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +169 -32
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostForkActions.js +30 -8
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +8 -34
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +63 -49
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +31 -17
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.d.ts +32 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnostics.contribution.js +250 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsLogs.js +52 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.d.ts +51 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsReport.js +439 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.d.ts +45 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/connectionDiagnosticsService.js +595 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +20 -3
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +360 -46
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.d.ts +9 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerSource.js +59 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/connectionDiagnostics.css +201 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.d.ts +10 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/getRemoteSessionTool.js +70 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.d.ts +20 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionChatService.js +104 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionInspector.js +152 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.d.ts +49 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionMessageRouter.js +340 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.d.ts +41 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionService.js +400 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.d.ts +28 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionSource.js +178 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.d.ts +17 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessionTools.js +206 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.js +58 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.d.ts +10 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/browser/sendRemoteMessageTool.js +90 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.d.ts +38 -0
- package/vscode/src/vs/sessions/contrib/remoteSessions/common/remoteSessionInspection.js +58 -0
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +4 -5
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.js +33 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.d.ts +30 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonGridController.js +190 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.d.ts +31 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonTool.js +559 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.d.ts +12 -0
- package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.js +38 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +13 -4
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +155 -22
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +9 -5
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +90 -25
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +21 -4
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +11 -7
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +116 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +126 -30
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.d.ts +26 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsAccountTelemetry.js +160 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +14 -6
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +555 -151
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.d.ts +192 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsLifecycleTracker.js +510 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +6 -7
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +64 -57
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +5 -3
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +83 -51
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +5 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +33 -12
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.d.ts +3 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.js +53 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +2 -2
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +103 -55
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +7 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +679 -325
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +27 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +508 -163
- package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.d.ts +20 -2
- package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +100 -17
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.d.ts +5 -1
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +108 -30
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +5 -3
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +47 -35
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +9 -4
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +75 -25
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +11 -4
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +17 -9
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +5 -0
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +20 -2
- package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.d.ts +75 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionComparisonService.js +1135 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.d.ts +17 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGridState.js +99 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +4 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +88 -23
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +19 -26
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +115 -74
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +1 -1
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +22 -7
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +278 -60
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +17 -20
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +33 -22
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +28 -8
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +673 -160
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +13 -4
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +105 -15
- package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +53 -34
- package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +1 -1
- package/vscode/src/vs/workbench/browser/layout.d.ts +46 -70
- package/vscode/src/vs/workbench/browser/layout.js +243 -44
- package/vscode/src/vs/workbench/browser/workbench.d.ts +1 -3
- package/vscode/src/vs/workbench/browser/workbench.js +26 -24
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +41 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatUsage.js +56 -0
- package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.d.ts +0 -18
- package/vscode/src/vs/platform/agentHost/common/meta/agentCheckoutOperationMeta.js +0 -27
- package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +0 -36
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +0 -37
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +0 -126
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +0 -59
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +0 -232
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +0 -13
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +0 -22
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +0 -45
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +0 -110
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +0 -112
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +0 -444
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +0 -43
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +0 -55
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +0 -91
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.d.ts +0 -26
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +0 -98
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.d.ts +0 -33
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +0 -98
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.d.ts +0 -2
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModeIcon.js +0 -13
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.d.ts +0 -122
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +0 -464
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.d.ts +0 -35
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerActionItem.js +0 -90
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.d.ts +0 -84
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +0 -328
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts +0 -174
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +0 -1390
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/media/agentHostSessionConfigPicker.css +0 -44
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.d.ts +0 -30
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileAgentHostModePicker.js +0 -78
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.d.ts +0 -11
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatPhoneInputTarget.js +0 -26
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +0 -27
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +0 -26
|
@@ -1,84 +0,0 @@
|
|
|
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 { IAgentHostConnectionsService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostConnectionsService.service";
|
|
4
|
-
import { IAgentHostEnablementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostEnablementService.service";
|
|
5
|
-
import { SessionConfigPropertySchema } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/commands";
|
|
6
|
-
import { ChatConfiguration, ChatPermissionLevel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
7
|
-
import { IPermissionLevelMeta, IPermissionPickerDelegate } from "@codingame/monaco-vscode-katex-common/vscode/vs/sessions/contrib/providers/copilotChatSessions/browser/permissionPicker";
|
|
8
|
-
import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
|
|
9
|
-
import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
|
|
10
|
-
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
11
|
-
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
12
|
-
import { IChatPhoneInputPresenter } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service";
|
|
13
|
-
import { isWellKnownAutoApproveSchema, isWellKnownModeSchema } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModePickerPresentation";
|
|
14
|
-
export { isWellKnownAutoApproveSchema, isWellKnownModeSchema };
|
|
15
|
-
/**
|
|
16
|
-
* {@link IPermissionPickerDelegate} backed by the active session's AHP
|
|
17
|
-
* `autoApprove` config property.
|
|
18
|
-
*
|
|
19
|
-
* - `currentPermissionLevel` derives from the active session's
|
|
20
|
-
* `provider.getSessionConfig(...).values.autoApprove`, recomputed when the
|
|
21
|
-
* active session changes or when any agent-host provider fires
|
|
22
|
-
* `onDidChangeSessionConfig`.
|
|
23
|
-
* - `setPermissionLevel(level)` calls `provider.setSessionConfigValue(sessionId,
|
|
24
|
-
* 'autoApprove', level)` for the active session's provider.
|
|
25
|
-
* - `isApplicable` is `true` only when the active session's `autoApprove`
|
|
26
|
-
* schema matches the well-known shape, so the picker hides itself for
|
|
27
|
-
* non-conforming agents (which fall back to the generic per-property
|
|
28
|
-
* picker) and when no agent-host session is active.
|
|
29
|
-
*/
|
|
30
|
-
export declare class AgentHostPermissionPickerDelegate extends Disposable implements IPermissionPickerDelegate {
|
|
31
|
-
private readonly _session;
|
|
32
|
-
private readonly _sessionsProvidersService;
|
|
33
|
-
private readonly _configurationService;
|
|
34
|
-
private readonly _connectionsService;
|
|
35
|
-
private readonly _logService;
|
|
36
|
-
/** Fires every time any agent-host provider's session config changes. */
|
|
37
|
-
private readonly _configChangedSignal;
|
|
38
|
-
private readonly _providerSubscriptions;
|
|
39
|
-
private _sandboxConnection;
|
|
40
|
-
private readonly _hostOperatingSystem;
|
|
41
|
-
private _hostOperatingSystemRequest;
|
|
42
|
-
readonly currentPermissionLevel: IObservable<ChatPermissionLevel>;
|
|
43
|
-
readonly isApplicable: IObservable<boolean>;
|
|
44
|
-
readonly isModePickerCombined: IObservable<boolean>;
|
|
45
|
-
readonly isResolving: IObservable<boolean>;
|
|
46
|
-
readonly managedSandboxEnforced: IObservable<boolean>;
|
|
47
|
-
readonly managedSandboxAllowsBypass: IObservable<boolean>;
|
|
48
|
-
readonly sandboxEnabled: IObservable<boolean | undefined>;
|
|
49
|
-
readonly sandboxToggleSettingId: IObservable<string | undefined>;
|
|
50
|
-
readonly sandboxToggleConfigurationKeys: string[];
|
|
51
|
-
readonly getSandboxToggleProvider: () => string | undefined;
|
|
52
|
-
readonly isSandboxToggleApplicable: () => boolean;
|
|
53
|
-
readonly getSandboxToggleSettingId: () => string | undefined;
|
|
54
|
-
get availableLevels(): readonly ChatPermissionLevel[];
|
|
55
|
-
/** Agent-host sessions seed their default approval level from this setting. */
|
|
56
|
-
readonly defaultSettingKey = ChatConfiguration.DefaultConfiguration;
|
|
57
|
-
getPermissionLevelMeta(level: ChatPermissionLevel, meta: IPermissionLevelMeta): IPermissionLevelMeta;
|
|
58
|
-
constructor(_session: IObservable<IActiveSession | undefined>, _sessionsProvidersService: ISessionsProvidersService, _configurationService: IConfigurationService, agentHostEnablementService: IAgentHostEnablementService, phoneInputPresenter: IChatPhoneInputPresenter, _connectionsService: IAgentHostConnectionsService, _logService: ILogService);
|
|
59
|
-
private _resolveHostOperatingSystem;
|
|
60
|
-
getSandboxToggle(): import("@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList").IActionListItemInlineToggle | undefined;
|
|
61
|
-
setSandboxEnabled(enabled: boolean): void;
|
|
62
|
-
setPermissionLevel(level: ChatPermissionLevel): Promise<void>;
|
|
63
|
-
getPermissionLevelHover(level: ChatPermissionLevel, _meta: IPermissionLevelMeta): string;
|
|
64
|
-
private _readLevel;
|
|
65
|
-
private _readIsWellKnown;
|
|
66
|
-
private _getProvider;
|
|
67
|
-
private _watchProviders;
|
|
68
|
-
}
|
|
69
|
-
export declare function isWellKnownModeValue(schema: SessionConfigPropertySchema, value: string): boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Returns `true` when a `permissionMode` session-config property uses the
|
|
72
|
-
* Claude SDK's well-known permission-mode value set and includes `default`.
|
|
73
|
-
*/
|
|
74
|
-
export declare function isWellKnownClaudePermissionModeSchema(schema: SessionConfigPropertySchema): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Returns `true` when a `codex.permissionsPreset` session-config property uses
|
|
77
|
-
* the Codex permissions-preset value set and includes `default`.
|
|
78
|
-
*
|
|
79
|
-
* Codex collapses its three security axes (sandbox × approval policy ×
|
|
80
|
-
* approvals reviewer) into a single user-facing preset; this guard lets the
|
|
81
|
-
* dedicated {@link AgentHostCodexApprovalsPicker} claim the property while the
|
|
82
|
-
* generic per-property picker stands down.
|
|
83
|
-
*/
|
|
84
|
-
export declare function isWellKnownCodexApprovalsSchema(schema: SessionConfigPropertySchema): boolean;
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
4
|
-
import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
5
|
-
import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
-
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
7
|
-
import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
8
|
-
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
9
|
-
import { createAgentHostSandboxToggle } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/browser/agentHostSandboxToggle';
|
|
10
|
-
import { AgentHostSdkSandboxEnabledSettingId, AgentHostSdkSandboxWindowsEnabledSettingId, getAgentHostCopilotSandboxSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService';
|
|
11
|
-
import { IAgentHostConnectionsService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostConnectionsService.service';
|
|
12
|
-
import { getAgentHostOperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostOperatingSystem';
|
|
13
|
-
import { IAgentHostEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostEnablementService.service';
|
|
14
|
-
import { AgentHostCustomTerminalToolEnabledSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/copilotCliConfig';
|
|
15
|
-
import { SessionConfigKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/sessionConfigKeys';
|
|
16
|
-
import { narrowClaudePermissionMode } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/claudeSessionConfigKeys';
|
|
17
|
-
import { narrowCodexPermissionsPreset } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/codexSessionConfigKeys';
|
|
18
|
-
import { ChatPermissionLevel, ChatConfiguration, isChatPermissionLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
19
|
-
import { isAgentHostProvider } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider';
|
|
20
|
-
import { ISessionsProvidersService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service';
|
|
21
|
-
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
22
|
-
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
23
|
-
import { isAssistedPermissionsEnabled, isPermissionLevelVisible } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/agentHostConfigPolicy';
|
|
24
|
-
import { AgentSandboxSettingId, isAgentSandboxEnabledValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
|
|
25
|
-
import { CopilotCLISessionType } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/providers/agentHost/browser/baseAgentHostSessionsProvider';
|
|
26
|
-
import { IChatPhoneInputPresenter } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.service';
|
|
27
|
-
import { shouldCombineModeAndPermissions, isWellKnownAutoApproveSchema } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModePickerPresentation';
|
|
28
|
-
export { isWellKnownAutoApproveSchema, isWellKnownModeSchema } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModePickerPresentation';
|
|
29
|
-
import { observableSignal } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignal';
|
|
30
|
-
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
31
|
-
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
32
|
-
import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
|
|
33
|
-
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
34
|
-
|
|
35
|
-
const REQUIRED_PERMISSION_MODE_VALUE = "default";
|
|
36
|
-
const REQUIRED_CODEX_APPROVALS_VALUE = "default";
|
|
37
|
-
let AgentHostPermissionPickerDelegate = class AgentHostPermissionPickerDelegate extends Disposable {
|
|
38
|
-
get availableLevels() {
|
|
39
|
-
const session = this._session.get();
|
|
40
|
-
if (!session) {
|
|
41
|
-
return [ChatPermissionLevel.Default];
|
|
42
|
-
}
|
|
43
|
-
const provider = this._getProvider(session.providerId);
|
|
44
|
-
const schema = provider?.getSessionConfig(session.sessionId)?.schema.properties[SessionConfigKey.AutoApprove];
|
|
45
|
-
const values = schema?.type === "string" && Array.isArray(schema.enum) ? schema.enum : [];
|
|
46
|
-
const assistedPermissionsEnabled = isAssistedPermissionsEnabled(this._configurationService);
|
|
47
|
-
return [
|
|
48
|
-
ChatPermissionLevel.Default,
|
|
49
|
-
ChatPermissionLevel.Assisted,
|
|
50
|
-
ChatPermissionLevel.AutoApprove
|
|
51
|
-
].filter(
|
|
52
|
-
level => values.includes(level) && isPermissionLevelVisible(level, assistedPermissionsEnabled)
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
getPermissionLevelMeta(level, meta) {
|
|
56
|
-
switch (level) {
|
|
57
|
-
case ChatPermissionLevel.Default:
|
|
58
|
-
return {
|
|
59
|
-
...meta,
|
|
60
|
-
label: ( localize(4202, "Manual permissions")),
|
|
61
|
-
detail: ( localize(4203, "Asks when approval settings don't apply")),
|
|
62
|
-
icon: Codicon.key
|
|
63
|
-
};
|
|
64
|
-
case ChatPermissionLevel.Assisted:
|
|
65
|
-
return {
|
|
66
|
-
...meta,
|
|
67
|
-
detail: ( localize(4204, "Evaluates risk before running tools"))
|
|
68
|
-
};
|
|
69
|
-
case ChatPermissionLevel.AutoApprove:
|
|
70
|
-
return {
|
|
71
|
-
...meta,
|
|
72
|
-
detail: ( localize(4205, "Runs tool calls without asking"))
|
|
73
|
-
};
|
|
74
|
-
case ChatPermissionLevel.Autopilot:
|
|
75
|
-
return meta;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
constructor(
|
|
79
|
-
_session,
|
|
80
|
-
_sessionsProvidersService,
|
|
81
|
-
_configurationService,
|
|
82
|
-
agentHostEnablementService,
|
|
83
|
-
phoneInputPresenter,
|
|
84
|
-
_connectionsService,
|
|
85
|
-
_logService
|
|
86
|
-
) {
|
|
87
|
-
super();
|
|
88
|
-
this._session = _session;
|
|
89
|
-
this._sessionsProvidersService = _sessionsProvidersService;
|
|
90
|
-
this._configurationService = _configurationService;
|
|
91
|
-
this._connectionsService = _connectionsService;
|
|
92
|
-
this._logService = _logService;
|
|
93
|
-
this._configChangedSignal = observableSignal("agentHostPermissionPicker.configChanged");
|
|
94
|
-
this._providerSubscriptions = this._register(( new DisposableMap()));
|
|
95
|
-
this._hostOperatingSystem = observableValue(this, undefined);
|
|
96
|
-
this.sandboxToggleConfigurationKeys = [
|
|
97
|
-
AgentHostCustomTerminalToolEnabledSettingId,
|
|
98
|
-
AgentHostSdkSandboxEnabledSettingId,
|
|
99
|
-
AgentHostSdkSandboxWindowsEnabledSettingId,
|
|
100
|
-
AgentSandboxSettingId.AgentSandboxEnabled,
|
|
101
|
-
AgentSandboxSettingId.AgentSandboxWindowsEnabled
|
|
102
|
-
];
|
|
103
|
-
this.getSandboxToggleProvider = () => this._session.get()?.sessionType;
|
|
104
|
-
this.isSandboxToggleApplicable = () => {
|
|
105
|
-
const session = this._session.get();
|
|
106
|
-
return session?.sessionType === CopilotCLISessionType.id && !!this._getProvider(session.providerId)?.getSessionConfig(session.sessionId)?.schema.properties[SessionConfigKey.SandboxEnabled];
|
|
107
|
-
};
|
|
108
|
-
this.getSandboxToggleSettingId = () => this.sandboxToggleSettingId.get();
|
|
109
|
-
this.defaultSettingKey = ChatConfiguration.DefaultConfiguration;
|
|
110
|
-
this.managedSandboxEnforced = agentHostEnablementService.managedSandboxEnforced;
|
|
111
|
-
this.managedSandboxAllowsBypass = agentHostEnablementService.managedSandboxAllowsBypass;
|
|
112
|
-
this._watchProviders(this._sessionsProvidersService.getProviders());
|
|
113
|
-
this._register(this._sessionsProvidersService.onDidChangeProviders(e => {
|
|
114
|
-
for (const provider of e.removed) {
|
|
115
|
-
this._providerSubscriptions.deleteAndDispose(provider.id);
|
|
116
|
-
}
|
|
117
|
-
this._watchProviders(e.added);
|
|
118
|
-
this._configChangedSignal.trigger(undefined);
|
|
119
|
-
}));
|
|
120
|
-
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
121
|
-
if (e.affectsConfiguration(ChatConfiguration.ExperimentalModePermissionsPicker)) {
|
|
122
|
-
this._configChangedSignal.trigger(undefined);
|
|
123
|
-
}
|
|
124
|
-
}));
|
|
125
|
-
this.currentPermissionLevel = derived(this, reader => this._readLevel(reader));
|
|
126
|
-
this.sandboxEnabled = derived(this, reader => {
|
|
127
|
-
this._configChangedSignal.read(reader);
|
|
128
|
-
const session = this._session.read(reader);
|
|
129
|
-
const value = session && this._getProvider(session.providerId)?.getSessionConfig(session.sessionId)?.values[SessionConfigKey.SandboxEnabled];
|
|
130
|
-
return value === "on" ? true : value === "off" ? false : undefined;
|
|
131
|
-
});
|
|
132
|
-
this.sandboxToggleSettingId = derived(this, reader => {
|
|
133
|
-
this._configChangedSignal.read(reader);
|
|
134
|
-
this._session.read(reader);
|
|
135
|
-
const os = this._hostOperatingSystem.read(reader);
|
|
136
|
-
return this.isSandboxToggleApplicable() && os !== undefined ? getAgentHostCopilotSandboxSettingId(os === OperatingSystem.Windows) : undefined;
|
|
137
|
-
});
|
|
138
|
-
this.isModePickerCombined = derived(this, reader => {
|
|
139
|
-
this._configChangedSignal.read(reader);
|
|
140
|
-
const session = this._session.read(reader);
|
|
141
|
-
const config = session ? this._getProvider(session.providerId)?.getSessionConfig(session.sessionId) : undefined;
|
|
142
|
-
return !phoneInputPresenter.enabled.read(reader) && shouldCombineModeAndPermissions(
|
|
143
|
-
this._configurationService.getValue(ChatConfiguration.ExperimentalModePermissionsPicker) === true,
|
|
144
|
-
session?.sessionType === CopilotCLISessionType.id,
|
|
145
|
-
config?.schema.properties[SessionConfigKey.Mode],
|
|
146
|
-
config?.schema.properties[SessionConfigKey.AutoApprove]
|
|
147
|
-
);
|
|
148
|
-
});
|
|
149
|
-
this.isApplicable = derived(
|
|
150
|
-
this,
|
|
151
|
-
reader => this._readIsWellKnown(reader) && !this.isModePickerCombined.read(reader)
|
|
152
|
-
);
|
|
153
|
-
this.isResolving = derived(this, reader => {
|
|
154
|
-
this._configChangedSignal.read(reader);
|
|
155
|
-
const session = this._session.read(reader);
|
|
156
|
-
if (!session) {
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
const provider = this._getProvider(session.providerId);
|
|
160
|
-
return provider?.isSessionConfigResolving(session.sessionId).read(reader) ?? false;
|
|
161
|
-
});
|
|
162
|
-
this._register(this._connectionsService.onDidChangeSessionResolution(async () => {
|
|
163
|
-
const connection = this._sandboxConnection;
|
|
164
|
-
const request = this._hostOperatingSystemRequest;
|
|
165
|
-
await request;
|
|
166
|
-
if (!this._store.isDisposed && connection && request && this._sandboxConnection === connection && this._hostOperatingSystemRequest === request && this._hostOperatingSystem.get() === undefined) {
|
|
167
|
-
this._hostOperatingSystemRequest = this._resolveHostOperatingSystem(connection);
|
|
168
|
-
}
|
|
169
|
-
}));
|
|
170
|
-
const connectionsChanged = observableSignalFromEvent(this, this._connectionsService.onDidChangeSessionResolution);
|
|
171
|
-
this._register(autorun(reader => {
|
|
172
|
-
connectionsChanged.read(reader);
|
|
173
|
-
this._configChangedSignal.read(reader);
|
|
174
|
-
const session = this._session.read(reader);
|
|
175
|
-
const connection = session && this.isSandboxToggleApplicable() ? this._connectionsService.resolveSessionResource(session.resource)?.connection : undefined;
|
|
176
|
-
if (connection === this._sandboxConnection) {
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
this._sandboxConnection = connection;
|
|
180
|
-
this._hostOperatingSystem.set(undefined, undefined);
|
|
181
|
-
this._hostOperatingSystemRequest = connection ? this._resolveHostOperatingSystem(connection) : undefined;
|
|
182
|
-
}));
|
|
183
|
-
}
|
|
184
|
-
async _resolveHostOperatingSystem(connection) {
|
|
185
|
-
try {
|
|
186
|
-
const os = await getAgentHostOperatingSystem(connection);
|
|
187
|
-
if (!this._store.isDisposed && this._sandboxConnection === connection) {
|
|
188
|
-
this._hostOperatingSystem.set(os, undefined);
|
|
189
|
-
}
|
|
190
|
-
} catch (error) {
|
|
191
|
-
this._logService.error("Failed to resolve agent host OS for the sandbox picker", error);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
getSandboxToggle() {
|
|
195
|
-
if (!this.isSandboxToggleApplicable() || this.getSandboxToggleSettingId() === undefined) {
|
|
196
|
-
return undefined;
|
|
197
|
-
}
|
|
198
|
-
return createAgentHostSandboxToggle(() => {
|
|
199
|
-
const settingId = this.getSandboxToggleSettingId();
|
|
200
|
-
return {
|
|
201
|
-
provider: this.getSandboxToggleProvider(),
|
|
202
|
-
sessionEnabled: this.sandboxEnabled.get(),
|
|
203
|
-
globalEnabled: settingId !== undefined && isAgentSandboxEnabledValue(this._configurationService.getValue(settingId)),
|
|
204
|
-
managedEnabled: this.managedSandboxEnforced.get(),
|
|
205
|
-
allowsBypass: this.managedSandboxAllowsBypass.get()
|
|
206
|
-
};
|
|
207
|
-
}, enabled => this.setSandboxEnabled(enabled));
|
|
208
|
-
}
|
|
209
|
-
setSandboxEnabled(enabled) {
|
|
210
|
-
const session = this._session.get();
|
|
211
|
-
const provider = session && this._getProvider(session.providerId);
|
|
212
|
-
if (!session || !provider || !this.isSandboxToggleApplicable()) {
|
|
213
|
-
throw ( new Error("Sandbox configuration is unavailable for this session"));
|
|
214
|
-
}
|
|
215
|
-
const operation = provider.setSessionConfigValue(session.sessionId, SessionConfigKey.SandboxEnabled, enabled ? "on" : "off");
|
|
216
|
-
provider.trackSessionConfigOperation(session.sessionId, operation);
|
|
217
|
-
void operation.catch(onUnexpectedError);
|
|
218
|
-
}
|
|
219
|
-
async setPermissionLevel(level) {
|
|
220
|
-
if (!isPermissionLevelVisible(level, isAssistedPermissionsEnabled(this._configurationService))) {
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
const session = this._session.get();
|
|
224
|
-
if (!session) {
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
const provider = this._getProvider(session.providerId);
|
|
228
|
-
if (!provider) {
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
if (provider.isSessionConfigResolving(session.sessionId).get()) {
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
if (!this.availableLevels.includes(level)) {
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
const operation = provider.setSessionConfigValue(session.sessionId, SessionConfigKey.AutoApprove, level);
|
|
238
|
-
provider.trackSessionConfigOperation(session.sessionId, operation);
|
|
239
|
-
await operation.catch(onUnexpectedError);
|
|
240
|
-
}
|
|
241
|
-
getPermissionLevelHover(level, _meta) {
|
|
242
|
-
switch (level) {
|
|
243
|
-
case ChatPermissionLevel.Default:
|
|
244
|
-
return localize(
|
|
245
|
-
4206,
|
|
246
|
-
"Copilot asks before running tools unless your configured settings allow the tool."
|
|
247
|
-
);
|
|
248
|
-
case ChatPermissionLevel.AutoApprove:
|
|
249
|
-
return localize(4207, "Copilot runs all tools without asking for approval.");
|
|
250
|
-
case ChatPermissionLevel.Assisted:
|
|
251
|
-
return localize(
|
|
252
|
-
4208,
|
|
253
|
-
"An LLM judge evaluates each tool call. Tools it doesn't approve require your approval."
|
|
254
|
-
);
|
|
255
|
-
case ChatPermissionLevel.Autopilot:
|
|
256
|
-
return localize(
|
|
257
|
-
4209,
|
|
258
|
-
"Copilot runs tools without asking for approval and continues until the task is done."
|
|
259
|
-
);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
_readLevel(reader) {
|
|
263
|
-
this._configChangedSignal.read(reader);
|
|
264
|
-
const session = this._session.read(reader);
|
|
265
|
-
if (!session) {
|
|
266
|
-
return ChatPermissionLevel.Default;
|
|
267
|
-
}
|
|
268
|
-
const provider = this._getProvider(session.providerId);
|
|
269
|
-
if (!provider) {
|
|
270
|
-
return ChatPermissionLevel.Default;
|
|
271
|
-
}
|
|
272
|
-
const value = provider.getSessionConfig(session.sessionId)?.values[SessionConfigKey.AutoApprove];
|
|
273
|
-
if (value === ChatPermissionLevel.Autopilot) {
|
|
274
|
-
return ChatPermissionLevel.Default;
|
|
275
|
-
}
|
|
276
|
-
return isChatPermissionLevel(value) ? value : ChatPermissionLevel.Default;
|
|
277
|
-
}
|
|
278
|
-
_readIsWellKnown(reader) {
|
|
279
|
-
this._configChangedSignal.read(reader);
|
|
280
|
-
const session = this._session.read(reader);
|
|
281
|
-
if (!session) {
|
|
282
|
-
return false;
|
|
283
|
-
}
|
|
284
|
-
const provider = this._getProvider(session.providerId);
|
|
285
|
-
if (!provider) {
|
|
286
|
-
return false;
|
|
287
|
-
}
|
|
288
|
-
const schema = provider.getSessionConfig(session.sessionId)?.schema.properties[SessionConfigKey.AutoApprove];
|
|
289
|
-
return !!schema && isWellKnownAutoApproveSchema(schema);
|
|
290
|
-
}
|
|
291
|
-
_getProvider(providerId) {
|
|
292
|
-
const provider = this._sessionsProvidersService.getProvider(providerId);
|
|
293
|
-
return provider && isAgentHostProvider(provider) ? provider : undefined;
|
|
294
|
-
}
|
|
295
|
-
_watchProviders(providers) {
|
|
296
|
-
for (const provider of providers) {
|
|
297
|
-
if (!isAgentHostProvider(provider) || ( this._providerSubscriptions.has(provider.id))) {
|
|
298
|
-
continue;
|
|
299
|
-
}
|
|
300
|
-
const subscriptions = ( new DisposableStore());
|
|
301
|
-
subscriptions.add(provider.onDidChangeSessionConfig(() => {
|
|
302
|
-
this._configChangedSignal.trigger(undefined);
|
|
303
|
-
}));
|
|
304
|
-
this._providerSubscriptions.set(provider.id, subscriptions);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
};
|
|
308
|
-
AgentHostPermissionPickerDelegate = ( __decorate([( __param(1, ISessionsProvidersService)), ( __param(2, IConfigurationService)), ( __param(3, IAgentHostEnablementService)), ( __param(4, IChatPhoneInputPresenter)), ( __param(5, IAgentHostConnectionsService)), ( __param(6, ILogService))], AgentHostPermissionPickerDelegate));
|
|
309
|
-
function isWellKnownClaudePermissionModeSchema(schema) {
|
|
310
|
-
if (schema.type !== "string" || !Array.isArray(schema.enum) || schema.enum.length === 0) {
|
|
311
|
-
return false;
|
|
312
|
-
}
|
|
313
|
-
if (!schema.enum.includes(REQUIRED_PERMISSION_MODE_VALUE)) {
|
|
314
|
-
return false;
|
|
315
|
-
}
|
|
316
|
-
return schema.enum.every(value => narrowClaudePermissionMode(value) !== undefined);
|
|
317
|
-
}
|
|
318
|
-
function isWellKnownCodexApprovalsSchema(schema) {
|
|
319
|
-
if (schema.type !== "string" || !Array.isArray(schema.enum) || schema.enum.length === 0) {
|
|
320
|
-
return false;
|
|
321
|
-
}
|
|
322
|
-
if (!schema.enum.includes(REQUIRED_CODEX_APPROVALS_VALUE)) {
|
|
323
|
-
return false;
|
|
324
|
-
}
|
|
325
|
-
return schema.enum.every(value => narrowCodexPermissionsPreset(value) !== undefined);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
export { AgentHostPermissionPickerDelegate, isWellKnownClaudePermissionModeSchema, isWellKnownCodexApprovalsSchema };
|
package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.d.ts
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { IActionListItem } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList";
|
|
2
|
-
import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
|
|
3
|
-
import { BaseActionViewItem } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems";
|
|
4
|
-
import { Delayer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/async";
|
|
5
|
-
import { Disposable, DisposableStore, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
6
|
-
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
7
|
-
import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
|
|
8
|
-
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
9
|
-
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
10
|
-
import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
11
|
-
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
12
|
-
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
13
|
-
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
14
|
-
import type { SessionConfigPropertySchema } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/commands";
|
|
15
|
-
import { IChatInputPickerResponsiveState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerResponsiveLayout";
|
|
16
|
-
import { IViewsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service";
|
|
17
|
-
import { IAgentWorkbenchLayoutService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service";
|
|
18
|
-
import { ISessionChangesService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/changes/browser/sessionChangesService";
|
|
19
|
-
import { ISessionsProvidersService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsProvidersService.service";
|
|
20
|
-
import { IActiveSession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement";
|
|
21
|
-
import { type IAgentHostSessionsProvider } from "@codingame/monaco-vscode-api/vscode/vs/sessions/common/agentHostSessionsProvider";
|
|
22
|
-
import { type ISessionChangeset } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
23
|
-
export interface IConfigPickerItem {
|
|
24
|
-
readonly value: string;
|
|
25
|
-
readonly label: string;
|
|
26
|
-
readonly description?: string;
|
|
27
|
-
readonly checked?: boolean;
|
|
28
|
-
}
|
|
29
|
-
export declare function getConfigIcon(property: string, value: unknown | undefined, hasUncommittedChanges?: boolean): ThemeIcon | undefined;
|
|
30
|
-
export declare class AgentHostSessionConfigPicker extends Disposable {
|
|
31
|
-
protected readonly _session: IObservable<IActiveSession | undefined>;
|
|
32
|
-
protected readonly _actionWidgetService: IActionWidgetService;
|
|
33
|
-
protected readonly _configurationService: IConfigurationService;
|
|
34
|
-
protected readonly _contextKeyService: IContextKeyService;
|
|
35
|
-
protected readonly _dialogService: IDialogService;
|
|
36
|
-
protected readonly _hoverService: IHoverService;
|
|
37
|
-
protected readonly _sessionsProvidersService: ISessionsProvidersService;
|
|
38
|
-
protected readonly _telemetryService: ITelemetryService;
|
|
39
|
-
protected readonly _layoutService: IAgentWorkbenchLayoutService;
|
|
40
|
-
protected readonly _storageService: IStorageService;
|
|
41
|
-
private readonly _sessionChangesService;
|
|
42
|
-
protected readonly _viewsService: IViewsService;
|
|
43
|
-
protected readonly _renderDisposables: DisposableStore;
|
|
44
|
-
private readonly _providerListeners;
|
|
45
|
-
private readonly _isolationCheckbox;
|
|
46
|
-
private readonly _hostMarker;
|
|
47
|
-
protected readonly _filterDelayer: Delayer<readonly IActionListItem<IConfigPickerItem>[]>;
|
|
48
|
-
private readonly _repositoryConfigSequencer;
|
|
49
|
-
private _container;
|
|
50
|
-
/**
|
|
51
|
-
* Session/property-scoped value→label cache for `enumDynamic`
|
|
52
|
-
* properties (e.g. branch), populated whenever `_getItems` fetches
|
|
53
|
-
* completions. `enumDynamic` completions are transient protocol
|
|
54
|
-
* data — only `value` is persisted via `setSessionConfigValue`/
|
|
55
|
-
* `resolveSessionConfig` — so this is the only place a completion's
|
|
56
|
-
* `label` for a previously-picked value can be recovered once the
|
|
57
|
-
* dropdown/sheet closes. Static `enum` properties don't need this:
|
|
58
|
-
* their label is always derivable from `schema.enum`/`enumLabels`.
|
|
59
|
-
*
|
|
60
|
-
* Keyed by session so entries don't leak across sessions: this picker
|
|
61
|
-
* is only ever created for the new-session composer (`Menus.NewSession-
|
|
62
|
-
* RepositoryConfig`), and that composer's `_session` tracks the
|
|
63
|
-
* globally active session — so the *same* picker instance can observe
|
|
64
|
-
* a sequence of different (not-yet-created) draft sessions as the user
|
|
65
|
-
* switches between them. `_renderConfigPickers` evicts entries for any
|
|
66
|
-
* session other than the current one on every render, so the map never
|
|
67
|
-
* grows beyond the properties of the currently active session.
|
|
68
|
-
*/
|
|
69
|
-
private readonly _dynamicValueLabels;
|
|
70
|
-
constructor(_session: IObservable<IActiveSession | undefined>, _actionWidgetService: IActionWidgetService, _configurationService: IConfigurationService, _contextKeyService: IContextKeyService, _dialogService: IDialogService, _hoverService: IHoverService, _sessionsProvidersService: ISessionsProvidersService, _telemetryService: ITelemetryService, _layoutService: IAgentWorkbenchLayoutService, _storageService: IStorageService, _sessionChangesService: ISessionChangesService, _viewsService: IViewsService);
|
|
71
|
-
private _watchProviders;
|
|
72
|
-
render(container: HTMLElement): void;
|
|
73
|
-
private _renderConfigPickers;
|
|
74
|
-
private _isPickable;
|
|
75
|
-
/**
|
|
76
|
-
* Order the schema properties for rendering. The base implementation
|
|
77
|
-
* enforces a stable visual sequence for well-known properties:
|
|
78
|
-
* Isolation (worktree/folder) first, then Branch. Any other properties
|
|
79
|
-
* keep their original schema order after these two. Subclasses can
|
|
80
|
-
* override to impose a different deterministic visual sequence
|
|
81
|
-
* (e.g. the mobile chip row groups Approvals | Branch | Worktree).
|
|
82
|
-
*/
|
|
83
|
-
protected _orderProperties(properties: ReadonlyArray<[
|
|
84
|
-
string,
|
|
85
|
-
SessionConfigPropertySchema
|
|
86
|
-
]>): ReadonlyArray<[
|
|
87
|
-
string,
|
|
88
|
-
SessionConfigPropertySchema
|
|
89
|
-
]>;
|
|
90
|
-
/**
|
|
91
|
-
* Decide whether a property's chip should be rendered for the current
|
|
92
|
-
* session. The base implementation hides non-mutable properties in
|
|
93
|
-
* running sessions (they would render as dead pills). Subclasses can
|
|
94
|
-
* override to keep specific properties visible as readonly chips —
|
|
95
|
-
* see {@link _isReadOnlyChip}.
|
|
96
|
-
*/
|
|
97
|
-
protected _shouldRenderProperty(property: string, schema: SessionConfigPropertySchema, isNewSession: boolean): boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Decide whether a property's trigger should render as readonly
|
|
100
|
-
* (no chevron, no popup). The base implementation defers to the
|
|
101
|
-
* schema's `readOnly` flag. Subclasses that opt in to rendering
|
|
102
|
-
* non-mutable chips via {@link _shouldRenderProperty} should
|
|
103
|
-
* override this to also mark them readonly at runtime.
|
|
104
|
-
*/
|
|
105
|
-
protected _isReadOnlyChip(property: string, schema: SessionConfigPropertySchema, isNewSession: boolean): boolean;
|
|
106
|
-
protected _setSessionConfigValue(provider: IAgentHostSessionsProvider, sessionId: string, property: string, value: unknown): Promise<void>;
|
|
107
|
-
private _invokeCheckoutOperation;
|
|
108
|
-
protected _requiresBranchCheckout(provider: IAgentHostSessionsProvider, sessionId: string, property: string): boolean;
|
|
109
|
-
protected _getCheckoutChangeset(sessionId: string): ISessionChangeset | undefined;
|
|
110
|
-
protected _renderTrigger(trigger: HTMLElement, sessionId: string, property: string, schema: SessionConfigPropertySchema, value: unknown | undefined, isReadOnly: boolean): void;
|
|
111
|
-
/**
|
|
112
|
-
* Keeps the Branch chip's glyph, aria label, and hover in sync with the
|
|
113
|
-
* checked-out branch and uncommitted-changes count reported by the agent host.
|
|
114
|
-
*
|
|
115
|
-
* The chip only adopts the dirty state when its selected base branch matches
|
|
116
|
-
* the repository's checked-out branch. Picker rows apply the same rule.
|
|
117
|
-
*
|
|
118
|
-
* The state is patched onto the existing nodes rather than routed through
|
|
119
|
-
* `_renderConfigPickers`, which tears the whole chip row down: the host
|
|
120
|
-
* re-probes git whenever it observes a file change, so a flip while the
|
|
121
|
-
* user has the branch dropdown open would otherwise destroy its anchor.
|
|
122
|
-
*/
|
|
123
|
-
private _trackBranchRepositoryState;
|
|
124
|
-
/**
|
|
125
|
-
* Whether the isolation property should render as a checkbox
|
|
126
|
-
* (Worktree on/off) rather than a dropdown. Only on non-phone
|
|
127
|
-
* layouts and only when the schema offers both folder and worktree.
|
|
128
|
-
*/
|
|
129
|
-
protected _shouldRenderIsolationAsCheckbox(schema: SessionConfigPropertySchema): boolean;
|
|
130
|
-
private _renderIsolationCheckbox;
|
|
131
|
-
private _isDevContainerWorktreeEnabled;
|
|
132
|
-
private _applyIsolationValue;
|
|
133
|
-
protected _showPicker(provider: IAgentHostSessionsProvider, sessionId: string, property: string, schema: SessionConfigPropertySchema, trigger: HTMLElement): Promise<void>;
|
|
134
|
-
private _showChanges;
|
|
135
|
-
protected _getRepositoryBranchState(sessionId: string): {
|
|
136
|
-
branchName: string | undefined;
|
|
137
|
-
uncommittedChanges: number | undefined;
|
|
138
|
-
};
|
|
139
|
-
protected _getItems(provider: IAgentHostSessionsProvider, sessionId: string, property: string, schema: SessionConfigPropertySchema, query?: string): Promise<readonly IConfigPickerItem[]>;
|
|
140
|
-
private _fromCompletionItem;
|
|
141
|
-
private _dynamicValueLabelsKey;
|
|
142
|
-
private _cacheDynamicValueLabels;
|
|
143
|
-
/**
|
|
144
|
-
* Drops cached labels for any session other than `sessionId`. Called on
|
|
145
|
-
* every render so the cache tracks whichever session the picker is
|
|
146
|
-
* currently bound to, instead of accumulating entries for every draft
|
|
147
|
-
* session this (potentially long-lived) picker instance has ever shown.
|
|
148
|
-
*/
|
|
149
|
-
private _evictDynamicValueLabelsForOtherSessions;
|
|
150
|
-
private _getLabel;
|
|
151
|
-
protected _getProvider(providerId: string): IAgentHostSessionsProvider | undefined;
|
|
152
|
-
}
|
|
153
|
-
interface IConfigPickerWidget extends IDisposable {
|
|
154
|
-
render(container: HTMLElement): HTMLElement | void;
|
|
155
|
-
focus?(): void;
|
|
156
|
-
showPicker?(anchor: HTMLElement, onHide?: () => void): boolean | void;
|
|
157
|
-
}
|
|
158
|
-
export declare class PickerActionViewItem extends BaseActionViewItem implements IChatInputPickerResponsiveState {
|
|
159
|
-
private readonly _picker;
|
|
160
|
-
private _compact;
|
|
161
|
-
private _focusableElement;
|
|
162
|
-
constructor(_picker: IConfigPickerWidget, disposable?: IDisposable);
|
|
163
|
-
render(container: HTMLElement): void;
|
|
164
|
-
focus(): void;
|
|
165
|
-
isFocused(): boolean;
|
|
166
|
-
blur(): void;
|
|
167
|
-
setFocusable(_focusable: boolean): void;
|
|
168
|
-
private _focusFirstTabStop;
|
|
169
|
-
isCompact(): boolean;
|
|
170
|
-
setCompact(compact: boolean): void;
|
|
171
|
-
show(anchor?: HTMLElement): void;
|
|
172
|
-
dispose(): void;
|
|
173
|
-
}
|
|
174
|
-
export {};
|