@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
|
@@ -0,0 +1,206 @@
|
|
|
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 { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
5
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
|
+
import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
7
|
+
import { remoteSessionToolsWhen, parseCreateRemoteSessionOptions } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/remoteSessions/common/remoteSessions';
|
|
8
|
+
import { IRemoteSessionService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/remoteSessions/common/remoteSessions.service';
|
|
9
|
+
import { assertRemoteSessionCaller } from './remoteSessionSource.js';
|
|
10
|
+
|
|
11
|
+
let ListAgentHostsTool = class ListAgentHostsTool {
|
|
12
|
+
constructor(remoteSessionsService) {
|
|
13
|
+
this.remoteSessionsService = remoteSessionsService;
|
|
14
|
+
}
|
|
15
|
+
getToolData() {
|
|
16
|
+
return {
|
|
17
|
+
id: "vscode_list_agent_hosts",
|
|
18
|
+
toolReferenceName: "list_agent_hosts",
|
|
19
|
+
displayName: ( localize(5592, "List Agent Hosts")),
|
|
20
|
+
userDescription: ( localize(5593, "List connected remote agent hosts and their resources")),
|
|
21
|
+
modelDescription: "List remote agent hosts, status, resources, load, agents/models, and workspaces to inspect capacity or get exact IDs. Only connected hosts with delegation support are usable; null support or missing resources mean unknown, not unsupported or zero. create_remote_session selects a host itself. This tool changes nothing.",
|
|
22
|
+
source: ToolDataSource.Internal,
|
|
23
|
+
icon: Codicon.remote,
|
|
24
|
+
when: remoteSessionToolsWhen,
|
|
25
|
+
runsInWorkspace: false,
|
|
26
|
+
canBeReferencedInPrompt: false,
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: "object",
|
|
29
|
+
properties: {},
|
|
30
|
+
additionalProperties: false
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async prepareToolInvocation(_context, _token) {
|
|
35
|
+
return {
|
|
36
|
+
invocationMessage: ( localize(5594, "Reading remote agent hosts")),
|
|
37
|
+
pastTenseMessage: ( localize(5595, "Read remote agent hosts"))
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async invoke(_invocation, _countTokens, _progress, _token) {
|
|
41
|
+
const hosts = this.remoteSessionsService.listHosts();
|
|
42
|
+
return {
|
|
43
|
+
content: [{
|
|
44
|
+
kind: "text",
|
|
45
|
+
value: JSON.stringify({
|
|
46
|
+
hosts
|
|
47
|
+
})
|
|
48
|
+
}],
|
|
49
|
+
toolResultMessage: ( localize(5596, "Listed {0} remote agent hosts", hosts.length))
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
ListAgentHostsTool = ( __decorate([( __param(0, IRemoteSessionService))], ListAgentHostsTool));
|
|
54
|
+
let CreateRemoteSessionTool = class CreateRemoteSessionTool {
|
|
55
|
+
constructor(remoteSessionsService) {
|
|
56
|
+
this.remoteSessionsService = remoteSessionsService;
|
|
57
|
+
}
|
|
58
|
+
getToolData() {
|
|
59
|
+
return {
|
|
60
|
+
id: "vscode_create_remote_session",
|
|
61
|
+
toolReferenceName: "create_remote_session",
|
|
62
|
+
displayName: ( localize(5597, "Create Remote Session")),
|
|
63
|
+
userDescription: ( localize(5598, "Delegate work to a matching remote agent host")),
|
|
64
|
+
modelDescription: "Start a task on a connected remote agent host; use create_session for same-host work. Requires an Agent Host originating chat. Selects the matching host with the fewest running sessions and pending creations. Omitted workspace creates a workspace-less session; omitted model uses the target default. Workspaces must already exist and be trusted on the target; nothing is cloned, copied, or inherited from the origin. Ask for results or blockers via send_remote_message with session \"origin\"; final answers are not forwarded. Returns on prompt acceptance, not completion; replies arrive as new turns. Keep the coordinating Agents window connected. Normal approval applies. Continue independent work or end your turn; do not sleep or poll for replies. Do not retry an uncertain creation.",
|
|
65
|
+
source: ToolDataSource.Internal,
|
|
66
|
+
icon: Codicon.remote,
|
|
67
|
+
when: remoteSessionToolsWhen,
|
|
68
|
+
runsInWorkspace: false,
|
|
69
|
+
canRequestPreApproval: true,
|
|
70
|
+
canBeReferencedInPrompt: false,
|
|
71
|
+
inputSchema: {
|
|
72
|
+
type: "object",
|
|
73
|
+
additionalProperties: false,
|
|
74
|
+
required: ["prompt"],
|
|
75
|
+
properties: {
|
|
76
|
+
prompt: {
|
|
77
|
+
type: "string",
|
|
78
|
+
minLength: 1
|
|
79
|
+
},
|
|
80
|
+
title: {
|
|
81
|
+
type: "string",
|
|
82
|
+
minLength: 1,
|
|
83
|
+
maxLength: 200
|
|
84
|
+
},
|
|
85
|
+
hostId: {
|
|
86
|
+
type: "string",
|
|
87
|
+
description: "Exact ID from list_agent_hosts; omit for automatic placement."
|
|
88
|
+
},
|
|
89
|
+
model: {
|
|
90
|
+
type: "object",
|
|
91
|
+
additionalProperties: false,
|
|
92
|
+
required: ["provider", "id"],
|
|
93
|
+
description: "Exact provider/model pair from list_agent_hosts; no substitution.",
|
|
94
|
+
properties: {
|
|
95
|
+
provider: {
|
|
96
|
+
type: "string",
|
|
97
|
+
description: "Host-advertised agent provider."
|
|
98
|
+
},
|
|
99
|
+
id: {
|
|
100
|
+
type: "string",
|
|
101
|
+
description: "Provider-native model ID."
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
requirements: {
|
|
106
|
+
type: "object",
|
|
107
|
+
additionalProperties: false,
|
|
108
|
+
properties: {
|
|
109
|
+
platform: {
|
|
110
|
+
type: "string",
|
|
111
|
+
enum: ["windows", "linux", "macos"],
|
|
112
|
+
description: "Execution OS (WSL/Linux containers: linux)."
|
|
113
|
+
},
|
|
114
|
+
minMemoryGiB: {
|
|
115
|
+
type: "number",
|
|
116
|
+
exclusiveMinimum: 0,
|
|
117
|
+
description: "Minimum capacity in GiB, not free memory."
|
|
118
|
+
},
|
|
119
|
+
minCpuCount: {
|
|
120
|
+
type: "integer",
|
|
121
|
+
minimum: 1,
|
|
122
|
+
description: "Minimum logical CPUs."
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
workspace: {
|
|
127
|
+
type: "object",
|
|
128
|
+
additionalProperties: false,
|
|
129
|
+
required: ["uri"],
|
|
130
|
+
properties: {
|
|
131
|
+
uri: {
|
|
132
|
+
type: "string",
|
|
133
|
+
description: "Exact workspace URI from list_agent_hosts (pins its host), or an existing target directory's file URI. Do not guess paths."
|
|
134
|
+
},
|
|
135
|
+
isolation: {
|
|
136
|
+
type: "string",
|
|
137
|
+
enum: ["folder", "worktree"],
|
|
138
|
+
default: "worktree",
|
|
139
|
+
description: "worktree creates a fresh Git worktree; folder edits the directory directly."
|
|
140
|
+
},
|
|
141
|
+
branch: {
|
|
142
|
+
type: "string",
|
|
143
|
+
description: "Target-local base branch; worktree only. Omit for the target default."
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
async prepareToolInvocation(context, _token) {
|
|
152
|
+
const options = parseCreateRemoteSessionOptions(context.parameters);
|
|
153
|
+
if (!context.chatSessionResource) {
|
|
154
|
+
throw ( new Error(( localize(5599, "Remote session creation requires an originating session."))));
|
|
155
|
+
}
|
|
156
|
+
assertRemoteSessionCaller(context.chatSessionResource);
|
|
157
|
+
const message = ( new MarkdownString()).appendText(( localize(
|
|
158
|
+
5600,
|
|
159
|
+
"Start this task on {0}? The host is selected from your connected remote agent hosts using the requested resources and current workload. The new session can send messages back to this chat.",
|
|
160
|
+
options.hostId ?? ( localize(5601, "a matching remote host"))
|
|
161
|
+
)));
|
|
162
|
+
message.appendText(`\n\n${options.prompt}`);
|
|
163
|
+
message.appendText(`\n\n${options.workspace ? ( localize(
|
|
164
|
+
5602,
|
|
165
|
+
"Workspace: {0} ({1})",
|
|
166
|
+
(options.workspace.uri.toString()),
|
|
167
|
+
options.workspace.isolation
|
|
168
|
+
)) : ( localize(5603, "No workspace or files are inherited from this session."))}`);
|
|
169
|
+
if (options.model) {
|
|
170
|
+
message.appendText(`\n\n${( localize(5604, "Model: {0}/{1}", options.model.provider, options.model.id))}`);
|
|
171
|
+
}
|
|
172
|
+
if (options.workspace?.branch) {
|
|
173
|
+
message.appendText(`\n\n${( localize(5605, "Worktree base branch: {0}", options.workspace.branch))}`);
|
|
174
|
+
}
|
|
175
|
+
if (( ( Object.values(options.requirements)).some(value => value !== undefined))) {
|
|
176
|
+
message.appendText(`\n\n${( localize(5606, "Requirements: {0}", JSON.stringify(options.requirements)))}`);
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
invocationMessage: ( localize(5607, "Creating remote session")),
|
|
180
|
+
pastTenseMessage: ( localize(5608, "Created remote session")),
|
|
181
|
+
confirmationMessages: {
|
|
182
|
+
title: ( localize(5609, "Create Remote Session?")),
|
|
183
|
+
message
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
async invoke(invocation, _countTokens, _progress, token) {
|
|
188
|
+
const options = parseCreateRemoteSessionOptions(invocation.parameters);
|
|
189
|
+
const source = invocation.context?.sessionResource;
|
|
190
|
+
if (!source) {
|
|
191
|
+
throw ( new Error(( localize(5599, "Remote session creation requires an originating session."))));
|
|
192
|
+
}
|
|
193
|
+
assertRemoteSessionCaller(source);
|
|
194
|
+
const created = await this.remoteSessionsService.createSession(options, source, invocation.callId, token);
|
|
195
|
+
return {
|
|
196
|
+
content: [{
|
|
197
|
+
kind: "text",
|
|
198
|
+
value: JSON.stringify(created)
|
|
199
|
+
}],
|
|
200
|
+
toolResultMessage: ( new MarkdownString()).appendLink(created.openLink, ( localize(5610, "Created remote session on {0}", created.host.label)))
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
CreateRemoteSessionTool = ( __decorate([( __param(0, IRemoteSessionService))], CreateRemoteSessionTool));
|
|
205
|
+
|
|
206
|
+
export { CreateRemoteSessionTool, ListAgentHostsTool };
|
package/vscode/src/vs/sessions/contrib/remoteSessions/browser/remoteSessions.contribution.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
|
+
import { Extensions, ConfigurationScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
7
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
|
+
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
9
|
+
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
10
|
+
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
11
|
+
import { RemoteSessionToolsEnabledSettingId } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/remoteSessions/common/remoteSessions';
|
|
12
|
+
import './remoteSessionService.js';
|
|
13
|
+
import { ListAgentHostsTool, CreateRemoteSessionTool } from './remoteSessionTools.js';
|
|
14
|
+
import { SendRemoteMessageTool } from './sendRemoteMessageTool.js';
|
|
15
|
+
import { GetRemoteSessionTool } from './getRemoteSessionTool.js';
|
|
16
|
+
import './remoteSessionChatService.js';
|
|
17
|
+
|
|
18
|
+
( Registry.as(Extensions.Configuration)).registerConfiguration({
|
|
19
|
+
id: "chat",
|
|
20
|
+
properties: {
|
|
21
|
+
[RemoteSessionToolsEnabledSettingId]: {
|
|
22
|
+
type: "boolean",
|
|
23
|
+
default: false,
|
|
24
|
+
scope: ConfigurationScope.APPLICATION,
|
|
25
|
+
tags: ["experimental", "advanced"],
|
|
26
|
+
markdownDescription: ( localize(
|
|
27
|
+
5611,
|
|
28
|
+
"Enable built-in tools to discover remote agent hosts, create and inspect remote sessions, and send messages between sessions in the Agents window. Requires {0}. Disabling this setting does not disconnect hosts or stop sessions already running.",
|
|
29
|
+
"`#chat.remoteAgentHostsEnabled#`"
|
|
30
|
+
)),
|
|
31
|
+
experiment: {
|
|
32
|
+
mode: "auto"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
let RemoteSessionToolsContribution = class RemoteSessionToolsContribution extends Disposable {
|
|
38
|
+
static {
|
|
39
|
+
this.ID = "workbench.contrib.remoteSessionTools";
|
|
40
|
+
}
|
|
41
|
+
constructor(instantiationService, toolsService) {
|
|
42
|
+
super();
|
|
43
|
+
const list = instantiationService.createInstance(ListAgentHostsTool);
|
|
44
|
+
const create = instantiationService.createInstance(CreateRemoteSessionTool);
|
|
45
|
+
const message = instantiationService.createInstance(SendRemoteMessageTool);
|
|
46
|
+
const inspect = instantiationService.createInstance(GetRemoteSessionTool);
|
|
47
|
+
this._register(toolsService.registerTool(list.getToolData(), list));
|
|
48
|
+
this._register(toolsService.registerTool(create.getToolData(), create));
|
|
49
|
+
this._register(toolsService.registerTool(message.getToolData(), message));
|
|
50
|
+
this._register(toolsService.registerTool(inspect.getToolData(), inspect));
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
RemoteSessionToolsContribution = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, ILanguageModelToolsService))], RemoteSessionToolsContribution));
|
|
54
|
+
registerWorkbenchContribution2(
|
|
55
|
+
RemoteSessionToolsContribution.ID,
|
|
56
|
+
RemoteSessionToolsContribution,
|
|
57
|
+
WorkbenchPhase.Eventually
|
|
58
|
+
);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
3
|
+
import { CountTokensCallback, IPreparedToolInvocation, IToolData, IToolImpl, IToolInvocation, IToolInvocationPreparationContext, IToolResult, ToolProgress } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
|
|
4
|
+
export declare class SendRemoteMessageTool implements IToolImpl {
|
|
5
|
+
private readonly router;
|
|
6
|
+
constructor(instantiationService: IInstantiationService);
|
|
7
|
+
getToolData(): IToolData;
|
|
8
|
+
prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation>;
|
|
9
|
+
invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
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 { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
5
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
|
+
import { SendRemoteMessageToolReferenceName } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/meta/vscode/agentRemoteSessionMeta';
|
|
7
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
|
+
import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
9
|
+
import { RemoteSessionMessageRouter, maxRemoteMessageLength, parseSendRemoteMessageOptions } from './remoteSessionMessageRouter.js';
|
|
10
|
+
import { assertRemoteSessionCaller } from './remoteSessionSource.js';
|
|
11
|
+
import { remoteSessionToolsWhen } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/remoteSessions/common/remoteSessions';
|
|
12
|
+
|
|
13
|
+
let SendRemoteMessageTool = class SendRemoteMessageTool {
|
|
14
|
+
constructor(instantiationService) {
|
|
15
|
+
this.router = instantiationService.createInstance(RemoteSessionMessageRouter);
|
|
16
|
+
}
|
|
17
|
+
getToolData() {
|
|
18
|
+
return {
|
|
19
|
+
id: "vscode_send_remote_message",
|
|
20
|
+
toolReferenceName: SendRemoteMessageToolReferenceName,
|
|
21
|
+
displayName: ( localize(5612, "Send Remote Message")),
|
|
22
|
+
userDescription: ( localize(5613, "Send a message to a session on a connected agent host")),
|
|
23
|
+
modelDescription: "Send a message to a known remote session/chat, or reply to the exact originating chat with session \"origin\". Use send_message for ordinary same-host messaging. Requires an Agent Host originating chat and a target connected to this Agents window. Starts an agent-authored turn with the target chat's existing permissions/configuration, or joins its FIFO queue. Returns delivery status, never a response. When assigning work, request a reply; final answers are not forwarded. Normal approval applies. Only claim delivery after \"sent\" or \"queued\"; report failures here. Do not retry uncertain delivery or acknowledge messages with no new task or question. Continue independent work or end your turn; do not sleep or poll for replies.",
|
|
24
|
+
source: ToolDataSource.Internal,
|
|
25
|
+
icon: Codicon.send,
|
|
26
|
+
when: remoteSessionToolsWhen,
|
|
27
|
+
runsInWorkspace: false,
|
|
28
|
+
canRequestPreApproval: true,
|
|
29
|
+
canBeReferencedInPrompt: false,
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: "object",
|
|
32
|
+
additionalProperties: false,
|
|
33
|
+
required: ["session", "message"],
|
|
34
|
+
properties: {
|
|
35
|
+
session: {
|
|
36
|
+
type: "string",
|
|
37
|
+
minLength: 1,
|
|
38
|
+
description: "\"origin\", or an exact host-qualified session/chat URI or openLink from the remote tools. No bare IDs."
|
|
39
|
+
},
|
|
40
|
+
message: {
|
|
41
|
+
type: "string",
|
|
42
|
+
minLength: 1,
|
|
43
|
+
maxLength: maxRemoteMessageLength
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async prepareToolInvocation(context, token) {
|
|
50
|
+
const options = parseSendRemoteMessageOptions(context.parameters);
|
|
51
|
+
if (!context.chatSessionResource) {
|
|
52
|
+
throw ( new Error(( localize(5614, "Remote messaging requires an originating chat."))));
|
|
53
|
+
}
|
|
54
|
+
assertRemoteSessionCaller(context.chatSessionResource);
|
|
55
|
+
const target = await this.router.prepareTarget(context.chatSessionResource, options.session, token);
|
|
56
|
+
const message = ( new MarkdownString()).appendText(( localize(
|
|
57
|
+
5615,
|
|
58
|
+
"Send this message to {0} on {1}? It will use the target chat's existing permissions and queue behind any active or pending turns.",
|
|
59
|
+
target.chat,
|
|
60
|
+
target.host.label
|
|
61
|
+
)));
|
|
62
|
+
message.appendText(`\n\n${options.message}`);
|
|
63
|
+
return {
|
|
64
|
+
invocationMessage: ( localize(5616, "Sending a remote message")),
|
|
65
|
+
pastTenseMessage: ( localize(5617, "Processed a remote message")),
|
|
66
|
+
confirmationMessages: {
|
|
67
|
+
title: ( localize(5618, "Send Remote Message")),
|
|
68
|
+
message
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
async invoke(invocation, _countTokens, _progress, token) {
|
|
73
|
+
const options = parseSendRemoteMessageOptions(invocation.parameters);
|
|
74
|
+
if (!invocation.context?.sessionResource) {
|
|
75
|
+
throw ( new Error(( localize(5614, "Remote messaging requires an originating chat."))));
|
|
76
|
+
}
|
|
77
|
+
assertRemoteSessionCaller(invocation.context.sessionResource);
|
|
78
|
+
const result = await this.router.send(invocation.context.sessionResource, options, invocation.callId, token);
|
|
79
|
+
return {
|
|
80
|
+
content: [{
|
|
81
|
+
kind: "text",
|
|
82
|
+
value: JSON.stringify(result)
|
|
83
|
+
}],
|
|
84
|
+
toolResultMessage: result.status === "queued" ? ( localize(5619, "Queued a message on {0}", result.host.label)) : ( localize(5620, "Sent a message on {0}", result.host.label))
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
SendRemoteMessageTool = ( __decorate([( __param(0, IInstantiationService))], SendRemoteMessageTool));
|
|
89
|
+
|
|
90
|
+
export { SendRemoteMessageTool };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ChatState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState";
|
|
2
|
+
export declare const maxRemoteSessionResponseLength: number;
|
|
3
|
+
interface IRemoteSessionInspectionTarget {
|
|
4
|
+
readonly session: string;
|
|
5
|
+
readonly chat: string;
|
|
6
|
+
readonly openLink: string;
|
|
7
|
+
readonly host: {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly label: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
interface IRemoteSessionTurnSnapshot {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly status: "running" | "completed" | "cancelled" | "failed";
|
|
15
|
+
readonly response: string;
|
|
16
|
+
readonly error: {
|
|
17
|
+
readonly type: string;
|
|
18
|
+
readonly message: string;
|
|
19
|
+
readonly resumable: boolean;
|
|
20
|
+
} | null;
|
|
21
|
+
readonly truncated: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface IRemoteSessionSnapshot {
|
|
24
|
+
readonly status: IRemoteSessionTurnSnapshot["status"] | "idle" | "queued" | "needsInput";
|
|
25
|
+
readonly title: string;
|
|
26
|
+
readonly queuedMessages: number;
|
|
27
|
+
readonly hasSteeringMessage: boolean;
|
|
28
|
+
readonly latestTurn: IRemoteSessionTurnSnapshot | null;
|
|
29
|
+
}
|
|
30
|
+
export type IRemoteSessionInspectionResult = IRemoteSessionInspectionTarget & (IRemoteSessionSnapshot | {
|
|
31
|
+
readonly status: "unavailable";
|
|
32
|
+
readonly reason: string;
|
|
33
|
+
});
|
|
34
|
+
export declare function parseGetRemoteSessionOptions(value: unknown): {
|
|
35
|
+
readonly session: string;
|
|
36
|
+
};
|
|
37
|
+
export declare function remoteSessionSnapshot(chat: ChatState): IRemoteSessionSnapshot;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
|
|
2
|
+
import { isObject } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { getErrorResponsePart } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
|
|
5
|
+
import { TurnState, ResponsePartKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-chat/state';
|
|
6
|
+
import { SessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
|
|
7
|
+
|
|
8
|
+
const maxRemoteSessionResponseLength = 16 * 1024;
|
|
9
|
+
function parseGetRemoteSessionOptions(value) {
|
|
10
|
+
const input = isObject(value) ? value : undefined;
|
|
11
|
+
if (!input || typeof input.session !== "string" || !input.session.trim() || ( ( Object.keys(input)).some(key => key !== "session"))) {
|
|
12
|
+
throw ( new Error(( localize(
|
|
13
|
+
5621,
|
|
14
|
+
"Provide an exact session or chat reference returned by the remote session tools."
|
|
15
|
+
))));
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
session: input.session.trim()
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function remoteSessionSnapshot(chat) {
|
|
22
|
+
const turn = chat.activeTurn ?? chat.turns.at(-1);
|
|
23
|
+
const completed = chat.activeTurn ? undefined : chat.turns.at(-1);
|
|
24
|
+
const turnStatus = !completed ? "running" : completed.state === TurnState.Error ? "failed" : completed.state === TurnState.Cancelled ? "cancelled" : "completed";
|
|
25
|
+
let response = "";
|
|
26
|
+
for (const part of turn?.responseParts ?? []) {
|
|
27
|
+
if (part.kind === ResponsePartKind.Markdown) {
|
|
28
|
+
response += part.content.slice(0, maxRemoteSessionResponseLength + 1 - response.length);
|
|
29
|
+
if (response.length > maxRemoteSessionResponseLength) {
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const errorPart = getErrorResponsePart(turn);
|
|
35
|
+
const errorMessage = errorPart?.error.message ?? "";
|
|
36
|
+
const queuedMessages = chat.queuedMessages?.length ?? 0;
|
|
37
|
+
const hasSteeringMessage = chat.steeringMessage !== undefined;
|
|
38
|
+
const status = (chat.status & SessionStatus.InputNeeded) === SessionStatus.InputNeeded ? "needsInput" : chat.activeTurn || (chat.status & SessionStatus.InProgress) !== 0 ? "running" : turnStatus === "failed" || (chat.status & SessionStatus.Error) !== 0 ? "failed" : queuedMessages || hasSteeringMessage ? "queued" : completed ? turnStatus : "idle";
|
|
39
|
+
return {
|
|
40
|
+
status,
|
|
41
|
+
title: chat.title,
|
|
42
|
+
queuedMessages,
|
|
43
|
+
hasSteeringMessage,
|
|
44
|
+
latestTurn: turn ? {
|
|
45
|
+
id: turn.id,
|
|
46
|
+
status: turnStatus,
|
|
47
|
+
response: response.slice(0, maxRemoteSessionResponseLength),
|
|
48
|
+
error: errorPart ? {
|
|
49
|
+
type: errorPart.error.errorType,
|
|
50
|
+
message: errorMessage.slice(0, maxRemoteSessionResponseLength),
|
|
51
|
+
resumable: errorPart.resumable === true
|
|
52
|
+
} : null,
|
|
53
|
+
truncated: response.length > maxRemoteSessionResponseLength || errorMessage.length > maxRemoteSessionResponseLength
|
|
54
|
+
} : null
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { maxRemoteSessionResponseLength, parseGetRemoteSessionOptions, remoteSessionSnapshot };
|
|
@@ -10,11 +10,10 @@ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
10
10
|
import { KeybindingsRegistry, KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
11
11
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
12
12
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
13
|
-
import { ExplorerFolderContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/common/files';
|
|
13
|
+
import { SESSIONS_FILES_VIEW_ID, ExplorerFolderContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/common/files';
|
|
14
14
|
import { IExplorerService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/browser/files.service';
|
|
15
15
|
import { OpenEditorCommandId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/searchEditor/browser/constants';
|
|
16
16
|
import { resolveResourcesForSearchIncludes } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/queryBuilder';
|
|
17
|
-
import { SESSIONS_FILES_VIEW_ID } from '../../files/browser/filesView.js';
|
|
18
17
|
|
|
19
18
|
KeybindingsRegistry.registerKeybindingRule({
|
|
20
19
|
id: OpenEditorCommandId,
|
|
@@ -24,7 +23,7 @@ KeybindingsRegistry.registerKeybindingRule({
|
|
|
24
23
|
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
|
|
25
24
|
command: {
|
|
26
25
|
id: OpenEditorCommandId,
|
|
27
|
-
title: ( localize2(
|
|
26
|
+
title: ( localize2(5645, "Search")),
|
|
28
27
|
icon: Codicon.search
|
|
29
28
|
},
|
|
30
29
|
group: "1_files",
|
|
@@ -34,7 +33,7 @@ MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
|
|
|
34
33
|
MenuRegistry.appendMenuItem(MenuId.MenubarViewMenu, {
|
|
35
34
|
command: {
|
|
36
35
|
id: OpenEditorCommandId,
|
|
37
|
-
title: ( localize(
|
|
36
|
+
title: ( localize(5646, "&&Search"))
|
|
38
37
|
},
|
|
39
38
|
group: "4_auxbar",
|
|
40
39
|
order: 1
|
|
@@ -43,7 +42,7 @@ registerAction2(class extends Action2 {
|
|
|
43
42
|
constructor() {
|
|
44
43
|
super({
|
|
45
44
|
id: "sessions.files.action.findInFolder",
|
|
46
|
-
title: ( localize2(
|
|
45
|
+
title: ( localize2(5647, "Find in Folder...")),
|
|
47
46
|
menu: {
|
|
48
47
|
id: MenuId.ExplorerContext,
|
|
49
48
|
group: "4_search",
|
package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js
CHANGED
|
@@ -30,7 +30,7 @@ class SearchEditorEmptyStateContribution extends Disposable {
|
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
32
|
const container = $(".sessions-search-empty-state");
|
|
33
|
-
renderSessionsEmptyState(container, ( localize(
|
|
33
|
+
renderSessionsEmptyState(container, ( localize(5648, "Search")), ( localize(5649, "Search for text in your files")));
|
|
34
34
|
reader.store.add(editorObservable.createOverlayWidget({
|
|
35
35
|
domNode: container,
|
|
36
36
|
position: constObservable(null),
|
package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/vscode/src/vs/sessions/contrib/sessionComparison/browser/sessionComparison.contribution.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
|
+
import { registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
4
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
5
|
+
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
6
|
+
import { OPEN_SESSION_COMPARISON_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessionComparison/common/sessionComparison';
|
|
7
|
+
import { SessionComparisonToolContribution } from './sessionComparisonTool.js';
|
|
8
|
+
import { SessionComparisonGridController } from './sessionComparisonGridController.js';
|
|
9
|
+
import './sessionComparisonViewService.js';
|
|
10
|
+
import { ISessionComparisonViewService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessionComparison/browser/sessionComparisonViewService.service';
|
|
11
|
+
|
|
12
|
+
registerWorkbenchContribution2(
|
|
13
|
+
SessionComparisonToolContribution.ID,
|
|
14
|
+
SessionComparisonToolContribution,
|
|
15
|
+
WorkbenchPhase.Eventually
|
|
16
|
+
);
|
|
17
|
+
registerWorkbenchContribution2(
|
|
18
|
+
SessionComparisonGridController.ID,
|
|
19
|
+
SessionComparisonGridController,
|
|
20
|
+
WorkbenchPhase.Eventually
|
|
21
|
+
);
|
|
22
|
+
registerAction2(class extends Action2 {
|
|
23
|
+
constructor() {
|
|
24
|
+
super({
|
|
25
|
+
id: OPEN_SESSION_COMPARISON_COMMAND_ID,
|
|
26
|
+
title: ( localize2(5650, "Open Attempt Comparison")),
|
|
27
|
+
f1: false
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async run(accessor, comparisonId) {
|
|
31
|
+
await accessor.get(ISessionComparisonViewService).open(comparisonId);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service";
|
|
3
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
4
|
+
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
5
|
+
import { IAgentWorkbenchLayoutService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service";
|
|
6
|
+
import { ISessionsPartService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsPartService.service";
|
|
7
|
+
import { ISessionsService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service";
|
|
8
|
+
import { ISessionComparisonService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionComparison.service";
|
|
9
|
+
export declare class SessionComparisonGridController extends Disposable implements IWorkbenchContribution {
|
|
10
|
+
private readonly sessionsService;
|
|
11
|
+
private readonly comparisonService;
|
|
12
|
+
private readonly layoutService;
|
|
13
|
+
static readonly ID = "workbench.contrib.sessionComparisonGridController";
|
|
14
|
+
private _comparisonGridActive;
|
|
15
|
+
private _isolatedJudgeSessionId;
|
|
16
|
+
private _keepSidePaneHidden;
|
|
17
|
+
private _pendingJudgeIsolationSessionId;
|
|
18
|
+
private readonly _partsHiddenByController;
|
|
19
|
+
constructor(sessionsPartService: ISessionsPartService, sessionsService: ISessionsService, comparisonService: ISessionComparisonService, layoutService: IAgentWorkbenchLayoutService, configurationService: IConfigurationService, accessibilityService: IAccessibilityService);
|
|
20
|
+
private _onDidFocusSession;
|
|
21
|
+
private _scheduleJudgeIsolation;
|
|
22
|
+
private _isolateJudge;
|
|
23
|
+
private _isComparisonGrid;
|
|
24
|
+
private _isAttemptComparisonGrid;
|
|
25
|
+
private _getJudgeSessionId;
|
|
26
|
+
private _getComparisonForVisibleSessions;
|
|
27
|
+
private _setSidePaneSuppressed;
|
|
28
|
+
private _hideSidePane;
|
|
29
|
+
private _restoreSidePane;
|
|
30
|
+
}
|