@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
|
@@ -15,6 +15,7 @@ import { ChatConfiguration, ChatNotificationMode } from '@codingame/monaco-vscod
|
|
|
15
15
|
import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
|
|
16
16
|
import { ISessionsService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/browser/sessionsService.service';
|
|
17
17
|
import { SessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
18
|
+
import { ISessionComparisonService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionComparison.service';
|
|
18
19
|
import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
|
|
19
20
|
import { autorunDelta } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
20
21
|
|
|
@@ -28,7 +29,8 @@ let SessionsWindowNotifier = class SessionsWindowNotifier extends Disposable {
|
|
|
28
29
|
_hostService,
|
|
29
30
|
_configurationService,
|
|
30
31
|
_chatService,
|
|
31
|
-
_chatWidgetService
|
|
32
|
+
_chatWidgetService,
|
|
33
|
+
_sessionComparisonService
|
|
32
34
|
) {
|
|
33
35
|
super();
|
|
34
36
|
this._sessionsManagementService = _sessionsManagementService;
|
|
@@ -37,6 +39,7 @@ let SessionsWindowNotifier = class SessionsWindowNotifier extends Disposable {
|
|
|
37
39
|
this._configurationService = _configurationService;
|
|
38
40
|
this._chatService = _chatService;
|
|
39
41
|
this._chatWidgetService = _chatWidgetService;
|
|
42
|
+
this._sessionComparisonService = _sessionComparisonService;
|
|
40
43
|
this._statusListeners = this._register(( new DisposableMap()));
|
|
41
44
|
this._activeNotifications = this._register(( new DisposableResourceMap()));
|
|
42
45
|
for (const session of this._sessionsManagementService.getSessions()) {
|
|
@@ -89,19 +92,21 @@ let SessionsWindowNotifier = class SessionsWindowNotifier extends Disposable {
|
|
|
89
92
|
if (session.status.get() !== status) {
|
|
90
93
|
return;
|
|
91
94
|
}
|
|
92
|
-
if (this._chatService.getSession(session.resource) || this._chatWidgetService.getWidgetBySessionResource(session.resource)) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
95
|
const setting = status === SessionStatus.NeedsInput ? ChatConfiguration.NotifyWindowOnConfirmation : ChatConfiguration.NotifyWindowOnResponseReceived;
|
|
96
96
|
const mode = this._configurationService.getValue(setting);
|
|
97
|
-
|
|
97
|
+
const notifyForInactivePane = this._shouldNotifyForInactivePane(session, status, mode);
|
|
98
|
+
if (this._isCoveredByChatNotifier(session, status) && !notifyForInactivePane) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (mode === ChatNotificationMode.Off || (mode !== ChatNotificationMode.Always && this._hostService.hasFocus && !notifyForInactivePane)) {
|
|
98
102
|
return;
|
|
99
103
|
}
|
|
100
104
|
const cts = ( new CancellationTokenSource());
|
|
101
105
|
this._activeNotifications.set(session.resource, toDisposable(() => cts.dispose(true)));
|
|
102
106
|
try {
|
|
103
107
|
await timeout(this._getBackgroundNotificationDelay());
|
|
104
|
-
|
|
108
|
+
const notifyForInactivePane = this._shouldNotifyForInactivePane(session, status, mode);
|
|
109
|
+
if (cts.token.isCancellationRequested || session.status.get() !== status || this._isCoveredByChatNotifier(session, status) && !notifyForInactivePane || mode !== ChatNotificationMode.Always && this._hostService.hasFocus && !notifyForInactivePane) {
|
|
105
110
|
return;
|
|
106
111
|
}
|
|
107
112
|
if (!this._hostService.hasFocus) {
|
|
@@ -113,9 +118,9 @@ let SessionsWindowNotifier = class SessionsWindowNotifier extends Disposable {
|
|
|
113
118
|
return;
|
|
114
119
|
}
|
|
115
120
|
const result = await this._hostService.showToast({
|
|
116
|
-
title: this._sanitizeOSToastText(( localize(
|
|
121
|
+
title: this._sanitizeOSToastText(( localize(5889, "Session: {0}", session.title.get()))),
|
|
117
122
|
body: this._sanitizeOSToastText(this._getNotificationBody(session, status)),
|
|
118
|
-
actions: [( localize(
|
|
123
|
+
actions: [( localize(5890, "Open Session"))],
|
|
119
124
|
dedupeKey: getChatNotificationDedupeKey(
|
|
120
125
|
session.resource,
|
|
121
126
|
status === SessionStatus.NeedsInput ? ChatNotificationKind.NeedsInput : ChatNotificationKind.Idle
|
|
@@ -135,15 +140,31 @@ let SessionsWindowNotifier = class SessionsWindowNotifier extends Disposable {
|
|
|
135
140
|
}
|
|
136
141
|
}
|
|
137
142
|
}
|
|
143
|
+
_isCoveredByChatNotifier(session, status) {
|
|
144
|
+
const model = this._chatService.getSession(session.resource);
|
|
145
|
+
if (status === SessionStatus.NeedsInput) {
|
|
146
|
+
return !!model?.requestNeedsInput.get();
|
|
147
|
+
}
|
|
148
|
+
return !!model || !!this._chatWidgetService.getWidgetBySessionResource(session.resource);
|
|
149
|
+
}
|
|
150
|
+
_shouldNotifyForInactivePane(session, status, mode) {
|
|
151
|
+
if (status !== SessionStatus.NeedsInput || mode !== ChatNotificationMode.WindowNotFocused || !this._hostService.hasFocus) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
const visibleSessions = this._sessionsService.visibleSessions.get();
|
|
155
|
+
const activeSession = this._sessionsService.activeSession.get();
|
|
156
|
+
const comparison = this._sessionComparisonService.getComparisonForSession(session.resource);
|
|
157
|
+
return visibleSessions.length > 1 && ( visibleSessions.some(candidate => candidate?.sessionId === session.sessionId)) && activeSession?.sessionId !== session.sessionId && !!comparison && comparison.archivedAt === undefined && !!activeSession && this._sessionComparisonService.getComparisonForSession(activeSession.resource)?.id === comparison.id;
|
|
158
|
+
}
|
|
138
159
|
_getNotificationBody(session, status) {
|
|
139
160
|
const workspaceLabel = session.workspace.get()?.label;
|
|
140
161
|
switch (status) {
|
|
141
162
|
case SessionStatus.NeedsInput:
|
|
142
|
-
return workspaceLabel ? ( localize(
|
|
163
|
+
return workspaceLabel ? ( localize(5891, "Attention needed in {0}.", workspaceLabel)) : ( localize(5892, "Attention needed."));
|
|
143
164
|
case SessionStatus.Completed:
|
|
144
|
-
return workspaceLabel ? ( localize(
|
|
165
|
+
return workspaceLabel ? ( localize(5893, "Completed in {0}.", workspaceLabel)) : ( localize(5894, "Session completed."));
|
|
145
166
|
case SessionStatus.Error:
|
|
146
|
-
return workspaceLabel ? ( localize(
|
|
167
|
+
return workspaceLabel ? ( localize(5895, "Failed in {0}.", workspaceLabel)) : ( localize(5896, "Session failed."));
|
|
147
168
|
default:
|
|
148
169
|
return "";
|
|
149
170
|
}
|
|
@@ -155,6 +176,6 @@ let SessionsWindowNotifier = class SessionsWindowNotifier extends Disposable {
|
|
|
155
176
|
this._activeNotifications.deleteAndDispose(session.resource);
|
|
156
177
|
}
|
|
157
178
|
};
|
|
158
|
-
SessionsWindowNotifier = ( __decorate([( __param(0, ISessionsManagementService)), ( __param(1, ISessionsService)), ( __param(2, IHostService)), ( __param(3, IConfigurationService)), ( __param(4, IChatService)), ( __param(5, IChatWidgetService))], SessionsWindowNotifier));
|
|
179
|
+
SessionsWindowNotifier = ( __decorate([( __param(0, ISessionsManagementService)), ( __param(1, ISessionsService)), ( __param(2, IHostService)), ( __param(3, IConfigurationService)), ( __param(4, IChatService)), ( __param(5, IChatWidgetService)), ( __param(6, ISessionComparisonService))], SessionsWindowNotifier));
|
|
159
180
|
|
|
160
181
|
export { SessionsWindowNotifier };
|
package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { IAutomationProviderDescriptor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automationService";
|
|
2
|
+
export declare function getUnavailableAutomationsReasons(unavailableProviders: readonly IAutomationProviderDescriptor[]): string[];
|
|
3
|
+
export declare function formatUnavailableAutomationsMessage(unavailableProviders: readonly IAutomationProviderDescriptor[]): string;
|
package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationCataloguePresentation.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
|
|
2
|
+
import { groupByMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/collections';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
|
|
5
|
+
function getUnavailableAutomationsReasons(unavailableProviders) {
|
|
6
|
+
const reasons = [];
|
|
7
|
+
const groups = groupByMap(
|
|
8
|
+
[...unavailableProviders],
|
|
9
|
+
provider => provider.unavailableReasonCode !== undefined ? `code:${provider.unavailableReasonCode}` : provider.unavailableReason !== undefined ? `text:${provider.unavailableReason}` : "none"
|
|
10
|
+
);
|
|
11
|
+
for (const providers of ( groups.values())) {
|
|
12
|
+
const labels = providers.map(provider => provider.label).join(", ");
|
|
13
|
+
switch (providers[0].unavailableReasonCode) {
|
|
14
|
+
case "disconnected":
|
|
15
|
+
reasons.push(( localize(5897, "The agent host is disconnected on {0}.", labels)));
|
|
16
|
+
break;
|
|
17
|
+
case "initializing":
|
|
18
|
+
reasons.push(( localize(5898, "The agent host is still connecting on {0}.", labels)));
|
|
19
|
+
break;
|
|
20
|
+
case "disabled":
|
|
21
|
+
reasons.push(( localize(5899, "Automations are disabled on {0}.", labels)));
|
|
22
|
+
break;
|
|
23
|
+
case "unsupported":
|
|
24
|
+
reasons.push(( localize(5900, "Automations are not supported on {0}.", labels)));
|
|
25
|
+
break;
|
|
26
|
+
case "incompatible":
|
|
27
|
+
reasons.push(( localize(
|
|
28
|
+
5901,
|
|
29
|
+
"The agent host needs to be updated to use automations on {0}.",
|
|
30
|
+
labels
|
|
31
|
+
)));
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
reasons.push(providers[0].unavailableReason !== undefined ? ( localize(
|
|
35
|
+
5902,
|
|
36
|
+
"Automations are unavailable on {0}. {1}",
|
|
37
|
+
labels,
|
|
38
|
+
providers[0].unavailableReason
|
|
39
|
+
)) : ( localize(5903, "Automations are unavailable on {0}.", labels)));
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return reasons;
|
|
44
|
+
}
|
|
45
|
+
function formatUnavailableAutomationsMessage(unavailableProviders) {
|
|
46
|
+
const reasons = getUnavailableAutomationsReasons(unavailableProviders);
|
|
47
|
+
if (reasons.length === 1) {
|
|
48
|
+
return reasons[0];
|
|
49
|
+
}
|
|
50
|
+
return reasons.length > 0 ? reasons.map(reason => `- ${reason}`).join("\n") : ( localize(5904, "Some automations are unavailable."));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { formatUnavailableAutomationsMessage, getUnavailableAutomationsReasons };
|
|
@@ -4,10 +4,10 @@ import { isContributionEnabled } from '@codingame/monaco-vscode-api/vscode/vs/wo
|
|
|
4
4
|
|
|
5
5
|
const AUTOMATION_TEMPLATES = [{
|
|
6
6
|
id: "main-updates",
|
|
7
|
-
name: ( localize(
|
|
8
|
-
description: ( localize(
|
|
7
|
+
name: ( localize(5905, "Catch up on main")),
|
|
8
|
+
description: ( localize(5906, "Pull the latest main and summarize new commits.")),
|
|
9
9
|
prompt: ( localize(
|
|
10
|
-
|
|
10
|
+
5907,
|
|
11
11
|
"Pull the latest main and summarize the commits that were pulled.\n\nInspect this repository's current branch, working tree, and configured remotes. Resolve the remote for main from the repository configuration rather than assuming origin. Record HEAD, then pull that remote's main into the current checkout using --ff-only. Proceed only with a clean working tree and a fast-forward update. If the remote is ambiguous, main is missing, or the update is blocked, stop and explain why. Do not switch branches, stash or discard local changes, rebase, or force an update.\n\nCompare the starting and ending HEAD and summarize only newly pulled commits, grouped by theme. Highlight user-visible changes, bug fixes, breaking changes, and follow-up actions. Include commit links and related pull requests when available. If no commits were pulled, say so."
|
|
12
12
|
)),
|
|
13
13
|
schedule: {
|
|
@@ -18,10 +18,10 @@ const AUTOMATION_TEMPLATES = [{
|
|
|
18
18
|
}
|
|
19
19
|
}, {
|
|
20
20
|
id: "issue-triage",
|
|
21
|
-
name: ( localize(
|
|
22
|
-
description: ( localize(
|
|
21
|
+
name: ( localize(5908, "Issue triage")),
|
|
22
|
+
description: ( localize(5909, "Triage my GitHub repositories' issues using their precedents.")),
|
|
23
23
|
prompt: ( localize(
|
|
24
|
-
|
|
24
|
+
5910,
|
|
25
25
|
"Triage my GitHub repositories' issues using existing repository precedents.\n\nUse the authenticated GitHub account to find my repositories, prioritizing active repositories and new or untriaged issues. For each repository, read its contribution guidelines, issue templates, existing labels, and comparable issues with maintainer decisions. Learn each repository's conventions separately before making recommendations.\n\nProduce a report grouped by repository. Link to each issue, recommend existing labels, identify likely duplicates, and draft a reply when useful. Cite prior issues, pull requests, or maintainer comments supporting each recommendation. Flag uncertainty or missing precedent rather than inventing a rule. Do not apply labels, post comments, close issues, or make other GitHub changes. State which repositories and issues were reviewed and any access limitations."
|
|
26
26
|
)),
|
|
27
27
|
schedule: {
|
|
@@ -32,10 +32,10 @@ const AUTOMATION_TEMPLATES = [{
|
|
|
32
32
|
}
|
|
33
33
|
}, {
|
|
34
34
|
id: "find-bugs",
|
|
35
|
-
name: ( localize(
|
|
36
|
-
description: ( localize(
|
|
35
|
+
name: ( localize(5911, "Find bugs")),
|
|
36
|
+
description: ( localize(5912, "Explore the codebase and report verified, reproducible bugs.")),
|
|
37
37
|
prompt: ( localize(
|
|
38
|
-
|
|
38
|
+
5913,
|
|
39
39
|
"Explore this codebase and find concrete, reproducible bugs.\n\nRead the repository guidance and understand the architecture before choosing a focused area to investigate, such as recent changes, complex state transitions, or error handling. Trace suspected problems through callers and existing tests. Use the smallest relevant tests or a minimal reproduction to verify behavior, and distinguish confirmed bugs from hypotheses. Avoid style-only suggestions and speculative findings.\n\nReport high-confidence, actionable bugs with severity, file and line references, a triggering scenario, expected versus actual behavior, and supporting test or reproduction results. Suggest a focused fix for each finding without modifying repository files or committing changes. State what you explored, any validation limitations, and when no confirmed bugs were found."
|
|
40
40
|
)),
|
|
41
41
|
schedule: {
|
|
@@ -57,7 +57,7 @@ function readAutomationTemplates(plugins, reader) {
|
|
|
57
57
|
templates.push({
|
|
58
58
|
id: `${( plugin.uri.toString())}#automation=${automation.blueprint.id}`,
|
|
59
59
|
name: automation.blueprint.name,
|
|
60
|
-
description: automation.blueprint.description ?? ( localize(
|
|
60
|
+
description: automation.blueprint.description ?? ( localize(5914, "Provided by {0}.", plugin.label)),
|
|
61
61
|
prompt: automation.blueprint.prompt,
|
|
62
62
|
schedule: automation.blueprint.schedule,
|
|
63
63
|
source: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IAutomationDescriptor, IAutomationRun } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automation";
|
|
2
|
-
import { AutomationCatalogueState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automationService";
|
|
2
|
+
import { AutomationCatalogueState, type IAutomationProviderDescriptor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automationService";
|
|
3
3
|
import { IAutomationTemplate } from "./automationTemplates.js";
|
|
4
|
-
export declare function buildAutomationsAccessibleContent(automations: readonly IAutomationDescriptor[], runs: readonly IAutomationRun[], catalogueState: AutomationCatalogueState, templates?: readonly IAutomationTemplate[]): string;
|
|
4
|
+
export declare function buildAutomationsAccessibleContent(automations: readonly IAutomationDescriptor[], runs: readonly IAutomationRun[], catalogueState: AutomationCatalogueState, templates?: readonly IAutomationTemplate[], unavailableProviders?: readonly IAutomationProviderDescriptor[], historyState?: AutomationCatalogueState): string;
|
|
@@ -5,13 +5,14 @@ import { AccessibleViewType, AccessibleContentProvider, AccessibleViewProviderId
|
|
|
5
5
|
import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
|
|
6
6
|
import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
7
7
|
import { IAutomationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automationService.service';
|
|
8
|
-
import { DAYS_OF_WEEK } from '
|
|
8
|
+
import { automationScheduleToLocal, DAYS_OF_WEEK } from '../../../../../workbench/contrib/chat/common/automations/schedule.js';
|
|
9
9
|
import { IAgentPluginService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service';
|
|
10
10
|
import { Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
|
|
11
11
|
import { IAgentWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service';
|
|
12
12
|
import { AutomationsCustomViewFocusContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
|
|
13
13
|
import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service';
|
|
14
14
|
import { readAutomationTemplates } from './automationTemplates.js';
|
|
15
|
+
import { formatUnavailableAutomationsMessage } from './automationCataloguePresentation.js';
|
|
15
16
|
|
|
16
17
|
class AutomationsCustomViewAccessibilityHelp {
|
|
17
18
|
constructor() {
|
|
@@ -30,32 +31,49 @@ class AutomationsCustomViewAccessibilityHelp {
|
|
|
30
31
|
const builtInTemplatesVisible = ( templates.some(template => !template.source));
|
|
31
32
|
const pluginTemplatesVisible = ( templates.some(template => !!template.source));
|
|
32
33
|
const content = [( localize(
|
|
33
|
-
|
|
34
|
+
5915,
|
|
34
35
|
"You are in the Automations view. It contains available automation cards followed by run history. Loading, unavailable, and error messages indicate that the catalogue may be incomplete."
|
|
36
|
+
)), ( localize(
|
|
37
|
+
5916,
|
|
38
|
+
"Automations run on their selected provider, not in this window. Creation and changes require an available provider that supports automations. Run now requests execution from that provider; a disconnected or unsupported provider never falls back to local execution. To use another provider, duplicate the automation. The original history stays with its provider, and an enabled original keeps scheduling until you disable it."
|
|
35
39
|
)), ...(builtInTemplatesVisible ? [hasSavedAutomations ? ( localize(
|
|
36
|
-
|
|
40
|
+
5917,
|
|
37
41
|
"The Built-in Templates section is collapsed by default because saved automations exist. Press Enter or Space on its disclosure control to expand it."
|
|
38
42
|
)) : ( localize(
|
|
39
|
-
|
|
43
|
+
5918,
|
|
40
44
|
"The Built-in Templates section is expanded by default while there are no saved automations. Tab to a template and press Enter or Space to open a New automation dialog with an editable name, prompt, and schedule."
|
|
41
45
|
))] : []), ...(pluginTemplatesVisible ? [( localize(
|
|
42
|
-
|
|
46
|
+
5919,
|
|
43
47
|
"The Templates from Plugins section is available whenever enabled plugins provide templates. Press Enter or Space on its disclosure control to expand or collapse it. A blue marker indicates templates added since the section was last expanded. Plugin templates start disabled."
|
|
44
48
|
))] : []), ( localize(
|
|
45
|
-
|
|
49
|
+
5920,
|
|
46
50
|
"Use Import Automation in the view header, or drop one .automation.md file anywhere in the view, to review a shared Automation blueprint. Imported Automations start disabled. Open a saved Automation's context menu and choose Export to save a portable blueprint."
|
|
47
51
|
)), ( localize(
|
|
48
|
-
|
|
49
|
-
"For saved automations, Tab to a card's Edit control and action buttons. Use Left Arrow and Right Arrow to move between Run now and
|
|
50
|
-
|
|
52
|
+
5921,
|
|
53
|
+
"For saved automations, Tab to a card's Edit control and action buttons. Use Left Arrow and Right Arrow to move between Run now and More Actions. Press Enter or Space to activate a control. Edit, or clicking anywhere else on the card, opens the automation dialog. More Actions opens the automation menu. Duplicate opens a prefilled New automation dialog, Disable prevents scheduled runs, and Delete asks for confirmation. Run now requests execution from the selected provider."
|
|
54
|
+
)), ( localize(
|
|
55
|
+
5922,
|
|
56
|
+
"For cloud automation cards, More Actions also offers Open on GitHub to open the automation's details in your browser."
|
|
57
|
+
)), ( localize(
|
|
58
|
+
5923,
|
|
59
|
+
"In the automation dialog, Target controls are above the prompt. Agent and model pickers are inside the prompt input, and execution mode and permission controls are below it. Use Tab and Shift+Tab to move between fields and pickers. When creating an automation, you only need to enter a prompt. An empty name is derived from the prompt, and the target defaults to No workspace unless one is already supplied. An available Agent Host that supports the target is still required."
|
|
51
60
|
)), ( localize(
|
|
52
|
-
|
|
61
|
+
5924,
|
|
62
|
+
"For Agent Host automations, choose Weekdays to run Monday through Friday at the same local time, without choosing a day of the week. Weekdays is not available for Cloud automations."
|
|
63
|
+
)), ...(( automationService.availableProviders.get().some(provider => automationService.getProviderConfiguration?.(provider.id))) ? [( localize(
|
|
64
|
+
5925,
|
|
65
|
+
"Choose Work in GitHub in the workspace picker to search for a private repository or paste its URL. A matching local folder is retained and Cloud is selected by default. Use the session type picker to choose another agent supported by the workspace. Eligible local folders also support selecting Cloud directly. When creating an automation, changing to a public repository switches Cloud back to Copilot when available. Non-private repositories chosen through Work in GitHub are rejected with an error notification. Cloud models are configured in the prompt section. In the Tools section, use Configure allowed tools to open a searchable checklist of the tools GitHub offers, grouped by category; press Space to toggle a tool, Enter to apply changes, or Escape to cancel. New automations start with every listed tool selected. Built-in tools are always available. While the list loads the button is unavailable, and if it cannot be loaded a Retry button appears. These are followed by the schedule in your local time zone. GitHub stores a fixed UTC schedule, so the local run time may shift when daylight saving time changes. When editing a cloud automation, the workspace picker is disabled because changing the repository or provider requires duplication. Editing preserves enabled state; enable or disable an automation from its card. When Cloud is selected, a note beside the Create button explains that the automation runs even when your computer is off, triggered on a schedule."
|
|
66
|
+
))] : []), ( localize(
|
|
67
|
+
5926,
|
|
53
68
|
"Run history is grouped by date. While a run is waiting for its session, a lightweight row shows the automation name with a Working... description. Once the session is available, use Up Arrow and Down Arrow to navigate the Sessions list, Enter to open, and Tab to reach Stop, the configured Archive or Mark as Done action, or Delete when available. Open a row's context menu, for example with Shift+F10, to rename it, change its active or read state, or delete it. Delete permanently deletes the session and removes it from run history after confirmation."
|
|
54
69
|
)), ( localize(
|
|
55
|
-
|
|
70
|
+
5927,
|
|
71
|
+
"Cloud history shows the repository, status, and last updated time even when no local session is available. Tab to a row's toolbar and use Left Arrow and Right Arrow to reach Open on GitHub and Stop when supported. Stop requests cancellation; the status changes when GitHub reports it. Use Refresh in the view header to reload definitions and history. Active cloud runs refresh every 15 seconds without moving the history rows; idle definitions do not poll."
|
|
72
|
+
)), ( localize(
|
|
73
|
+
5928,
|
|
56
74
|
"Completed and failed runs that have not been opened are announced as unread. Use Mark all as read to clear all available unread runs."
|
|
57
75
|
)), ( localize(
|
|
58
|
-
|
|
76
|
+
5929,
|
|
59
77
|
"Use Open Accessible View to read the current automations and run history as text."
|
|
60
78
|
))].join("\n");
|
|
61
79
|
return ( new AccessibleContentProvider(AccessibleViewProviderId.Automations, {
|
|
@@ -79,8 +97,8 @@ class AutomationsCustomViewAccessibleView {
|
|
|
79
97
|
return ( new AccessibleContentProvider(AccessibleViewProviderId.Automations, {
|
|
80
98
|
type: AccessibleViewType.View
|
|
81
99
|
}, () => buildAutomationsAccessibleContent(automationService.automations.get(), automationService.runs.get().filter(
|
|
82
|
-
run => run.status === "pending" || run.status === "running" || (!!run.sessionResource && !!sessionsManagementService.getSession(run.sessionResource))
|
|
83
|
-
), automationService.catalogueState.get(), readAutomationTemplates(agentPluginService.plugins.get())), restoreFocus, AccessibilityVerbositySettingId.Automations));
|
|
100
|
+
run => run.status === "pending" || run.status === "running" || !!run.externalResource || (!!run.sessionResource && !!sessionsManagementService.getSession(run.sessionResource))
|
|
101
|
+
), automationService.catalogueState.get(), readAutomationTemplates(agentPluginService.plugins.get()), automationService.unavailableProviders.get(), automationService.historyState?.get()), restoreFocus, AccessibilityVerbositySettingId.Automations));
|
|
84
102
|
}
|
|
85
103
|
}
|
|
86
104
|
function createFocusRestorer(layoutService) {
|
|
@@ -93,44 +111,59 @@ function createFocusRestorer(layoutService) {
|
|
|
93
111
|
}
|
|
94
112
|
};
|
|
95
113
|
}
|
|
96
|
-
function buildAutomationsAccessibleContent(
|
|
97
|
-
|
|
114
|
+
function buildAutomationsAccessibleContent(
|
|
115
|
+
automations,
|
|
116
|
+
runs,
|
|
117
|
+
catalogueState,
|
|
118
|
+
templates = readAutomationTemplates([]),
|
|
119
|
+
unavailableProviders = [],
|
|
120
|
+
historyState
|
|
121
|
+
) {
|
|
122
|
+
const lines = [( localize(5930, "Automations"))];
|
|
98
123
|
const builtInTemplates = templates.filter(template => !template.source);
|
|
99
124
|
const pluginTemplates = templates.filter(template => !!template.source);
|
|
100
125
|
if (automations.length > 0) {
|
|
126
|
+
for (const automation of automations) {
|
|
127
|
+
lines.push("");
|
|
128
|
+
lines.push(automation.enabled ? ( localize(5931, "{0}, enabled", automation.name)) : ( localize(5932, "{0}, disabled", automation.name)));
|
|
129
|
+
lines.push(( localize(5933, "Schedule: {0}", formatSchedule(automation.schedule))));
|
|
130
|
+
lines.push(( localize(5934, "Prompt: {0}", automation.prompt)));
|
|
131
|
+
if (automation.targetDisplay) {
|
|
132
|
+
lines.push(automation.targetDisplay.label);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
101
135
|
if (catalogueState === "loading") {
|
|
102
|
-
lines.push(
|
|
136
|
+
lines.push("");
|
|
137
|
+
lines.push(( localize(5935, "Additional automations are loading.")));
|
|
103
138
|
} else if (catalogueState === "unavailable") {
|
|
104
|
-
lines.push(
|
|
139
|
+
lines.push("");
|
|
140
|
+
lines.push(formatUnavailableAutomationsMessage(unavailableProviders));
|
|
105
141
|
} else if (catalogueState === "error") {
|
|
106
|
-
lines.push(( localize(4752, "Some automations could not be loaded.")));
|
|
107
|
-
}
|
|
108
|
-
for (const automation of automations) {
|
|
109
142
|
lines.push("");
|
|
110
|
-
lines.push(
|
|
111
|
-
lines.push(( localize(4755, "Schedule: {0}", formatSchedule(automation.schedule))));
|
|
112
|
-
lines.push(( localize(4756, "Prompt: {0}", automation.prompt)));
|
|
143
|
+
lines.push(( localize(5936, "Some automations could not be loaded.")));
|
|
113
144
|
}
|
|
114
145
|
} else if (catalogueState === "loading") {
|
|
115
|
-
lines.push(( localize(
|
|
146
|
+
lines.push(( localize(5937, "Loading automations.")));
|
|
116
147
|
} else if (catalogueState === "unavailable") {
|
|
117
|
-
lines.push(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
148
|
+
lines.push(
|
|
149
|
+
unavailableProviders.length > 0 ? formatUnavailableAutomationsMessage(unavailableProviders) : ( localize(
|
|
150
|
+
5938,
|
|
151
|
+
"Some automations are unavailable. One or more providers are disconnected, disabled, or do not support automations."
|
|
152
|
+
))
|
|
153
|
+
);
|
|
121
154
|
} else if (catalogueState === "error") {
|
|
122
|
-
lines.push(( localize(
|
|
155
|
+
lines.push(( localize(5939, "Unable to load automations.")));
|
|
123
156
|
} else {
|
|
124
|
-
lines.push(( localize(
|
|
157
|
+
lines.push(( localize(5940, "No automations.")));
|
|
125
158
|
}
|
|
126
159
|
if (builtInTemplates.length > 0 || pluginTemplates.length > 0) {
|
|
127
160
|
lines.push("");
|
|
128
|
-
lines.push(( localize(
|
|
161
|
+
lines.push(( localize(5941, "Available templates")));
|
|
129
162
|
if (builtInTemplates.length > 0) {
|
|
130
|
-
lines.push(( localize(
|
|
163
|
+
lines.push(( localize(5942, "Built-in Templates")));
|
|
131
164
|
for (const template of builtInTemplates) {
|
|
132
165
|
lines.push(( localize(
|
|
133
|
-
|
|
166
|
+
5943,
|
|
134
167
|
"{0}, {1}. {2}",
|
|
135
168
|
template.name,
|
|
136
169
|
formatSchedule(template.schedule),
|
|
@@ -139,11 +172,11 @@ function buildAutomationsAccessibleContent(automations, runs, catalogueState, te
|
|
|
139
172
|
}
|
|
140
173
|
}
|
|
141
174
|
if (pluginTemplates.length > 0) {
|
|
142
|
-
lines.push(( localize(
|
|
175
|
+
lines.push(( localize(5944, "Templates from Plugins")));
|
|
143
176
|
for (const template of pluginTemplates) {
|
|
144
177
|
if (template.source) {
|
|
145
178
|
lines.push(( localize(
|
|
146
|
-
|
|
179
|
+
5945,
|
|
147
180
|
"{0}, {1}. {2} From {3}.",
|
|
148
181
|
template.name,
|
|
149
182
|
formatSchedule(template.schedule),
|
|
@@ -155,44 +188,56 @@ function buildAutomationsAccessibleContent(automations, runs, catalogueState, te
|
|
|
155
188
|
}
|
|
156
189
|
}
|
|
157
190
|
lines.push("");
|
|
158
|
-
lines.push(( localize(
|
|
191
|
+
lines.push(( localize(5946, "Run history")));
|
|
192
|
+
if (historyState === "loading") {
|
|
193
|
+
lines.push(( localize(5947, "Refreshing run history.")));
|
|
194
|
+
} else if (historyState === "error") {
|
|
195
|
+
lines.push(( localize(5948, "Run history could not be refreshed. Use Refresh to try again.")));
|
|
196
|
+
}
|
|
159
197
|
if (runs.length === 0) {
|
|
160
|
-
|
|
198
|
+
if (catalogueState === "ready" && (historyState === undefined || historyState === "ready") && automations.length > 0) {
|
|
199
|
+
lines.push(( localize(5949, "No runs.")));
|
|
200
|
+
}
|
|
161
201
|
} else {
|
|
162
202
|
const automationNames = ( new Map(automations.map(automation => [automation.id, automation.name])));
|
|
163
203
|
for (const run of runs) {
|
|
164
204
|
lines.push(( localize(
|
|
165
|
-
|
|
205
|
+
5950,
|
|
166
206
|
"{0}, {1}, started {2}",
|
|
167
|
-
automationNames.get(run.automationId) ?? ( localize(
|
|
207
|
+
automationNames.get(run.automationId) ?? ( localize(5951, "Unknown automation")),
|
|
168
208
|
formatRunStatus(run),
|
|
169
209
|
( new Date(run.startedAt)).toLocaleString()
|
|
170
210
|
)));
|
|
171
211
|
if (run.errorMessage) {
|
|
172
|
-
lines.push(( localize(
|
|
212
|
+
lines.push(( localize(5952, "Error: {0}", run.errorMessage)));
|
|
213
|
+
}
|
|
214
|
+
if (run.externalResource) {
|
|
215
|
+
lines.push(( localize(5953, "Open on GitHub: {0}", (run.externalResource.toString()))));
|
|
173
216
|
}
|
|
174
217
|
}
|
|
175
218
|
}
|
|
176
219
|
return lines.join("\n");
|
|
177
220
|
}
|
|
178
221
|
function formatSchedule(schedule) {
|
|
222
|
+
const localSchedule = automationScheduleToLocal(schedule);
|
|
223
|
+
const time = formatTime(localSchedule.scheduleHour, localSchedule.scheduleMinute);
|
|
179
224
|
switch (schedule.interval) {
|
|
225
|
+
case "custom":
|
|
226
|
+
return localize(5954, "Custom schedule");
|
|
180
227
|
case "manual":
|
|
181
|
-
return localize(
|
|
228
|
+
return localize(5955, "Manual");
|
|
182
229
|
case "hourly":
|
|
183
|
-
return localize(
|
|
230
|
+
return localize(5956, "Hourly");
|
|
184
231
|
case "daily":
|
|
185
|
-
return localize(
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
formatTime(schedule.scheduleHour, schedule.scheduleMinute)
|
|
189
|
-
);
|
|
232
|
+
return localize(5957, "Daily at {0}", time);
|
|
233
|
+
case "weekdays":
|
|
234
|
+
return localize(5958, "Weekdays at {0}", time);
|
|
190
235
|
case "weekly":
|
|
191
236
|
return localize(
|
|
192
|
-
|
|
237
|
+
5959,
|
|
193
238
|
"{0} at {1}",
|
|
194
|
-
DAYS_OF_WEEK[((
|
|
195
|
-
|
|
239
|
+
DAYS_OF_WEEK[((localSchedule.scheduleDay % 7) + 7) % 7],
|
|
240
|
+
time
|
|
196
241
|
);
|
|
197
242
|
}
|
|
198
243
|
}
|
|
@@ -211,15 +256,18 @@ function formatTime(hour, minute) {
|
|
|
211
256
|
});
|
|
212
257
|
}
|
|
213
258
|
function formatRunStatus(run) {
|
|
259
|
+
if (run.statusDescription) {
|
|
260
|
+
return run.statusDescription;
|
|
261
|
+
}
|
|
214
262
|
switch (run.status) {
|
|
215
263
|
case "pending":
|
|
216
|
-
return localize(
|
|
264
|
+
return localize(5960, "Pending");
|
|
217
265
|
case "running":
|
|
218
|
-
return localize(
|
|
266
|
+
return localize(5961, "Running");
|
|
219
267
|
case "completed":
|
|
220
|
-
return localize(
|
|
268
|
+
return localize(5962, "Completed");
|
|
221
269
|
case "failed":
|
|
222
|
-
return localize(
|
|
270
|
+
return localize(5963, "Failed");
|
|
223
271
|
}
|
|
224
272
|
}
|
|
225
273
|
AccessibleViewRegistry.register(( new AutomationsCustomViewAccessibilityHelp()));
|
|
@@ -4,6 +4,9 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
4
4
|
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
5
5
|
import { IAutomationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/automations/automationService.service";
|
|
6
6
|
import { IAgentPluginService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service";
|
|
7
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
8
|
+
import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service";
|
|
9
|
+
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
7
10
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
8
11
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
9
12
|
import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/sessionsManagement.service";
|
|
@@ -21,11 +24,14 @@ export declare class AutomationsCardsWidget extends Disposable {
|
|
|
21
24
|
private readonly agentPluginService;
|
|
22
25
|
private readonly sessionsManagementService;
|
|
23
26
|
private readonly uriIdentityService;
|
|
27
|
+
private readonly telemetryService;
|
|
28
|
+
private readonly logService;
|
|
29
|
+
private readonly notificationService;
|
|
24
30
|
readonly element: HTMLElement;
|
|
25
31
|
private readonly cardsSection;
|
|
26
32
|
private readonly historySection;
|
|
27
33
|
private readonly isMarkingAllRead;
|
|
28
|
-
constructor(automationService: IAutomationService, agentPluginService: IAgentPluginService, sessionsManagementService: ISessionsManagementService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, uriIdentityService: IUriIdentityService);
|
|
34
|
+
constructor(automationService: IAutomationService, agentPluginService: IAgentPluginService, sessionsManagementService: ISessionsManagementService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, uriIdentityService: IUriIdentityService, telemetryService: ITelemetryService, logService: ILogService, notificationService: INotificationService);
|
|
29
35
|
layout(width: number, height: number): void;
|
|
30
36
|
focus(): void;
|
|
31
37
|
}
|