@codingame/monaco-vscode-chat-service-override 19.1.4 → 20.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 +20 -8
- package/package.json +36 -31
- package/vscode/src/vs/base/common/policy.d.ts +14 -0
- package/vscode/src/vs/base/common/policy.js +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +53 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +54 -24
- 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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +37 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +23 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +83 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +421 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +215 -104
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +18 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +4 -4
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +16 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +7 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +58 -326
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +33 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +39 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +380 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +1 -1
- 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.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +44 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +145 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +36 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +407 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +738 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +142 -151
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +54 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +23 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +52 -90
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +137 -30
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.js +2 -2
- 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/instructionsHeader.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +1 -1
- 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/modeHeader.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +9 -9
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +104 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +667 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +14 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +56 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +111 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +262 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +129 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.js +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +30 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +72 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +411 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +59 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +163 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +164 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +101 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +71 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +94 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +18 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.js +603 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +113 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.js +227 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +88 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.js +140 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.js +80 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +40 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +36 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +114 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-dark.svg +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-light.svg +0 -3
|
@@ -6,13 +6,13 @@ import { MouseTargetType } from '@codingame/monaco-vscode-api/vscode/vs/editor/b
|
|
|
6
6
|
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
7
|
import { RawContextKey, ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
8
8
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
9
|
-
import { InlineChatController } from '@codingame/monaco-vscode-
|
|
10
|
-
import { CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_HAS_AGENT, ACTION_START, InlineChatConfigKeys } from '@codingame/monaco-vscode-
|
|
9
|
+
import { InlineChatController } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
|
|
10
|
+
import { CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_HAS_AGENT, ACTION_START, InlineChatConfigKeys } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
11
11
|
import { EditorAction2 } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
|
|
12
12
|
import { EditOperation } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation';
|
|
13
13
|
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
14
14
|
import { Position } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/position';
|
|
15
|
-
import { AbstractInline1ChatAction } from '
|
|
15
|
+
import { AbstractInline1ChatAction } from './inlineChatActions.js';
|
|
16
16
|
import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
17
17
|
import { TrackedRangeStickiness } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
|
|
18
18
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
@@ -21,7 +21,7 @@ import { StandardTokenType } from '@codingame/monaco-vscode-api/vscode/vs/editor
|
|
|
21
21
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
22
22
|
import { KeyChord, KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
23
23
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
24
|
-
import * as inlineChat from '@codingame/monaco-vscode-
|
|
24
|
+
import * as inlineChat from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css';
|
|
25
25
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
26
26
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
27
27
|
import { InlineCompletionsController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController';
|
|
@@ -36,8 +36,8 @@ import { createStyleSheet2 } from '@codingame/monaco-vscode-api/vscode/vs/base/b
|
|
|
36
36
|
import { stringValue } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/cssValue';
|
|
37
37
|
import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
|
|
38
38
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
39
|
-
import { INSTRUCTIONS_LANGUAGE_ID, PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-
|
|
40
|
-
import { MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-
|
|
39
|
+
import { INSTRUCTIONS_LANGUAGE_ID, PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
40
|
+
import { MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
41
41
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
42
42
|
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
43
43
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -53,14 +53,14 @@ const IGNORED_LANGUAGE_IDS = ( new Set([
|
|
|
53
53
|
PROMPT_LANGUAGE_ID,
|
|
54
54
|
MODE_FILE_EXTENSION
|
|
55
55
|
]));
|
|
56
|
-
const CTX_INLINE_CHAT_SHOWING_HINT = ( new RawContextKey('inlineChatShowingHint', false, ( localize(
|
|
56
|
+
const CTX_INLINE_CHAT_SHOWING_HINT = ( new RawContextKey('inlineChatShowingHint', false, ( localize(7682, "Whether inline chat shows a contextual hint"))));
|
|
57
57
|
const _inlineChatActionId = 'inlineChat.startWithCurrentLine';
|
|
58
58
|
class InlineChatExpandLineAction extends EditorAction2 {
|
|
59
59
|
constructor() {
|
|
60
60
|
super({
|
|
61
61
|
id: _inlineChatActionId,
|
|
62
62
|
category: AbstractInline1ChatAction.category,
|
|
63
|
-
title: ( localize2(
|
|
63
|
+
title: ( localize2(7683, "Start in Editor with Current Line")),
|
|
64
64
|
f1: true,
|
|
65
65
|
precondition: ( ContextKeyExpr.and(( CTX_INLINE_CHAT_VISIBLE.negate()), CTX_INLINE_CHAT_HAS_AGENT, EditorContextKeys.writable)),
|
|
66
66
|
keybinding: [{
|
|
@@ -103,7 +103,7 @@ class ShowInlineChatHintAction extends EditorAction2 {
|
|
|
103
103
|
super({
|
|
104
104
|
id: 'inlineChat.showHint',
|
|
105
105
|
category: AbstractInline1ChatAction.category,
|
|
106
|
-
title: ( localize2(
|
|
106
|
+
title: ( localize2(7684, "Show Inline Chat Hint")),
|
|
107
107
|
f1: false,
|
|
108
108
|
precondition: ( ContextKeyExpr.and(( CTX_INLINE_CHAT_VISIBLE.negate()), CTX_INLINE_CHAT_HAS_AGENT, EditorContextKeys.writable)),
|
|
109
109
|
});
|
|
@@ -231,15 +231,15 @@ let InlineChatHintsController = class InlineChatHintsController extends Disposab
|
|
|
231
231
|
this._ctxShowingHint.reset();
|
|
232
232
|
return;
|
|
233
233
|
}
|
|
234
|
-
const agentName = chatAgentService.getDefaultAgent(ChatAgentLocation.Editor)?.name ?? ( localize(
|
|
234
|
+
const agentName = chatAgentService.getDefaultAgent(ChatAgentLocation.Editor)?.name ?? ( localize(7685, "Chat"));
|
|
235
235
|
const { position, isEol, isWhitespace, kb, model } = showData;
|
|
236
236
|
const inlineClassName = ['a' , 'inline-chat-hint', 'inline-chat-hint-text'];
|
|
237
237
|
let content;
|
|
238
238
|
if (isWhitespace) {
|
|
239
|
-
content = '\u00a0' + ( localize(
|
|
239
|
+
content = '\u00a0' + ( localize(7686, "{0} to edit with {1}", kb, agentName));
|
|
240
240
|
}
|
|
241
241
|
else if (isEol) {
|
|
242
|
-
content = '\u00a0' + ( localize(
|
|
242
|
+
content = '\u00a0' + ( localize(7687, "{0} to continue with {1}", kb, agentName));
|
|
243
243
|
}
|
|
244
244
|
else {
|
|
245
245
|
content = '\u200a' + kb + '\u200a';
|
|
@@ -268,7 +268,7 @@ let InlineChatHintsController = class InlineChatHintsController extends Disposab
|
|
|
268
268
|
getActions: () => [
|
|
269
269
|
toAction({
|
|
270
270
|
id: 'inlineChat.disableHint',
|
|
271
|
-
label: ( localize(
|
|
271
|
+
label: ( localize(7688, "Disable Inline Chat Hint")),
|
|
272
272
|
run: async () => {
|
|
273
273
|
await this._configurationService.updateValue(setting, false);
|
|
274
274
|
}
|
|
@@ -296,7 +296,7 @@ class HideInlineChatHintAction extends EditorAction2 {
|
|
|
296
296
|
constructor() {
|
|
297
297
|
super({
|
|
298
298
|
id: 'inlineChat.hideHint',
|
|
299
|
-
title: ( localize2(
|
|
299
|
+
title: ( localize2(7689, "Hide Inline Chat Hint")),
|
|
300
300
|
precondition: CTX_INLINE_CHAT_SHOWING_HINT,
|
|
301
301
|
keybinding: {
|
|
302
302
|
weight: KeybindingWeight.EditorContrib - 10,
|
|
@@ -4,7 +4,7 @@ import { illegalState } from '@codingame/monaco-vscode-api/vscode/vs/base/common
|
|
|
4
4
|
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
5
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
6
6
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
7
|
-
import { InlineChatController } from '@codingame/monaco-vscode-
|
|
7
|
+
import { InlineChatController } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
|
|
8
8
|
import { IInlineChatSessionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service';
|
|
9
9
|
import { INotebookEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service';
|
|
10
10
|
import { CellUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
2
|
import { CellDiffInfo } from "@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel";
|
|
3
|
-
import { INotebookEditor } from "@codingame/monaco-vscode-
|
|
3
|
+
import { INotebookEditor } from "@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser";
|
|
4
4
|
export declare class NotebookModifiedCellDecorator extends Disposable {
|
|
5
5
|
private readonly notebookEditor;
|
|
6
6
|
private readonly decorators;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
3
|
-
import { NotebookOverviewRulerLane } from '@codingame/monaco-vscode-
|
|
4
|
-
import { overviewRulerModifiedForeground } from '@codingame/monaco-vscode-
|
|
3
|
+
import { NotebookOverviewRulerLane } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
|
|
4
|
+
import { overviewRulerModifiedForeground } from '@codingame/monaco-vscode-bb83fe45-f4c7-5673-b9f1-5c409a63f19c-common/vscode/vs/workbench/contrib/scm/common/quickDiff';
|
|
5
5
|
|
|
6
6
|
class NotebookModifiedCellDecorator extends Disposable {
|
|
7
7
|
constructor(notebookEditor) {
|
|
@@ -14,42 +14,42 @@ import { IRemoteCodingAgentsService } from '@codingame/monaco-vscode-api/vscode/
|
|
|
14
14
|
const extensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
15
15
|
extensionPoint: 'remoteCodingAgents',
|
|
16
16
|
jsonSchema: {
|
|
17
|
-
description: ( localize(
|
|
17
|
+
description: ( localize(9710, 'Contributes remote coding agent integrations to the chat widget.')),
|
|
18
18
|
type: 'array',
|
|
19
19
|
items: {
|
|
20
20
|
type: 'object',
|
|
21
21
|
properties: {
|
|
22
22
|
id: {
|
|
23
|
-
description: ( localize(
|
|
23
|
+
description: ( localize(9711, 'A unique identifier for this item.')),
|
|
24
24
|
type: 'string',
|
|
25
25
|
},
|
|
26
26
|
command: {
|
|
27
27
|
description: ( localize(
|
|
28
|
-
|
|
28
|
+
9712,
|
|
29
29
|
'Identifier of the command to execute. The command must be declared in the "commands" section.'
|
|
30
30
|
)),
|
|
31
31
|
type: 'string'
|
|
32
32
|
},
|
|
33
33
|
displayName: {
|
|
34
34
|
description: ( localize(
|
|
35
|
-
|
|
35
|
+
9713,
|
|
36
36
|
'A user-friendly name for this item which is used for display in menus.'
|
|
37
37
|
)),
|
|
38
38
|
type: 'string'
|
|
39
39
|
},
|
|
40
40
|
description: {
|
|
41
|
-
description: ( localize(
|
|
41
|
+
description: ( localize(9714, 'Description of the remote agent for use in menus and tooltips.')),
|
|
42
42
|
type: 'string'
|
|
43
43
|
},
|
|
44
44
|
followUpRegex: {
|
|
45
45
|
description: ( localize(
|
|
46
|
-
|
|
46
|
+
9715,
|
|
47
47
|
'The last occurrence of pattern in an existing chat conversation is sent to the contributing extension to facilitate follow-up responses.'
|
|
48
48
|
)),
|
|
49
49
|
type: 'string',
|
|
50
50
|
},
|
|
51
51
|
when: {
|
|
52
|
-
description: ( localize(
|
|
52
|
+
description: ( localize(9716, 'Condition which must be true to show this item.')),
|
|
53
53
|
type: 'string'
|
|
54
54
|
},
|
|
55
55
|
},
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
.monaco-workbench .terminal-inline-chat {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 0;
|
|
4
|
+
bottom: 0;
|
|
5
|
+
z-index: 100;
|
|
6
|
+
height: auto !important;
|
|
7
|
+
}
|
|
8
|
+
.monaco-workbench .terminal-inline-chat .inline-chat {
|
|
9
|
+
margin-top: 0 !important;
|
|
10
|
+
color: inherit;
|
|
11
|
+
border-radius: unset;
|
|
12
|
+
border: unset;
|
|
13
|
+
box-shadow: unset;
|
|
14
|
+
background: var(--vscode-inlineChat-background);
|
|
15
|
+
position: relative;
|
|
16
|
+
outline: none;
|
|
17
|
+
border-top-style: solid;
|
|
18
|
+
border-bottom-style: solid;
|
|
19
|
+
border-top-color: rgb(0, 122, 204);
|
|
20
|
+
border-bottom-color: rgb(0, 122, 204);
|
|
21
|
+
border-top-width: 1px;
|
|
22
|
+
border-bottom-width: 1px;
|
|
23
|
+
}
|
|
24
|
+
.monaco-workbench .terminal-inline-chat .interactive-session {
|
|
25
|
+
margin: initial;
|
|
26
|
+
}
|
|
27
|
+
.monaco-workbench .terminal-inline-chat.hide {
|
|
28
|
+
visibility: hidden;
|
|
29
|
+
}
|
|
30
|
+
.monaco-workbench .terminal-inline-chat .chatMessageContent .value {
|
|
31
|
+
padding-top: 10px;
|
|
32
|
+
}
|
|
33
|
+
.monaco-workbench .terminal-inline-chat .inline-chat-input .monaco-editor-background {
|
|
34
|
+
background-color: var(--vscode-inlineChatInput-background) !important;
|
|
35
|
+
}
|
|
36
|
+
@property --inline-chat-frame-progress {
|
|
37
|
+
syntax: '<percentage>';
|
|
38
|
+
initial-value: 0%;
|
|
39
|
+
inherits: false;
|
|
40
|
+
}
|
|
41
|
+
@keyframes shift {
|
|
42
|
+
0% {
|
|
43
|
+
--inline-chat-frame-progress: 0%;
|
|
44
|
+
}
|
|
45
|
+
50% {
|
|
46
|
+
--inline-chat-frame-progress: 100%;
|
|
47
|
+
}
|
|
48
|
+
100% {
|
|
49
|
+
--inline-chat-frame-progress: 0%;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
.monaco-workbench .terminal-inline-chat.busy .inline-chat {
|
|
53
|
+
--inline-chat-frame-progress: 0%;
|
|
54
|
+
border-image: linear-gradient(90deg, var(--vscode-editorGutter-addedBackground) var(--inline-chat-frame-progress), var(--vscode-button-background)) 1;
|
|
55
|
+
animation: 3s shift linear infinite;
|
|
56
|
+
}
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
import { registerTerminalContribution } from '@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common/vscode/vs/workbench/contrib/terminal/browser/terminalExtensions';
|
|
3
|
+
import { TerminalInlineChatAccessibleView } from './terminalChatAccessibleView.js';
|
|
4
|
+
import { TerminalChatController } from './terminalChatController.js';
|
|
5
|
+
import './terminalChatActions.js';
|
|
6
|
+
import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
|
|
7
|
+
import { TerminalChatAccessibilityHelp } from './terminalChatAccessibilityHelp.js';
|
|
8
|
+
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
9
|
+
import { TerminalChatEnabler } from './terminalChatEnabler.js';
|
|
10
|
+
|
|
11
|
+
registerTerminalContribution(TerminalChatController.ID, TerminalChatController, false);
|
|
12
|
+
AccessibleViewRegistry.register(( new TerminalInlineChatAccessibleView()));
|
|
13
|
+
AccessibleViewRegistry.register(( new TerminalChatAccessibilityHelp()));
|
|
14
|
+
registerWorkbenchContribution2(TerminalChatEnabler.Id, TerminalChatEnabler, WorkbenchPhase.AfterRestored);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AccessibleViewType, AccessibleContentProvider } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView";
|
|
2
|
+
import { IAccessibleViewImplementation } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
|
|
3
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
export declare class TerminalChatAccessibilityHelp implements IAccessibleViewImplementation {
|
|
5
|
+
readonly priority = 110;
|
|
6
|
+
readonly name = "terminalChat";
|
|
7
|
+
readonly when: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").RawContextKey<boolean>;
|
|
8
|
+
readonly type = AccessibleViewType.Help;
|
|
9
|
+
getProvider(accessor: ServicesAccessor): AccessibleContentProvider | undefined;
|
|
10
|
+
}
|
|
11
|
+
export declare function getAccessibilityHelpText(accessor: ServicesAccessor): string;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
|
|
2
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
|
+
import { AccessibleViewType, AccessibleContentProvider, AccessibleViewProviderId } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView';
|
|
4
|
+
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
5
|
+
import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
6
|
+
import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
7
|
+
import { TerminalChatContextKeys, TerminalChatCommandId } from '@codingame/monaco-vscode-07eaa805-9dea-5ec6-a422-a4f04872424d-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
8
|
+
import { TerminalChatController } from './terminalChatController.js';
|
|
9
|
+
|
|
10
|
+
class TerminalChatAccessibilityHelp {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.priority = 110;
|
|
13
|
+
this.name = 'terminalChat';
|
|
14
|
+
this.when = TerminalChatContextKeys.focused;
|
|
15
|
+
this.type = AccessibleViewType.Help;
|
|
16
|
+
}
|
|
17
|
+
getProvider(accessor) {
|
|
18
|
+
const terminalService = accessor.get(ITerminalService);
|
|
19
|
+
const instance = terminalService.activeInstance;
|
|
20
|
+
if (!instance) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const helpText = getAccessibilityHelpText(accessor);
|
|
24
|
+
return ( new AccessibleContentProvider(
|
|
25
|
+
AccessibleViewProviderId.TerminalChat,
|
|
26
|
+
{ type: AccessibleViewType.Help },
|
|
27
|
+
() => helpText,
|
|
28
|
+
() => TerminalChatController.get(instance)?.terminalChatWidget?.focus(),
|
|
29
|
+
AccessibilityVerbositySettingId.TerminalChat
|
|
30
|
+
));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function getAccessibilityHelpText(accessor) {
|
|
34
|
+
const keybindingService = accessor.get(IKeybindingService);
|
|
35
|
+
const content = [];
|
|
36
|
+
const openAccessibleViewKeybinding = keybindingService.lookupKeybinding('editor.action.accessibleView')?.getAriaLabel();
|
|
37
|
+
const runCommandKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.RunCommand)?.getAriaLabel();
|
|
38
|
+
const insertCommandKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.InsertCommand)?.getAriaLabel();
|
|
39
|
+
const makeRequestKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.MakeRequest)?.getAriaLabel();
|
|
40
|
+
const startChatKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.Start)?.getAriaLabel();
|
|
41
|
+
const focusResponseKeybinding = keybindingService.lookupKeybinding('chat.action.focus')?.getAriaLabel();
|
|
42
|
+
const focusInputKeybinding = keybindingService.lookupKeybinding('workbench.action.chat.focusInput')?.getAriaLabel();
|
|
43
|
+
content.push(( localize(
|
|
44
|
+
11224,
|
|
45
|
+
"Inline chat occurs within a terminal. It is useful for suggesting terminal commands. Keep in mind that AI generated code may be incorrect."
|
|
46
|
+
)));
|
|
47
|
+
content.push(( localize(
|
|
48
|
+
11225,
|
|
49
|
+
"It can be activated using the command: Terminal: Start Chat ({0}), which will focus the input box.",
|
|
50
|
+
startChatKeybinding
|
|
51
|
+
)));
|
|
52
|
+
content.push(makeRequestKeybinding ? ( localize(
|
|
53
|
+
11226,
|
|
54
|
+
"The input box is where the user can type a request and can make the request ({0}). The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus.",
|
|
55
|
+
makeRequestKeybinding
|
|
56
|
+
)) : ( localize(
|
|
57
|
+
11227,
|
|
58
|
+
"The input box is where the user can type a request and can make the request by tabbing to the Make Request button, which is not currently triggerable via keybindings. The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus."
|
|
59
|
+
)));
|
|
60
|
+
content.push(openAccessibleViewKeybinding ? ( localize(
|
|
61
|
+
11228,
|
|
62
|
+
'The response can be inspected in the accessible view ({0}).',
|
|
63
|
+
openAccessibleViewKeybinding
|
|
64
|
+
)) : ( localize(
|
|
65
|
+
11229,
|
|
66
|
+
'With the input box focused, inspect the response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding.'
|
|
67
|
+
)));
|
|
68
|
+
content.push(focusResponseKeybinding ? ( localize(
|
|
69
|
+
11230,
|
|
70
|
+
'Reach the response from the input box ({0}).',
|
|
71
|
+
focusResponseKeybinding
|
|
72
|
+
)) : ( localize(
|
|
73
|
+
11231,
|
|
74
|
+
'Reach the response from the input box by tabbing or assigning a keybinding for the command: Focus Terminal Response.'
|
|
75
|
+
)));
|
|
76
|
+
content.push(focusInputKeybinding ? ( localize(
|
|
77
|
+
11232,
|
|
78
|
+
'Reach the input box from the response ({0}).',
|
|
79
|
+
focusInputKeybinding
|
|
80
|
+
)) : ( localize(
|
|
81
|
+
11233,
|
|
82
|
+
'Reach the response from the input box by shift+tabbing or assigning a keybinding for the command: Focus Terminal Input.'
|
|
83
|
+
)));
|
|
84
|
+
content.push(runCommandKeybinding ? ( localize(
|
|
85
|
+
11234,
|
|
86
|
+
'With focus in the input box or command editor, the Terminal: Run Chat Command ({0}) action.',
|
|
87
|
+
runCommandKeybinding
|
|
88
|
+
)) : ( localize(
|
|
89
|
+
11235,
|
|
90
|
+
'Run a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
|
|
91
|
+
)));
|
|
92
|
+
content.push(insertCommandKeybinding ? ( localize(
|
|
93
|
+
11236,
|
|
94
|
+
'With focus in the input box command editor, the Terminal: Insert Chat Command ({0}) action.',
|
|
95
|
+
insertCommandKeybinding
|
|
96
|
+
)) : ( localize(
|
|
97
|
+
11237,
|
|
98
|
+
'Insert a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
|
|
99
|
+
)));
|
|
100
|
+
content.push(( localize(
|
|
101
|
+
11238,
|
|
102
|
+
"Use tab to reach conditional parts like commands, status, message responses and more."
|
|
103
|
+
)));
|
|
104
|
+
content.push(( localize(
|
|
105
|
+
11239,
|
|
106
|
+
"Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
|
|
107
|
+
)));
|
|
108
|
+
return content.join('\n');
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export { TerminalChatAccessibilityHelp, getAccessibilityHelpText };
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AccessibleViewType, AccessibleContentProvider } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView";
|
|
2
|
+
import { IAccessibleViewImplementation } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
|
|
3
|
+
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
export declare class TerminalInlineChatAccessibleView implements IAccessibleViewImplementation {
|
|
5
|
+
readonly priority = 105;
|
|
6
|
+
readonly name = "terminalInlineChat";
|
|
7
|
+
readonly type = AccessibleViewType.View;
|
|
8
|
+
readonly when: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").RawContextKey<boolean>;
|
|
9
|
+
getProvider(accessor: ServicesAccessor): AccessibleContentProvider | undefined;
|
|
10
|
+
}
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
|
|
2
|
+
import { AccessibleViewType, AccessibleContentProvider, AccessibleViewProviderId } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView';
|
|
3
|
+
import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
4
|
+
import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
5
|
+
import { TerminalChatController } from './terminalChatController.js';
|
|
6
|
+
import { MenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
7
|
+
import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
|
|
8
|
+
import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-07eaa805-9dea-5ec6-a422-a4f04872424d-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
9
|
+
import { activeChatController } from './terminalChatControllerHolder.js';
|
|
10
|
+
|
|
11
|
+
class TerminalInlineChatAccessibleView {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.priority = 105;
|
|
14
|
+
this.name = 'terminalInlineChat';
|
|
15
|
+
this.type = AccessibleViewType.View;
|
|
16
|
+
this.when = TerminalChatContextKeys.focused;
|
|
17
|
+
}
|
|
18
|
+
getProvider(accessor) {
|
|
19
|
+
const terminalService = accessor.get(ITerminalService);
|
|
20
|
+
const menuService = accessor.get(IMenuService);
|
|
21
|
+
const actions = [];
|
|
22
|
+
const contextKeyService = activeChatController?.scopedContextKeyService;
|
|
23
|
+
if (contextKeyService) {
|
|
24
|
+
const menuActions = menuService.getMenuActions(MENU_TERMINAL_CHAT_WIDGET_STATUS, contextKeyService);
|
|
25
|
+
for (const action of menuActions) {
|
|
26
|
+
for (const a of action[1]) {
|
|
27
|
+
if (a instanceof MenuItemAction) {
|
|
28
|
+
actions.push(a);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const controller = terminalService.activeInstance?.getContribution(TerminalChatController.ID) ?? undefined;
|
|
34
|
+
if (!controller?.lastResponseContent) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const responseContent = controller.lastResponseContent;
|
|
38
|
+
return ( new AccessibleContentProvider(
|
|
39
|
+
AccessibleViewProviderId.TerminalChat,
|
|
40
|
+
{ type: AccessibleViewType.View },
|
|
41
|
+
() => { return responseContent; },
|
|
42
|
+
() => {
|
|
43
|
+
controller.focus();
|
|
44
|
+
},
|
|
45
|
+
AccessibilityVerbositySettingId.InlineChat,
|
|
46
|
+
undefined,
|
|
47
|
+
actions
|
|
48
|
+
));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { TerminalInlineChatAccessibleView };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|