@codingame/monaco-vscode-chat-service-override 20.4.1 → 21.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 +15 -7
- package/package.json +38 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +56 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +18 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +52 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +28 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +19 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +433 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +205 -551
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +52 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -163
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +20 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +11 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +32 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +22 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +47 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +8 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +33 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +74 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +23 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatLayoutService.js +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +36 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +37 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +238 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +23 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +257 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +126 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +3 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +55 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +13 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +130 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatus.css +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +39 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +12 -12
- 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/saveToPromptAction.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +4 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +153 -168
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +127 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +111 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +66 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +143 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +12 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +41 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +55 -22
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/mode.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +8 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +11 -5
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +54 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +33 -31
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +9 -9
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +9 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +11 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +1 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +16 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +84 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.js +55 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +8 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +15 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +72 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +8 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +19 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +12 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +85 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +448 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +30 -77
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +174 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +75 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +15 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +81 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +106 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{getTerminalOutputTool.js → tools/getTerminalOutputTool.js} +5 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +59 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +452 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{runInTerminalTool.d.ts → tools/runInTerminalTool.d.ts} +11 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{runInTerminalTool.js → tools/runInTerminalTool.js} +282 -133
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/createAndRunTaskTool.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/createAndRunTaskTool.js +51 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/getTaskOutputTool.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +117 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/runTaskTool.d.ts +3 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{task → tools/task}/runTaskTool.js +54 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +36 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminal.chatAgentTools.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminal.chatAgentTools.js +8 -0
- package/vscode/src/vs/base/common/policy.d.ts +0 -41
- package/vscode/src/vs/base/common/policy.js +0 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +0 -738
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -42
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.d.ts +0 -67
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.js +0 -167
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +0 -63
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +0 -55
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +0 -163
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +0 -88
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +0 -35
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.js +0 -80
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +0 -40
- /package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{getTerminalOutputTool.d.ts → tools/getTerminalOutputTool.d.ts} +0 -0
|
@@ -6,6 +6,7 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
6
6
|
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
7
7
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
8
8
|
import { IInlineCompletionsService } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/inlineCompletionsService.service";
|
|
9
|
+
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
9
10
|
export declare class ChatStatusBarEntry extends Disposable implements IWorkbenchContribution {
|
|
10
11
|
private readonly chatEntitlementService;
|
|
11
12
|
private readonly instantiationService;
|
|
@@ -13,11 +14,12 @@ export declare class ChatStatusBarEntry extends Disposable implements IWorkbench
|
|
|
13
14
|
private readonly editorService;
|
|
14
15
|
private readonly configurationService;
|
|
15
16
|
private readonly completionsService;
|
|
17
|
+
private readonly chatSessionsService;
|
|
16
18
|
static readonly ID = "workbench.contrib.chatStatusBarEntry";
|
|
17
19
|
private entry;
|
|
18
20
|
private dashboard;
|
|
19
21
|
private readonly activeCodeEditorListener;
|
|
20
|
-
constructor(chatEntitlementService: ChatEntitlementService, instantiationService: IInstantiationService, statusbarService: IStatusbarService, editorService: IEditorService, configurationService: IConfigurationService, completionsService: IInlineCompletionsService);
|
|
22
|
+
constructor(chatEntitlementService: ChatEntitlementService, instantiationService: IInstantiationService, statusbarService: IStatusbarService, editorService: IEditorService, configurationService: IConfigurationService, completionsService: IInlineCompletionsService, chatSessionsService: IChatSessionsService);
|
|
21
23
|
private update;
|
|
22
24
|
private registerListeners;
|
|
23
25
|
private onDidActiveEditorChange;
|
|
@@ -52,50 +52,51 @@ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/th
|
|
|
52
52
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
53
53
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
54
54
|
import { IInlineCompletionsService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/inlineCompletionsService.service';
|
|
55
|
+
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
55
56
|
|
|
56
57
|
registerCss(chatStatus);
|
|
57
|
-
const
|
|
58
|
+
const gaugeForeground = registerColor('gauge.foreground', {
|
|
58
59
|
dark: inputValidationInfoBorder,
|
|
59
60
|
light: inputValidationInfoBorder,
|
|
60
61
|
hcDark: contrastBorder,
|
|
61
62
|
hcLight: contrastBorder
|
|
62
|
-
}, ( localize(
|
|
63
|
-
registerColor('gauge.
|
|
64
|
-
dark: ( transparent(
|
|
65
|
-
light: ( transparent(
|
|
63
|
+
}, ( localize(5244, "Gauge foreground color.")));
|
|
64
|
+
registerColor('gauge.background', {
|
|
65
|
+
dark: ( transparent(gaugeForeground, 0.3)),
|
|
66
|
+
light: ( transparent(gaugeForeground, 0.3)),
|
|
66
67
|
hcDark: Color.white,
|
|
67
68
|
hcLight: Color.white
|
|
68
|
-
}, ( localize(
|
|
69
|
+
}, ( localize(5245, "Gauge background color.")));
|
|
69
70
|
registerColor('gauge.border', {
|
|
70
71
|
dark: null,
|
|
71
72
|
light: null,
|
|
72
73
|
hcDark: contrastBorder,
|
|
73
74
|
hcLight: contrastBorder
|
|
74
|
-
}, ( localize(
|
|
75
|
-
const
|
|
75
|
+
}, ( localize(5246, "Gauge border color.")));
|
|
76
|
+
const gaugeWarningForeground = registerColor('gauge.warningForeground', {
|
|
76
77
|
dark: inputValidationWarningBorder,
|
|
77
78
|
light: inputValidationWarningBorder,
|
|
78
79
|
hcDark: contrastBorder,
|
|
79
80
|
hcLight: contrastBorder
|
|
80
|
-
}, ( localize(
|
|
81
|
-
registerColor('gauge.
|
|
82
|
-
dark: ( transparent(
|
|
83
|
-
light: ( transparent(
|
|
81
|
+
}, ( localize(5247, "Gauge warning foreground color.")));
|
|
82
|
+
registerColor('gauge.warningBackground', {
|
|
83
|
+
dark: ( transparent(gaugeWarningForeground, 0.3)),
|
|
84
|
+
light: ( transparent(gaugeWarningForeground, 0.3)),
|
|
84
85
|
hcDark: Color.white,
|
|
85
86
|
hcLight: Color.white
|
|
86
|
-
}, ( localize(
|
|
87
|
-
const
|
|
87
|
+
}, ( localize(5248, "Gauge warning background color.")));
|
|
88
|
+
const gaugeErrorForeground = registerColor('gauge.errorForeground', {
|
|
88
89
|
dark: inputValidationErrorBorder,
|
|
89
90
|
light: inputValidationErrorBorder,
|
|
90
91
|
hcDark: contrastBorder,
|
|
91
92
|
hcLight: contrastBorder
|
|
92
|
-
}, ( localize(
|
|
93
|
-
registerColor('gauge.
|
|
94
|
-
dark: ( transparent(
|
|
95
|
-
light: ( transparent(
|
|
93
|
+
}, ( localize(5249, "Gauge error foreground color.")));
|
|
94
|
+
registerColor('gauge.errorBackground', {
|
|
95
|
+
dark: ( transparent(gaugeErrorForeground, 0.3)),
|
|
96
|
+
light: ( transparent(gaugeErrorForeground, 0.3)),
|
|
96
97
|
hcDark: Color.white,
|
|
97
98
|
hcLight: Color.white
|
|
98
|
-
}, ( localize(
|
|
99
|
+
}, ( localize(5250, "Gauge error background color.")));
|
|
99
100
|
const defaultChat = {
|
|
100
101
|
completionsEnablementSetting: product.defaultChatAgent?.completionsEnablementSetting ?? '',
|
|
101
102
|
nextEditSuggestionsSetting: product.defaultChatAgent?.nextEditSuggestionsSetting ?? '',
|
|
@@ -104,7 +105,7 @@ const defaultChat = {
|
|
|
104
105
|
};
|
|
105
106
|
let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
106
107
|
static { this.ID = 'workbench.contrib.chatStatusBarEntry'; }
|
|
107
|
-
constructor(chatEntitlementService, instantiationService, statusbarService, editorService, configurationService, completionsService) {
|
|
108
|
+
constructor(chatEntitlementService, instantiationService, statusbarService, editorService, configurationService, completionsService, chatSessionsService) {
|
|
108
109
|
super();
|
|
109
110
|
this.chatEntitlementService = chatEntitlementService;
|
|
110
111
|
this.instantiationService = instantiationService;
|
|
@@ -112,6 +113,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
112
113
|
this.editorService = editorService;
|
|
113
114
|
this.configurationService = configurationService;
|
|
114
115
|
this.completionsService = completionsService;
|
|
116
|
+
this.chatSessionsService = chatSessionsService;
|
|
115
117
|
this.entry = undefined;
|
|
116
118
|
this.dashboard = ( new Lazy(() => this.instantiationService.createInstance(ChatStatusDashboard)));
|
|
117
119
|
this.activeCodeEditorListener = this._register(( new MutableDisposable()));
|
|
@@ -119,12 +121,14 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
119
121
|
this.registerListeners();
|
|
120
122
|
}
|
|
121
123
|
update() {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
const sentiment = this.chatEntitlementService.sentiment;
|
|
125
|
+
if (!sentiment.hidden) {
|
|
126
|
+
const props = this.getEntryProps();
|
|
127
|
+
if (this.entry) {
|
|
128
|
+
this.entry.update(props);
|
|
125
129
|
}
|
|
126
130
|
else {
|
|
127
|
-
this.entry.
|
|
131
|
+
this.entry = this.statusbarService.addEntry(props, 'chat.statusBarEntry', StatusbarAlignment.RIGHT, { location: { id: 'status.editor.mode', priority: 100.1 }, alignment: StatusbarAlignment.RIGHT });
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
134
|
else {
|
|
@@ -137,6 +141,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
137
141
|
this._register(this.chatEntitlementService.onDidChangeSentiment(() => this.update()));
|
|
138
142
|
this._register(this.chatEntitlementService.onDidChangeEntitlement(() => this.update()));
|
|
139
143
|
this._register(this.completionsService.onDidChangeIsSnoozing(() => this.update()));
|
|
144
|
+
this._register(this.chatSessionsService.onDidChangeInProgress(() => this.update()));
|
|
140
145
|
this._register(this.editorService.onDidActiveEditorChange(() => this.onDidActiveEditorChange()));
|
|
141
146
|
this._register(this.configurationService.onDidChangeConfiguration(e => {
|
|
142
147
|
if (e.affectsConfiguration(defaultChat.completionsEnablementSetting)) {
|
|
@@ -156,8 +161,10 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
156
161
|
}
|
|
157
162
|
getEntryProps() {
|
|
158
163
|
let text = '$(copilot)';
|
|
159
|
-
let ariaLabel = ( localize(
|
|
164
|
+
let ariaLabel = ( localize(5251, "Copilot Status"));
|
|
160
165
|
let kind;
|
|
166
|
+
const inProgress = this.chatSessionsService.getInProgress();
|
|
167
|
+
const hasInProgressSessions = ( inProgress.some(item => item.count > 0));
|
|
161
168
|
if (isNewUser(this.chatEntitlementService)) {
|
|
162
169
|
const entitlement = this.chatEntitlementService.entitlement;
|
|
163
170
|
if (this.chatEntitlementService.sentiment.later ||
|
|
@@ -165,7 +172,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
165
172
|
isProUser(entitlement) ||
|
|
166
173
|
entitlement === ChatEntitlement.Free
|
|
167
174
|
) {
|
|
168
|
-
const finishSetup = ( localize(
|
|
175
|
+
const finishSetup = ( localize(5252, "Finish Setup"));
|
|
169
176
|
text = `$(copilot) ${finishSetup}`;
|
|
170
177
|
ariaLabel = finishSetup;
|
|
171
178
|
kind = 'prominent';
|
|
@@ -176,10 +183,10 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
176
183
|
const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
|
|
177
184
|
if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
|
|
178
185
|
text = `$(copilot-unavailable)`;
|
|
179
|
-
ariaLabel = ( localize(
|
|
186
|
+
ariaLabel = ( localize(5253, "Copilot Disabled"));
|
|
180
187
|
}
|
|
181
188
|
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
|
|
182
|
-
const signedOutWarning = ( localize(
|
|
189
|
+
const signedOutWarning = ( localize(5254, "Signed out"));
|
|
183
190
|
text = `$(copilot-not-connected) ${signedOutWarning}`;
|
|
184
191
|
ariaLabel = signedOutWarning;
|
|
185
192
|
kind = 'prominent';
|
|
@@ -187,13 +194,13 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
187
194
|
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
|
|
188
195
|
let quotaWarning;
|
|
189
196
|
if (chatQuotaExceeded && !completionsQuotaExceeded) {
|
|
190
|
-
quotaWarning = ( localize(
|
|
197
|
+
quotaWarning = ( localize(5255, "Chat quota reached"));
|
|
191
198
|
}
|
|
192
199
|
else if (completionsQuotaExceeded && !chatQuotaExceeded) {
|
|
193
|
-
quotaWarning = ( localize(
|
|
200
|
+
quotaWarning = ( localize(5256, "Completions quota reached"));
|
|
194
201
|
}
|
|
195
202
|
else {
|
|
196
|
-
quotaWarning = ( localize(
|
|
203
|
+
quotaWarning = ( localize(5257, "Quota reached"));
|
|
197
204
|
}
|
|
198
205
|
text = `$(copilot-warning) ${quotaWarning}`;
|
|
199
206
|
ariaLabel = quotaWarning;
|
|
@@ -201,22 +208,28 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
201
208
|
}
|
|
202
209
|
else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
|
|
203
210
|
text = `$(copilot-unavailable)`;
|
|
204
|
-
ariaLabel = ( localize(
|
|
211
|
+
ariaLabel = ( localize(5258, "Code completions disabled"));
|
|
205
212
|
}
|
|
206
213
|
else if (this.completionsService.isSnoozing()) {
|
|
207
214
|
text = `$(copilot-snooze)`;
|
|
208
|
-
ariaLabel = ( localize(
|
|
215
|
+
ariaLabel = ( localize(5259, "Code completions snoozed"));
|
|
209
216
|
}
|
|
210
217
|
}
|
|
211
|
-
|
|
212
|
-
|
|
218
|
+
if (hasInProgressSessions) {
|
|
219
|
+
text = `$(loading~spin)\u00A0${text}`;
|
|
220
|
+
const sessionCount = inProgress.reduce((total, item) => total + item.count, 0);
|
|
221
|
+
ariaLabel = `${ariaLabel}, ${sessionCount} chat session${sessionCount === 1 ? '' : 's'} in progress`;
|
|
222
|
+
}
|
|
223
|
+
const baseResult = {
|
|
224
|
+
name: ( localize(5251, "Copilot Status")),
|
|
213
225
|
text,
|
|
214
226
|
ariaLabel,
|
|
215
227
|
command: ShowTooltipCommand,
|
|
216
228
|
showInAllWindows: true,
|
|
217
229
|
kind,
|
|
218
|
-
tooltip: { element: token => this.dashboard.value.show(token) }
|
|
230
|
+
tooltip: { element: (token) => this.dashboard.value.show(token) }
|
|
219
231
|
};
|
|
232
|
+
return baseResult;
|
|
220
233
|
}
|
|
221
234
|
dispose() {
|
|
222
235
|
super.dispose();
|
|
@@ -230,7 +243,8 @@ ChatStatusBarEntry = ( __decorate([
|
|
|
230
243
|
( __param(2, IStatusbarService)),
|
|
231
244
|
( __param(3, IEditorService)),
|
|
232
245
|
( __param(4, IConfigurationService)),
|
|
233
|
-
( __param(5, IInlineCompletionsService))
|
|
246
|
+
( __param(5, IInlineCompletionsService)),
|
|
247
|
+
( __param(6, IChatSessionsService))
|
|
234
248
|
], ChatStatusBarEntry));
|
|
235
249
|
function isNewUser(chatEntitlementService) {
|
|
236
250
|
return !chatEntitlementService.sentiment.installed ||
|
|
@@ -255,7 +269,7 @@ function isCompletionsEnabled(configurationService, modeId = '*') {
|
|
|
255
269
|
return Boolean(result['*']);
|
|
256
270
|
}
|
|
257
271
|
let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
258
|
-
constructor(chatEntitlementService, chatStatusItemService, commandService, configurationService, editorService, hoverService, languageService, openerService, telemetryService, textResourceConfigurationService, inlineCompletionsService) {
|
|
272
|
+
constructor(chatEntitlementService, chatStatusItemService, commandService, configurationService, editorService, hoverService, languageService, openerService, telemetryService, textResourceConfigurationService, inlineCompletionsService, chatSessionsService) {
|
|
259
273
|
super();
|
|
260
274
|
this.chatEntitlementService = chatEntitlementService;
|
|
261
275
|
this.chatStatusItemService = chatStatusItemService;
|
|
@@ -268,8 +282,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
268
282
|
this.telemetryService = telemetryService;
|
|
269
283
|
this.textResourceConfigurationService = textResourceConfigurationService;
|
|
270
284
|
this.inlineCompletionsService = inlineCompletionsService;
|
|
285
|
+
this.chatSessionsService = chatSessionsService;
|
|
271
286
|
this.element = $('div.chat-status-bar-entry-tooltip');
|
|
272
287
|
this.dateFormatter = safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric' });
|
|
288
|
+
this.dateTimeFormatter = safeIntl.DateTimeFormat(language, { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' });
|
|
273
289
|
this.quotaPercentageFormatter = safeIntl.NumberFormat(undefined, { maximumFractionDigits: 1, minimumFractionDigits: 0 });
|
|
274
290
|
this.quotaOverageFormatter = safeIntl.NumberFormat(undefined, { maximumFractionDigits: 2, minimumFractionDigits: 0 });
|
|
275
291
|
this.entryDisposables = this._register(( new MutableDisposable()));
|
|
@@ -288,23 +304,23 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
288
304
|
}
|
|
289
305
|
needsSeparator = true;
|
|
290
306
|
};
|
|
291
|
-
const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate } = this.chatEntitlementService.quotas;
|
|
307
|
+
const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate, resetDateHasTime } = this.chatEntitlementService.quotas;
|
|
292
308
|
if (chatQuota || completionsQuota || premiumChatQuota) {
|
|
293
|
-
addSeparator(( localize(
|
|
309
|
+
addSeparator(( localize(5260, "Copilot Usage")), toAction({
|
|
294
310
|
id: 'workbench.action.manageCopilot',
|
|
295
|
-
label: ( localize(
|
|
296
|
-
tooltip: ( localize(
|
|
311
|
+
label: ( localize(5261, "Manage Chat")),
|
|
312
|
+
tooltip: ( localize(5262, "Manage Chat")),
|
|
297
313
|
class: ThemeIcon.asClassName(Codicon.settings),
|
|
298
314
|
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl)))),
|
|
299
315
|
}));
|
|
300
|
-
const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(
|
|
301
|
-
const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(
|
|
302
|
-
const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(
|
|
316
|
+
const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(5263, "Code completions")), false) : undefined;
|
|
317
|
+
const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(5264, "Chat messages")), false) : undefined;
|
|
318
|
+
const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(5265, "Premium requests")), true) : undefined;
|
|
303
319
|
if (resetDate) {
|
|
304
320
|
this.element.appendChild($('div.description', undefined, ( localize(
|
|
305
|
-
|
|
321
|
+
5266,
|
|
306
322
|
"Allowance resets {0}.",
|
|
307
|
-
this.dateFormatter.value.format(( new Date(resetDate)))
|
|
323
|
+
resetDateHasTime ? this.dateTimeFormatter.value.format(( new Date(resetDate))) : this.dateFormatter.value.format(( new Date(resetDate)))
|
|
308
324
|
))));
|
|
309
325
|
}
|
|
310
326
|
if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (Number(chatQuota?.percentRemaining) <= 25 || Number(completionsQuota?.percentRemaining) <= 25)) {
|
|
@@ -312,7 +328,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
312
328
|
this.element,
|
|
313
329
|
{ ...defaultButtonStyles, hoverDelegate: nativeHoverDelegate, secondary: canUseCopilot(this.chatEntitlementService) }
|
|
314
330
|
)));
|
|
315
|
-
upgradeProButton.label = ( localize(
|
|
331
|
+
upgradeProButton.label = ( localize(5267, "Upgrade to GitHub Copilot Pro"));
|
|
316
332
|
disposables.add(upgradeProButton.onDidClick(() => this.runCommandAndClose('workbench.action.chat.upgradePlan')));
|
|
317
333
|
}
|
|
318
334
|
(async () => {
|
|
@@ -332,6 +348,38 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
332
348
|
}
|
|
333
349
|
})();
|
|
334
350
|
}
|
|
351
|
+
{
|
|
352
|
+
let chatSessionsElement;
|
|
353
|
+
const updateStatus = () => {
|
|
354
|
+
const inProgress = this.chatSessionsService.getInProgress();
|
|
355
|
+
if (( inProgress.some(item => item.count > 0))) {
|
|
356
|
+
addSeparator(( localize(5268, "Chat Sessions")), toAction({
|
|
357
|
+
id: 'workbench.view.chat.status.sessions',
|
|
358
|
+
label: ( localize(5269, "View Chat Sessions")),
|
|
359
|
+
tooltip: ( localize(5270, "View Chat Sessions")),
|
|
360
|
+
class: ThemeIcon.asClassName(Codicon.eye),
|
|
361
|
+
run: () => this.runCommandAndClose('workbench.view.chat.sessions'),
|
|
362
|
+
}));
|
|
363
|
+
for (const { displayName, count } of inProgress) {
|
|
364
|
+
if (count > 0) {
|
|
365
|
+
let lowerCaseName = displayName.toLocaleLowerCase();
|
|
366
|
+
if (lowerCaseName.endsWith('session') || lowerCaseName.endsWith('sessions')) {
|
|
367
|
+
lowerCaseName = lowerCaseName.replace(/session$|sessions$/g, count > 1 ? 'sessions' : 'session');
|
|
368
|
+
}
|
|
369
|
+
const text = ( localize(5271, "$(loading~spin) {0} {1} in progress", count, lowerCaseName));
|
|
370
|
+
chatSessionsElement = this.element.appendChild($('div.description'));
|
|
371
|
+
const parts = renderLabelWithIcons(text);
|
|
372
|
+
chatSessionsElement.append(...parts);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
chatSessionsElement?.remove();
|
|
378
|
+
}
|
|
379
|
+
};
|
|
380
|
+
updateStatus();
|
|
381
|
+
disposables.add(this.chatSessionsService.onDidChangeInProgress(updateStatus));
|
|
382
|
+
}
|
|
335
383
|
{
|
|
336
384
|
for (const item of this.chatStatusItemService.getEntries()) {
|
|
337
385
|
addSeparator();
|
|
@@ -351,10 +399,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
351
399
|
}
|
|
352
400
|
{
|
|
353
401
|
const chatSentiment = this.chatEntitlementService.sentiment;
|
|
354
|
-
addSeparator(( localize(
|
|
402
|
+
addSeparator(( localize(5272, "Code Completions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
|
|
355
403
|
id: 'workbench.action.openChatSettings',
|
|
356
|
-
label: ( localize(
|
|
357
|
-
tooltip: ( localize(
|
|
404
|
+
label: ( localize(5273, "Settings")),
|
|
405
|
+
tooltip: ( localize(5274, "Open Settings")),
|
|
358
406
|
class: ThemeIcon.asClassName(Codicon.settingsGear),
|
|
359
407
|
run: () => this.runCommandAndClose(() => this.commandService.executeCommand('workbench.action.openSettings', { query: `@id:${defaultChat.completionsEnablementSetting} @id:${defaultChat.nextEditSuggestionsSetting}` })),
|
|
360
408
|
}) : undefined);
|
|
@@ -362,7 +410,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
362
410
|
}
|
|
363
411
|
if (canUseCopilot(this.chatEntitlementService)) {
|
|
364
412
|
const snooze = append(this.element, $('div.snooze-completions'));
|
|
365
|
-
this.createCompletionsSnooze(snooze, ( localize(
|
|
413
|
+
this.createCompletionsSnooze(snooze, ( localize(5275, "Snooze")), disposables);
|
|
366
414
|
}
|
|
367
415
|
{
|
|
368
416
|
const newUser = isNewUser(this.chatEntitlementService);
|
|
@@ -372,23 +420,23 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
372
420
|
addSeparator();
|
|
373
421
|
let descriptionText;
|
|
374
422
|
if (newUser) {
|
|
375
|
-
descriptionText = ( localize(
|
|
423
|
+
descriptionText = ( localize(5276, "Set up Copilot to use AI features."));
|
|
376
424
|
}
|
|
377
425
|
else if (disabled) {
|
|
378
|
-
descriptionText = ( localize(
|
|
426
|
+
descriptionText = ( localize(5277, "Enable Copilot to use AI features."));
|
|
379
427
|
}
|
|
380
428
|
else {
|
|
381
|
-
descriptionText = ( localize(
|
|
429
|
+
descriptionText = ( localize(5278, "Sign in to use Copilot AI features."));
|
|
382
430
|
}
|
|
383
431
|
let buttonLabel;
|
|
384
432
|
if (newUser) {
|
|
385
|
-
buttonLabel = ( localize(
|
|
433
|
+
buttonLabel = ( localize(5279, "Set up Copilot"));
|
|
386
434
|
}
|
|
387
435
|
else if (disabled) {
|
|
388
|
-
buttonLabel = ( localize(
|
|
436
|
+
buttonLabel = ( localize(5280, "Enable Copilot"));
|
|
389
437
|
}
|
|
390
438
|
else {
|
|
391
|
-
buttonLabel = ( localize(
|
|
439
|
+
buttonLabel = ( localize(5281, "Sign in to use Copilot"));
|
|
392
440
|
}
|
|
393
441
|
this.element.appendChild($('div.description', undefined, descriptionText));
|
|
394
442
|
const button = disposables.add(( new Button(
|
|
@@ -415,8 +463,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
415
463
|
const headerLink = typeof item.label === 'string' ? undefined : item.label.link;
|
|
416
464
|
this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
|
|
417
465
|
id: 'workbench.action.openChatStatusItemLink',
|
|
418
|
-
label: ( localize(
|
|
419
|
-
tooltip: ( localize(
|
|
466
|
+
label: ( localize(5282, "Learn More")),
|
|
467
|
+
tooltip: ( localize(5282, "Learn More")),
|
|
420
468
|
class: ThemeIcon.asClassName(Codicon.linkExternal),
|
|
421
469
|
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink)))),
|
|
422
470
|
}) : undefined);
|
|
@@ -460,7 +508,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
460
508
|
quotaIndicator,
|
|
461
509
|
{ ...defaultButtonStyles, secondary: true, hoverDelegate: nativeHoverDelegate }
|
|
462
510
|
)));
|
|
463
|
-
manageOverageButton.label = ( localize(
|
|
511
|
+
manageOverageButton.label = ( localize(5283, "Manage paid premium requests"));
|
|
464
512
|
disposables.add(manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl))))));
|
|
465
513
|
}
|
|
466
514
|
const update = (quota) => {
|
|
@@ -474,17 +522,17 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
474
522
|
usedPercentage = Math.max(0, 100 - quota.percentRemaining);
|
|
475
523
|
}
|
|
476
524
|
if (quota.unlimited) {
|
|
477
|
-
quotaValue.textContent = ( localize(
|
|
525
|
+
quotaValue.textContent = ( localize(5284, "Included"));
|
|
478
526
|
}
|
|
479
527
|
else if (quota.overageCount) {
|
|
480
528
|
quotaValue.textContent = ( localize(
|
|
481
|
-
|
|
529
|
+
5285,
|
|
482
530
|
"+{0} requests",
|
|
483
531
|
this.quotaOverageFormatter.value.format(quota.overageCount)
|
|
484
532
|
));
|
|
485
533
|
}
|
|
486
534
|
else {
|
|
487
|
-
quotaValue.textContent = ( localize(
|
|
535
|
+
quotaValue.textContent = ( localize(5286, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
|
|
488
536
|
}
|
|
489
537
|
quotaBit.style.width = `${usedPercentage}%`;
|
|
490
538
|
if (usedPercentage >= 90) {
|
|
@@ -495,10 +543,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
495
543
|
}
|
|
496
544
|
if (supportsOverage) {
|
|
497
545
|
if (quota.overageEnabled) {
|
|
498
|
-
overageLabel.textContent = ( localize(
|
|
546
|
+
overageLabel.textContent = ( localize(5287, "Additional paid premium requests enabled."));
|
|
499
547
|
}
|
|
500
548
|
else {
|
|
501
|
-
overageLabel.textContent = ( localize(
|
|
549
|
+
overageLabel.textContent = ( localize(5288, "Additional paid premium requests disabled."));
|
|
502
550
|
}
|
|
503
551
|
}
|
|
504
552
|
else {
|
|
@@ -513,15 +561,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
513
561
|
const settings = container.appendChild($('div.settings'));
|
|
514
562
|
{
|
|
515
563
|
const globalSetting = append(settings, $('div.setting'));
|
|
516
|
-
this.createCodeCompletionsSetting(globalSetting, ( localize(
|
|
564
|
+
this.createCodeCompletionsSetting(globalSetting, ( localize(5289, "All files")), '*', disposables);
|
|
517
565
|
if (modeId) {
|
|
518
566
|
const languageSetting = append(settings, $('div.setting'));
|
|
519
|
-
this.createCodeCompletionsSetting(languageSetting, ( localize(
|
|
567
|
+
this.createCodeCompletionsSetting(languageSetting, ( localize(5290, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
|
|
520
568
|
}
|
|
521
569
|
}
|
|
522
570
|
{
|
|
523
571
|
const setting = append(settings, $('div.setting'));
|
|
524
|
-
this.createNextEditSuggestionsSetting(setting, ( localize(
|
|
572
|
+
this.createNextEditSuggestionsSetting(setting, ( localize(5291, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
|
|
525
573
|
}
|
|
526
574
|
return settings;
|
|
527
575
|
}
|
|
@@ -626,7 +674,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
626
674
|
const toolbar = disposables.add(( new ActionBar(actionBar, { hoverDelegate: nativeHoverDelegate })));
|
|
627
675
|
const cancelAction = toAction({
|
|
628
676
|
id: 'workbench.action.cancelSnoozeStatusBarLink',
|
|
629
|
-
label: ( localize(
|
|
677
|
+
label: ( localize(5292, "Cancel Snooze")),
|
|
630
678
|
run: () => this.inlineCompletionsService.cancelSnooze(),
|
|
631
679
|
class: ThemeIcon.asClassName(Codicon.stopCircle)
|
|
632
680
|
});
|
|
@@ -635,19 +683,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
635
683
|
toolbar.clear();
|
|
636
684
|
const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
|
|
637
685
|
if (!isEnabled || timeLeftMs <= 0) {
|
|
638
|
-
timerDisplay.textContent = ( localize(
|
|
686
|
+
timerDisplay.textContent = ( localize(5293, "Hide completions for 5 min"));
|
|
639
687
|
timerDisplay.title = '';
|
|
640
688
|
button.label = label;
|
|
641
|
-
button.setTitle(( localize(
|
|
689
|
+
button.setTitle(( localize(5294, "Hide completions and NES for 5 min")));
|
|
642
690
|
return true;
|
|
643
691
|
}
|
|
644
692
|
const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
|
|
645
693
|
const minutes = Math.floor(timeLeftSeconds / 60);
|
|
646
694
|
const seconds = timeLeftSeconds % 60;
|
|
647
|
-
timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(
|
|
648
|
-
timerDisplay.title = ( localize(
|
|
649
|
-
button.label = ( localize(
|
|
650
|
-
button.setTitle(( localize(
|
|
695
|
+
timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(5295, "remaining"))}`;
|
|
696
|
+
timerDisplay.title = ( localize(5296, "Completions are hidden for the remaining duration"));
|
|
697
|
+
button.label = ( localize(5297, "+5 min"));
|
|
698
|
+
button.setTitle(( localize(5298, "Snooze additional 5 min")));
|
|
651
699
|
toolbar.push([cancelAction], { icon: true, label: false });
|
|
652
700
|
return false;
|
|
653
701
|
};
|
|
@@ -687,7 +735,8 @@ ChatStatusDashboard = ( __decorate([
|
|
|
687
735
|
( __param(7, IOpenerService)),
|
|
688
736
|
( __param(8, ITelemetryService)),
|
|
689
737
|
( __param(9, ITextResourceConfigurationService)),
|
|
690
|
-
( __param(10, IInlineCompletionsService))
|
|
738
|
+
( __param(10, IInlineCompletionsService)),
|
|
739
|
+
( __param(11, IChatSessionsService))
|
|
691
740
|
], ChatStatusDashboard));
|
|
692
741
|
|
|
693
742
|
export { ChatStatusBarEntry };
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { IDynamicVariable } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables";
|
|
2
2
|
import { IChatVariablesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables.service";
|
|
3
|
-
import {
|
|
3
|
+
import { IToolAndToolSetEnablementMap } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
|
|
4
4
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
5
5
|
export declare class ChatVariablesService implements IChatVariablesService {
|
|
6
6
|
private readonly chatWidgetService;
|
|
7
7
|
_serviceBrand: undefined;
|
|
8
8
|
constructor(chatWidgetService: IChatWidgetService);
|
|
9
9
|
getDynamicVariables(sessionId: string): ReadonlyArray<IDynamicVariable>;
|
|
10
|
-
|
|
11
|
-
getSelectedToolSets(sessionId: string): ReadonlyArray<ToolSet>;
|
|
10
|
+
getSelectedToolAndToolSets(sessionId: string): IToolAndToolSetEnablementMap;
|
|
12
11
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
4
3
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
5
4
|
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
|
|
6
5
|
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
@@ -39,21 +38,12 @@ let ChatVariablesService = class ChatVariablesService {
|
|
|
39
38
|
}
|
|
40
39
|
return model.variables;
|
|
41
40
|
}
|
|
42
|
-
|
|
41
|
+
getSelectedToolAndToolSets(sessionId) {
|
|
43
42
|
const widget = this.chatWidgetService.getWidgetBySessionId(sessionId);
|
|
44
43
|
if (!widget) {
|
|
45
|
-
return
|
|
46
|
-
}
|
|
47
|
-
return Array.from(widget.input.selectedToolsModel.entries.get())
|
|
48
|
-
.filter((t) => !(t instanceof ToolSet));
|
|
49
|
-
}
|
|
50
|
-
getSelectedToolSets(sessionId) {
|
|
51
|
-
const widget = this.chatWidgetService.getWidgetBySessionId(sessionId);
|
|
52
|
-
if (!widget) {
|
|
53
|
-
return [];
|
|
44
|
+
return ( new Map());
|
|
54
45
|
}
|
|
55
|
-
return
|
|
56
|
-
.filter((t) => t instanceof ToolSet);
|
|
46
|
+
return widget.input.selectedToolsModel.entriesMap.get();
|
|
57
47
|
}
|
|
58
48
|
};
|
|
59
49
|
ChatVariablesService = ( __decorate([
|
|
@@ -10,11 +10,12 @@ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log
|
|
|
10
10
|
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
11
11
|
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
12
12
|
import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
|
|
13
|
-
import { IViewPaneOptions, ViewPane } from "@codingame/monaco-vscode-
|
|
13
|
+
import { IViewPaneOptions, ViewPane } from "@codingame/monaco-vscode-4fad3647-b95d-5c19-bab1-bb9de627a5ec-common/vscode/vs/workbench/browser/parts/views/viewPane";
|
|
14
14
|
import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
|
|
15
15
|
import { IChatViewTitleActionContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatActions";
|
|
16
16
|
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
|
|
17
17
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
18
|
+
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
18
19
|
import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
19
20
|
import { ChatWidget, IChatViewState } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatWidget";
|
|
20
21
|
import { IViewWelcomeDelegate } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController";
|
|
@@ -27,6 +28,7 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
|
|
|
27
28
|
private readonly chatAgentService;
|
|
28
29
|
private readonly logService;
|
|
29
30
|
private readonly layoutService;
|
|
31
|
+
private readonly chatSessionsService;
|
|
30
32
|
private _widget;
|
|
31
33
|
get widget(): ChatWidget;
|
|
32
34
|
private readonly modelDisposables;
|
|
@@ -35,7 +37,7 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
|
|
|
35
37
|
private _restoringSession;
|
|
36
38
|
constructor(chatOptions: {
|
|
37
39
|
location: ChatAgentLocation.Panel;
|
|
38
|
-
}, options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, storageService: IStorageService, chatService: IChatService, chatAgentService: IChatAgentService, logService: ILogService, layoutService: ILayoutService);
|
|
40
|
+
}, options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, storageService: IStorageService, chatService: IChatService, chatAgentService: IChatAgentService, logService: ILogService, layoutService: ILayoutService, chatSessionsService: IChatSessionsService);
|
|
39
41
|
getActionsContext(): IChatViewTitleActionContext | undefined;
|
|
40
42
|
private updateModel;
|
|
41
43
|
shouldShowWelcome(): boolean;
|