@codingame/monaco-vscode-chat-service-override 24.2.0 → 25.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 +35 -35
- package/package.json +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.d.ts → accessibility/chatAccessibilityService.d.ts} +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.js → accessibility/chatAccessibilityService.js} +23 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.d.ts → accessibility/chatResponseAccessibleView.d.ts} +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.js → accessibility/chatResponseAccessibleView.js} +38 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.js → accessibility/chatTerminalOutputAccessibleView.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +69 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +2 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +48 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +22 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +31 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +61 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +482 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +84 -93
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +137 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +92 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +81 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +335 -102
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +47 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +80 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.d.ts → attachments/chatAttachmentResolveService.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.js → attachments/chatAttachmentResolveService.js} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.d.ts → attachments/chatVariables.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.js → attachments/chatVariables.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -206
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +41 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.d.ts → chatSessions/chatSessions.contribution.d.ts} +7 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.js → chatSessions/chatSessions.contribution.js} +53 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +64 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +90 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.d.ts → contextContrib/chatContextService.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.js → contextContrib/chatContextService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.d.ts → tools/languageModelToolsConfirmationService.d.ts} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.js → tools/languageModelToolsConfirmationService.js} +47 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.d.ts → tools/languageModelToolsService.d.ts} +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.js → tools/languageModelToolsService.js} +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.d.ts → widget/chatLayoutService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.d.ts → widget/chatWidgetService.d.ts} +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.js → widget/chatWidgetService.js} +27 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.d.ts → widget/input/chatStatusWidget.d.ts} +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.js → widget/input/chatStatusWidget.js} +17 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.js +12 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.d.ts → widgetHosts/chatQuick.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.js → widgetHosts/chatQuick.js} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.d.ts → widgetHosts/editor/chatEditor.d.ts} +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.js → widgetHosts/editor/chatEditor.js} +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.d.ts → widgetHosts/viewPane/chatViewPane.d.ts} +46 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.js → widgetHosts/viewPane/chatViewPane.js} +258 -154
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.d.ts → widgetHosts/viewPane/chatViewTitleControl.d.ts} +5 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.js → widgetHosts/viewPane/chatViewTitleControl.js} +97 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +176 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +89 -0
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.d.ts → chatService/chatServiceImpl.d.ts} +16 -20
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.js → chatService/chatServiceImpl.js} +97 -151
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.d.ts → chatService/chatServiceTelemetry.d.ts} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.js → chatService/chatServiceTelemetry.js} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.d.ts → editing/chatCodeMapperService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.d.ts → model/chatModelStore.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.d.ts → model/chatSessionStore.d.ts} +14 -7
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.js → model/chatSessionStore.js} +164 -39
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.d.ts → model/chatTransferService.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.js → model/chatTransferService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.d.ts → participants/chatSlashCommands.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +25 -49
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +54 -54
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +83 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -10
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.d.ts → tools/chatTodoListService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.js → tools/chatTodoListService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.d.ts → widget/chatResponseResourceFileSystemProvider.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.js → widget/chatResponseResourceFileSystemProvider.js} +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -23
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +47 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +1 -1
- 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 +15 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +33 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +6 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +17 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +22 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +100 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +19 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.d.ts → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts} +11 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.js → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js} +83 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +156 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +64 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +16 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +1 -1
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +55 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +85 -46
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
- 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 +9 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +0 -248
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +0 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +0 -184
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +0 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +0 -229
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +0 -102
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +0 -495
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +0 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +0 -386
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -299
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +0 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +0 -39
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.d.ts → accessibility/chatTerminalOutputAccessibleView.d.ts} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → attachments/media}/simpleBrowserOverlay.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditingEditorOverlay.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditorController.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.js +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.js → widget/chatLayoutService.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.d.ts → widget/input/editor/chatEditorInputContentProvider.d.ts} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.js → widget/input/editor/chatEditorInputContentProvider.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.js +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/media/editorHoverWrapper.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/input/media}/chatStatusWidget.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.js → editing/chatCodeMapperService.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.js → model/chatModelStore.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.js → participants/chatSlashCommands.js} +0 -0
|
@@ -38,7 +38,6 @@ import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
|
|
|
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
40
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
41
|
-
import { openAgentSessionsView } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
42
41
|
import { isNewUser, isCompletionsEnabled } from './chatStatus.js';
|
|
43
42
|
import { IChatStatusItemService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service';
|
|
44
43
|
import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
|
|
@@ -54,7 +53,8 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
|
|
|
54
53
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
55
54
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
56
55
|
import { Color } from '@codingame/monaco-vscode-api/vscode/vs/base/common/color';
|
|
57
|
-
import {
|
|
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
58
|
|
|
59
59
|
const defaultChat = product.defaultChatAgent;
|
|
60
60
|
const gaugeForeground = registerColor('gauge.foreground', {
|
|
@@ -62,45 +62,45 @@ const gaugeForeground = registerColor('gauge.foreground', {
|
|
|
62
62
|
light: inputValidationInfoBorder,
|
|
63
63
|
hcDark: contrastBorder,
|
|
64
64
|
hcLight: contrastBorder
|
|
65
|
-
}, ( localize(
|
|
65
|
+
}, ( localize(5382, "Gauge foreground color.")));
|
|
66
66
|
registerColor('gauge.background', {
|
|
67
67
|
dark: ( transparent(gaugeForeground, 0.3)),
|
|
68
68
|
light: ( transparent(gaugeForeground, 0.3)),
|
|
69
69
|
hcDark: Color.white,
|
|
70
70
|
hcLight: Color.white
|
|
71
|
-
}, ( localize(
|
|
71
|
+
}, ( localize(5383, "Gauge background color.")));
|
|
72
72
|
registerColor('gauge.border', {
|
|
73
73
|
dark: null,
|
|
74
74
|
light: null,
|
|
75
75
|
hcDark: contrastBorder,
|
|
76
76
|
hcLight: contrastBorder
|
|
77
|
-
}, ( localize(
|
|
77
|
+
}, ( localize(5384, "Gauge border color.")));
|
|
78
78
|
const gaugeWarningForeground = registerColor('gauge.warningForeground', {
|
|
79
79
|
dark: inputValidationWarningBorder,
|
|
80
80
|
light: inputValidationWarningBorder,
|
|
81
81
|
hcDark: contrastBorder,
|
|
82
82
|
hcLight: contrastBorder
|
|
83
|
-
}, ( localize(
|
|
83
|
+
}, ( localize(5385, "Gauge warning foreground color.")));
|
|
84
84
|
registerColor('gauge.warningBackground', {
|
|
85
85
|
dark: ( transparent(gaugeWarningForeground, 0.3)),
|
|
86
86
|
light: ( transparent(gaugeWarningForeground, 0.3)),
|
|
87
87
|
hcDark: Color.white,
|
|
88
88
|
hcLight: Color.white
|
|
89
|
-
}, ( localize(
|
|
89
|
+
}, ( localize(5386, "Gauge warning background color.")));
|
|
90
90
|
const gaugeErrorForeground = registerColor('gauge.errorForeground', {
|
|
91
91
|
dark: inputValidationErrorBorder,
|
|
92
92
|
light: inputValidationErrorBorder,
|
|
93
93
|
hcDark: contrastBorder,
|
|
94
94
|
hcLight: contrastBorder
|
|
95
|
-
}, ( localize(
|
|
95
|
+
}, ( localize(5387, "Gauge error foreground color.")));
|
|
96
96
|
registerColor('gauge.errorBackground', {
|
|
97
97
|
dark: ( transparent(gaugeErrorForeground, 0.3)),
|
|
98
98
|
light: ( transparent(gaugeErrorForeground, 0.3)),
|
|
99
99
|
hcDark: Color.white,
|
|
100
100
|
hcLight: Color.white
|
|
101
|
-
}, ( localize(
|
|
101
|
+
}, ( localize(5388, "Gauge error background color.")));
|
|
102
102
|
let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
103
|
-
constructor(chatEntitlementService, chatStatusItemService, commandService, configurationService, editorService, hoverService, languageService, openerService, telemetryService, textResourceConfigurationService, inlineCompletionsService, chatSessionsService, markdownRendererService, languageFeaturesService, quickInputService,
|
|
103
|
+
constructor(chatEntitlementService, chatStatusItemService, commandService, configurationService, editorService, hoverService, languageService, openerService, telemetryService, textResourceConfigurationService, inlineCompletionsService, chatSessionsService, markdownRendererService, languageFeaturesService, quickInputService, viewService) {
|
|
104
104
|
super();
|
|
105
105
|
this.chatEntitlementService = chatEntitlementService;
|
|
106
106
|
this.chatStatusItemService = chatStatusItemService;
|
|
@@ -117,7 +117,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
117
117
|
this.markdownRendererService = markdownRendererService;
|
|
118
118
|
this.languageFeaturesService = languageFeaturesService;
|
|
119
119
|
this.quickInputService = quickInputService;
|
|
120
|
-
this.
|
|
120
|
+
this.viewService = viewService;
|
|
121
121
|
this.element = $('div.chat-status-bar-entry-tooltip');
|
|
122
122
|
this.dateFormatter = safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric' });
|
|
123
123
|
this.dateTimeFormatter = safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' });
|
|
@@ -139,19 +139,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
139
139
|
};
|
|
140
140
|
const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate, resetDateHasTime } = this.chatEntitlementService.quotas;
|
|
141
141
|
if (chatQuota || completionsQuota || premiumChatQuota) {
|
|
142
|
-
addSeparator(( localize(
|
|
142
|
+
addSeparator(( localize(5389, "Copilot Usage")), toAction({
|
|
143
143
|
id: 'workbench.action.manageCopilot',
|
|
144
|
-
label: ( localize(
|
|
145
|
-
tooltip: ( localize(
|
|
144
|
+
label: ( localize(5390, "Manage Chat")),
|
|
145
|
+
tooltip: ( localize(5391, "Manage Chat")),
|
|
146
146
|
class: ThemeIcon.asClassName(Codicon.settings),
|
|
147
147
|
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl)))),
|
|
148
148
|
}));
|
|
149
|
-
const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(
|
|
150
|
-
const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(
|
|
151
|
-
const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, premiumChatQuota, ( localize(
|
|
149
|
+
const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(5392, "Inline Suggestions")), false) : undefined;
|
|
150
|
+
const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(5393, "Chat messages")), false) : undefined;
|
|
151
|
+
const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, premiumChatQuota, ( localize(5394, "Premium requests")), true) : undefined;
|
|
152
152
|
if (resetDate) {
|
|
153
153
|
this.element.appendChild($('div.description', undefined, ( localize(
|
|
154
|
-
|
|
154
|
+
5395,
|
|
155
155
|
"Allowance resets {0}.",
|
|
156
156
|
resetDateHasTime ? this.dateTimeFormatter.value.format(( new Date(resetDate))) : this.dateFormatter.value.format(( new Date(resetDate)))
|
|
157
157
|
))));
|
|
@@ -161,7 +161,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
161
161
|
this.element,
|
|
162
162
|
{ ...defaultButtonStyles, hoverDelegate: nativeHoverDelegate, secondary: this.canUseChat() }
|
|
163
163
|
)));
|
|
164
|
-
upgradeProButton.label = ( localize(
|
|
164
|
+
upgradeProButton.label = ( localize(5396, "Upgrade to GitHub Copilot Pro"));
|
|
165
165
|
this._store.add(upgradeProButton.onDidClick(() => this.runCommandAndClose('workbench.action.chat.upgradePlan')));
|
|
166
166
|
}
|
|
167
167
|
(async () => {
|
|
@@ -182,26 +182,26 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
182
182
|
})();
|
|
183
183
|
}
|
|
184
184
|
else if (this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.installed) {
|
|
185
|
-
addSeparator(( localize(
|
|
186
|
-
this.createQuotaIndicator(this.element, this._store, ( localize(
|
|
187
|
-
this.createQuotaIndicator(this.element, this._store, ( localize(
|
|
185
|
+
addSeparator(( localize(5397, "Copilot Usage")));
|
|
186
|
+
this.createQuotaIndicator(this.element, this._store, ( localize(5398, "Limited")), ( localize(5392, "Inline Suggestions")), false);
|
|
187
|
+
this.createQuotaIndicator(this.element, this._store, ( localize(5398, "Limited")), ( localize(5393, "Chat messages")), false);
|
|
188
188
|
}
|
|
189
189
|
{
|
|
190
190
|
const inProgress = this.chatSessionsService.getInProgress();
|
|
191
191
|
if (( inProgress.some(item => item.count > 0))) {
|
|
192
|
-
addSeparator(( localize(
|
|
192
|
+
addSeparator(( localize(5399, "Agent Sessions")), toAction({
|
|
193
193
|
id: 'workbench.view.chat.status.sessions',
|
|
194
|
-
label: ( localize(
|
|
195
|
-
tooltip: ( localize(
|
|
194
|
+
label: ( localize(5400, "View Agent Sessions")),
|
|
195
|
+
tooltip: ( localize(5401, "View Agent Sessions")),
|
|
196
196
|
class: ThemeIcon.asClassName(Codicon.eye),
|
|
197
197
|
run: () => {
|
|
198
|
-
this.
|
|
198
|
+
this.viewService.openView(ChatViewId, true);
|
|
199
199
|
this.hoverService.hideHover(true);
|
|
200
200
|
}
|
|
201
201
|
}));
|
|
202
202
|
for (const { displayName, count } of inProgress) {
|
|
203
203
|
if (count > 0) {
|
|
204
|
-
const text = ( localize(
|
|
204
|
+
const text = ( localize(5402, "$(loading~spin) {0} in progress", displayName));
|
|
205
205
|
const chatSessionsElement = this.element.appendChild($('div.description'));
|
|
206
206
|
const parts = renderLabelWithIcons(text);
|
|
207
207
|
chatSessionsElement.append(...parts);
|
|
@@ -228,10 +228,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
228
228
|
}
|
|
229
229
|
{
|
|
230
230
|
const chatSentiment = this.chatEntitlementService.sentiment;
|
|
231
|
-
addSeparator(( localize(
|
|
231
|
+
addSeparator(( localize(5403, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
|
|
232
232
|
id: 'workbench.action.openChatSettings',
|
|
233
|
-
label: ( localize(
|
|
234
|
-
tooltip: ( localize(
|
|
233
|
+
label: ( localize(5404, "Settings")),
|
|
234
|
+
tooltip: ( localize(5405, "Open Settings")),
|
|
235
235
|
class: ThemeIcon.asClassName(Codicon.settingsGear),
|
|
236
236
|
run: () => this.runCommandAndClose(() => this.commandService.executeCommand('workbench.action.openSettings', { query: `@id:${defaultChat.completionsEnablementSetting} @id:${defaultChat.nextEditSuggestionsSetting}` })),
|
|
237
237
|
}) : undefined);
|
|
@@ -245,13 +245,13 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
245
245
|
const currentModel = modelInfo.models.find(m => m.id === modelInfo.currentModelId);
|
|
246
246
|
if (currentModel) {
|
|
247
247
|
const modelContainer = this.element.appendChild($('div.model-selection'));
|
|
248
|
-
modelContainer.appendChild($('span.model-text', undefined, ( localize(
|
|
248
|
+
modelContainer.appendChild($('span.model-text', undefined, ( localize(5406, "Model: {0}", currentModel.name))));
|
|
249
249
|
const actionBar = modelContainer.appendChild($('div.model-action-bar'));
|
|
250
250
|
const toolbar = this._store.add(( new ActionBar(actionBar, { hoverDelegate: nativeHoverDelegate })));
|
|
251
251
|
toolbar.push([toAction({
|
|
252
252
|
id: 'workbench.action.selectInlineCompletionsModel',
|
|
253
|
-
label: ( localize(
|
|
254
|
-
tooltip: ( localize(
|
|
253
|
+
label: ( localize(5407, "Select Model")),
|
|
254
|
+
tooltip: ( localize(5407, "Select Model")),
|
|
255
255
|
class: ThemeIcon.asClassName(Codicon.gear),
|
|
256
256
|
run: async () => {
|
|
257
257
|
await this.showModelPicker(provider);
|
|
@@ -262,7 +262,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
262
262
|
}
|
|
263
263
|
if (this.canUseChat()) {
|
|
264
264
|
const snooze = append(this.element, $('div.snooze-completions'));
|
|
265
|
-
this.createCompletionsSnooze(snooze, ( localize(
|
|
265
|
+
this.createCompletionsSnooze(snooze, ( localize(5408, "Snooze")), this._store);
|
|
266
266
|
}
|
|
267
267
|
{
|
|
268
268
|
const newUser = isNewUser(this.chatEntitlementService);
|
|
@@ -275,7 +275,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
275
275
|
let descriptionClass = '.description';
|
|
276
276
|
if (newUser && anonymousUser) {
|
|
277
277
|
descriptionText = ( new MarkdownString(( localize(
|
|
278
|
-
|
|
278
|
+
5409,
|
|
279
279
|
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
|
|
280
280
|
defaultChat.provider.default.name,
|
|
281
281
|
defaultChat.provider.default.name,
|
|
@@ -285,29 +285,29 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
285
285
|
descriptionClass = `${descriptionClass}.terms`;
|
|
286
286
|
}
|
|
287
287
|
else if (newUser) {
|
|
288
|
-
descriptionText = ( localize(
|
|
288
|
+
descriptionText = ( localize(5410, "Set up Copilot to use AI features."));
|
|
289
289
|
}
|
|
290
290
|
else if (anonymousUser) {
|
|
291
|
-
descriptionText = ( localize(
|
|
291
|
+
descriptionText = ( localize(5411, "Sign in to enable more Copilot AI features."));
|
|
292
292
|
}
|
|
293
293
|
else if (disabled) {
|
|
294
|
-
descriptionText = ( localize(
|
|
294
|
+
descriptionText = ( localize(5412, "Enable Copilot to use AI features."));
|
|
295
295
|
}
|
|
296
296
|
else {
|
|
297
|
-
descriptionText = ( localize(
|
|
297
|
+
descriptionText = ( localize(5413, "Sign in to use Copilot AI features."));
|
|
298
298
|
}
|
|
299
299
|
let buttonLabel;
|
|
300
300
|
if (newUser) {
|
|
301
|
-
buttonLabel = ( localize(
|
|
301
|
+
buttonLabel = ( localize(5414, "Use AI Features"));
|
|
302
302
|
}
|
|
303
303
|
else if (anonymousUser) {
|
|
304
|
-
buttonLabel = ( localize(
|
|
304
|
+
buttonLabel = ( localize(5415, "Enable more AI Features"));
|
|
305
305
|
}
|
|
306
306
|
else if (disabled) {
|
|
307
|
-
buttonLabel = ( localize(
|
|
307
|
+
buttonLabel = ( localize(5416, "Enable AI Features"));
|
|
308
308
|
}
|
|
309
309
|
else {
|
|
310
|
-
buttonLabel = ( localize(
|
|
310
|
+
buttonLabel = ( localize(5417, "Sign in to use AI Features"));
|
|
311
311
|
}
|
|
312
312
|
let commandId;
|
|
313
313
|
if (newUser && anonymousUser) {
|
|
@@ -357,8 +357,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
357
357
|
const headerLink = typeof item.label === 'string' ? undefined : item.label.link;
|
|
358
358
|
this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
|
|
359
359
|
id: 'workbench.action.openChatStatusItemLink',
|
|
360
|
-
label: ( localize(
|
|
361
|
-
tooltip: ( localize(
|
|
360
|
+
label: ( localize(5418, "Learn More")),
|
|
361
|
+
tooltip: ( localize(5418, "Learn More")),
|
|
362
362
|
class: ThemeIcon.asClassName(Codicon.linkExternal),
|
|
363
363
|
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink)))),
|
|
364
364
|
}) : undefined);
|
|
@@ -402,7 +402,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
402
402
|
quotaIndicator,
|
|
403
403
|
{ ...defaultButtonStyles, secondary: true, hoverDelegate: nativeHoverDelegate }
|
|
404
404
|
)));
|
|
405
|
-
manageOverageButton.label = ( localize(
|
|
405
|
+
manageOverageButton.label = ( localize(5419, "Manage paid premium requests"));
|
|
406
406
|
disposables.add(manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl))))));
|
|
407
407
|
}
|
|
408
408
|
const update = (quota) => {
|
|
@@ -419,17 +419,17 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
419
419
|
quotaValue.textContent = quota;
|
|
420
420
|
}
|
|
421
421
|
else if (quota.unlimited) {
|
|
422
|
-
quotaValue.textContent = ( localize(
|
|
422
|
+
quotaValue.textContent = ( localize(5420, "Included"));
|
|
423
423
|
}
|
|
424
424
|
else if (quota.overageCount) {
|
|
425
425
|
quotaValue.textContent = ( localize(
|
|
426
|
-
|
|
426
|
+
5421,
|
|
427
427
|
"+{0} requests",
|
|
428
428
|
this.quotaOverageFormatter.value.format(quota.overageCount)
|
|
429
429
|
));
|
|
430
430
|
}
|
|
431
431
|
else {
|
|
432
|
-
quotaValue.textContent = ( localize(
|
|
432
|
+
quotaValue.textContent = ( localize(5422, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
|
|
433
433
|
}
|
|
434
434
|
quotaBit.style.width = `${usedPercentage}%`;
|
|
435
435
|
if (usedPercentage >= 90) {
|
|
@@ -440,10 +440,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
440
440
|
}
|
|
441
441
|
if (supportsOverage) {
|
|
442
442
|
if (typeof quota !== 'string' && quota?.overageEnabled) {
|
|
443
|
-
overageLabel.textContent = ( localize(
|
|
443
|
+
overageLabel.textContent = ( localize(5423, "Additional paid premium requests enabled."));
|
|
444
444
|
}
|
|
445
445
|
else {
|
|
446
|
-
overageLabel.textContent = ( localize(
|
|
446
|
+
overageLabel.textContent = ( localize(5424, "Additional paid premium requests disabled."));
|
|
447
447
|
}
|
|
448
448
|
}
|
|
449
449
|
else {
|
|
@@ -458,15 +458,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
458
458
|
const settings = container.appendChild($('div.settings'));
|
|
459
459
|
{
|
|
460
460
|
const globalSetting = append(settings, $('div.setting'));
|
|
461
|
-
this.createInlineSuggestionsSetting(globalSetting, ( localize(
|
|
461
|
+
this.createInlineSuggestionsSetting(globalSetting, ( localize(5425, "All files")), '*', disposables);
|
|
462
462
|
if (modeId) {
|
|
463
463
|
const languageSetting = append(settings, $('div.setting'));
|
|
464
|
-
this.createInlineSuggestionsSetting(languageSetting, ( localize(
|
|
464
|
+
this.createInlineSuggestionsSetting(languageSetting, ( localize(5426, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
467
|
{
|
|
468
468
|
const setting = append(settings, $('div.setting'));
|
|
469
|
-
this.createNextEditSuggestionsSetting(setting, ( localize(
|
|
469
|
+
this.createNextEditSuggestionsSetting(setting, ( localize(5427, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
|
|
470
470
|
}
|
|
471
471
|
return settings;
|
|
472
472
|
}
|
|
@@ -567,7 +567,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
567
567
|
const toolbar = disposables.add(( new ActionBar(actionBar, { hoverDelegate: nativeHoverDelegate })));
|
|
568
568
|
const cancelAction = toAction({
|
|
569
569
|
id: 'workbench.action.cancelSnoozeStatusBarLink',
|
|
570
|
-
label: ( localize(
|
|
570
|
+
label: ( localize(5428, "Cancel Snooze")),
|
|
571
571
|
run: () => this.inlineCompletionsService.cancelSnooze(),
|
|
572
572
|
class: ThemeIcon.asClassName(Codicon.stopCircle)
|
|
573
573
|
});
|
|
@@ -576,19 +576,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
576
576
|
toolbar.clear();
|
|
577
577
|
const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
|
|
578
578
|
if (!isEnabled || timeLeftMs <= 0) {
|
|
579
|
-
timerDisplay.textContent = ( localize(
|
|
579
|
+
timerDisplay.textContent = ( localize(5429, "Hide suggestions for 5 min"));
|
|
580
580
|
timerDisplay.title = '';
|
|
581
581
|
button.label = label;
|
|
582
|
-
button.setTitle(( localize(
|
|
582
|
+
button.setTitle(( localize(5430, "Hide inline suggestions for 5 min")));
|
|
583
583
|
return true;
|
|
584
584
|
}
|
|
585
585
|
const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
|
|
586
586
|
const minutes = Math.floor(timeLeftSeconds / 60);
|
|
587
587
|
const seconds = timeLeftSeconds % 60;
|
|
588
|
-
timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(
|
|
589
|
-
timerDisplay.title = ( localize(
|
|
590
|
-
button.label = ( localize(
|
|
591
|
-
button.setTitle(( localize(
|
|
588
|
+
timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(5431, "remaining"))}`;
|
|
589
|
+
timerDisplay.title = ( localize(5432, "Inline suggestions are hidden for the remaining duration"));
|
|
590
|
+
button.label = ( localize(5433, "+5 min"));
|
|
591
|
+
button.setTitle(( localize(5434, "Snooze additional 5 min")));
|
|
592
592
|
toolbar.push([cancelAction], { icon: true, label: false });
|
|
593
593
|
return false;
|
|
594
594
|
};
|
|
@@ -624,12 +624,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
|
|
|
624
624
|
const items = ( modelInfo.models.map(model => ({
|
|
625
625
|
id: model.id,
|
|
626
626
|
label: model.name,
|
|
627
|
-
description: model.id === modelInfo.currentModelId ? ( localize(
|
|
627
|
+
description: model.id === modelInfo.currentModelId ? ( localize(5435, "Currently selected")) : undefined,
|
|
628
628
|
picked: model.id === modelInfo.currentModelId
|
|
629
629
|
})));
|
|
630
630
|
const selected = await this.quickInputService.pick(items, {
|
|
631
631
|
placeHolder: ( localize(
|
|
632
|
-
|
|
632
|
+
5436,
|
|
633
633
|
"Select a model for {0}",
|
|
634
634
|
provider.displayName || 'inline completions'
|
|
635
635
|
)),
|
|
@@ -657,7 +657,7 @@ ChatStatusDashboard = ( __decorate([
|
|
|
657
657
|
( __param(12, IMarkdownRendererService)),
|
|
658
658
|
( __param(13, ILanguageFeaturesService)),
|
|
659
659
|
( __param(14, IQuickInputService)),
|
|
660
|
-
( __param(15,
|
|
660
|
+
( __param(15, IViewsService))
|
|
661
661
|
], ChatStatusDashboard));
|
|
662
662
|
|
|
663
663
|
export { ChatStatusDashboard };
|
|
@@ -85,7 +85,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
85
85
|
}
|
|
86
86
|
getEntryProps() {
|
|
87
87
|
let text = '$(copilot)';
|
|
88
|
-
let ariaLabel = ( localize(
|
|
88
|
+
let ariaLabel = ( localize(5437, "Copilot status"));
|
|
89
89
|
let kind;
|
|
90
90
|
if (isNewUser(this.chatEntitlementService)) {
|
|
91
91
|
const entitlement = this.chatEntitlementService.entitlement;
|
|
@@ -94,7 +94,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
94
94
|
isProUser(entitlement) ||
|
|
95
95
|
entitlement === ChatEntitlement.Free
|
|
96
96
|
) {
|
|
97
|
-
const finishSetup = ( localize(
|
|
97
|
+
const finishSetup = ( localize(5438, "Finish Setup"));
|
|
98
98
|
text = `$(copilot) ${finishSetup}`;
|
|
99
99
|
ariaLabel = finishSetup;
|
|
100
100
|
kind = 'prominent';
|
|
@@ -105,19 +105,19 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
105
105
|
const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
|
|
106
106
|
if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
|
|
107
107
|
text = '$(copilot-unavailable)';
|
|
108
|
-
ariaLabel = ( localize(
|
|
108
|
+
ariaLabel = ( localize(5439, "Copilot disabled"));
|
|
109
109
|
}
|
|
110
110
|
else if (this.runningSessionsCount > 0) {
|
|
111
111
|
text = '$(copilot-in-progress)';
|
|
112
112
|
if (this.runningSessionsCount > 1) {
|
|
113
|
-
ariaLabel = ( localize(
|
|
113
|
+
ariaLabel = ( localize(5440, "{0} agent sessions in progress", this.runningSessionsCount));
|
|
114
114
|
}
|
|
115
115
|
else {
|
|
116
|
-
ariaLabel = ( localize(
|
|
116
|
+
ariaLabel = ( localize(5441, "1 agent session in progress"));
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
|
|
120
|
-
const signedOutWarning = ( localize(
|
|
120
|
+
const signedOutWarning = ( localize(5442, "Signed out"));
|
|
121
121
|
text = `${this.chatEntitlementService.anonymous ? '$(copilot)' : '$(copilot-not-connected)'} ${signedOutWarning}`;
|
|
122
122
|
ariaLabel = signedOutWarning;
|
|
123
123
|
kind = 'prominent';
|
|
@@ -125,13 +125,13 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
125
125
|
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
|
|
126
126
|
let quotaWarning;
|
|
127
127
|
if (chatQuotaExceeded && !completionsQuotaExceeded) {
|
|
128
|
-
quotaWarning = ( localize(
|
|
128
|
+
quotaWarning = ( localize(5443, "Chat quota reached"));
|
|
129
129
|
}
|
|
130
130
|
else if (completionsQuotaExceeded && !chatQuotaExceeded) {
|
|
131
|
-
quotaWarning = ( localize(
|
|
131
|
+
quotaWarning = ( localize(5444, "Inline suggestions quota reached"));
|
|
132
132
|
}
|
|
133
133
|
else {
|
|
134
|
-
quotaWarning = ( localize(
|
|
134
|
+
quotaWarning = ( localize(5445, "Quota reached"));
|
|
135
135
|
}
|
|
136
136
|
text = `$(copilot-warning) ${quotaWarning}`;
|
|
137
137
|
ariaLabel = quotaWarning;
|
|
@@ -139,15 +139,15 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
139
139
|
}
|
|
140
140
|
else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
|
|
141
141
|
text = '$(copilot-unavailable)';
|
|
142
|
-
ariaLabel = ( localize(
|
|
142
|
+
ariaLabel = ( localize(5446, "Inline suggestions disabled"));
|
|
143
143
|
}
|
|
144
144
|
else if (this.completionsService.isSnoozing()) {
|
|
145
145
|
text = '$(copilot-snooze)';
|
|
146
|
-
ariaLabel = ( localize(
|
|
146
|
+
ariaLabel = ( localize(5447, "Inline suggestions snoozed"));
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
const baseResult = {
|
|
150
|
-
name: ( localize(
|
|
150
|
+
name: ( localize(5448, "Copilot Status")),
|
|
151
151
|
text,
|
|
152
152
|
ariaLabel,
|
|
153
153
|
command: ShowTooltipCommand,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
4
|
+
import { IHostService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service";
|
|
5
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
6
|
+
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
7
|
+
/**
|
|
8
|
+
* Observes all live chat models and triggers OS notifications when any model
|
|
9
|
+
* transitions to needing input (confirmation/elicitation).
|
|
10
|
+
*/
|
|
11
|
+
export declare class ChatWindowNotifier extends Disposable implements IWorkbenchContribution {
|
|
12
|
+
private readonly _chatService;
|
|
13
|
+
private readonly _chatWidgetService;
|
|
14
|
+
private readonly _hostService;
|
|
15
|
+
private readonly _configurationService;
|
|
16
|
+
static readonly ID = "workbench.contrib.chatWindowNotifier";
|
|
17
|
+
private readonly _activeNotifications;
|
|
18
|
+
constructor(_chatService: IChatService, _chatWidgetService: IChatWidgetService, _hostService: IHostService, _configurationService: IConfigurationService);
|
|
19
|
+
private _trackModel;
|
|
20
|
+
private _notifyIfNeeded;
|
|
21
|
+
private _clearNotification;
|
|
22
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { getWindow, triggerNotification } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
|
|
5
|
+
import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
6
|
+
import { Disposable, DisposableResourceMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
8
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
9
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
10
|
+
import { FocusMode } from '@codingame/monaco-vscode-api/vscode/vs/platform/native/common/native';
|
|
11
|
+
import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
|
|
12
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
13
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
14
|
+
import { autorunIterableDelta, autorunDelta } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
15
|
+
|
|
16
|
+
let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
|
|
17
|
+
static { this.ID = 'workbench.contrib.chatWindowNotifier'; }
|
|
18
|
+
constructor(_chatService, _chatWidgetService, _hostService, _configurationService) {
|
|
19
|
+
super();
|
|
20
|
+
this._chatService = _chatService;
|
|
21
|
+
this._chatWidgetService = _chatWidgetService;
|
|
22
|
+
this._hostService = _hostService;
|
|
23
|
+
this._configurationService = _configurationService;
|
|
24
|
+
this._activeNotifications = this._register(( new DisposableResourceMap()));
|
|
25
|
+
const modelTrackers = this._register(( new DisposableResourceMap()));
|
|
26
|
+
this._register(autorunIterableDelta(reader => this._chatService.chatModels.read(reader), ({ addedValues, removedValues }) => {
|
|
27
|
+
for (const model of addedValues) {
|
|
28
|
+
modelTrackers.set(model.sessionResource, this._trackModel(model));
|
|
29
|
+
}
|
|
30
|
+
for (const model of removedValues) {
|
|
31
|
+
modelTrackers.deleteAndDispose(model.sessionResource);
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
_trackModel(model) {
|
|
36
|
+
return autorunDelta(model.requestNeedsInput, ({ lastValue, newValue }) => {
|
|
37
|
+
const currentNeedsInput = !!newValue;
|
|
38
|
+
const previousNeedsInput = !!lastValue;
|
|
39
|
+
if (!previousNeedsInput && currentNeedsInput && newValue) {
|
|
40
|
+
this._notifyIfNeeded(model.sessionResource, newValue);
|
|
41
|
+
}
|
|
42
|
+
else if (previousNeedsInput && !currentNeedsInput) {
|
|
43
|
+
this._clearNotification(model.sessionResource);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async _notifyIfNeeded(sessionResource, info) {
|
|
48
|
+
if (!this._configurationService.getValue('chat.notifyWindowOnConfirmation')) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const widget = this._chatWidgetService.getWidgetBySessionResource(sessionResource);
|
|
52
|
+
const targetWindow = widget ? getWindow(widget.domNode) : mainWindow;
|
|
53
|
+
if (targetWindow.document.hasFocus()) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this._clearNotification(sessionResource);
|
|
57
|
+
await this._hostService.focus(targetWindow, { mode: FocusMode.Notify });
|
|
58
|
+
const notificationTitle = info.title ? ( localize(5449, "Chat: {0}", info.title)) : ( localize(5450, "Untitled Chat"));
|
|
59
|
+
const notification = await triggerNotification(notificationTitle, {
|
|
60
|
+
detail: info.detail ?? ( localize(5451, "Approval needed to continue."))
|
|
61
|
+
});
|
|
62
|
+
if (notification) {
|
|
63
|
+
const disposables = ( new DisposableStore());
|
|
64
|
+
this._activeNotifications.set(sessionResource, disposables);
|
|
65
|
+
disposables.add(notification);
|
|
66
|
+
disposables.add(Event.once(notification.onClick)(async () => {
|
|
67
|
+
await this._hostService.focus(targetWindow, { mode: FocusMode.Force });
|
|
68
|
+
const widget = await this._chatWidgetService.openSession(sessionResource);
|
|
69
|
+
widget?.focusInput();
|
|
70
|
+
this._clearNotification(sessionResource);
|
|
71
|
+
}));
|
|
72
|
+
disposables.add(this._hostService.onDidChangeFocus(focus => {
|
|
73
|
+
if (focus) {
|
|
74
|
+
this._clearNotification(sessionResource);
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
_clearNotification(sessionResource) {
|
|
80
|
+
this._activeNotifications.deleteAndDispose(sessionResource);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
ChatWindowNotifier = ( __decorate([
|
|
84
|
+
( __param(0, IChatService)),
|
|
85
|
+
( __param(1, IChatWidgetService)),
|
|
86
|
+
( __param(2, IHostService)),
|
|
87
|
+
( __param(3, IConfigurationService))
|
|
88
|
+
], ChatWindowNotifier));
|
|
89
|
+
|
|
90
|
+
export { ChatWindowNotifier };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
|
|
2
2
|
import { LanguageSelector } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languageSelector";
|
|
3
|
-
import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service";
|
|
4
|
-
import { IChatContextItem, IChatContextProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContext";
|
|
5
|
-
import { IChatRequestWorkspaceVariableEntry, StringChatContextValue } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
|
|
3
|
+
import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service";
|
|
4
|
+
import { IChatContextItem, IChatContextProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/contextContrib/chatContext";
|
|
5
|
+
import { IChatRequestWorkspaceVariableEntry, StringChatContextValue } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
|
|
6
6
|
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
7
7
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
8
8
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
4
4
|
import { score } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languageSelector';
|
|
5
|
-
import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service';
|
|
5
|
+
import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service';
|
|
6
6
|
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
7
7
|
import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
8
8
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|