@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
|
@@ -10,25 +10,30 @@ import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/t
|
|
|
10
10
|
import { EditorPane } from "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/browser/parts/editor/editorPane";
|
|
11
11
|
import { IEditorOpenContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
|
|
12
12
|
import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService";
|
|
13
|
-
import { IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-
|
|
14
|
-
import {
|
|
13
|
+
import { IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
14
|
+
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
15
|
+
import { ChatEditorInput } from "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput";
|
|
16
|
+
import { ChatWidget } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatWidget";
|
|
15
17
|
export interface IChatEditorOptions extends IEditorOptions {
|
|
16
18
|
target?: {
|
|
17
19
|
sessionId: string;
|
|
18
20
|
} | {
|
|
19
21
|
data: IExportableChatData | ISerializableChatData;
|
|
20
22
|
};
|
|
23
|
+
preferredTitle?: string;
|
|
21
24
|
}
|
|
22
25
|
export declare class ChatEditor extends EditorPane {
|
|
23
26
|
private readonly instantiationService;
|
|
24
27
|
private readonly storageService;
|
|
28
|
+
private readonly chatSessionsService;
|
|
25
29
|
private readonly contextKeyService;
|
|
26
|
-
private
|
|
30
|
+
private _widget;
|
|
31
|
+
get widget(): ChatWidget;
|
|
27
32
|
private _scopedContextKeyService;
|
|
28
33
|
get scopedContextKeyService(): IScopedContextKeyService;
|
|
29
34
|
private _memento;
|
|
30
35
|
private _viewState;
|
|
31
|
-
constructor(group: IEditorGroup, telemetryService: ITelemetryService, themeService: IThemeService, instantiationService: IInstantiationService, storageService: IStorageService, contextKeyService: IContextKeyService);
|
|
36
|
+
constructor(group: IEditorGroup, telemetryService: ITelemetryService, themeService: IThemeService, instantiationService: IInstantiationService, storageService: IStorageService, chatSessionsService: IChatSessionsService, contextKeyService: IContextKeyService);
|
|
32
37
|
private clear;
|
|
33
38
|
protected createEditor(parent: HTMLElement): void;
|
|
34
39
|
protected setEditorVisible(visible: boolean): void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
3
4
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
4
5
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
5
6
|
import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
|
|
@@ -22,20 +23,26 @@ import { EditorPane } from '@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b0
|
|
|
22
23
|
import { Memento } from '@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/common/memento';
|
|
23
24
|
import { EDITOR_DRAG_AND_DROP_BACKGROUND } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
|
|
24
25
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
25
|
-
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-
|
|
26
|
+
import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
|
|
27
|
+
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
28
|
+
import { ChatSessionUri } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatUri';
|
|
26
29
|
import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
27
|
-
import { clearChatEditor } from '@codingame/monaco-vscode-
|
|
28
|
-
import { ChatEditorInput } from '@codingame/monaco-vscode-
|
|
29
|
-
import { ChatWidget } from '@codingame/monaco-vscode-
|
|
30
|
+
import { clearChatEditor } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatClear';
|
|
31
|
+
import { ChatEditorInput } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
|
|
32
|
+
import { ChatWidget } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
|
|
30
33
|
|
|
31
34
|
let ChatEditor = class ChatEditor extends EditorPane {
|
|
35
|
+
get widget() {
|
|
36
|
+
return this._widget;
|
|
37
|
+
}
|
|
32
38
|
get scopedContextKeyService() {
|
|
33
39
|
return this._scopedContextKeyService;
|
|
34
40
|
}
|
|
35
|
-
constructor(group, telemetryService, themeService, instantiationService, storageService, contextKeyService) {
|
|
41
|
+
constructor(group, telemetryService, themeService, instantiationService, storageService, chatSessionsService, contextKeyService) {
|
|
36
42
|
super(ChatEditorInput.EditorID, group, telemetryService, themeService, storageService);
|
|
37
43
|
this.instantiationService = instantiationService;
|
|
38
44
|
this.storageService = storageService;
|
|
45
|
+
this.chatSessionsService = chatSessionsService;
|
|
39
46
|
this.contextKeyService = contextKeyService;
|
|
40
47
|
}
|
|
41
48
|
async clear() {
|
|
@@ -47,7 +54,7 @@ let ChatEditor = class ChatEditor extends EditorPane {
|
|
|
47
54
|
this._scopedContextKeyService = this._register(this.contextKeyService.createScoped(parent));
|
|
48
55
|
const scopedInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))));
|
|
49
56
|
ChatContextKeys.inChatEditor.bindTo(this._scopedContextKeyService).set(true);
|
|
50
|
-
this.
|
|
57
|
+
this._widget = this._register(scopedInstantiationService.createInstance(ChatWidget, ChatAgentLocation.Panel, undefined, {
|
|
51
58
|
autoScroll: mode => mode !== ChatModeKind.Ask,
|
|
52
59
|
renderFollowups: true,
|
|
53
60
|
supportsFileReferences: true,
|
|
@@ -86,14 +93,40 @@ let ChatEditor = class ChatEditor extends EditorPane {
|
|
|
86
93
|
}
|
|
87
94
|
async setInput(input, options, context, token) {
|
|
88
95
|
super.setInput(input, options, context, token);
|
|
96
|
+
if (!this.widget) {
|
|
97
|
+
throw ( new Error('ChatEditor lifecycle issue: no editor widget'));
|
|
98
|
+
}
|
|
99
|
+
let isContributedChatSession = false;
|
|
100
|
+
if (input.resource.scheme === Schemas.vscodeChatSession) {
|
|
101
|
+
const identifier = ChatSessionUri.parse(input.resource);
|
|
102
|
+
if (identifier) {
|
|
103
|
+
await this.chatSessionsService.canResolveContentProvider(input.resource.authority);
|
|
104
|
+
const contributions = this.chatSessionsService.getChatSessionContributions();
|
|
105
|
+
const contribution = contributions.find(c => c.type === identifier.chatSessionType);
|
|
106
|
+
if (contribution) {
|
|
107
|
+
this.widget.lockToCodingAgent(contribution.name, contribution.displayName);
|
|
108
|
+
isContributedChatSession = true;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this.widget.unlockFromCodingAgent();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.widget.unlockFromCodingAgent();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
this.widget.unlockFromCodingAgent();
|
|
120
|
+
}
|
|
89
121
|
const editorModel = await input.resolve();
|
|
90
122
|
if (!editorModel) {
|
|
91
123
|
throw ( new Error(`Failed to get model for chat editor. id: ${input.sessionId}`));
|
|
92
124
|
}
|
|
93
|
-
|
|
94
|
-
|
|
125
|
+
const viewState = options?.viewState ?? input.options.viewState;
|
|
126
|
+
this.updateModel(editorModel.model, viewState);
|
|
127
|
+
if (isContributedChatSession && options?.preferredTitle) {
|
|
128
|
+
editorModel.model.setCustomTitle(options?.preferredTitle);
|
|
95
129
|
}
|
|
96
|
-
this.updateModel(editorModel.model, options?.viewState ?? input.options.viewState);
|
|
97
130
|
}
|
|
98
131
|
updateModel(model, viewState) {
|
|
99
132
|
this._memento = ( new Memento('interactive-session-editor-' + CHAT_PROVIDER_ID, this.storageService));
|
|
@@ -123,7 +156,8 @@ ChatEditor = ( __decorate([
|
|
|
123
156
|
( __param(2, IThemeService)),
|
|
124
157
|
( __param(3, IInstantiationService)),
|
|
125
158
|
( __param(4, IStorageService)),
|
|
126
|
-
( __param(5,
|
|
159
|
+
( __param(5, IChatSessionsService)),
|
|
160
|
+
( __param(6, IContextKeyService))
|
|
127
161
|
], ChatEditor));
|
|
128
162
|
|
|
129
163
|
export { ChatEditor };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
|
+
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
5
|
+
import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
|
|
6
|
+
import { IWebview } from "@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common/vscode/vs/workbench/contrib/webview/browser/webview";
|
|
7
|
+
import { IWebviewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service";
|
|
8
|
+
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
9
|
+
import { IChatOutputRendererService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service";
|
|
10
|
+
export interface IChatOutputItemRenderer {
|
|
11
|
+
renderOutputPart(mime: string, data: Uint8Array, webview: IWebview, token: CancellationToken): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export interface RegisterOptions {
|
|
14
|
+
readonly extension?: {
|
|
15
|
+
readonly id: ExtensionIdentifier;
|
|
16
|
+
readonly location: URI;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface RenderedOutputPart extends IDisposable {
|
|
20
|
+
readonly onDidChangeHeight: Event<number>;
|
|
21
|
+
readonly webview: IWebview;
|
|
22
|
+
reinitialize(): void;
|
|
23
|
+
}
|
|
24
|
+
export interface RenderOutputPartWebviewOptions {
|
|
25
|
+
readonly origin?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare class ChatOutputRendererService extends Disposable implements IChatOutputRendererService {
|
|
28
|
+
private readonly _webviewService;
|
|
29
|
+
private readonly _extensionService;
|
|
30
|
+
_serviceBrand: undefined;
|
|
31
|
+
private readonly _contributions;
|
|
32
|
+
private readonly _renderers;
|
|
33
|
+
constructor(_webviewService: IWebviewService, _extensionService: IExtensionService);
|
|
34
|
+
registerRenderer(viewType: string, renderer: IChatOutputItemRenderer, options: RegisterOptions): IDisposable;
|
|
35
|
+
renderOutputPart(mime: string, data: Uint8Array, parent: HTMLElement, webviewOptions: RenderOutputPartWebviewOptions, token: CancellationToken): Promise<RenderedOutputPart>;
|
|
36
|
+
private getRenderer;
|
|
37
|
+
private updateContributions;
|
|
38
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { raceCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
5
|
+
import { matchesMimeType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/dataTransfer';
|
|
6
|
+
import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
7
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
8
|
+
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
10
|
+
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
11
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
12
|
+
import { WebviewContentPurpose } from '@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common/vscode/vs/workbench/contrib/webview/browser/webview';
|
|
13
|
+
import { IWebviewService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service';
|
|
14
|
+
import { isProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
|
|
15
|
+
import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
16
|
+
import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
17
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
18
|
+
|
|
19
|
+
let ChatOutputRendererService = class ChatOutputRendererService extends Disposable {
|
|
20
|
+
constructor(_webviewService, _extensionService) {
|
|
21
|
+
super();
|
|
22
|
+
this._webviewService = _webviewService;
|
|
23
|
+
this._extensionService = _extensionService;
|
|
24
|
+
this._contributions = ( new Map());
|
|
25
|
+
this._renderers = ( new Map());
|
|
26
|
+
this._register(chatOutputRenderContributionPoint.setHandler(extensions => {
|
|
27
|
+
this.updateContributions(extensions);
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
registerRenderer(viewType, renderer, options) {
|
|
31
|
+
this._renderers.set(viewType, { renderer, options });
|
|
32
|
+
return {
|
|
33
|
+
dispose: () => {
|
|
34
|
+
this._renderers.delete(viewType);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async renderOutputPart(mime, data, parent, webviewOptions, token) {
|
|
39
|
+
const rendererData = await this.getRenderer(mime, token);
|
|
40
|
+
if (token.isCancellationRequested) {
|
|
41
|
+
throw ( new CancellationError());
|
|
42
|
+
}
|
|
43
|
+
if (!rendererData) {
|
|
44
|
+
throw ( new Error(`No renderer registered found for mime type: ${mime}`));
|
|
45
|
+
}
|
|
46
|
+
const store = ( new DisposableStore());
|
|
47
|
+
const webview = store.add(this._webviewService.createWebviewElement({
|
|
48
|
+
title: '',
|
|
49
|
+
origin: webviewOptions.origin ?? generateUuid(),
|
|
50
|
+
options: {
|
|
51
|
+
enableFindWidget: false,
|
|
52
|
+
purpose: WebviewContentPurpose.ChatOutputItem,
|
|
53
|
+
tryRestoreScrollPosition: false,
|
|
54
|
+
},
|
|
55
|
+
contentOptions: {},
|
|
56
|
+
extension: rendererData.options.extension ? rendererData.options.extension : undefined,
|
|
57
|
+
}));
|
|
58
|
+
const onDidChangeHeight = store.add(( new Emitter()));
|
|
59
|
+
store.add(autorun(reader => {
|
|
60
|
+
const height = reader.readObservable(webview.intrinsicContentSize);
|
|
61
|
+
if (height) {
|
|
62
|
+
onDidChangeHeight.fire(height.height);
|
|
63
|
+
parent.style.height = `${height.height}px`;
|
|
64
|
+
}
|
|
65
|
+
}));
|
|
66
|
+
webview.mountTo(parent, getWindow(parent));
|
|
67
|
+
await rendererData.renderer.renderOutputPart(mime, data, webview, token);
|
|
68
|
+
return {
|
|
69
|
+
get webview() { return webview; },
|
|
70
|
+
onDidChangeHeight: onDidChangeHeight.event,
|
|
71
|
+
dispose: () => {
|
|
72
|
+
store.dispose();
|
|
73
|
+
},
|
|
74
|
+
reinitialize: () => {
|
|
75
|
+
webview.reinitializeAfterDismount();
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
async getRenderer(mime, token) {
|
|
80
|
+
await raceCancellationError(this._extensionService.whenInstalledExtensionsRegistered(), token);
|
|
81
|
+
for (const [id, value] of this._contributions) {
|
|
82
|
+
if (( value.mimes.some(m => matchesMimeType(m, [mime])))) {
|
|
83
|
+
await raceCancellationError(this._extensionService.activateByEvent(`onChatOutputRenderer:${id}`), token);
|
|
84
|
+
const rendererData = this._renderers.get(id);
|
|
85
|
+
if (rendererData) {
|
|
86
|
+
return rendererData;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
updateContributions(extensions) {
|
|
93
|
+
this._contributions.clear();
|
|
94
|
+
for (const extension of extensions) {
|
|
95
|
+
if (!isProposedApiEnabled(extension.description, 'chatOutputRenderer')) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
for (const contribution of extension.value) {
|
|
99
|
+
if (( this._contributions.has(contribution.viewType))) {
|
|
100
|
+
extension.collector.error(`Chat output renderer with view type '${contribution.viewType}' already registered`);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
this._contributions.set(contribution.viewType, {
|
|
104
|
+
mimes: contribution.mimeTypes,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
ChatOutputRendererService = ( __decorate([
|
|
111
|
+
( __param(0, IWebviewService)),
|
|
112
|
+
( __param(1, IExtensionService))
|
|
113
|
+
], ChatOutputRendererService));
|
|
114
|
+
const chatOutputRenderContributionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
115
|
+
extensionPoint: 'chatOutputRenderers',
|
|
116
|
+
activationEventsGenerator: (contributions, result) => {
|
|
117
|
+
for (const contrib of contributions) {
|
|
118
|
+
result.push(`onChatOutputRenderer:${contrib.viewType}`);
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
jsonSchema: {
|
|
122
|
+
description: ( localize(5033, 'Contributes a renderer for specific MIME types in chat outputs')),
|
|
123
|
+
type: 'array',
|
|
124
|
+
items: {
|
|
125
|
+
type: 'object',
|
|
126
|
+
additionalProperties: false,
|
|
127
|
+
required: ['viewType', 'mimeTypes'],
|
|
128
|
+
properties: {
|
|
129
|
+
viewType: {
|
|
130
|
+
type: 'string',
|
|
131
|
+
description: ( localize(5034, 'Unique identifier for the renderer.')),
|
|
132
|
+
},
|
|
133
|
+
mimeTypes: {
|
|
134
|
+
type: 'array',
|
|
135
|
+
description: ( localize(5035, 'MIME types that this renderer can handle')),
|
|
136
|
+
items: {
|
|
137
|
+
type: 'string'
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
export { ChatOutputRendererService };
|
|
@@ -25,12 +25,12 @@ import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode
|
|
|
25
25
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
26
26
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
27
27
|
import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
28
|
-
import { ChatViewId } from '@codingame/monaco-vscode-
|
|
28
|
+
import { ChatViewId } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
29
29
|
import { CHAT_SIDEBAR_PANEL_ID, ChatViewPane } from './chatViewPane.js';
|
|
30
30
|
|
|
31
31
|
const chatViewContainer = ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
|
|
32
32
|
id: CHAT_SIDEBAR_PANEL_ID,
|
|
33
|
-
title: ( localize2(
|
|
33
|
+
title: ( localize2(5036, "Chat")),
|
|
34
34
|
icon: Codicon.commentDiscussion,
|
|
35
35
|
ctorDescriptor: ( new SyncDescriptor(
|
|
36
36
|
ViewPaneContainer,
|
|
@@ -45,13 +45,13 @@ const chatViewDescriptor = [{
|
|
|
45
45
|
containerIcon: chatViewContainer.icon,
|
|
46
46
|
containerTitle: chatViewContainer.title.value,
|
|
47
47
|
singleViewPaneContainerTitle: chatViewContainer.title.value,
|
|
48
|
-
name: ( localize2(
|
|
48
|
+
name: ( localize2(5036, "Chat")),
|
|
49
49
|
canToggleVisibility: false,
|
|
50
50
|
canMoveView: true,
|
|
51
51
|
openCommandActionDescriptor: {
|
|
52
52
|
id: CHAT_SIDEBAR_PANEL_ID,
|
|
53
53
|
title: chatViewContainer.title,
|
|
54
|
-
mnemonicTitle: ( localize(
|
|
54
|
+
mnemonicTitle: ( localize(5037, "&&Chat")),
|
|
55
55
|
keybindings: {
|
|
56
56
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyI,
|
|
57
57
|
mac: {
|
|
@@ -69,7 +69,7 @@ const chatViewDescriptor = [{
|
|
|
69
69
|
const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
70
70
|
extensionPoint: 'chatParticipants',
|
|
71
71
|
jsonSchema: {
|
|
72
|
-
description: ( localize(
|
|
72
|
+
description: ( localize(5038, 'Contributes a chat participant')),
|
|
73
73
|
type: 'array',
|
|
74
74
|
items: {
|
|
75
75
|
additionalProperties: false,
|
|
@@ -78,12 +78,12 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
78
78
|
required: ['name', 'id'],
|
|
79
79
|
properties: {
|
|
80
80
|
id: {
|
|
81
|
-
description: ( localize(
|
|
81
|
+
description: ( localize(5039, "A unique id for this chat participant.")),
|
|
82
82
|
type: 'string'
|
|
83
83
|
},
|
|
84
84
|
name: {
|
|
85
85
|
description: ( localize(
|
|
86
|
-
|
|
86
|
+
5040,
|
|
87
87
|
"User-facing name for this chat participant. The user will use '@' with this name to invoke the participant. Name must not contain whitespace."
|
|
88
88
|
)),
|
|
89
89
|
type: 'string',
|
|
@@ -91,37 +91,37 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
91
91
|
},
|
|
92
92
|
fullName: {
|
|
93
93
|
markdownDescription: ( localize(
|
|
94
|
-
|
|
94
|
+
5041,
|
|
95
95
|
"The full name of this chat participant, which is shown as the label for responses coming from this participant. If not provided, {0} is used.",
|
|
96
96
|
'`name`'
|
|
97
97
|
)),
|
|
98
98
|
type: 'string'
|
|
99
99
|
},
|
|
100
100
|
description: {
|
|
101
|
-
description: ( localize(
|
|
101
|
+
description: ( localize(5042, "A description of this chat participant, shown in the UI.")),
|
|
102
102
|
type: 'string'
|
|
103
103
|
},
|
|
104
104
|
isSticky: {
|
|
105
105
|
description: ( localize(
|
|
106
|
-
|
|
106
|
+
5043,
|
|
107
107
|
"Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
|
|
108
108
|
)),
|
|
109
109
|
type: 'boolean'
|
|
110
110
|
},
|
|
111
111
|
sampleRequest: {
|
|
112
112
|
description: ( localize(
|
|
113
|
-
|
|
113
|
+
5044,
|
|
114
114
|
"When the user clicks this participant in `/help`, this text will be submitted to the participant."
|
|
115
115
|
)),
|
|
116
116
|
type: 'string'
|
|
117
117
|
},
|
|
118
118
|
when: {
|
|
119
|
-
description: ( localize(
|
|
119
|
+
description: ( localize(5045, "A condition which must be true to enable this participant.")),
|
|
120
120
|
type: 'string'
|
|
121
121
|
},
|
|
122
122
|
disambiguation: {
|
|
123
123
|
description: ( localize(
|
|
124
|
-
|
|
124
|
+
5046,
|
|
125
125
|
"Metadata to help with automatically routing user questions to this chat participant."
|
|
126
126
|
)),
|
|
127
127
|
type: 'array',
|
|
@@ -133,21 +133,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
133
133
|
properties: {
|
|
134
134
|
category: {
|
|
135
135
|
markdownDescription: ( localize(
|
|
136
|
-
|
|
136
|
+
5047,
|
|
137
137
|
"A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
|
|
138
138
|
)),
|
|
139
139
|
type: 'string'
|
|
140
140
|
},
|
|
141
141
|
description: {
|
|
142
142
|
description: ( localize(
|
|
143
|
-
|
|
143
|
+
5048,
|
|
144
144
|
"A detailed description of the kinds of questions that are suitable for this chat participant."
|
|
145
145
|
)),
|
|
146
146
|
type: 'string'
|
|
147
147
|
},
|
|
148
148
|
examples: {
|
|
149
149
|
description: ( localize(
|
|
150
|
-
|
|
150
|
+
5049,
|
|
151
151
|
"A list of representative example questions that are suitable for this chat participant."
|
|
152
152
|
)),
|
|
153
153
|
type: 'array'
|
|
@@ -157,7 +157,7 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
157
157
|
},
|
|
158
158
|
commands: {
|
|
159
159
|
markdownDescription: ( localize(
|
|
160
|
-
|
|
160
|
+
5050,
|
|
161
161
|
"Commands available for this chat participant, which the user can invoke with a `/`."
|
|
162
162
|
)),
|
|
163
163
|
type: 'array',
|
|
@@ -169,36 +169,36 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
169
169
|
properties: {
|
|
170
170
|
name: {
|
|
171
171
|
description: ( localize(
|
|
172
|
-
|
|
172
|
+
5051,
|
|
173
173
|
"A short name by which this command is referred to in the UI, e.g. `fix` or * `explain` for commands that fix an issue or explain code. The name should be unique among the commands provided by this participant."
|
|
174
174
|
)),
|
|
175
175
|
type: 'string'
|
|
176
176
|
},
|
|
177
177
|
description: {
|
|
178
|
-
description: ( localize(
|
|
178
|
+
description: ( localize(5052, "A description of this command.")),
|
|
179
179
|
type: 'string'
|
|
180
180
|
},
|
|
181
181
|
when: {
|
|
182
|
-
description: ( localize(
|
|
182
|
+
description: ( localize(5053, "A condition which must be true to enable this command.")),
|
|
183
183
|
type: 'string'
|
|
184
184
|
},
|
|
185
185
|
sampleRequest: {
|
|
186
186
|
description: ( localize(
|
|
187
|
-
|
|
187
|
+
5054,
|
|
188
188
|
"When the user clicks this command in `/help`, this text will be submitted to the participant."
|
|
189
189
|
)),
|
|
190
190
|
type: 'string'
|
|
191
191
|
},
|
|
192
192
|
isSticky: {
|
|
193
193
|
description: ( localize(
|
|
194
|
-
|
|
194
|
+
5043,
|
|
195
195
|
"Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
|
|
196
196
|
)),
|
|
197
197
|
type: 'boolean'
|
|
198
198
|
},
|
|
199
199
|
disambiguation: {
|
|
200
200
|
description: ( localize(
|
|
201
|
-
|
|
201
|
+
5055,
|
|
202
202
|
"Metadata to help with automatically routing user questions to this chat command."
|
|
203
203
|
)),
|
|
204
204
|
type: 'array',
|
|
@@ -210,21 +210,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
|
|
|
210
210
|
properties: {
|
|
211
211
|
category: {
|
|
212
212
|
markdownDescription: ( localize(
|
|
213
|
-
|
|
213
|
+
5056,
|
|
214
214
|
"A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
|
|
215
215
|
)),
|
|
216
216
|
type: 'string'
|
|
217
217
|
},
|
|
218
218
|
description: {
|
|
219
219
|
description: ( localize(
|
|
220
|
-
|
|
220
|
+
5057,
|
|
221
221
|
"A detailed description of the kinds of questions that are suitable for this chat command."
|
|
222
222
|
)),
|
|
223
223
|
type: 'string'
|
|
224
224
|
},
|
|
225
225
|
examples: {
|
|
226
226
|
description: ( localize(
|
|
227
|
-
|
|
227
|
+
5058,
|
|
228
228
|
"A list of representative example questions that are suitable for this chat command."
|
|
229
229
|
)),
|
|
230
230
|
type: 'array'
|
|
@@ -305,7 +305,7 @@ let ChatExtensionPointHandler = class ChatExtensionPointHandler {
|
|
|
305
305
|
locations: isNonEmptyArray(providerDescriptor.locations) ?
|
|
306
306
|
( providerDescriptor.locations.map(ChatAgentLocation.fromRaw)) :
|
|
307
307
|
[ChatAgentLocation.Panel],
|
|
308
|
-
modes: providerDescriptor.modes ?? [ChatModeKind.Ask],
|
|
308
|
+
modes: providerDescriptor.isDefault ? (providerDescriptor.modes ?? [ChatModeKind.Ask]) : [ChatModeKind.Agent, ChatModeKind.Ask, ChatModeKind.Edit],
|
|
309
309
|
slashCommands: providerDescriptor.commands ?? [],
|
|
310
310
|
disambiguation: coalesce(participantsDisambiguation.flat()),
|
|
311
311
|
}));
|
|
@@ -354,9 +354,9 @@ let ChatCompatibilityNotifier = class ChatCompatibilityNotifier extends Disposab
|
|
|
354
354
|
return;
|
|
355
355
|
}
|
|
356
356
|
this.registeredWelcomeView = true;
|
|
357
|
-
const showExtensionLabel = ( localize(
|
|
357
|
+
const showExtensionLabel = ( localize(5059, "Show Extension"));
|
|
358
358
|
const mainMessage = ( localize(
|
|
359
|
-
|
|
359
|
+
5060,
|
|
360
360
|
"Chat failed to load because the installed version of the Copilot Chat extension is not compatible with this version of {0}. Please ensure that the Copilot Chat extension is up to date.",
|
|
361
361
|
this.productService.nameLong
|
|
362
362
|
));
|
|
@@ -388,10 +388,10 @@ class ChatParticipantDataRenderer extends Disposable {
|
|
|
388
388
|
return { data: { headers: [], rows: [] }, dispose: () => { } };
|
|
389
389
|
}
|
|
390
390
|
const headers = [
|
|
391
|
-
( localize(
|
|
392
|
-
( localize(
|
|
393
|
-
( localize(
|
|
394
|
-
( localize(
|
|
391
|
+
( localize(5061, "Name")),
|
|
392
|
+
( localize(5062, "Full Name")),
|
|
393
|
+
( localize(5063, "Description")),
|
|
394
|
+
( localize(5064, "Commands")),
|
|
395
395
|
];
|
|
396
396
|
const rows = ( nonDefaultContributions.map(d => {
|
|
397
397
|
return [
|
|
@@ -412,7 +412,7 @@ class ChatParticipantDataRenderer extends Disposable {
|
|
|
412
412
|
}
|
|
413
413
|
( Registry.as(Extensions$1.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
414
414
|
id: 'chatParticipants',
|
|
415
|
-
label: ( localize(
|
|
415
|
+
label: ( localize(5065, "Chat Participants")),
|
|
416
416
|
access: {
|
|
417
417
|
canToggle: false
|
|
418
418
|
},
|
|
@@ -21,7 +21,7 @@ import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
21
21
|
import { IChatVariablesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables.service';
|
|
22
22
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
23
23
|
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
|
|
24
|
-
import { cleanupOldImages, createFileForMedia, resizeImage, imageToHash } from '@codingame/monaco-vscode-
|
|
24
|
+
import { cleanupOldImages, createFileForMedia, resizeImage, imageToHash } from '@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common/vscode/vs/workbench/contrib/chat/browser/imageUtils';
|
|
25
25
|
|
|
26
26
|
var CopyAttachmentsProvider_1;
|
|
27
27
|
const COPY_MIME_TYPES = 'application/vnd.code.additional-editor-data';
|
|
@@ -72,7 +72,7 @@ let PasteImageProvider = class PasteImageProvider {
|
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
74
|
const attachedVariables = widget.attachmentModel.attachments;
|
|
75
|
-
const displayName = ( localize(
|
|
75
|
+
const displayName = ( localize(5066, 'Pasted Image'));
|
|
76
76
|
let tempDisplayName = displayName;
|
|
77
77
|
for (let appendValue = 2; ( attachedVariables.some(attachment => attachment.name === tempDisplayName)); appendValue++) {
|
|
78
78
|
tempDisplayName = `${displayName} ${appendValue}`;
|
|
@@ -94,7 +94,7 @@ let PasteImageProvider = class PasteImageProvider {
|
|
|
94
94
|
if (( currentContextIds.has(scaledImageContext.id))) {
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
|
-
const edit = createCustomPasteEdit(model, [scaledImageContext], mimeType, this.kind, ( localize(
|
|
97
|
+
const edit = createCustomPasteEdit(model, [scaledImageContext], mimeType, this.kind, ( localize(5067, 'Pasted Image Attachment')), this.chatWidgetService);
|
|
98
98
|
return createEditSession(edit);
|
|
99
99
|
}
|
|
100
100
|
};
|
|
@@ -203,7 +203,7 @@ let CopyAttachmentsProvider = class CopyAttachmentsProvider {
|
|
|
203
203
|
}
|
|
204
204
|
const edit = {
|
|
205
205
|
insertText: textdata,
|
|
206
|
-
title: ( localize(
|
|
206
|
+
title: ( localize(5068, 'Insert Prompt & Attachments')),
|
|
207
207
|
kind: this.kind,
|
|
208
208
|
handledMimeType: CopyAttachmentsProvider_1.ATTACHMENT_MIME_TYPE,
|
|
209
209
|
additionalEdit: {
|
|
@@ -277,7 +277,7 @@ class PasteTextProvider {
|
|
|
277
277
|
if (( currentContextIds.has(copiedContext.id))) {
|
|
278
278
|
return;
|
|
279
279
|
}
|
|
280
|
-
const edit = createCustomPasteEdit(model, [copiedContext], Mimes.text, this.kind, ( localize(
|
|
280
|
+
const edit = createCustomPasteEdit(model, [copiedContext], Mimes.text, this.kind, ( localize(5069, 'Pasted Code Attachment')), this.chatWidgetService);
|
|
281
281
|
edit.yieldTo = [{ kind: HierarchicalKind.Empty.append('text', 'plain') }];
|
|
282
282
|
return createEditSession(edit);
|
|
283
283
|
}
|
|
@@ -287,7 +287,7 @@ function getCopiedContext(code, file, language, range) {
|
|
|
287
287
|
const start = range.startLineNumber;
|
|
288
288
|
const end = range.endLineNumber;
|
|
289
289
|
const resultText = `Copied Selection of Code: \n\n\n From the file: ${fileName} From lines ${start} to ${end} \n \`\`\`${code}\`\`\``;
|
|
290
|
-
const pastedLines = start === end ? ( localize(
|
|
290
|
+
const pastedLines = start === end ? ( localize(5070, '1 line')) : ( localize(5071, '{0} lines', end + 1 - start));
|
|
291
291
|
return {
|
|
292
292
|
kind: 'paste',
|
|
293
293
|
value: resultText,
|
|
@@ -311,7 +311,7 @@ function getCopiedContext(code, file, language, range) {
|
|
|
311
311
|
function createCustomPasteEdit(model, context, handledMimeType, kind, title, chatWidgetService) {
|
|
312
312
|
const label = context.length === 1
|
|
313
313
|
? context[0].name
|
|
314
|
-
: ( localize(
|
|
314
|
+
: ( localize(5072, '{0} and {1} more', context[0].name, context.length - 1));
|
|
315
315
|
const customEdit = {
|
|
316
316
|
resource: model.uri,
|
|
317
317
|
variable: context,
|
|
@@ -2,7 +2,7 @@ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"
|
|
|
2
2
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
3
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
4
|
import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
|
|
5
|
-
import { IQuickChatOpenOptions } from "@codingame/monaco-vscode-
|
|
5
|
+
import { IQuickChatOpenOptions } from "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
6
6
|
import { IQuickChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
7
7
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
8
8
|
export declare class QuickChatService extends Disposable implements IQuickChatService {
|