@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
|
@@ -14,7 +14,7 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
|
|
|
14
14
|
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
15
15
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
16
16
|
import { CHAT_PET_ACHIEVEMENT_PREVIEW_SIZE, renderChatPetAchievementPreview } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetAchievementPreview';
|
|
17
|
-
import { chatPetAchievements } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetAchievements';
|
|
17
|
+
import { chatPetAchievements, getChatPetAchievementRewardLabels } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetAchievements';
|
|
18
18
|
import { IChatPetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatPetService.service';
|
|
19
19
|
import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
|
|
20
20
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -37,14 +37,14 @@ function getSessionsChatPetAchievementBadges(enabled, unlockedAchievements) {
|
|
|
37
37
|
let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges extends Disposable {
|
|
38
38
|
constructor(
|
|
39
39
|
parent,
|
|
40
|
-
|
|
40
|
+
onOpenCustomization,
|
|
41
41
|
chatPetService,
|
|
42
42
|
themeService,
|
|
43
43
|
hoverService,
|
|
44
44
|
logService
|
|
45
45
|
) {
|
|
46
46
|
super();
|
|
47
|
-
this.
|
|
47
|
+
this.onOpenCustomization = onOpenCustomization;
|
|
48
48
|
this.chatPetService = chatPetService;
|
|
49
49
|
this.themeService = themeService;
|
|
50
50
|
this.hoverService = hoverService;
|
|
@@ -57,15 +57,15 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
|
|
|
57
57
|
this.chatPetService.enabled.read(reader),
|
|
58
58
|
this.chatPetService.unlockedAchievements.read(reader)
|
|
59
59
|
);
|
|
60
|
-
const
|
|
60
|
+
const color = this.chatPetService.color.read(reader);
|
|
61
61
|
const selectedAccessory = this.chatPetService.selectedAccessory.read(reader);
|
|
62
62
|
themeChanged.read(reader);
|
|
63
|
-
this.render(badges, selectedAccessory,
|
|
63
|
+
this.render(badges, selectedAccessory, color);
|
|
64
64
|
}));
|
|
65
65
|
}
|
|
66
|
-
render(badges, selectedAccessory,
|
|
66
|
+
render(badges, selectedAccessory, color) {
|
|
67
67
|
const activeElement = getActiveElement();
|
|
68
|
-
const
|
|
68
|
+
const focusedAchievementId = isHTMLElement(activeElement) ? activeElement.closest(".sessions-chat-pet-achievement-badge")?.dataset.achievementId : undefined;
|
|
69
69
|
const restoreViewAchievementsFocus = isHTMLElement(activeElement) && activeElement.closest(".sessions-chat-pet-achievement-badges-actions") !== null;
|
|
70
70
|
let focusTarget;
|
|
71
71
|
this.renderDisposables.clear();
|
|
@@ -74,14 +74,14 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
|
|
|
74
74
|
if (!badges) {
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
this.element.setAttribute("aria-label", ( localize(
|
|
77
|
+
this.element.setAttribute("aria-label", ( localize(3604, "Pet achievement badges")));
|
|
78
78
|
const header = append(this.element, $(".sessions-chat-pet-achievement-badges-header"));
|
|
79
|
-
append(header, $("h2.sessions-chat-pet-achievement-badges-title")).textContent = ( localize(
|
|
79
|
+
append(header, $("h2.sessions-chat-pet-achievement-badges-title")).textContent = ( localize(3605, "Badges"));
|
|
80
80
|
const unlockedCount = badges.filter(badge => badge.unlocked).length;
|
|
81
|
-
append(header, $("span.sessions-chat-pet-achievement-badges-count")).textContent = ( localize(
|
|
81
|
+
append(header, $("span.sessions-chat-pet-achievement-badges-count")).textContent = ( localize(3606, "{0} of {1} unlocked", unlockedCount, badges.length));
|
|
82
82
|
const list = append(this.element, $("ul.sessions-chat-pet-achievement-badges-list"));
|
|
83
83
|
list.setAttribute("aria-label", ( localize(
|
|
84
|
-
|
|
84
|
+
3607,
|
|
85
85
|
"Pet achievement badges, {0} of {1} unlocked",
|
|
86
86
|
unlockedCount,
|
|
87
87
|
badges.length
|
|
@@ -94,12 +94,17 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
|
|
|
94
94
|
const accessory = achievement.accessories[0];
|
|
95
95
|
const item = append(list, $("li.sessions-chat-pet-achievement-badges-list-item"));
|
|
96
96
|
if (!unlocked) {
|
|
97
|
-
item.setAttribute("aria-label", ( localize(
|
|
97
|
+
item.setAttribute("aria-label", ( localize(3608, "Locked secret achievement badge")));
|
|
98
98
|
}
|
|
99
|
-
const badgeElement = unlocked ? this.createUnlockedBadgeButton(
|
|
99
|
+
const badgeElement = unlocked ? this.createUnlockedBadgeButton(
|
|
100
|
+
item,
|
|
101
|
+
achievement,
|
|
102
|
+
accessory?.id,
|
|
103
|
+
!!accessory && selectedAccessory === accessory.id
|
|
104
|
+
) : append(item, $("span.sessions-chat-pet-achievement-badge.locked", {
|
|
100
105
|
"aria-hidden": "true"
|
|
101
106
|
}));
|
|
102
|
-
if (
|
|
107
|
+
if (achievement.id === focusedAchievementId) {
|
|
103
108
|
focusTarget = badgeElement;
|
|
104
109
|
}
|
|
105
110
|
const canvas = append(badgeElement, $("canvas.sessions-chat-pet-achievement-badge-preview"));
|
|
@@ -107,22 +112,24 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
|
|
|
107
112
|
canvas.height = CHAT_PET_ACHIEVEMENT_PREVIEW_SIZE;
|
|
108
113
|
canvas.setAttribute("aria-hidden", "true");
|
|
109
114
|
this.renderDisposables.add(
|
|
110
|
-
renderChatPetAchievementPreview(canvas, accessory, unlocked,
|
|
115
|
+
renderChatPetAchievementPreview(canvas, accessory, unlocked, color, this.themeService, this.logService)
|
|
111
116
|
);
|
|
112
117
|
this.renderDisposables.add(this.hoverService.setupManagedHover(
|
|
113
118
|
getDefaultHoverDelegate("mouse"),
|
|
114
119
|
badgeElement,
|
|
115
|
-
unlocked ?
|
|
120
|
+
unlocked ? getChatPetAchievementRewardLabels(achievement).join(", ") : ( localize(3609, "Locked"))
|
|
116
121
|
));
|
|
117
122
|
}
|
|
118
123
|
const actions = append(this.element, $(".sessions-chat-pet-achievement-badges-actions"));
|
|
119
124
|
const viewAchievements = this.renderDisposables.add(( new Button(actions, {
|
|
120
125
|
...defaultButtonStyles,
|
|
121
126
|
secondary: true,
|
|
122
|
-
ariaLabel: ( localize(
|
|
127
|
+
ariaLabel: ( localize(3610, "View Pet Achievements"))
|
|
123
128
|
})));
|
|
124
|
-
viewAchievements.label = ( localize(
|
|
125
|
-
this.renderDisposables.add(
|
|
129
|
+
viewAchievements.label = ( localize(3611, "View Achievements"));
|
|
130
|
+
this.renderDisposables.add(
|
|
131
|
+
viewAchievements.onDidClick(() => this.onOpenCustomization("achievements"))
|
|
132
|
+
);
|
|
126
133
|
if (restoreViewAchievementsFocus) {
|
|
127
134
|
focusTarget = viewAchievements.element;
|
|
128
135
|
}
|
|
@@ -135,30 +142,28 @@ let SessionsChatPetAchievementBadges = class SessionsChatPetAchievementBadges ex
|
|
|
135
142
|
}
|
|
136
143
|
}
|
|
137
144
|
createUnlockedBadgeButton(parent, achievement, accessoryId, selected) {
|
|
138
|
-
const
|
|
145
|
+
const reward = getChatPetAchievementRewardLabels(achievement).join(", ");
|
|
139
146
|
const button = this.renderDisposables.add(( new Button(parent, {
|
|
140
|
-
ariaLabel: selected ? ( localize(
|
|
141
|
-
3240,
|
|
142
|
-
"{0} achievement badge: {1}, wearing",
|
|
143
|
-
achievement.title,
|
|
144
|
-
accessory.label
|
|
145
|
-
)) : ( localize(
|
|
146
|
-
3241,
|
|
147
|
-
"{0} achievement badge: wear {1}",
|
|
148
|
-
achievement.title,
|
|
149
|
-
accessory.label
|
|
150
|
-
))
|
|
147
|
+
ariaLabel: achievement.colorCustomization ? ( localize(3612, "{0} achievement badge: change Blobby's color", achievement.title)) : selected ? ( localize(3613, "{0} achievement badge: {1}, wearing", achievement.title, reward)) : ( localize(3614, "{0} achievement badge: wear {1}", achievement.title, reward))
|
|
151
148
|
})));
|
|
152
149
|
button.element.classList.add("sessions-chat-pet-achievement-badge");
|
|
153
150
|
button.element.classList.toggle("wearing", selected);
|
|
154
|
-
button.element.dataset.
|
|
155
|
-
|
|
151
|
+
button.element.dataset.achievementId = achievement.id;
|
|
152
|
+
if (accessoryId) {
|
|
153
|
+
button.element.dataset.accessoryId = accessoryId;
|
|
154
|
+
button.element.setAttribute("aria-pressed", String(selected));
|
|
155
|
+
}
|
|
156
156
|
this.renderDisposables.add(button.onDidClick(() => {
|
|
157
|
+
if (achievement.colorCustomization) {
|
|
158
|
+
this.chatPetService.markAchievementSeen(achievement.id);
|
|
159
|
+
this.onOpenCustomization("color");
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
157
162
|
if (this.chatPetService.selectedAccessory.get() === accessoryId) {
|
|
158
163
|
return;
|
|
159
164
|
}
|
|
160
165
|
this.chatPetService.setAccessory(accessoryId);
|
|
161
|
-
status(( localize(
|
|
166
|
+
status(( localize(3615, "VS Code pet is now wearing {0}", reward)));
|
|
162
167
|
}));
|
|
163
168
|
return button.element;
|
|
164
169
|
}
|
|
@@ -403,6 +403,12 @@
|
|
|
403
403
|
justify-content: flex-end;
|
|
404
404
|
}
|
|
405
405
|
|
|
406
|
+
.agent-sessions-workbench .sessions-account-titlebar-panel-provider-metric-row[tabindex="0"]:focus-visible {
|
|
407
|
+
outline: var(--vscode-strokeThickness) solid var(--vscode-focusBorder);
|
|
408
|
+
outline-offset: -1px;
|
|
409
|
+
border-radius: var(--vscode-cornerRadius-small);
|
|
410
|
+
}
|
|
411
|
+
|
|
406
412
|
.agent-sessions-workbench .sessions-account-titlebar-panel-provider-usage-value {
|
|
407
413
|
font-weight: var(--vscode-fontWeight-semiBold);
|
|
408
414
|
}
|
|
@@ -32,11 +32,14 @@ export declare class NullAgentFeedbackService extends Disposable implements IAge
|
|
|
32
32
|
setFeedbackResolved(_sessionResource: URI, _feedbackId: string, _resolved: boolean): void;
|
|
33
33
|
addReply(_sessionResource: URI, _feedbackId: string, _replyText: string): void;
|
|
34
34
|
getFeedback(_sessionResource: URI): readonly IAgentFeedback[];
|
|
35
|
+
isAgentHostSession(_sessionResource: URI): boolean;
|
|
35
36
|
showFeedbackInEditor(_sessionResource: URI, _feedbackIds: readonly string[]): void;
|
|
36
37
|
hideFeedbackInEditor(_sessionResource: URI, _feedbackId: string): void;
|
|
37
38
|
getVisibleResolvedFeedbackIds(_sessionResource: URI): ReadonlySet<string>;
|
|
38
39
|
hasLoadedFeedback(_sessionResource: URI): boolean;
|
|
39
40
|
getSessionForFile(_resourceUri: URI): undefined;
|
|
41
|
+
getChatChanges(_sessionResource: URI): readonly [
|
|
42
|
+
];
|
|
40
43
|
getFeedbackSessionResource(_resourceUri: URI): URI | undefined;
|
|
41
44
|
registerFeedbackResourceScope(_resourceUri: URI, _sessionResource: URI): IDisposable;
|
|
42
45
|
getMostRecentSessionForResource(_resourceUri: URI): URI | undefined;
|
|
@@ -53,6 +53,9 @@ class NullAgentFeedbackService extends Disposable {
|
|
|
53
53
|
getFeedback(_sessionResource) {
|
|
54
54
|
return [];
|
|
55
55
|
}
|
|
56
|
+
isAgentHostSession(_sessionResource) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
56
59
|
showFeedbackInEditor(_sessionResource, _feedbackIds) {}
|
|
57
60
|
hideFeedbackInEditor(_sessionResource, _feedbackId) {}
|
|
58
61
|
getVisibleResolvedFeedbackIds(_sessionResource) {
|
|
@@ -64,6 +67,9 @@ class NullAgentFeedbackService extends Disposable {
|
|
|
64
67
|
getSessionForFile(_resourceUri) {
|
|
65
68
|
return undefined;
|
|
66
69
|
}
|
|
70
|
+
getChatChanges(_sessionResource) {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
67
73
|
getFeedbackSessionResource(_resourceUri) {
|
|
68
74
|
return undefined;
|
|
69
75
|
}
|
|
@@ -41,7 +41,7 @@ registerAction2(class extends Action2 {
|
|
|
41
41
|
constructor() {
|
|
42
42
|
super({
|
|
43
43
|
id: OPEN_AI_CUSTOMIZATION_FILE_ID,
|
|
44
|
-
title: ( localize2(
|
|
44
|
+
title: ( localize2(3616, "Open")),
|
|
45
45
|
icon: Codicon.goToFile
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -57,7 +57,7 @@ registerAction2(class extends Action2 {
|
|
|
57
57
|
constructor() {
|
|
58
58
|
super({
|
|
59
59
|
id: RUN_PROMPT_FROM_VIEW_ID,
|
|
60
|
-
title: ( localize2(
|
|
60
|
+
title: ( localize2(3617, "Run Prompt")),
|
|
61
61
|
icon: Codicon.play
|
|
62
62
|
});
|
|
63
63
|
}
|
|
@@ -71,7 +71,7 @@ registerAction2(class extends Action2 {
|
|
|
71
71
|
constructor() {
|
|
72
72
|
super({
|
|
73
73
|
id: DELETE_AI_CUSTOMIZATION_FILE_ID,
|
|
74
|
-
title: ( localize2(
|
|
74
|
+
title: ( localize2(3618, "Delete")),
|
|
75
75
|
icon: Codicon.trash
|
|
76
76
|
});
|
|
77
77
|
}
|
|
@@ -84,8 +84,8 @@ registerAction2(class extends Action2 {
|
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
86
|
const confirmation = await dialogService.confirm({
|
|
87
|
-
message: ( localize(
|
|
88
|
-
primaryButton: ( localize(
|
|
87
|
+
message: ( localize(3619, "Are you sure you want to delete '{0}'?", name || uri.path)),
|
|
88
|
+
primaryButton: ( localize(3618, "Delete"))
|
|
89
89
|
});
|
|
90
90
|
if (confirmation.confirmed) {
|
|
91
91
|
const useTrash = fileService.hasCapability(uri, FileSystemProviderCapabilities.Trash);
|
|
@@ -101,7 +101,7 @@ registerAction2(class extends Action2 {
|
|
|
101
101
|
constructor() {
|
|
102
102
|
super({
|
|
103
103
|
id: COPY_AI_CUSTOMIZATION_PATH_ID,
|
|
104
|
-
title: ( localize2(
|
|
104
|
+
title: ( localize2(3620, "Copy Path")),
|
|
105
105
|
icon: Codicon.clippy
|
|
106
106
|
});
|
|
107
107
|
}
|
|
@@ -115,7 +115,7 @@ registerAction2(class extends Action2 {
|
|
|
115
115
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
116
116
|
command: {
|
|
117
117
|
id: DELETE_AI_CUSTOMIZATION_FILE_ID,
|
|
118
|
-
title: ( localize(
|
|
118
|
+
title: ( localize(3618, "Delete")),
|
|
119
119
|
icon: Codicon.trash
|
|
120
120
|
},
|
|
121
121
|
group: "inline",
|
|
@@ -124,7 +124,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
|
124
124
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
125
125
|
command: {
|
|
126
126
|
id: OPEN_AI_CUSTOMIZATION_FILE_ID,
|
|
127
|
-
title: ( localize(
|
|
127
|
+
title: ( localize(3616, "Open"))
|
|
128
128
|
},
|
|
129
129
|
group: "1_open",
|
|
130
130
|
order: 1
|
|
@@ -132,7 +132,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
|
132
132
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
133
133
|
command: {
|
|
134
134
|
id: RUN_PROMPT_FROM_VIEW_ID,
|
|
135
|
-
title: ( localize(
|
|
135
|
+
title: ( localize(3617, "Run Prompt")),
|
|
136
136
|
icon: Codicon.play
|
|
137
137
|
},
|
|
138
138
|
group: "2_run",
|
|
@@ -142,7 +142,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
|
142
142
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
143
143
|
command: {
|
|
144
144
|
id: COPY_AI_CUSTOMIZATION_PATH_ID,
|
|
145
|
-
title: ( localize(
|
|
145
|
+
title: ( localize(3620, "Copy Path"))
|
|
146
146
|
},
|
|
147
147
|
group: "3_modify",
|
|
148
148
|
order: 1
|
|
@@ -150,7 +150,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
|
150
150
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
151
151
|
command: {
|
|
152
152
|
id: DELETE_AI_CUSTOMIZATION_FILE_ID,
|
|
153
|
-
title: ( localize(
|
|
153
|
+
title: ( localize(3618, "Delete"))
|
|
154
154
|
},
|
|
155
155
|
group: "3_modify",
|
|
156
156
|
order: 10
|
|
@@ -160,7 +160,7 @@ registerAction2(class extends Action2 {
|
|
|
160
160
|
constructor() {
|
|
161
161
|
super({
|
|
162
162
|
id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
|
|
163
|
-
title: ( localize2(
|
|
163
|
+
title: ( localize2(3621, "Disable")),
|
|
164
164
|
icon: Codicon.eyeClosed
|
|
165
165
|
});
|
|
166
166
|
}
|
|
@@ -187,7 +187,7 @@ registerAction2(class extends Action2 {
|
|
|
187
187
|
constructor() {
|
|
188
188
|
super({
|
|
189
189
|
id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
|
|
190
|
-
title: ( localize2(
|
|
190
|
+
title: ( localize2(3622, "Enable")),
|
|
191
191
|
icon: Codicon.eye
|
|
192
192
|
});
|
|
193
193
|
}
|
|
@@ -212,7 +212,7 @@ registerAction2(class extends Action2 {
|
|
|
212
212
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
213
213
|
command: {
|
|
214
214
|
id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
|
|
215
|
-
title: ( localize(
|
|
215
|
+
title: ( localize(3621, "Disable"))
|
|
216
216
|
},
|
|
217
217
|
group: "4_toggle",
|
|
218
218
|
order: 1,
|
|
@@ -221,7 +221,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
|
221
221
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
222
222
|
command: {
|
|
223
223
|
id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
|
|
224
|
-
title: ( localize(
|
|
224
|
+
title: ( localize(3622, "Enable"))
|
|
225
225
|
},
|
|
226
226
|
group: "4_toggle",
|
|
227
227
|
order: 1,
|
|
@@ -230,7 +230,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
|
230
230
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
231
231
|
command: {
|
|
232
232
|
id: DISABLE_AI_CUSTOMIZATION_ITEM_ID,
|
|
233
|
-
title: ( localize(
|
|
233
|
+
title: ( localize(3621, "Disable")),
|
|
234
234
|
icon: Codicon.eyeClosed
|
|
235
235
|
},
|
|
236
236
|
group: "inline",
|
|
@@ -240,7 +240,7 @@ MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
|
240
240
|
MenuRegistry.appendMenuItem(AICustomizationItemMenuId, {
|
|
241
241
|
command: {
|
|
242
242
|
id: ENABLE_AI_CUSTOMIZATION_ITEM_ID,
|
|
243
|
-
title: ( localize(
|
|
243
|
+
title: ( localize(3622, "Enable")),
|
|
244
244
|
icon: Codicon.eye
|
|
245
245
|
},
|
|
246
246
|
group: "inline",
|
|
@@ -251,7 +251,7 @@ registerAction2(class extends Action2 {
|
|
|
251
251
|
constructor() {
|
|
252
252
|
super({
|
|
253
253
|
id: FOCUS_AI_CUSTOMIZATION_VIEW_ID,
|
|
254
|
-
title: ( localize2(
|
|
254
|
+
title: ( localize2(3623, "Focus Chat Customizations")),
|
|
255
255
|
category: AI_CUSTOMIZATION_CATEGORY,
|
|
256
256
|
precondition: ( ContextKeyExpr.and(IsSessionsWindowContext, ChatContextKeys.enabled, ( IsPhoneLayoutContext.negate()))),
|
|
257
257
|
f1: true,
|
|
@@ -215,26 +215,26 @@ class UnifiedAICustomizationDataSource {
|
|
|
215
215
|
const items = [{
|
|
216
216
|
type: "category",
|
|
217
217
|
id: "category-agents",
|
|
218
|
-
label: ( localize(
|
|
218
|
+
label: ( localize(3625, "Custom Agents")),
|
|
219
219
|
promptType: PromptsType.agent,
|
|
220
220
|
icon: agentIcon
|
|
221
221
|
}, {
|
|
222
222
|
type: "category",
|
|
223
223
|
id: "category-skills",
|
|
224
|
-
label: ( localize(
|
|
224
|
+
label: ( localize(3626, "Skills")),
|
|
225
225
|
promptType: PromptsType.skill,
|
|
226
226
|
icon: skillIcon
|
|
227
227
|
}, {
|
|
228
228
|
type: "category",
|
|
229
229
|
id: "category-instructions",
|
|
230
|
-
label: ( localize(
|
|
230
|
+
label: ( localize(3627, "Instructions")),
|
|
231
231
|
promptType: PromptsType.instructions,
|
|
232
232
|
icon: instructionsIcon
|
|
233
233
|
}];
|
|
234
234
|
items.push({
|
|
235
235
|
type: "link",
|
|
236
236
|
id: "link-mcp-servers",
|
|
237
|
-
label: ( localize(
|
|
237
|
+
label: ( localize(3628, "MCP Servers")),
|
|
238
238
|
icon: mcpServerIcon,
|
|
239
239
|
section: AICustomizationManagementSection.McpServers
|
|
240
240
|
});
|
|
@@ -337,11 +337,11 @@ class UnifiedAICustomizationDataSource {
|
|
|
337
337
|
}
|
|
338
338
|
createGroupItem(promptType, storage, count) {
|
|
339
339
|
const storageLabels = {
|
|
340
|
-
[AICustomizationSources.local]: ( localize(
|
|
341
|
-
[AICustomizationSources.user]: ( localize(
|
|
342
|
-
[AICustomizationSources.extension]: ( localize(
|
|
343
|
-
[AICustomizationSources.plugin]: ( localize(
|
|
344
|
-
[AICustomizationSources.builtin]: ( localize(
|
|
340
|
+
[AICustomizationSources.local]: ( localize(3629, "Workspace ({0})", count)),
|
|
341
|
+
[AICustomizationSources.user]: ( localize(3630, "User ({0})", count)),
|
|
342
|
+
[AICustomizationSources.extension]: ( localize(3631, "Extensions ({0})", count)),
|
|
343
|
+
[AICustomizationSources.plugin]: ( localize(3632, "Plugins ({0})", count)),
|
|
344
|
+
[AICustomizationSources.builtin]: ( localize(3633, "Built-in ({0})", count))
|
|
345
345
|
};
|
|
346
346
|
const storageIcons = {
|
|
347
347
|
[AICustomizationSources.local]: workspaceIcon,
|
|
@@ -508,10 +508,10 @@ class UnifiedAICustomizationDataSource {
|
|
|
508
508
|
if (element.type === "group") {
|
|
509
509
|
return element.label;
|
|
510
510
|
}
|
|
511
|
-
const nameAndDesc = element.description ? ( localize(
|
|
512
|
-
return element.disabled ? ( localize(
|
|
511
|
+
const nameAndDesc = element.description ? ( localize(3634, "{0}, {1}", element.name, element.description)) : element.name;
|
|
512
|
+
return element.disabled ? ( localize(3635, "{0}, disabled", nameAndDesc)) : nameAndDesc;
|
|
513
513
|
},
|
|
514
|
-
getWidgetAriaLabel: () => ( localize(
|
|
514
|
+
getWidgetAriaLabel: () => ( localize(3636, "Chat Customization Items"))
|
|
515
515
|
},
|
|
516
516
|
keyboardNavigationLabelProvider: {
|
|
517
517
|
getKeyboardNavigationLabel: element => {
|
package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js
CHANGED
|
@@ -27,7 +27,7 @@ import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severit
|
|
|
27
27
|
const hasWorktreeAndRepositoryContextKey = new RawContextKey("agentSessionHasWorktreeAndRepository", false, {
|
|
28
28
|
type: "boolean",
|
|
29
29
|
description: ( localize(
|
|
30
|
-
|
|
30
|
+
3637,
|
|
31
31
|
"True when the active agent session has both a worktree and a parent repository."
|
|
32
32
|
))
|
|
33
33
|
});
|
|
@@ -54,7 +54,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
|
|
|
54
54
|
constructor() {
|
|
55
55
|
super({
|
|
56
56
|
id: ApplyChangesToParentRepoAction.ID,
|
|
57
|
-
title: ( localize2(
|
|
57
|
+
title: ( localize2(3638, "Apply Changes to Parent Repository")),
|
|
58
58
|
icon: Codicon.desktopDownload,
|
|
59
59
|
category: CHAT_CATEGORY,
|
|
60
60
|
precondition: ( ContextKeyExpr.and(IsSessionsWindowContext, hasWorktreeAndRepositoryContextKey)),
|
|
@@ -82,7 +82,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
|
|
|
82
82
|
const repoRoot = folder.root;
|
|
83
83
|
const openFolderAction = toAction({
|
|
84
84
|
id: "applyChangesToParentRepo.openFolder",
|
|
85
|
-
label: ( localize(
|
|
85
|
+
label: ( localize(3639, "Open in VS Code")),
|
|
86
86
|
run: () => {
|
|
87
87
|
const scheme = productService.quality === "stable" ? "vscode" : productService.quality === "exploration" ? "vscode-exploration" : "vscode-insiders";
|
|
88
88
|
const params = ( new URLSearchParams());
|
|
@@ -103,7 +103,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
|
|
|
103
103
|
if (!worktreeBranch) {
|
|
104
104
|
notificationService.notify({
|
|
105
105
|
severity: Severity.Warning,
|
|
106
|
-
message: ( localize(
|
|
106
|
+
message: ( localize(3640, "Could not determine worktree branch name."))
|
|
107
107
|
});
|
|
108
108
|
return;
|
|
109
109
|
}
|
|
@@ -113,7 +113,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
|
|
|
113
113
|
} else {
|
|
114
114
|
notificationService.notify({
|
|
115
115
|
severity: Severity.Info,
|
|
116
|
-
message: typeof result === "string" && result.startsWith("Already up to date") ? ( localize(
|
|
116
|
+
message: typeof result === "string" && result.startsWith("Already up to date") ? ( localize(3641, "Parent repository is up to date with worktree.")) : ( localize(3642, "Applied changes to parent repository.")),
|
|
117
117
|
actions: {
|
|
118
118
|
primary: [openFolderAction]
|
|
119
119
|
}
|
|
@@ -124,7 +124,7 @@ class ApplyChangesToParentRepoAction extends Action2 {
|
|
|
124
124
|
notificationService.notify({
|
|
125
125
|
severity: Severity.Warning,
|
|
126
126
|
message: ( localize(
|
|
127
|
-
|
|
127
|
+
3643,
|
|
128
128
|
"Failed to apply changes to parent repo. The parent repo may have diverged — resolve conflicts manually."
|
|
129
129
|
)),
|
|
130
130
|
actions: {
|
|
@@ -142,7 +142,7 @@ registerWorkbenchContribution2(
|
|
|
142
142
|
);
|
|
143
143
|
MenuRegistry.appendMenuItem(MenuId.AgentsChangesToolbar, {
|
|
144
144
|
submenu: MenuId.AgentsChangesPrimaryActionSubMenu,
|
|
145
|
-
title: ( localize2(
|
|
145
|
+
title: ( localize2(3644, "Apply Actions")),
|
|
146
146
|
group: "navigation",
|
|
147
147
|
order: 1,
|
|
148
148
|
when: ( ContextKeyExpr.and(IsSessionsWindowContext, ( SessionIsArchivedContext.isEqualTo(false))))
|
|
@@ -18,7 +18,7 @@ registerCss(aquarium, 1);
|
|
|
18
18
|
[SESSIONS_DEVELOPER_JOY_ENABLED_SETTING]: {
|
|
19
19
|
type: "boolean",
|
|
20
20
|
default: true,
|
|
21
|
-
description: ( localize(
|
|
21
|
+
description: ( localize(3645, "Adds an easter egg to the Agents window.")),
|
|
22
22
|
tags: ["experimental"]
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -30,7 +30,7 @@ class SimulateFishFeedingStreakAction extends Action2 {
|
|
|
30
30
|
constructor() {
|
|
31
31
|
super({
|
|
32
32
|
id: SimulateFishFeedingStreakAction.ID,
|
|
33
|
-
title: ( localize2(
|
|
33
|
+
title: ( localize2(3646, "Simulate Fish Feeding Streak")),
|
|
34
34
|
f1: true,
|
|
35
35
|
category: Categories.Developer
|
|
36
36
|
});
|
|
@@ -40,21 +40,21 @@ class SimulateFishFeedingStreakAction extends Action2 {
|
|
|
40
40
|
const aquariumService = accessor.get(IAquariumService);
|
|
41
41
|
const aliveItem = {
|
|
42
42
|
id: "alive",
|
|
43
|
-
label: ( localize(
|
|
44
|
-
detail: ( localize(
|
|
43
|
+
label: ( localize(3647, "Alive streak")),
|
|
44
|
+
detail: ( localize(3648, "Show a live feeding streak in the toggle tooltip."))
|
|
45
45
|
};
|
|
46
46
|
const diedItem = {
|
|
47
47
|
id: "died",
|
|
48
|
-
label: ( localize(
|
|
49
|
-
detail: ( localize(
|
|
48
|
+
label: ( localize(3649, "Died streak (revivable)")),
|
|
49
|
+
detail: ( localize(3650, "Park a died streak and offer the revival prompt."))
|
|
50
50
|
};
|
|
51
51
|
const clearItem = {
|
|
52
52
|
id: "clear",
|
|
53
|
-
label: ( localize(
|
|
54
|
-
detail: ( localize(
|
|
53
|
+
label: ( localize(3651, "Clear streak")),
|
|
54
|
+
detail: ( localize(3652, "Remove all streak state."))
|
|
55
55
|
};
|
|
56
56
|
const scenario = await quickInputService.pick([aliveItem, diedItem, clearItem], {
|
|
57
|
-
placeHolder: ( localize(
|
|
57
|
+
placeHolder: ( localize(3653, "Pick a streak scenario to simulate"))
|
|
58
58
|
});
|
|
59
59
|
if (!scenario) {
|
|
60
60
|
return;
|
|
@@ -65,10 +65,10 @@ class SimulateFishFeedingStreakAction extends Action2 {
|
|
|
65
65
|
}
|
|
66
66
|
const raw = await quickInputService.input({
|
|
67
67
|
value: "30",
|
|
68
|
-
prompt: ( localize(
|
|
68
|
+
prompt: ( localize(3654, "How many days should the streak be?")),
|
|
69
69
|
validateInput: async value => {
|
|
70
70
|
const n = Number(value);
|
|
71
|
-
return (!Number.isInteger(n) || n <= 0) ? ( localize(
|
|
71
|
+
return (!Number.isInteger(n) || n <= 0) ? ( localize(3655, "Enter a whole number greater than 0.")) : undefined;
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
if (raw === undefined) {
|
|
@@ -85,7 +85,7 @@ class ToggleAquariumActionVisibilityAction extends Action2 {
|
|
|
85
85
|
constructor() {
|
|
86
86
|
super({
|
|
87
87
|
id: ToggleAquariumActionVisibilityAction.ID,
|
|
88
|
-
title: ( localize2(
|
|
88
|
+
title: ( localize2(3656, "Toggle Aquarium Action Visibility")),
|
|
89
89
|
f1: true,
|
|
90
90
|
category: Categories.Developer
|
|
91
91
|
});
|
|
@@ -148,7 +148,7 @@ let AquariumService = class AquariumService extends Disposable {
|
|
|
148
148
|
StorageScope.APPLICATION,
|
|
149
149
|
StorageTarget.USER
|
|
150
150
|
);
|
|
151
|
-
this.accessibilityService.status(visible ? ( localize(
|
|
151
|
+
this.accessibilityService.status(visible ? ( localize(3657, "Aquarium action shown")) : ( localize(3658, "Aquarium action hidden")));
|
|
152
152
|
return visible;
|
|
153
153
|
}
|
|
154
154
|
simulateStreak(count, alive) {
|
|
@@ -231,7 +231,7 @@ let AquariumService = class AquariumService extends Disposable {
|
|
|
231
231
|
streakSpan.append(String(streak));
|
|
232
232
|
} else {
|
|
233
233
|
streakSpan.classList.add("revivable");
|
|
234
|
-
streakSpan.append(( localize(
|
|
234
|
+
streakSpan.append(( localize(3659, "{0} · Feed again to revive", revivable)));
|
|
235
235
|
}
|
|
236
236
|
button.appendChild(streakSpan);
|
|
237
237
|
}
|
|
@@ -243,18 +243,18 @@ let AquariumService = class AquariumService extends Disposable {
|
|
|
243
243
|
button.setAttribute("aria-label", label);
|
|
244
244
|
}
|
|
245
245
|
getToggleLabel(active) {
|
|
246
|
-
const base = active ? ( localize(
|
|
246
|
+
const base = active ? ( localize(3660, "Hide Aquarium")) : ( localize(3661, "Show Aquarium"));
|
|
247
247
|
const streak = this.streak.count;
|
|
248
248
|
if (streak > 0) {
|
|
249
249
|
const hungerDescription = getFishHungerDescription(this.streak.hungerState);
|
|
250
250
|
return (streak === 1 ? localize(
|
|
251
|
-
|
|
251
|
+
3662,
|
|
252
252
|
"{0} — {1} — {2} day feeding streak",
|
|
253
253
|
base,
|
|
254
254
|
hungerDescription,
|
|
255
255
|
streak
|
|
256
256
|
) : localize(
|
|
257
|
-
|
|
257
|
+
3663,
|
|
258
258
|
"{0} — {1} — {2} days feeding streak",
|
|
259
259
|
base,
|
|
260
260
|
hungerDescription,
|
|
@@ -263,7 +263,7 @@ let AquariumService = class AquariumService extends Disposable {
|
|
|
263
263
|
}
|
|
264
264
|
const revivable = this.streak.revivableCount;
|
|
265
265
|
if (revivable > 0) {
|
|
266
|
-
return revivable === 1 ? ( localize(
|
|
266
|
+
return revivable === 1 ? ( localize(3664, "{0} — feed a fish to revive your {1} day streak", base, revivable)) : ( localize(3665, "{0} — feed a fish to revive your {1} day streak", base, revivable));
|
|
267
267
|
}
|
|
268
268
|
return base;
|
|
269
269
|
}
|
|
@@ -736,13 +736,13 @@ function addIconClasses(element, icon) {
|
|
|
736
736
|
function getFishHungerDescription(state) {
|
|
737
737
|
switch (state) {
|
|
738
738
|
case "happy":
|
|
739
|
-
return localize(
|
|
739
|
+
return localize(3666, "fish is happy");
|
|
740
740
|
case "neutral":
|
|
741
|
-
return localize(
|
|
741
|
+
return localize(3667, "fish is getting hungry");
|
|
742
742
|
case "sad":
|
|
743
|
-
return localize(
|
|
743
|
+
return localize(3668, "fish is hungry");
|
|
744
744
|
case "verySad":
|
|
745
|
-
return localize(
|
|
745
|
+
return localize(3669, "fish is starving");
|
|
746
746
|
}
|
|
747
747
|
}
|
|
748
748
|
function computeWallAvoidAngle(centerX, centerY, width, height) {
|