@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.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/index.js +21 -3
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +10 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +46 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { $,
|
|
3
|
+
import { $, addDisposableListener, EventType, append, EventHelper, disposableWindowInterval, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
4
|
import { Gesture, EventType as EventType$1 } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/touch';
|
|
5
5
|
import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
|
|
6
|
-
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
7
6
|
import { renderLabelWithIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
7
|
+
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
8
8
|
import { Checkbox } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/toggle/toggle';
|
|
9
9
|
import { toAction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
|
|
10
10
|
import { cancelOnDispose } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
@@ -34,10 +34,9 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
34
34
|
import { defaultButtonStyles, defaultCheckboxStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
35
35
|
import { DomWidget } from '../../../../../platform/domWidget/browser/domWidget.js';
|
|
36
36
|
import { EditorResourceAccessor, SideBySideEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
37
|
-
import {
|
|
37
|
+
import { getChatPlanName, ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
|
|
38
38
|
import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
|
|
39
39
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
40
|
-
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
41
40
|
import { isNewUser } from './chatStatus.js';
|
|
42
41
|
import { IChatStatusItemService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service';
|
|
43
42
|
import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
|
|
@@ -53,10 +52,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
|
|
|
53
52
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
54
53
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
55
54
|
import { Color } from '@codingame/monaco-vscode-api/vscode/vs/base/common/color';
|
|
56
|
-
import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
57
|
-
import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
58
55
|
import { isCompletionsEnabled } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/completionsEnablement';
|
|
59
|
-
import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
60
56
|
|
|
61
57
|
const defaultChat = product.defaultChatAgent;
|
|
62
58
|
const gaugeForeground = registerColor("gauge.foreground", {
|
|
@@ -64,45 +60,46 @@ const gaugeForeground = registerColor("gauge.foreground", {
|
|
|
64
60
|
light: inputValidationInfoBorder,
|
|
65
61
|
hcDark: contrastBorder,
|
|
66
62
|
hcLight: contrastBorder
|
|
67
|
-
}, ( localize(
|
|
63
|
+
}, ( localize(6379, "Gauge foreground color.")));
|
|
68
64
|
registerColor("gauge.background", {
|
|
69
65
|
dark: ( transparent(gaugeForeground, 0.3)),
|
|
70
66
|
light: ( transparent(gaugeForeground, 0.3)),
|
|
71
67
|
hcDark: Color.white,
|
|
72
68
|
hcLight: Color.white
|
|
73
|
-
}, ( localize(
|
|
69
|
+
}, ( localize(6380, "Gauge background color.")));
|
|
74
70
|
registerColor("gauge.border", {
|
|
75
71
|
dark: null,
|
|
76
72
|
light: null,
|
|
77
73
|
hcDark: contrastBorder,
|
|
78
74
|
hcLight: contrastBorder
|
|
79
|
-
}, ( localize(
|
|
75
|
+
}, ( localize(6381, "Gauge border color.")));
|
|
80
76
|
const gaugeWarningForeground = registerColor("gauge.warningForeground", {
|
|
81
77
|
dark: inputValidationWarningBorder,
|
|
82
78
|
light: inputValidationWarningBorder,
|
|
83
79
|
hcDark: contrastBorder,
|
|
84
80
|
hcLight: contrastBorder
|
|
85
|
-
}, ( localize(
|
|
81
|
+
}, ( localize(6382, "Gauge warning foreground color.")));
|
|
86
82
|
registerColor("gauge.warningBackground", {
|
|
87
83
|
dark: ( transparent(gaugeWarningForeground, 0.3)),
|
|
88
84
|
light: ( transparent(gaugeWarningForeground, 0.3)),
|
|
89
85
|
hcDark: Color.white,
|
|
90
86
|
hcLight: Color.white
|
|
91
|
-
}, ( localize(
|
|
87
|
+
}, ( localize(6383, "Gauge warning background color.")));
|
|
92
88
|
const gaugeErrorForeground = registerColor("gauge.errorForeground", {
|
|
93
89
|
dark: inputValidationErrorBorder,
|
|
94
90
|
light: inputValidationErrorBorder,
|
|
95
91
|
hcDark: contrastBorder,
|
|
96
92
|
hcLight: contrastBorder
|
|
97
|
-
}, ( localize(
|
|
93
|
+
}, ( localize(6384, "Gauge error foreground color.")));
|
|
98
94
|
registerColor("gauge.errorBackground", {
|
|
99
95
|
dark: ( transparent(gaugeErrorForeground, 0.3)),
|
|
100
96
|
light: ( transparent(gaugeErrorForeground, 0.3)),
|
|
101
97
|
hcDark: Color.white,
|
|
102
98
|
hcLight: Color.white
|
|
103
|
-
}, ( localize(
|
|
99
|
+
}, ( localize(6385, "Gauge error background color.")));
|
|
104
100
|
let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
105
101
|
constructor(
|
|
102
|
+
options,
|
|
106
103
|
chatEntitlementService,
|
|
107
104
|
chatStatusItemService,
|
|
108
105
|
commandService,
|
|
@@ -114,13 +111,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
114
111
|
telemetryService,
|
|
115
112
|
textResourceConfigurationService,
|
|
116
113
|
inlineCompletionsService,
|
|
117
|
-
chatSessionsService,
|
|
118
114
|
markdownRendererService,
|
|
119
115
|
languageFeaturesService,
|
|
120
|
-
quickInputService
|
|
121
|
-
viewService
|
|
116
|
+
quickInputService
|
|
122
117
|
) {
|
|
123
118
|
super();
|
|
119
|
+
this.options = options;
|
|
124
120
|
this.chatEntitlementService = chatEntitlementService;
|
|
125
121
|
this.chatStatusItemService = chatStatusItemService;
|
|
126
122
|
this.commandService = commandService;
|
|
@@ -132,21 +128,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
132
128
|
this.telemetryService = telemetryService;
|
|
133
129
|
this.textResourceConfigurationService = textResourceConfigurationService;
|
|
134
130
|
this.inlineCompletionsService = inlineCompletionsService;
|
|
135
|
-
this.chatSessionsService = chatSessionsService;
|
|
136
131
|
this.markdownRendererService = markdownRendererService;
|
|
137
132
|
this.languageFeaturesService = languageFeaturesService;
|
|
138
133
|
this.quickInputService = quickInputService;
|
|
139
|
-
this.viewService = viewService;
|
|
140
134
|
this.element = $("div.chat-status-bar-entry-tooltip");
|
|
141
135
|
this.dateFormatter = safeIntl.DateTimeFormat(language, {
|
|
142
|
-
|
|
143
|
-
month: "long",
|
|
136
|
+
month: "short",
|
|
144
137
|
day: "numeric"
|
|
145
138
|
});
|
|
146
|
-
this.
|
|
147
|
-
year: "numeric",
|
|
148
|
-
month: "long",
|
|
149
|
-
day: "numeric",
|
|
139
|
+
this.timeFormatter = safeIntl.DateTimeFormat(language, {
|
|
150
140
|
hour: "numeric",
|
|
151
141
|
minute: "numeric"
|
|
152
142
|
});
|
|
@@ -162,16 +152,175 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
162
152
|
}
|
|
163
153
|
render() {
|
|
164
154
|
const token = cancelOnDispose(this._store);
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
155
|
+
const {
|
|
156
|
+
chat,
|
|
157
|
+
premiumChat,
|
|
158
|
+
completions
|
|
159
|
+
} = this.chatEntitlementService.quotas;
|
|
160
|
+
const hasQuotas = !!(chat || premiumChat);
|
|
161
|
+
const isAnonymousWithSentiment = this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.completed;
|
|
162
|
+
const hasUsageSection = hasQuotas || isAnonymousWithSentiment;
|
|
163
|
+
const hasVisibleUsageContent = !!(chat && !chat.unlimited && chat.total > 0) || !!(premiumChat && !premiumChat.unlimited && premiumChat.total > 0) || !!(completions && !completions.unlimited && completions.total > 0) || isAnonymousWithSentiment;
|
|
164
|
+
const hasInlineSuggestionsSection = !this.options?.disableInlineSuggestionsSettings || !this.options?.disableModelSelection || !this.options?.disableProviderOptions || !this.options?.disableCompletionsSnooze;
|
|
165
|
+
if (hasUsageSection) {
|
|
166
|
+
const planName = getChatPlanName(this.chatEntitlementService.entitlement);
|
|
167
|
+
this.renderHeader(this.element, this._store, planName, toAction({
|
|
168
|
+
id: "workbench.action.manageCopilot",
|
|
169
|
+
label: ( localize(6386, "Manage Chat")),
|
|
170
|
+
tooltip: ( localize(6387, "Manage Chat")),
|
|
171
|
+
class: ThemeIcon.asClassName(Codicon.settings),
|
|
172
|
+
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl))))
|
|
173
|
+
}));
|
|
174
|
+
}
|
|
175
|
+
const updatePromise = this.chatEntitlementService.update(token);
|
|
176
|
+
if (hasVisibleUsageContent && hasInlineSuggestionsSection) {
|
|
177
|
+
const usageContent = $("div.tab-content.active");
|
|
178
|
+
usageContent.setAttribute("role", "tabpanel");
|
|
179
|
+
usageContent.id = "chat-status-usage-panel";
|
|
180
|
+
const inlineSuggestionsContent = $("div.tab-content");
|
|
181
|
+
inlineSuggestionsContent.setAttribute("role", "tabpanel");
|
|
182
|
+
inlineSuggestionsContent.id = "chat-status-inline-suggestions-panel";
|
|
183
|
+
inlineSuggestionsContent.inert = true;
|
|
184
|
+
const tabBar = this.element.appendChild($("div.tab-bar"));
|
|
185
|
+
tabBar.setAttribute("role", "tablist");
|
|
186
|
+
const usageTab = tabBar.appendChild($("button.tab.active"));
|
|
187
|
+
usageTab.textContent = ( localize(6388, "Usage"));
|
|
188
|
+
usageTab.setAttribute("role", "tab");
|
|
189
|
+
usageTab.setAttribute("aria-selected", "true");
|
|
190
|
+
usageTab.setAttribute("aria-controls", usageContent.id);
|
|
191
|
+
usageTab.setAttribute("tabindex", "0");
|
|
192
|
+
const quickSettingsTab = tabBar.appendChild($("button.tab"));
|
|
193
|
+
quickSettingsTab.textContent = ( localize(6389, "Quick Settings"));
|
|
194
|
+
quickSettingsTab.setAttribute("role", "tab");
|
|
195
|
+
quickSettingsTab.setAttribute("aria-selected", "false");
|
|
196
|
+
quickSettingsTab.setAttribute("aria-controls", inlineSuggestionsContent.id);
|
|
197
|
+
quickSettingsTab.setAttribute("tabindex", "-1");
|
|
198
|
+
const switchTab = (activeTab, inactiveTab, showContent, hideContent) => {
|
|
199
|
+
activeTab.classList.add("active");
|
|
200
|
+
activeTab.setAttribute("aria-selected", "true");
|
|
201
|
+
activeTab.setAttribute("tabindex", "0");
|
|
202
|
+
inactiveTab.classList.remove("active");
|
|
203
|
+
inactiveTab.setAttribute("aria-selected", "false");
|
|
204
|
+
inactiveTab.setAttribute("tabindex", "-1");
|
|
205
|
+
showContent.classList.add("active");
|
|
206
|
+
showContent.inert = false;
|
|
207
|
+
hideContent.classList.remove("active");
|
|
208
|
+
hideContent.inert = true;
|
|
209
|
+
};
|
|
210
|
+
this._store.add(addDisposableListener(
|
|
211
|
+
usageTab,
|
|
212
|
+
EventType.CLICK,
|
|
213
|
+
() => switchTab(usageTab, quickSettingsTab, usageContent, inlineSuggestionsContent)
|
|
214
|
+
));
|
|
215
|
+
this._store.add(addDisposableListener(
|
|
216
|
+
quickSettingsTab,
|
|
217
|
+
EventType.CLICK,
|
|
218
|
+
() => switchTab(quickSettingsTab, usageTab, inlineSuggestionsContent, usageContent)
|
|
219
|
+
));
|
|
220
|
+
this._store.add(addDisposableListener(tabBar, EventType.KEY_DOWN, e => {
|
|
221
|
+
if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
|
|
222
|
+
e.preventDefault();
|
|
223
|
+
if (usageTab.classList.contains("active")) {
|
|
224
|
+
switchTab(quickSettingsTab, usageTab, inlineSuggestionsContent, usageContent);
|
|
225
|
+
quickSettingsTab.focus();
|
|
226
|
+
} else {
|
|
227
|
+
switchTab(usageTab, quickSettingsTab, usageContent, inlineSuggestionsContent);
|
|
228
|
+
usageTab.focus();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}));
|
|
232
|
+
const tabContentContainer = this.element.appendChild($("div.tab-content-container"));
|
|
233
|
+
tabContentContainer.appendChild(usageContent);
|
|
234
|
+
tabContentContainer.appendChild(inlineSuggestionsContent);
|
|
235
|
+
this.renderUsageContent(usageContent, token, updatePromise);
|
|
236
|
+
this.renderInlineSuggestionsContent(inlineSuggestionsContent, token, updatePromise);
|
|
237
|
+
} else if (hasVisibleUsageContent) {
|
|
238
|
+
this.renderUsageContent(this.element, token, updatePromise);
|
|
239
|
+
} else if (hasInlineSuggestionsSection) {
|
|
240
|
+
this.renderInlineSuggestionsContent(this.element, token, updatePromise);
|
|
241
|
+
}
|
|
242
|
+
{
|
|
243
|
+
for (const item of this.chatStatusItemService.getEntries()) {
|
|
168
244
|
this.element.appendChild($("hr"));
|
|
245
|
+
const itemDisposables = this._store.add(( new MutableDisposable()));
|
|
246
|
+
let rendered = this.renderContributedChatStatusItem(item);
|
|
247
|
+
itemDisposables.value = rendered.disposables;
|
|
248
|
+
this.element.appendChild(rendered.element);
|
|
249
|
+
this._store.add(this.chatStatusItemService.onDidChange(e => {
|
|
250
|
+
if (e.entry.id === item.id) {
|
|
251
|
+
const previousElement = rendered.element;
|
|
252
|
+
rendered = this.renderContributedChatStatusItem(e.entry);
|
|
253
|
+
itemDisposables.value = rendered.disposables;
|
|
254
|
+
previousElement.replaceWith(rendered.element);
|
|
255
|
+
}
|
|
256
|
+
}));
|
|
169
257
|
}
|
|
170
|
-
|
|
171
|
-
|
|
258
|
+
}
|
|
259
|
+
{
|
|
260
|
+
const newUser = isNewUser(this.chatEntitlementService);
|
|
261
|
+
const anonymousUser = this.chatEntitlementService.anonymous;
|
|
262
|
+
const disabled = this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted;
|
|
263
|
+
const signedOut = this.chatEntitlementService.entitlement === ChatEntitlement.Unknown;
|
|
264
|
+
if (newUser || signedOut || disabled) {
|
|
265
|
+
this.element.appendChild($("hr"));
|
|
266
|
+
let descriptionText;
|
|
267
|
+
let descriptionClass = ".description";
|
|
268
|
+
if (newUser && anonymousUser) {
|
|
269
|
+
descriptionText = ( new MarkdownString(( localize(
|
|
270
|
+
6390,
|
|
271
|
+
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
|
|
272
|
+
defaultChat.provider.default.name,
|
|
273
|
+
defaultChat.provider.default.name,
|
|
274
|
+
defaultChat.termsStatementUrl,
|
|
275
|
+
defaultChat.privacyStatementUrl
|
|
276
|
+
)), {
|
|
277
|
+
isTrusted: true
|
|
278
|
+
}));
|
|
279
|
+
descriptionClass = `${descriptionClass}.terms`;
|
|
280
|
+
} else if (newUser) {
|
|
281
|
+
descriptionText = ( localize(6391, "Set up Copilot to use AI features."));
|
|
282
|
+
} else if (anonymousUser) {
|
|
283
|
+
descriptionText = ( localize(6392, "Sign in to enable more Copilot AI features."));
|
|
284
|
+
} else if (disabled) {
|
|
285
|
+
descriptionText = ( localize(6393, "Enable Copilot to use AI features."));
|
|
286
|
+
} else {
|
|
287
|
+
descriptionText = ( localize(6394, "Sign in to use Copilot AI features."));
|
|
288
|
+
}
|
|
289
|
+
let buttonLabel;
|
|
290
|
+
if (newUser) {
|
|
291
|
+
buttonLabel = ( localize(6395, "Use AI Features"));
|
|
292
|
+
} else if (anonymousUser) {
|
|
293
|
+
buttonLabel = ( localize(6396, "Enable more AI Features"));
|
|
294
|
+
} else if (disabled) {
|
|
295
|
+
buttonLabel = ( localize(6397, "Enable AI Features"));
|
|
296
|
+
} else {
|
|
297
|
+
buttonLabel = ( localize(6398, "Sign in to use AI Features"));
|
|
298
|
+
}
|
|
299
|
+
let commandId;
|
|
300
|
+
if (newUser && anonymousUser) {
|
|
301
|
+
commandId = "workbench.action.chat.triggerSetupAnonymousWithoutDialog";
|
|
302
|
+
} else {
|
|
303
|
+
commandId = "workbench.action.chat.triggerSetup";
|
|
304
|
+
}
|
|
305
|
+
if (typeof descriptionText === "string") {
|
|
306
|
+
this.element.appendChild($(`div${descriptionClass}`, undefined, descriptionText));
|
|
307
|
+
} else {
|
|
308
|
+
this.element.appendChild($(
|
|
309
|
+
`div${descriptionClass}`,
|
|
310
|
+
undefined,
|
|
311
|
+
this._store.add(this.markdownRendererService.render(descriptionText)).element
|
|
312
|
+
));
|
|
313
|
+
}
|
|
314
|
+
const button = this._store.add(( new Button(this.element, {
|
|
315
|
+
...defaultButtonStyles,
|
|
316
|
+
hoverDelegate: nativeHoverDelegate
|
|
317
|
+
})));
|
|
318
|
+
button.label = buttonLabel;
|
|
319
|
+
this._store.add(button.onDidClick(() => this.runCommandAndClose(commandId)));
|
|
172
320
|
}
|
|
173
|
-
|
|
174
|
-
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
renderUsageContent(container, token, updatePromise) {
|
|
175
324
|
const {
|
|
176
325
|
chat: chatQuota,
|
|
177
326
|
completions: completionsQuota,
|
|
@@ -179,133 +328,86 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
179
328
|
resetDate,
|
|
180
329
|
resetDateHasTime
|
|
181
330
|
} = this.chatEntitlementService.quotas;
|
|
182
|
-
if (chatQuota ||
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
331
|
+
if (chatQuota || premiumChatQuota || completionsQuota) {
|
|
332
|
+
const resetLabel = resetDate ? (resetDateHasTime ? ( localize(
|
|
333
|
+
6399,
|
|
334
|
+
"Resets {0} at {1}",
|
|
335
|
+
this.dateFormatter.value.format(( new Date(resetDate))),
|
|
336
|
+
this.timeFormatter.value.format(( new Date(resetDate)))
|
|
337
|
+
)) : ( localize(
|
|
338
|
+
6400,
|
|
339
|
+
"Resets {0}",
|
|
340
|
+
this.dateFormatter.value.format(( new Date(resetDate)))
|
|
341
|
+
))) : undefined;
|
|
342
|
+
let chatQuotaIndicator;
|
|
343
|
+
if (chatQuota && !chatQuota.unlimited && chatQuota.total > 0) {
|
|
344
|
+
chatQuotaIndicator = this.createQuotaIndicator(container, this._store, chatQuota, ( localize(6401, "Chat messages")), false, resetLabel);
|
|
345
|
+
}
|
|
346
|
+
let premiumChatQuotaIndicator;
|
|
347
|
+
if (premiumChatQuota && !premiumChatQuota.unlimited && premiumChatQuota.total > 0) {
|
|
348
|
+
const premiumChatLabel = premiumChatQuota.overageEnabled ? ( localize(6402, "Included premium requests")) : ( localize(6403, "Premium requests"));
|
|
349
|
+
premiumChatQuotaIndicator = this.createQuotaIndicator(
|
|
350
|
+
container,
|
|
351
|
+
this._store,
|
|
352
|
+
premiumChatQuota,
|
|
353
|
+
premiumChatLabel,
|
|
354
|
+
true,
|
|
355
|
+
resetLabel
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
let completionsQuotaIndicator;
|
|
359
|
+
if (completionsQuota && !completionsQuota.unlimited && completionsQuota.total > 0) {
|
|
360
|
+
completionsQuotaIndicator = this.createQuotaIndicator(container, this._store, completionsQuota, ( localize(6404, "Inline Suggestions")), false, resetLabel);
|
|
201
361
|
}
|
|
202
362
|
if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (Number(chatQuota?.percentRemaining) <= 25 || Number(completionsQuota?.percentRemaining) <= 25)) {
|
|
203
|
-
const upgradeProButton = this._store.add(( new Button(
|
|
363
|
+
const upgradeProButton = this._store.add(( new Button(container, {
|
|
204
364
|
...defaultButtonStyles,
|
|
205
365
|
hoverDelegate: nativeHoverDelegate,
|
|
206
366
|
secondary: this.canUseChat()
|
|
207
367
|
})));
|
|
208
|
-
upgradeProButton.label = ( localize(
|
|
368
|
+
upgradeProButton.label = ( localize(6405, "Upgrade to GitHub Copilot Pro"));
|
|
209
369
|
this._store.add(
|
|
210
370
|
upgradeProButton.onDidClick(() => this.runCommandAndClose("workbench.action.chat.upgradePlan"))
|
|
211
371
|
);
|
|
212
372
|
}
|
|
213
373
|
(async () => {
|
|
214
|
-
await this.chatEntitlementService.update(token);
|
|
374
|
+
await (updatePromise ?? this.chatEntitlementService.update(token));
|
|
215
375
|
if (token.isCancellationRequested) {
|
|
216
376
|
return;
|
|
217
377
|
}
|
|
218
378
|
const {
|
|
219
379
|
chat: chatQuota,
|
|
220
|
-
|
|
221
|
-
|
|
380
|
+
premiumChat: premiumChatQuota,
|
|
381
|
+
completions: completionsQuota
|
|
222
382
|
} = this.chatEntitlementService.quotas;
|
|
223
|
-
if (completionsQuota) {
|
|
224
|
-
completionsQuotaIndicator?.(completionsQuota);
|
|
225
|
-
}
|
|
226
383
|
if (chatQuota) {
|
|
227
384
|
chatQuotaIndicator?.(chatQuota);
|
|
228
385
|
}
|
|
229
386
|
if (premiumChatQuota) {
|
|
230
387
|
premiumChatQuotaIndicator?.(premiumChatQuota);
|
|
231
388
|
}
|
|
389
|
+
if (completionsQuota) {
|
|
390
|
+
completionsQuotaIndicator?.(completionsQuota);
|
|
391
|
+
}
|
|
232
392
|
})();
|
|
233
393
|
}
|
|
234
|
-
else if (this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.
|
|
235
|
-
|
|
236
|
-
this.createQuotaIndicator(this.element, this._store, ( localize(6335, "Limited")), ( localize(6328, "Inline Suggestions")), false);
|
|
237
|
-
this.createQuotaIndicator(this.element, this._store, ( localize(6335, "Limited")), ( localize(6329, "Chat messages")), false);
|
|
238
|
-
}
|
|
239
|
-
{
|
|
240
|
-
const inProgress = this.chatSessionsService.getInProgress();
|
|
241
|
-
if (( inProgress.some(item => item.count > 0))) {
|
|
242
|
-
addSeparator(( localize(6336, "Agent Sessions")), toAction({
|
|
243
|
-
id: "workbench.view.chat.status.sessions",
|
|
244
|
-
label: ( localize(6337, "View Agent Sessions")),
|
|
245
|
-
tooltip: ( localize(6338, "View Agent Sessions")),
|
|
246
|
-
class: ThemeIcon.asClassName(Codicon.eye),
|
|
247
|
-
run: () => {
|
|
248
|
-
this.viewService.openView(ChatViewId, true);
|
|
249
|
-
this.hoverService.hideHover(true);
|
|
250
|
-
}
|
|
251
|
-
}));
|
|
252
|
-
for (const {
|
|
253
|
-
chatSessionType,
|
|
254
|
-
count
|
|
255
|
-
} of inProgress) {
|
|
256
|
-
if (count > 0) {
|
|
257
|
-
const displayName = this.getDisplayNameForChatSessionType(chatSessionType);
|
|
258
|
-
if (displayName) {
|
|
259
|
-
const text = "$(loading~spin) " + ( localize(6339, "{0} in progress", displayName));
|
|
260
|
-
const chatSessionsElement = this.element.appendChild($("div.description"));
|
|
261
|
-
const parts = renderLabelWithIcons(text);
|
|
262
|
-
chatSessionsElement.append(...parts);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
}
|
|
394
|
+
else if (this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.completed) {
|
|
395
|
+
this.createQuotaIndicator(container, this._store, ( localize(6406, "Limited")), ( localize(6401, "Chat messages")), false);
|
|
267
396
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
let rendered = this.renderContributedChatStatusItem(item);
|
|
273
|
-
itemDisposables.value = rendered.disposables;
|
|
274
|
-
this.element.appendChild(rendered.element);
|
|
275
|
-
this._store.add(this.chatStatusItemService.onDidChange(e => {
|
|
276
|
-
if (e.entry.id === item.id) {
|
|
277
|
-
const previousElement = rendered.element;
|
|
278
|
-
rendered = this.renderContributedChatStatusItem(e.entry);
|
|
279
|
-
itemDisposables.value = rendered.disposables;
|
|
280
|
-
previousElement.replaceWith(rendered.element);
|
|
281
|
-
}
|
|
282
|
-
}));
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
{
|
|
286
|
-
const chatSentiment = this.chatEntitlementService.sentiment;
|
|
287
|
-
addSeparator(( localize(6340, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
|
|
288
|
-
id: "workbench.action.openChatSettings",
|
|
289
|
-
label: ( localize(6341, "Settings")),
|
|
290
|
-
tooltip: ( localize(6342, "Open Settings")),
|
|
291
|
-
class: ThemeIcon.asClassName(Codicon.settingsGear),
|
|
292
|
-
run: () => this.runCommandAndClose(
|
|
293
|
-
() => this.commandService.executeCommand("workbench.action.openSettings", {
|
|
294
|
-
query: `@id:${defaultChat.completionsEnablementSetting} @id:${defaultChat.nextEditSuggestionsSetting}`
|
|
295
|
-
})
|
|
296
|
-
)
|
|
297
|
-
}) : undefined);
|
|
298
|
-
this.createSettings(this.element, this._store);
|
|
397
|
+
}
|
|
398
|
+
renderInlineSuggestionsContent(container, _token, _updatePromise) {
|
|
399
|
+
if (!this.options?.disableInlineSuggestionsSettings) {
|
|
400
|
+
this.createSettings(container, this._store);
|
|
299
401
|
}
|
|
300
|
-
|
|
301
|
-
|
|
402
|
+
const providers = (!this.options?.disableModelSelection || !this.options?.disableProviderOptions) ? this.languageFeaturesService.inlineCompletionsProvider.allNoModel() : undefined;
|
|
403
|
+
if (!this.options?.disableModelSelection && providers) {
|
|
302
404
|
const provider = providers.find(p => p.modelInfo && p.modelInfo.models.length > 0);
|
|
303
405
|
if (provider) {
|
|
304
406
|
const modelInfo = provider.modelInfo;
|
|
305
407
|
const currentModel = modelInfo.models.find(m => m.id === modelInfo.currentModelId);
|
|
306
408
|
if (currentModel) {
|
|
307
|
-
const modelContainer =
|
|
308
|
-
modelContainer.appendChild($("span.model-text", undefined, ( localize(
|
|
409
|
+
const modelContainer = container.appendChild($("div.model-selection"));
|
|
410
|
+
modelContainer.appendChild($("span.model-text", undefined, ( localize(6407, "Model"))));
|
|
309
411
|
const actionBar = modelContainer.appendChild($("div.model-action-bar"));
|
|
310
412
|
const toolbar = this._store.add(( new ActionBar(actionBar, {
|
|
311
413
|
hoverDelegate: nativeHoverDelegate
|
|
@@ -313,7 +415,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
313
415
|
toolbar.push([toAction({
|
|
314
416
|
id: "workbench.action.selectInlineCompletionsModel",
|
|
315
417
|
label: currentModel.name,
|
|
316
|
-
tooltip: ( localize(
|
|
418
|
+
tooltip: ( localize(6408, "Select Model")),
|
|
317
419
|
class: ThemeIcon.asClassName(Codicon.gear),
|
|
318
420
|
run: async () => {
|
|
319
421
|
await this.showModelPicker(provider);
|
|
@@ -325,14 +427,13 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
325
427
|
}
|
|
326
428
|
}
|
|
327
429
|
}
|
|
328
|
-
{
|
|
329
|
-
const providers = this.languageFeaturesService.inlineCompletionsProvider.allNoModel();
|
|
430
|
+
if (!this.options?.disableProviderOptions && providers) {
|
|
330
431
|
for (const provider of providers) {
|
|
331
432
|
if (provider.providerOptions && provider.providerOptions.length > 0) {
|
|
332
433
|
for (const option of provider.providerOptions) {
|
|
333
434
|
const currentValue = option.values.find(v => v.id === option.currentValueId);
|
|
334
435
|
if (currentValue) {
|
|
335
|
-
const optionContainer =
|
|
436
|
+
const optionContainer = container.appendChild($("div.suggest-option-selection"));
|
|
336
437
|
optionContainer.appendChild($("span.suggest-option-text", undefined, option.label));
|
|
337
438
|
const actionBar = optionContainer.appendChild($("div.suggest-option-action-bar"));
|
|
338
439
|
const toolbar = this._store.add(( new ActionBar(actionBar, {
|
|
@@ -341,7 +442,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
341
442
|
toolbar.push([toAction({
|
|
342
443
|
id: `workbench.action.selectProviderOption.${option.id}`,
|
|
343
444
|
label: currentValue.label,
|
|
344
|
-
tooltip: ( localize(
|
|
445
|
+
tooltip: ( localize(6409, "Select {0}", option.label)),
|
|
345
446
|
run: async () => {
|
|
346
447
|
await this.showProviderOptionPicker(provider, option);
|
|
347
448
|
}
|
|
@@ -354,87 +455,13 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
354
455
|
}
|
|
355
456
|
}
|
|
356
457
|
}
|
|
357
|
-
if (this.canUseChat()) {
|
|
358
|
-
const snooze = append(
|
|
359
|
-
this.createCompletionsSnooze(snooze, ( localize(
|
|
360
|
-
}
|
|
361
|
-
{
|
|
362
|
-
const newUser = isNewUser(this.chatEntitlementService);
|
|
363
|
-
const anonymousUser = this.chatEntitlementService.anonymous;
|
|
364
|
-
const disabled = this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted;
|
|
365
|
-
const signedOut = this.chatEntitlementService.entitlement === ChatEntitlement.Unknown;
|
|
366
|
-
if (newUser || signedOut || disabled) {
|
|
367
|
-
addSeparator();
|
|
368
|
-
let descriptionText;
|
|
369
|
-
let descriptionClass = ".description";
|
|
370
|
-
if (newUser && anonymousUser) {
|
|
371
|
-
descriptionText = ( new MarkdownString(( localize(
|
|
372
|
-
6347,
|
|
373
|
-
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
|
|
374
|
-
defaultChat.provider.default.name,
|
|
375
|
-
defaultChat.provider.default.name,
|
|
376
|
-
defaultChat.termsStatementUrl,
|
|
377
|
-
defaultChat.privacyStatementUrl
|
|
378
|
-
)), {
|
|
379
|
-
isTrusted: true
|
|
380
|
-
}));
|
|
381
|
-
descriptionClass = `${descriptionClass}.terms`;
|
|
382
|
-
} else if (newUser) {
|
|
383
|
-
descriptionText = ( localize(6348, "Set up Copilot to use AI features."));
|
|
384
|
-
} else if (anonymousUser) {
|
|
385
|
-
descriptionText = ( localize(6349, "Sign in to enable more Copilot AI features."));
|
|
386
|
-
} else if (disabled) {
|
|
387
|
-
descriptionText = ( localize(6350, "Enable Copilot to use AI features."));
|
|
388
|
-
} else {
|
|
389
|
-
descriptionText = ( localize(6351, "Sign in to use Copilot AI features."));
|
|
390
|
-
}
|
|
391
|
-
let buttonLabel;
|
|
392
|
-
if (newUser) {
|
|
393
|
-
buttonLabel = ( localize(6352, "Use AI Features"));
|
|
394
|
-
} else if (anonymousUser) {
|
|
395
|
-
buttonLabel = ( localize(6353, "Enable more AI Features"));
|
|
396
|
-
} else if (disabled) {
|
|
397
|
-
buttonLabel = ( localize(6354, "Enable AI Features"));
|
|
398
|
-
} else {
|
|
399
|
-
buttonLabel = ( localize(6355, "Sign in to use AI Features"));
|
|
400
|
-
}
|
|
401
|
-
let commandId;
|
|
402
|
-
if (newUser && anonymousUser) {
|
|
403
|
-
commandId = "workbench.action.chat.triggerSetupAnonymousWithoutDialog";
|
|
404
|
-
} else {
|
|
405
|
-
commandId = "workbench.action.chat.triggerSetup";
|
|
406
|
-
}
|
|
407
|
-
if (typeof descriptionText === "string") {
|
|
408
|
-
this.element.appendChild($(`div${descriptionClass}`, undefined, descriptionText));
|
|
409
|
-
} else {
|
|
410
|
-
this.element.appendChild($(
|
|
411
|
-
`div${descriptionClass}`,
|
|
412
|
-
undefined,
|
|
413
|
-
this._store.add(this.markdownRendererService.render(descriptionText)).element
|
|
414
|
-
));
|
|
415
|
-
}
|
|
416
|
-
const button = this._store.add(( new Button(this.element, {
|
|
417
|
-
...defaultButtonStyles,
|
|
418
|
-
hoverDelegate: nativeHoverDelegate
|
|
419
|
-
})));
|
|
420
|
-
button.label = buttonLabel;
|
|
421
|
-
this._store.add(button.onDidClick(() => this.runCommandAndClose(commandId)));
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
getDisplayNameForChatSessionType(chatSessionType) {
|
|
426
|
-
if (chatSessionType === AgentSessionProviders.Local) {
|
|
427
|
-
return localize(6356, "Local Agent");
|
|
428
|
-
} else if (chatSessionType === AgentSessionProviders.Background) {
|
|
429
|
-
return localize(6357, "Background Agent");
|
|
430
|
-
} else if (chatSessionType === AgentSessionProviders.Cloud) {
|
|
431
|
-
return localize(6358, "Cloud Agent");
|
|
432
|
-
} else {
|
|
433
|
-
return this.chatSessionsService.getChatSessionContribution(chatSessionType)?.displayName;
|
|
458
|
+
if (!this.options?.disableCompletionsSnooze && this.canUseChat()) {
|
|
459
|
+
const snooze = append(container, $("div.snooze-completions"));
|
|
460
|
+
this.createCompletionsSnooze(snooze, ( localize(6410, "Snooze")), this._store);
|
|
434
461
|
}
|
|
435
462
|
}
|
|
436
463
|
canUseChat() {
|
|
437
|
-
if (!this.chatEntitlementService.sentiment.
|
|
464
|
+
if (!this.chatEntitlementService.sentiment.completed || this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
|
|
438
465
|
return false;
|
|
439
466
|
}
|
|
440
467
|
if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown || this.chatEntitlementService.entitlement === ChatEntitlement.Available) {
|
|
@@ -445,10 +472,6 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
445
472
|
}
|
|
446
473
|
return true;
|
|
447
474
|
}
|
|
448
|
-
getUsageTitle() {
|
|
449
|
-
const planName = getChatPlanName(this.chatEntitlementService.entitlement);
|
|
450
|
-
return localize(6359, "{0} Usage", planName);
|
|
451
|
-
}
|
|
452
475
|
renderHeader(container, disposables, label, action) {
|
|
453
476
|
const header = container.appendChild($("div.header", undefined, label ?? ""));
|
|
454
477
|
if (action) {
|
|
@@ -468,8 +491,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
468
491
|
const headerLink = typeof item.label === "string" ? undefined : item.label.link;
|
|
469
492
|
this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
|
|
470
493
|
id: "workbench.action.openChatStatusItemLink",
|
|
471
|
-
label: ( localize(
|
|
472
|
-
tooltip: ( localize(
|
|
494
|
+
label: ( localize(6411, "Learn More")),
|
|
495
|
+
tooltip: ( localize(6411, "Learn More")),
|
|
473
496
|
class: ThemeIcon.asClassName(Codicon.linkExternal),
|
|
474
497
|
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink))))
|
|
475
498
|
}) : undefined);
|
|
@@ -477,7 +500,9 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
477
500
|
const description = itemBody.appendChild($("span.description"));
|
|
478
501
|
this.renderTextPlus(description, item.description, disposables);
|
|
479
502
|
if (item.detail) {
|
|
480
|
-
const
|
|
503
|
+
const separator = itemBody.appendChild($("span.separator"));
|
|
504
|
+
separator.textContent = "—";
|
|
505
|
+
const detail = itemBody.appendChild($("span.detail-item"));
|
|
481
506
|
this.renderTextPlus(detail, item.detail, disposables);
|
|
482
507
|
}
|
|
483
508
|
return {
|
|
@@ -507,70 +532,97 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
507
532
|
}
|
|
508
533
|
this.hoverService.hideHover(true);
|
|
509
534
|
}
|
|
510
|
-
createQuotaIndicator(container, disposables, quota, label, supportsOverage) {
|
|
535
|
+
createQuotaIndicator(container, disposables, quota, label, supportsOverage, resetLabel) {
|
|
511
536
|
const quotaValue = $("span.quota-value");
|
|
537
|
+
const quotaValueSuffix = $("span.quota-value-suffix");
|
|
512
538
|
const quotaBit = $("div.quota-bit");
|
|
513
|
-
const
|
|
539
|
+
const resetValue = $("span.quota-reset");
|
|
540
|
+
if (resetLabel) {
|
|
541
|
+
resetValue.textContent = resetLabel;
|
|
542
|
+
}
|
|
514
543
|
const quotaIndicator = container.appendChild($(
|
|
515
544
|
"div.quota-indicator",
|
|
516
545
|
undefined,
|
|
517
|
-
$("div.quota-
|
|
518
|
-
$(
|
|
519
|
-
|
|
546
|
+
$("div.quota-title", undefined, label),
|
|
547
|
+
$(
|
|
548
|
+
"div.quota-details",
|
|
549
|
+
undefined,
|
|
550
|
+
$("div.quota-percentage", undefined, quotaValue, quotaValueSuffix),
|
|
551
|
+
resetValue
|
|
552
|
+
),
|
|
553
|
+
$("div.quota-bar", undefined, quotaBit)
|
|
520
554
|
));
|
|
555
|
+
const calloutIcon = $("span.callout-icon");
|
|
556
|
+
const calloutText = $("span.callout-text");
|
|
557
|
+
const quotaCallout = container.appendChild($("div.quota-callout", undefined, calloutIcon, calloutText));
|
|
558
|
+
quotaCallout.style.display = "none";
|
|
521
559
|
if (supportsOverage && (this.chatEntitlementService.entitlement === ChatEntitlement.EDU || this.chatEntitlementService.entitlement === ChatEntitlement.Pro || this.chatEntitlementService.entitlement === ChatEntitlement.ProPlus)) {
|
|
522
|
-
const manageOverageButton = disposables.add(( new Button(
|
|
560
|
+
const manageOverageButton = disposables.add(( new Button(container, {
|
|
523
561
|
...defaultButtonStyles,
|
|
524
562
|
secondary: true,
|
|
525
563
|
hoverDelegate: nativeHoverDelegate
|
|
526
564
|
})));
|
|
527
|
-
manageOverageButton.label = ( localize(
|
|
565
|
+
manageOverageButton.label = ( localize(6412, "Manage paid premium requests"));
|
|
528
566
|
disposables.add(
|
|
529
567
|
manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl)))))
|
|
530
568
|
);
|
|
531
569
|
}
|
|
570
|
+
const isEnterpriseUser = this.chatEntitlementService.entitlement === ChatEntitlement.Enterprise || this.chatEntitlementService.entitlement === ChatEntitlement.Business;
|
|
532
571
|
const update = quota => {
|
|
533
572
|
quotaIndicator.classList.remove("error");
|
|
534
573
|
quotaIndicator.classList.remove("warning");
|
|
574
|
+
quotaIndicator.classList.remove("dimmed");
|
|
575
|
+
quotaIndicator.classList.remove("info");
|
|
535
576
|
let usedPercentage;
|
|
536
|
-
if (typeof quota === "string"
|
|
577
|
+
if (typeof quota === "string") {
|
|
537
578
|
usedPercentage = 0;
|
|
538
579
|
} else {
|
|
539
580
|
usedPercentage = Math.max(0, 100 - quota.percentRemaining);
|
|
540
581
|
}
|
|
541
582
|
if (typeof quota === "string") {
|
|
542
583
|
quotaValue.textContent = quota;
|
|
543
|
-
|
|
544
|
-
quotaValue.textContent = ( localize(6362, "Included"));
|
|
584
|
+
quotaValueSuffix.textContent = "";
|
|
545
585
|
} else if (quota.overageCount) {
|
|
546
|
-
quotaValue.textContent = (
|
|
547
|
-
|
|
548
|
-
"+{0} requests",
|
|
549
|
-
this.quotaOverageFormatter.value.format(quota.overageCount)
|
|
550
|
-
));
|
|
586
|
+
quotaValue.textContent = `+${this.quotaOverageFormatter.value.format(quota.overageCount)}`;
|
|
587
|
+
quotaValueSuffix.textContent = ` ${( localize(6413, "requests"))}`;
|
|
551
588
|
} else {
|
|
552
|
-
quotaValue.textContent = ( localize(
|
|
589
|
+
quotaValue.textContent = ( localize(6414, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
|
|
590
|
+
quotaValueSuffix.textContent = ` ${( localize(6415, "used"))}`;
|
|
553
591
|
}
|
|
554
592
|
quotaBit.style.width = `${usedPercentage}%`;
|
|
555
593
|
const overageEnabled = supportsOverage && typeof quota !== "string" && quota?.overageEnabled;
|
|
556
|
-
if (usedPercentage >=
|
|
557
|
-
quotaIndicator.classList.add("
|
|
594
|
+
if (usedPercentage >= 100 && overageEnabled) {
|
|
595
|
+
quotaIndicator.classList.add("dimmed");
|
|
596
|
+
quotaCallout.style.display = "";
|
|
597
|
+
quotaCallout.className = "quota-callout info";
|
|
598
|
+
calloutIcon.className = `callout-icon ${ThemeIcon.asClassName(Codicon.info)}`;
|
|
599
|
+
calloutText.textContent = ( localize(6416, "Using Overage Budget until limits reset."));
|
|
600
|
+
} else if (usedPercentage >= 75 && overageEnabled) {
|
|
601
|
+
quotaIndicator.classList.add("info");
|
|
602
|
+
quotaCallout.style.display = "";
|
|
603
|
+
quotaCallout.className = "quota-callout info";
|
|
604
|
+
calloutIcon.className = `callout-icon ${ThemeIcon.asClassName(Codicon.info)}`;
|
|
605
|
+
calloutText.textContent = ( localize(6417, "Once the limit is reached, your Overage Budget will be used."));
|
|
606
|
+
} else if (usedPercentage >= 100 && !overageEnabled) {
|
|
607
|
+
quotaIndicator.classList.add("dimmed");
|
|
608
|
+
quotaCallout.style.display = "";
|
|
609
|
+
quotaCallout.className = "quota-callout error";
|
|
610
|
+
calloutIcon.className = `callout-icon ${ThemeIcon.asClassName(Codicon.error)}`;
|
|
611
|
+
calloutText.textContent = isEnterpriseUser ? ( localize(
|
|
612
|
+
6418,
|
|
613
|
+
"Copilot is paused until the limit resets. Contact your administrator for more information."
|
|
614
|
+
)) : ( localize(6419, "Copilot is paused until the limit resets."));
|
|
558
615
|
} else if (usedPercentage >= 75 && !overageEnabled) {
|
|
559
616
|
quotaIndicator.classList.add("warning");
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
"You can continue after the included premium requests limit reaches 100%."
|
|
568
|
-
)));
|
|
569
|
-
} else {
|
|
570
|
-
overageLabel.textContent = ( localize(6367, "Additional paid premium requests disabled."));
|
|
571
|
-
}
|
|
617
|
+
quotaCallout.style.display = "";
|
|
618
|
+
quotaCallout.className = "quota-callout warning";
|
|
619
|
+
calloutIcon.className = `callout-icon ${ThemeIcon.asClassName(Codicon.warning)}`;
|
|
620
|
+
calloutText.textContent = isEnterpriseUser ? ( localize(
|
|
621
|
+
6420,
|
|
622
|
+
"Copilot will pause when the limit is reached. Contact your administrator for more information."
|
|
623
|
+
)) : ( localize(6421, "Copilot will pause when the limit is reached."));
|
|
572
624
|
} else {
|
|
573
|
-
|
|
625
|
+
quotaCallout.style.display = "none";
|
|
574
626
|
}
|
|
575
627
|
};
|
|
576
628
|
update(quota);
|
|
@@ -581,15 +633,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
581
633
|
const settings = container.appendChild($("div.settings"));
|
|
582
634
|
{
|
|
583
635
|
const globalSetting = append(settings, $("div.setting"));
|
|
584
|
-
this.createInlineSuggestionsSetting(globalSetting, ( localize(
|
|
636
|
+
this.createInlineSuggestionsSetting(globalSetting, ( localize(6422, "All files")), "*", disposables);
|
|
585
637
|
if (modeId) {
|
|
586
638
|
const languageSetting = append(settings, $("div.setting"));
|
|
587
|
-
this.createInlineSuggestionsSetting(languageSetting, ( localize(
|
|
639
|
+
this.createInlineSuggestionsSetting(languageSetting, ( localize(6423, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
|
|
588
640
|
}
|
|
589
641
|
}
|
|
590
642
|
{
|
|
591
643
|
const setting = append(settings, $("div.setting"));
|
|
592
|
-
this.createNextEditSuggestionsSetting(setting, ( localize(
|
|
644
|
+
this.createNextEditSuggestionsSetting(setting, ( localize(6424, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
|
|
593
645
|
}
|
|
594
646
|
return settings;
|
|
595
647
|
}
|
|
@@ -706,7 +758,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
706
758
|
})));
|
|
707
759
|
const cancelAction = toAction({
|
|
708
760
|
id: "workbench.action.cancelSnoozeStatusBarLink",
|
|
709
|
-
label: ( localize(
|
|
761
|
+
label: ( localize(6425, "Cancel Snooze")),
|
|
710
762
|
run: () => this.inlineCompletionsService.cancelSnooze(),
|
|
711
763
|
class: ThemeIcon.asClassName(Codicon.stopCircle)
|
|
712
764
|
});
|
|
@@ -715,19 +767,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
715
767
|
toolbar.clear();
|
|
716
768
|
const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
|
|
717
769
|
if (!isEnabled || timeLeftMs <= 0) {
|
|
718
|
-
timerDisplay.textContent = ( localize(
|
|
770
|
+
timerDisplay.textContent = ( localize(6426, "Hide suggestions for 5 min"));
|
|
719
771
|
timerDisplay.title = "";
|
|
720
772
|
button.label = label;
|
|
721
|
-
button.setTitle(( localize(
|
|
773
|
+
button.setTitle(( localize(6427, "Hide inline suggestions for 5 min")));
|
|
722
774
|
return true;
|
|
723
775
|
}
|
|
724
776
|
const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
|
|
725
777
|
const minutes = Math.floor(timeLeftSeconds / 60);
|
|
726
778
|
const seconds = timeLeftSeconds % 60;
|
|
727
|
-
timerDisplay.textContent = `${minutes}:${seconds < 10 ? "0" : ""}${seconds} ${( localize(
|
|
728
|
-
timerDisplay.title = ( localize(
|
|
729
|
-
button.label = ( localize(
|
|
730
|
-
button.setTitle(( localize(
|
|
779
|
+
timerDisplay.textContent = `${minutes}:${seconds < 10 ? "0" : ""}${seconds} ${( localize(6428, "remaining"))}`;
|
|
780
|
+
timerDisplay.title = ( localize(6429, "Inline suggestions are hidden for the remaining duration"));
|
|
781
|
+
button.label = ( localize(6430, "+5 min"));
|
|
782
|
+
button.setTitle(( localize(6431, "Snooze additional 5 min")));
|
|
731
783
|
toolbar.push([cancelAction], {
|
|
732
784
|
icon: true,
|
|
733
785
|
label: false
|
|
@@ -768,12 +820,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
768
820
|
const items = ( modelInfo.models.map(model => ({
|
|
769
821
|
id: model.id,
|
|
770
822
|
label: model.name,
|
|
771
|
-
description: model.id === modelInfo.currentModelId ? ( localize(
|
|
823
|
+
description: model.id === modelInfo.currentModelId ? ( localize(6432, "Currently selected")) : undefined,
|
|
772
824
|
picked: model.id === modelInfo.currentModelId
|
|
773
825
|
})));
|
|
774
826
|
const selected = await this.quickInputService.pick(items, {
|
|
775
827
|
placeHolder: ( localize(
|
|
776
|
-
|
|
828
|
+
6433,
|
|
777
829
|
"Select a model for {0}",
|
|
778
830
|
provider.displayName || "inline completions"
|
|
779
831
|
)),
|
|
@@ -791,11 +843,11 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
791
843
|
const items = ( option.values.map(value => ({
|
|
792
844
|
id: value.id,
|
|
793
845
|
label: value.label,
|
|
794
|
-
description: value.id === option.currentValueId ? ( localize(
|
|
846
|
+
description: value.id === option.currentValueId ? ( localize(6434, "Currently selected")) : undefined,
|
|
795
847
|
picked: value.id === option.currentValueId
|
|
796
848
|
})));
|
|
797
849
|
const selected = await this.quickInputService.pick(items, {
|
|
798
|
-
placeHolder: ( localize(
|
|
850
|
+
placeHolder: ( localize(6435, "Select {0}", option.label)),
|
|
799
851
|
canPickMany: false
|
|
800
852
|
});
|
|
801
853
|
if (selected && selected.id && selected.id !== option.currentValueId) {
|
|
@@ -804,6 +856,6 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
804
856
|
this.hoverService.hideHover(true);
|
|
805
857
|
}
|
|
806
858
|
};
|
|
807
|
-
ChatStatusDashboard = ( __decorate([( __param(
|
|
859
|
+
ChatStatusDashboard = ( __decorate([( __param(1, IChatEntitlementService)), ( __param(2, IChatStatusItemService)), ( __param(3, ICommandService)), ( __param(4, IConfigurationService)), ( __param(5, IEditorService)), ( __param(6, IHoverService)), ( __param(7, ILanguageService)), ( __param(8, IOpenerService)), ( __param(9, ITelemetryService)), ( __param(10, ITextResourceConfigurationService)), ( __param(11, IInlineCompletionsService)), ( __param(12, IMarkdownRendererService)), ( __param(13, ILanguageFeaturesService)), ( __param(14, IQuickInputService))], ChatStatusDashboard));
|
|
808
860
|
|
|
809
861
|
export { ChatStatusDashboard };
|