@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
|
@@ -2,8 +2,9 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
2
2
|
import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service";
|
|
3
3
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
4
|
import { IChatAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
5
|
-
import { IChatResponseViewModel } from "@codingame/monaco-vscode-
|
|
5
|
+
import { IChatResponseViewModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatViewModel";
|
|
6
6
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
7
|
+
import { IChatElicitationRequest } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
7
8
|
export declare class ChatAccessibilityService extends Disposable implements IChatAccessibilityService {
|
|
8
9
|
private readonly _accessibilitySignalService;
|
|
9
10
|
private readonly _instantiationService;
|
|
@@ -14,4 +15,5 @@ export declare class ChatAccessibilityService extends Disposable implements ICha
|
|
|
14
15
|
constructor(_accessibilitySignalService: IAccessibilitySignalService, _instantiationService: IInstantiationService, _configurationService: IConfigurationService);
|
|
15
16
|
acceptRequest(): number;
|
|
16
17
|
acceptResponse(response: IChatResponseViewModel | string | undefined, requestId: number, isVoiceInput?: boolean): void;
|
|
18
|
+
acceptElicitation(elicitation: IChatElicitationRequest): void;
|
|
17
19
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
3
|
+
import { status, alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
4
4
|
import { Disposable, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
5
|
import { AccessibilitySignal } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
|
|
6
6
|
import { IAccessibilitySignalService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service';
|
|
7
7
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
8
|
import { AccessibilityProgressSignalScheduler } from '@codingame/monaco-vscode-1021b67c-93e5-5c78-a270-cbdb2574d980-common/vscode/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler';
|
|
9
|
-
import {
|
|
9
|
+
import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
10
10
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
11
11
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
12
12
|
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
@@ -37,11 +37,17 @@ let ChatAccessibilityService = class ChatAccessibilityService extends Disposable
|
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
const errorDetails = isPanelChat && response.errorDetails ? ` ${response.errorDetails.message}` : '';
|
|
40
|
-
const plainTextResponse =
|
|
40
|
+
const plainTextResponse = renderAsPlaintext(( new MarkdownString(responseContent)));
|
|
41
41
|
if (!isVoiceInput || this._configurationService.getValue(AccessibilityVoiceSettingId.AutoSynthesize) !== 'on') {
|
|
42
42
|
status(plainTextResponse + errorDetails);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
acceptElicitation(elicitation) {
|
|
46
|
+
const title = typeof elicitation.title === 'string' ? elicitation.title : elicitation.title.value;
|
|
47
|
+
const message = typeof elicitation.message === 'string' ? elicitation.message : elicitation.message.value;
|
|
48
|
+
alert(title + ' ' + message);
|
|
49
|
+
this._accessibilitySignalService.playSignal(AccessibilitySignal.chatUserActionRequired, { allowManyInParallel: true });
|
|
50
|
+
}
|
|
45
51
|
};
|
|
46
52
|
ChatAccessibilityService = ( __decorate([
|
|
47
53
|
( __param(0, IAccessibilitySignalService)),
|
|
@@ -8,7 +8,8 @@ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/fi
|
|
|
8
8
|
import { EditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput";
|
|
9
9
|
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
10
10
|
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
11
|
-
import {
|
|
11
|
+
import { SCMHistoryItemTransferData } from "@codingame/monaco-vscode-d0569cfb-4706-5ad6-b0b0-5115ad8685db-common/vscode/vs/workbench/contrib/scm/browser/scmHistoryChatContext";
|
|
12
|
+
import { IChatRequestVariableEntry, OmittedState, IDiagnosticVariableEntry, ISymbolVariableEntry, ISCMHistoryItemVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
|
|
12
13
|
import { IChatAttachmentResolveService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service";
|
|
13
14
|
export declare class ChatAttachmentResolveService implements IChatAttachmentResolveService {
|
|
14
15
|
private fileService;
|
|
@@ -26,6 +27,7 @@ export declare class ChatAttachmentResolveService implements IChatAttachmentReso
|
|
|
26
27
|
resolveMarkerAttachContext(markers: MarkerTransferData[]): IDiagnosticVariableEntry[];
|
|
27
28
|
resolveSymbolsAttachContext(symbols: DocumentSymbolTransferData[]): ISymbolVariableEntry[];
|
|
28
29
|
resolveNotebookOutputAttachContext(data: NotebookCellOutputTransferData): IChatRequestVariableEntry[];
|
|
30
|
+
resolveSourceControlHistoryItemAttachContext(data: SCMHistoryItemTransferData[]): ISCMHistoryItemVariableEntry[];
|
|
29
31
|
}
|
|
30
32
|
export type ImageTransferData = {
|
|
31
33
|
data: Uint8Array;
|
|
@@ -13,14 +13,14 @@ import { isUntitledResourceEditorInput } from '@codingame/monaco-vscode-api/vsco
|
|
|
13
13
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
14
14
|
import { isProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
|
|
15
15
|
import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
16
|
-
import { UntitledTextEditorInput } from '@codingame/monaco-vscode-
|
|
16
|
+
import { UntitledTextEditorInput } from '@codingame/monaco-vscode-ac93482b-2178-52df-a200-ba0d1a4963fb-common/vscode/vs/workbench/services/untitled/common/untitledTextEditorInput';
|
|
17
17
|
import { NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT_CONST, createNotebookOutputVariableEntry } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils';
|
|
18
18
|
import { getOutputViewModelFromId } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/notebook/browser/controller/cellOutputActions';
|
|
19
|
-
import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-
|
|
20
|
-
import { getAttachableImageExtension, CHAT_ATTACHABLE_IMAGE_MIME_TYPES } from '@codingame/monaco-vscode-
|
|
19
|
+
import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
|
|
20
|
+
import { getAttachableImageExtension, CHAT_ATTACHABLE_IMAGE_MIME_TYPES } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
21
21
|
import { OmittedState, toPromptFileVariableEntry, PromptFileVariableKind, IDiagnosticVariableEntryFilterData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
|
|
22
|
-
import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-
|
|
23
|
-
import { resizeImage, imageToHash } from '@codingame/monaco-vscode-
|
|
22
|
+
import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
23
|
+
import { resizeImage, imageToHash } from '@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common/vscode/vs/workbench/contrib/chat/browser/imageUtils';
|
|
24
24
|
|
|
25
25
|
let ChatAttachmentResolveService = class ChatAttachmentResolveService {
|
|
26
26
|
constructor(fileService, editorService, textModelService, extensionService, dialogService) {
|
|
@@ -131,7 +131,7 @@ let ChatAttachmentResolveService = class ChatAttachmentResolveService {
|
|
|
131
131
|
}
|
|
132
132
|
const readFile = await this.fileService.readFile(resource);
|
|
133
133
|
if (stat.size > 30 * 1024 * 1024) {
|
|
134
|
-
this.dialogService.error(( localize(
|
|
134
|
+
this.dialogService.error(( localize(4788, 'Image is too large')), ( localize(4789, 'The image {0} is too large to be attached.', fileName)));
|
|
135
135
|
throw ( new Error('Image is too large'));
|
|
136
136
|
}
|
|
137
137
|
dataBuffer = readFile.value;
|
|
@@ -207,6 +207,18 @@ let ChatAttachmentResolveService = class ChatAttachmentResolveService {
|
|
|
207
207
|
}
|
|
208
208
|
return [];
|
|
209
209
|
}
|
|
210
|
+
resolveSourceControlHistoryItemAttachContext(data) {
|
|
211
|
+
return ( data.map(d => ({
|
|
212
|
+
id: d.historyItem.id,
|
|
213
|
+
name: d.name,
|
|
214
|
+
value: URI.revive(d.resource),
|
|
215
|
+
historyItem: {
|
|
216
|
+
...d.historyItem,
|
|
217
|
+
references: []
|
|
218
|
+
},
|
|
219
|
+
kind: 'scmHistoryItem'
|
|
220
|
+
})));
|
|
221
|
+
}
|
|
210
222
|
};
|
|
211
223
|
ChatAttachmentResolveService = ( __decorate([
|
|
212
224
|
( __param(0, IFileService)),
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
-
import { InlineAnchorWidget } from "@codingame/monaco-vscode-
|
|
2
|
+
import { InlineAnchorWidget } from "@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatInlineAnchorWidget";
|
|
3
3
|
import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service";
|
|
4
4
|
export declare class ChatMarkdownAnchorService extends Disposable implements IChatMarkdownAnchorService {
|
|
5
5
|
readonly _serviceBrand: undefined;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js
CHANGED
|
@@ -20,7 +20,6 @@ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core
|
|
|
20
20
|
import { Selection } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/selection';
|
|
21
21
|
import { TrackedRangeStickiness, MinimapPosition, OverviewRulerLane } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
|
|
22
22
|
import { ModelDecorationOptions } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
|
|
23
|
-
import { InlineDecoration, InlineDecorationType } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/viewModel';
|
|
24
23
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
25
24
|
import { AccessibilitySignal } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
|
|
26
25
|
import { IAccessibilitySignalService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service';
|
|
@@ -30,11 +29,12 @@ import { TextEditorSelectionRevealType } from '@codingame/monaco-vscode-api/vsco
|
|
|
30
29
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
31
30
|
import '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
32
31
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
33
|
-
import { overviewRulerModifiedForeground, minimapGutterModifiedBackground, overviewRulerAddedForeground, minimapGutterAddedBackground, overviewRulerDeletedForeground, minimapGutterDeletedBackground } from '@codingame/monaco-vscode-
|
|
32
|
+
import { overviewRulerModifiedForeground, minimapGutterModifiedBackground, overviewRulerAddedForeground, minimapGutterAddedBackground, overviewRulerDeletedForeground, minimapGutterDeletedBackground } from '@codingame/monaco-vscode-bb83fe45-f4c7-5673-b9f1-5c409a63f19c-common/vscode/vs/workbench/contrib/scm/common/quickDiff';
|
|
34
33
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
35
34
|
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
|
|
36
35
|
import { isTextDiffEditorForEntry } from './chatEditing.js';
|
|
37
36
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
37
|
+
import { InlineDecoration, InlineDecorationType } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/viewModel/inlineDecorations';
|
|
38
38
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
39
39
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
40
40
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
@@ -507,12 +507,12 @@ let ChatEditingCodeEditorIntegration = class ChatEditingCodeEditorIntegration {
|
|
|
507
507
|
options: { selection },
|
|
508
508
|
label: defaultAgentName
|
|
509
509
|
? ( localize(
|
|
510
|
-
|
|
510
|
+
4917,
|
|
511
511
|
'{0} (changes from {1})',
|
|
512
512
|
basename(this._entry.modifiedURI),
|
|
513
513
|
defaultAgentName
|
|
514
514
|
))
|
|
515
|
-
: ( localize(
|
|
515
|
+
: ( localize(4918, '{0} (changes from chat)', basename(this._entry.modifiedURI)))
|
|
516
516
|
});
|
|
517
517
|
if (diffEditor && diffEditor.input) {
|
|
518
518
|
diffEditor.getControl()?.setSelection(selection);
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
4
4
|
import { Action2, MenuId, registerAction2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
5
5
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
6
6
|
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
7
|
-
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-
|
|
7
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
8
8
|
import { ctxReviewModeEnabled, ctxHasEditorModification, ctxIsGlobalEditingSession, ctxHasRequestInProgress } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
|
|
9
9
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
10
10
|
import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
@@ -12,15 +12,15 @@ import { ACTIVE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/s
|
|
|
12
12
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
13
13
|
import { ModifiedFileEntryState, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
|
|
14
14
|
import { IChatEditingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service';
|
|
15
|
-
import { resolveCommandsContext } from '@codingame/monaco-vscode-
|
|
15
|
+
import { resolveCommandsContext } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/browser/parts/editor/editorCommandsContext';
|
|
16
16
|
import { IListService } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService.service';
|
|
17
17
|
import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
|
|
18
|
-
import { MultiDiffEditorInput } from '@codingame/monaco-vscode-
|
|
18
|
+
import { MultiDiffEditorInput } from '@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
|
|
19
19
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
20
20
|
import { ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
21
21
|
import { EditorResourceAccessor, SideBySideEditor, TEXT_DIFF_EDITOR_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
22
22
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
23
|
-
import { NOTEBOOK_CELL_LIST_FOCUSED, NOTEBOOK_EDITOR_FOCUSED } from '@codingame/monaco-vscode-
|
|
23
|
+
import { NOTEBOOK_CELL_LIST_FOCUSED, NOTEBOOK_EDITOR_FOCUSED } from '@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys';
|
|
24
24
|
|
|
25
25
|
class ChatEditingEditorAction extends Action2 {
|
|
26
26
|
constructor(desc) {
|
|
@@ -54,8 +54,8 @@ class NavigateAction extends ChatEditingEditorAction {
|
|
|
54
54
|
? 'chatEditor.action.navigateNext'
|
|
55
55
|
: 'chatEditor.action.navigatePrevious',
|
|
56
56
|
title: next
|
|
57
|
-
? ( localize2(
|
|
58
|
-
: ( localize2(
|
|
57
|
+
? ( localize2(4919, 'Go to Next Chat Edit'))
|
|
58
|
+
: ( localize2(4920, 'Go to Previous Chat Edit')),
|
|
59
59
|
icon: next ? Codicon.arrowDown : Codicon.arrowUp,
|
|
60
60
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ctxHasEditorModification)),
|
|
61
61
|
keybinding: {
|
|
@@ -127,14 +127,14 @@ class KeepOrUndoAction extends ChatEditingEditorAction {
|
|
|
127
127
|
super({
|
|
128
128
|
id,
|
|
129
129
|
title: _keep
|
|
130
|
-
? ( localize2(
|
|
131
|
-
: ( localize2(
|
|
130
|
+
? ( localize2(4921, 'Keep Chat Edits'))
|
|
131
|
+
: ( localize2(4922, 'Undo Chat Edits')),
|
|
132
132
|
shortTitle: _keep
|
|
133
|
-
? ( localize2(
|
|
134
|
-
: ( localize2(
|
|
133
|
+
? ( localize2(4923, 'Keep'))
|
|
134
|
+
: ( localize2(4924, 'Undo')),
|
|
135
135
|
tooltip: _keep
|
|
136
|
-
? ( localize2(
|
|
137
|
-
: ( localize2(
|
|
136
|
+
? ( localize2(4925, 'Keep Chat Edits in this File'))
|
|
137
|
+
: ( localize2(4926, 'Undo Chat Edits in this File')),
|
|
138
138
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxHasRequestInProgress.negate()))),
|
|
139
139
|
icon: _keep
|
|
140
140
|
? Codicon.check
|
|
@@ -184,7 +184,7 @@ class AcceptRejectHunkAction extends ChatEditingEditorAction {
|
|
|
184
184
|
constructor(_accept) {
|
|
185
185
|
super({
|
|
186
186
|
id: _accept ? 'chatEditor.action.acceptHunk' : 'chatEditor.action.undoHunk',
|
|
187
|
-
title: _accept ? ( localize2(
|
|
187
|
+
title: _accept ? ( localize2(4927, 'Keep this Change')) : ( localize2(4928, 'Undo this Change')),
|
|
188
188
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxHasRequestInProgress.negate()))),
|
|
189
189
|
icon: _accept ? Codicon.check : Codicon.discard,
|
|
190
190
|
f1: true,
|
|
@@ -219,7 +219,7 @@ class ToggleDiffAction extends ChatEditingEditorAction {
|
|
|
219
219
|
constructor() {
|
|
220
220
|
super({
|
|
221
221
|
id: 'chatEditor.action.toggleDiff',
|
|
222
|
-
title: ( localize2(
|
|
222
|
+
title: ( localize2(4929, 'Toggle Diff Editor for Chat Edits')),
|
|
223
223
|
category: CHAT_CATEGORY,
|
|
224
224
|
toggled: {
|
|
225
225
|
condition: ( ContextKeyExpr.or(EditorContextKeys.inDiffEditor, ( ActiveEditorContext.isEqualTo(TEXT_DIFF_EDITOR_ID)))),
|
|
@@ -251,7 +251,7 @@ class ToggleAccessibleDiffViewAction extends ChatEditingEditorAction {
|
|
|
251
251
|
constructor() {
|
|
252
252
|
super({
|
|
253
253
|
id: 'chatEditor.action.showAccessibleDiffView',
|
|
254
|
-
title: ( localize2(
|
|
254
|
+
title: ( localize2(4930, 'Show Accessible Diff View for Chat Edits')),
|
|
255
255
|
f1: true,
|
|
256
256
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxHasRequestInProgress.negate()))),
|
|
257
257
|
keybinding: {
|
|
@@ -269,7 +269,7 @@ class ReviewChangesAction extends ChatEditingEditorAction {
|
|
|
269
269
|
constructor() {
|
|
270
270
|
super({
|
|
271
271
|
id: 'chatEditor.action.reviewChanges',
|
|
272
|
-
title: ( localize2(
|
|
272
|
+
title: ( localize2(4931, "Review")),
|
|
273
273
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxHasRequestInProgress.negate()))),
|
|
274
274
|
menu: [{
|
|
275
275
|
id: MenuId.ChatEditingEditorContent,
|
|
@@ -288,8 +288,8 @@ class AcceptAllEditsAction extends ChatEditingEditorAction {
|
|
|
288
288
|
constructor() {
|
|
289
289
|
super({
|
|
290
290
|
id: AcceptAllEditsAction.ID,
|
|
291
|
-
title: ( localize2(
|
|
292
|
-
tooltip: ( localize2(
|
|
291
|
+
title: ( localize2(4932, 'Keep All Chat Edits')),
|
|
292
|
+
tooltip: ( localize2(4933, 'Keep All Chat Edits in this Session')),
|
|
293
293
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxHasRequestInProgress.negate()))),
|
|
294
294
|
icon: Codicon.checkAll,
|
|
295
295
|
f1: true,
|
|
@@ -308,7 +308,7 @@ class MultiDiffAcceptDiscardAction extends Action2 {
|
|
|
308
308
|
constructor(accept) {
|
|
309
309
|
super({
|
|
310
310
|
id: accept ? 'chatEditing.multidiff.acceptAllFiles' : 'chatEditing.multidiff.discardAllFiles',
|
|
311
|
-
title: accept ? ( localize(
|
|
311
|
+
title: accept ? ( localize(4934, 'Keep All Edits')) : ( localize(4935, 'Undo All Edits')),
|
|
312
312
|
icon: accept ? Codicon.check : Codicon.discard,
|
|
313
313
|
menu: {
|
|
314
314
|
when: ( ContextKeyExpr.equals('resourceScheme', CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)),
|
|
@@ -370,7 +370,7 @@ function registerChatEditorActions() {
|
|
|
370
370
|
MenuRegistry.appendMenuItem(MenuId.ChatEditingEditorContent, {
|
|
371
371
|
command: {
|
|
372
372
|
id: navigationBearingFakeActionId,
|
|
373
|
-
title: ( localize(
|
|
373
|
+
title: ( localize(4936, "Navigation Status")),
|
|
374
374
|
precondition: ( ContextKeyExpr.false()),
|
|
375
375
|
},
|
|
376
376
|
group: 'navigate',
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js
CHANGED
|
@@ -16,7 +16,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
16
16
|
import { navigationBearingFakeActionId, AcceptAction, RejectAction } from './chatEditingEditorActions.js';
|
|
17
17
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
18
18
|
import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
|
|
19
|
-
import { EditorGroupView } from '@codingame/monaco-vscode-
|
|
19
|
+
import { EditorGroupView } from '@codingame/monaco-vscode-615ce609-8555-545a-a549-47bd9f80e9f8-common/vscode/vs/workbench/browser/parts/editor/editorGroupView';
|
|
20
20
|
import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
21
21
|
import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
|
|
22
22
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
@@ -28,7 +28,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
28
28
|
import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
29
29
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
30
30
|
import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
|
|
31
|
-
import {
|
|
31
|
+
import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
32
32
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
33
33
|
import { observableFromEventOpts, observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
34
34
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -64,10 +64,10 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
64
64
|
}
|
|
65
65
|
const response = this._entry.read(r)?.lastModifyingResponse.read(r);
|
|
66
66
|
if (!response) {
|
|
67
|
-
return { message: ( localize(
|
|
67
|
+
return { message: ( localize(4942, "Working...")) };
|
|
68
68
|
}
|
|
69
69
|
if (response.isPaused.read(r)) {
|
|
70
|
-
return { message: ( localize(
|
|
70
|
+
return { message: ( localize(4943, "Paused")), paused: true };
|
|
71
71
|
}
|
|
72
72
|
const lastPart = observableFromEventOpts({ equalsFn: equals }, response.onDidChange, () => response.response.value)
|
|
73
73
|
.read(r)
|
|
@@ -80,7 +80,7 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
80
80
|
return { message: lastPart.content };
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
83
|
-
return { message: ( localize(
|
|
83
|
+
return { message: ( localize(4942, "Working...")) };
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
const progressNode = createElement('div');
|
|
@@ -96,7 +96,7 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
96
96
|
textProgress.innerText = '';
|
|
97
97
|
}
|
|
98
98
|
else if (value) {
|
|
99
|
-
textProgress.innerText =
|
|
99
|
+
textProgress.innerText = renderAsPlaintext(value.message);
|
|
100
100
|
}
|
|
101
101
|
}));
|
|
102
102
|
this._toolbarNode = createElement('div');
|
|
@@ -157,10 +157,10 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
157
157
|
const { changeCount, activeIdx } = that._navigationBearings.read(r);
|
|
158
158
|
if (changeCount > 0) {
|
|
159
159
|
const n = activeIdx === -1 ? '1' : `${activeIdx + 1}`;
|
|
160
|
-
this.label.innerText = ( localize(
|
|
160
|
+
this.label.innerText = ( localize(4944, "{0} of {1}", n, changeCount));
|
|
161
161
|
}
|
|
162
162
|
else {
|
|
163
|
-
this.label.innerText = ( localize(
|
|
163
|
+
this.label.innerText = ( localize(4945, "—"));
|
|
164
164
|
}
|
|
165
165
|
this.updateTooltip();
|
|
166
166
|
}));
|
|
@@ -172,21 +172,21 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
172
172
|
}
|
|
173
173
|
let result;
|
|
174
174
|
if (changeCount === 1 && entriesCount === 1) {
|
|
175
|
-
result = ( localize(
|
|
175
|
+
result = ( localize(4946, "1 change in 1 file"));
|
|
176
176
|
}
|
|
177
177
|
else if (changeCount === 1) {
|
|
178
|
-
result = ( localize(
|
|
178
|
+
result = ( localize(4947, "1 change in {0} files", entriesCount));
|
|
179
179
|
}
|
|
180
180
|
else if (entriesCount === 1) {
|
|
181
|
-
result = ( localize(
|
|
181
|
+
result = ( localize(4948, "{0} changes in 1 file", changeCount));
|
|
182
182
|
}
|
|
183
183
|
else {
|
|
184
|
-
result = ( localize(
|
|
184
|
+
result = ( localize(4949, "{0} changes in {1} files", changeCount, entriesCount));
|
|
185
185
|
}
|
|
186
186
|
if (!that._isBusy.get()) {
|
|
187
187
|
return result;
|
|
188
188
|
}
|
|
189
|
-
return localize(
|
|
189
|
+
return localize(4950, "{0} - Working...", result);
|
|
190
190
|
}
|
|
191
191
|
});
|
|
192
192
|
}
|
|
@@ -235,7 +235,7 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
235
235
|
if (!kb) {
|
|
236
236
|
return value;
|
|
237
237
|
}
|
|
238
|
-
return localize(
|
|
238
|
+
return localize(4951, "{0} ({1})", value, kb.getLabel());
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
241
|
}
|
|
@@ -17,7 +17,7 @@ import { IFilesConfigurationService } from "@codingame/monaco-vscode-api/vscode/
|
|
|
17
17
|
import { ITextFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service";
|
|
18
18
|
import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
|
|
19
19
|
import { ChatEditKind, IModifiedEntryTelemetryInfo, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
20
|
-
import { IChatResponseModel } from "@codingame/monaco-vscode-
|
|
20
|
+
import { IChatResponseModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
21
21
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
22
22
|
import { AbstractChatEditingModifiedFileEntry } from "./chatEditingModifiedFileEntry.js";
|
|
23
23
|
export declare class ChatEditingModifiedDocumentEntry extends AbstractChatEditingModifiedFileEntry implements IModifiedFileEntry {
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js
CHANGED
|
@@ -44,7 +44,10 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
|
|
|
44
44
|
this._textModelChangeService = this._register(instantiationService.createInstance(ChatEditingTextModelChangeService, this.originalModel, this.modifiedModel, this._stateObs));
|
|
45
45
|
this._register(this._textModelChangeService.onDidAcceptOrRejectAllHunks(action => {
|
|
46
46
|
this._stateObs.set(action, undefined);
|
|
47
|
-
this.
|
|
47
|
+
this._notifySessionAction(action === ModifiedFileEntryState.Accepted ? 'accepted' : 'rejected');
|
|
48
|
+
}));
|
|
49
|
+
this._register(this._textModelChangeService.onDidAcceptOrRejectLines(action => {
|
|
50
|
+
this._notifyAction({ kind: 'chatEditingHunkAction', uri: this.modifiedURI, outcome: action.state, lineCount: action.lineCount, hasRemainingEdits: action.hasRemainingEdits });
|
|
48
51
|
}));
|
|
49
52
|
(async () => {
|
|
50
53
|
const reference = await textModelService.createModelReference(docSnapshot.uri);
|
|
@@ -67,7 +70,7 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
|
|
|
67
70
|
if (inProgress) {
|
|
68
71
|
const res = this._lastModifyingResponseObs.read(r);
|
|
69
72
|
const req = res && res.session.getRequests().find(value => value.id === res.requestId);
|
|
70
|
-
resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(
|
|
73
|
+
resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(4952, "Chat Edits")));
|
|
71
74
|
}
|
|
72
75
|
else {
|
|
73
76
|
resourceFilter.clear();
|
|
@@ -109,7 +112,7 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
|
|
|
109
112
|
}
|
|
110
113
|
_createUndoRedoElement(response) {
|
|
111
114
|
const request = response.session.getRequests().find(req => req.id === response.requestId);
|
|
112
|
-
const label = request?.message.text ? ( localize(
|
|
115
|
+
const label = request?.message.text ? ( localize(4953, "Chat Edit: '{0}'", request.message.text)) : ( localize(4954, "Chat Edit"));
|
|
113
116
|
return ( new SingleModelEditStackElement(label, 'chat.edit', this.modifiedModel, null));
|
|
114
117
|
}
|
|
115
118
|
async acceptAgentEdits(resource, textEdits, isLastEdits, responseModel) {
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts
CHANGED
|
@@ -13,7 +13,8 @@ import { IEditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/co
|
|
|
13
13
|
import { IFilesConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service";
|
|
14
14
|
import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon";
|
|
15
15
|
import { ChatEditKind, IModifiedEntryTelemetryInfo, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ISnapshotEntry, ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
16
|
-
import { IChatResponseModel } from "@codingame/monaco-vscode-
|
|
16
|
+
import { IChatResponseModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
17
|
+
import { ChatUserAction } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
17
18
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
18
19
|
declare class AutoAcceptControl {
|
|
19
20
|
readonly total: number;
|
|
@@ -66,7 +67,8 @@ export declare abstract class AbstractChatEditingModifiedFileEntry extends Dispo
|
|
|
66
67
|
protected abstract _doAccept(): Promise<void>;
|
|
67
68
|
reject(): Promise<void>;
|
|
68
69
|
protected abstract _doReject(): Promise<void>;
|
|
69
|
-
protected
|
|
70
|
+
protected _notifySessionAction(outcome: "accepted" | "rejected" | "userModified"): void;
|
|
71
|
+
protected _notifyAction(action: ChatUserAction): void;
|
|
70
72
|
private readonly _editorIntegrations;
|
|
71
73
|
getEditorIntegration(pane: IEditorPane): IModifiedFileEntryEditorIntegration;
|
|
72
74
|
protected abstract _createEditorIntegration(editor: IEditorPane): IModifiedFileEntryEditorIntegration;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js
CHANGED
|
@@ -40,7 +40,7 @@ class AutoAcceptControl {
|
|
|
40
40
|
this.cancel = cancel;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
const pendingRewriteMinimap = registerColor('minimap.chatEditHighlight', ( transparent(editorBackground, 0.6)), ( localize(
|
|
43
|
+
const pendingRewriteMinimap = registerColor('minimap.chatEditHighlight', ( transparent(editorBackground, 0.6)), ( localize(4955, "Color of pending edit regions in the minimap")));
|
|
44
44
|
let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFileEntry extends Disposable {
|
|
45
45
|
static { AbstractChatEditingModifiedFileEntry_1 = this; }
|
|
46
46
|
static { this.scheme = 'modified-file-entry'; }
|
|
@@ -80,7 +80,7 @@ let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFile
|
|
|
80
80
|
this._autoAcceptCtrl = observableValue(this, undefined);
|
|
81
81
|
this.autoAcceptController = this._autoAcceptCtrl;
|
|
82
82
|
this._refCounter = 1;
|
|
83
|
-
this._userEditScheduler = this._register(( new RunOnceScheduler(() => this.
|
|
83
|
+
this._userEditScheduler = this._register(( new RunOnceScheduler(() => this._notifySessionAction('userModified'), 1000)));
|
|
84
84
|
this._editorIntegrations = this._register(( new DisposableMap()));
|
|
85
85
|
if (kind === ChatEditKind.Created) {
|
|
86
86
|
this.createdInRequestId = this._telemetryInfo.requestId;
|
|
@@ -172,22 +172,25 @@ let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFile
|
|
|
172
172
|
this._stateObs.set(ModifiedFileEntryState.Accepted, tx);
|
|
173
173
|
this._autoAcceptCtrl.set(undefined, tx);
|
|
174
174
|
});
|
|
175
|
-
this.
|
|
175
|
+
this._notifySessionAction('accepted');
|
|
176
176
|
}
|
|
177
177
|
async reject() {
|
|
178
178
|
if (this._stateObs.get() !== ModifiedFileEntryState.Modified) {
|
|
179
179
|
return;
|
|
180
180
|
}
|
|
181
|
-
this.
|
|
181
|
+
this._notifySessionAction('rejected');
|
|
182
182
|
await this._doReject();
|
|
183
183
|
transaction(tx => {
|
|
184
184
|
this._stateObs.set(ModifiedFileEntryState.Rejected, tx);
|
|
185
185
|
this._autoAcceptCtrl.set(undefined, tx);
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
|
-
|
|
188
|
+
_notifySessionAction(outcome) {
|
|
189
|
+
this._notifyAction({ kind: 'chatEditingSessionAction', uri: this.modifiedURI, hasRemainingEdits: false, outcome });
|
|
190
|
+
}
|
|
191
|
+
_notifyAction(action) {
|
|
189
192
|
this._chatService.notifyUserAction({
|
|
190
|
-
action
|
|
193
|
+
action,
|
|
191
194
|
agentId: this._telemetryInfo.agentId,
|
|
192
195
|
command: this._telemetryInfo.command,
|
|
193
196
|
sessionId: this._telemetryInfo.sessionId,
|
|
@@ -19,7 +19,7 @@ import { INotebookEditorModelResolverService } from "@codingame/monaco-vscode-ap
|
|
|
19
19
|
import { INotebookLoggingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookLoggingService.service";
|
|
20
20
|
import { INotebookEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service";
|
|
21
21
|
import { ChatEditKind, IModifiedEntryTelemetryInfo, IModifiedFileEntryEditorIntegration, ISnapshotEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
22
|
-
import { IChatResponseModel } from "@codingame/monaco-vscode-
|
|
22
|
+
import { IChatResponseModel } from "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
23
23
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
24
24
|
import { AbstractChatEditingModifiedFileEntry } from "./chatEditingModifiedFileEntry.js";
|
|
25
25
|
import { ChatEditingNotebookCellEntry } from "./notebook/chatEditingNotebookCellEntry.js";
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js
CHANGED
|
@@ -27,7 +27,7 @@ import { SaveReason } from '@codingame/monaco-vscode-api/vscode/vs/workbench/com
|
|
|
27
27
|
import { IFilesConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service';
|
|
28
28
|
import { SnapshotContext } from '@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/services/workingCopy/common/fileWorkingCopy';
|
|
29
29
|
import { NotebookTextDiffEditor } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor';
|
|
30
|
-
import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-
|
|
30
|
+
import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
|
|
31
31
|
import { CellEditType, NotebookCellsChangeType, NotebookSetting } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
32
32
|
import { computeDiff } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/common/notebookDiff';
|
|
33
33
|
import { INotebookEditorModelResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service';
|
|
@@ -177,7 +177,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
177
177
|
try {
|
|
178
178
|
this._isProcessingResponse.set(true, undefined);
|
|
179
179
|
const notebookDiff = await this.notebookEditorWorkerService.computeDiff(this.originalURI, this.modifiedURI);
|
|
180
|
-
if (id !== this.computeRequestId) {
|
|
180
|
+
if (id !== this.computeRequestId || this._store.isDisposed) {
|
|
181
181
|
return;
|
|
182
182
|
}
|
|
183
183
|
const result = computeDiff(this.originalModel, this.modifiedModel, notebookDiff);
|
|
@@ -207,7 +207,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
207
207
|
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
|
208
208
|
this.updateCellDiffInfo([], undefined);
|
|
209
209
|
this.initializeModelsFromDiff();
|
|
210
|
-
this.
|
|
210
|
+
this._notifySessionAction('rejected');
|
|
211
211
|
return;
|
|
212
212
|
}
|
|
213
213
|
if (!e.rawEvents.length) {
|
|
@@ -396,7 +396,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
396
396
|
}
|
|
397
397
|
_createUndoRedoElement(response) {
|
|
398
398
|
const request = response.session.getRequests().find(req => req.id === response.requestId);
|
|
399
|
-
const label = request?.message.text ? ( localize(
|
|
399
|
+
const label = request?.message.text ? ( localize(4956, "Chat Edit: '{0}'", request.message.text)) : ( localize(4957, "Chat Edit"));
|
|
400
400
|
const transientOptions = this.transientOptions;
|
|
401
401
|
const outputSizeLimit = this.configurationService.getValue(NotebookSetting.outputBackupSizeLimit) * 1024;
|
|
402
402
|
let initial = createSnapshot(this.modifiedModel, transientOptions, outputSizeLimit);
|
|
@@ -422,7 +422,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
422
422
|
this._stateObs.set(ModifiedFileEntryState.Rejected, undefined);
|
|
423
423
|
this.updateCellDiffInfo([], undefined);
|
|
424
424
|
this.initializeModelsFromDiff();
|
|
425
|
-
this.
|
|
425
|
+
this._notifySessionAction('userModified');
|
|
426
426
|
},
|
|
427
427
|
redo: async () => {
|
|
428
428
|
initial = createSnapshot(this.modifiedModel, transientOptions, outputSizeLimit);
|
|
@@ -437,7 +437,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
437
437
|
this._stateObs.set(redoState, undefined);
|
|
438
438
|
this.updateCellDiffInfo([], undefined);
|
|
439
439
|
this.initializeModelsFromDiff();
|
|
440
|
-
this.
|
|
440
|
+
this._notifySessionAction('userModified');
|
|
441
441
|
}
|
|
442
442
|
};
|
|
443
443
|
}
|
|
@@ -469,7 +469,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
469
469
|
})));
|
|
470
470
|
this.editedCells.clear();
|
|
471
471
|
};
|
|
472
|
-
this._applyEdits(async () => {
|
|
472
|
+
await this._applyEdits(async () => {
|
|
473
473
|
await Promise.all(( edits.map(async (edit, idx) => {
|
|
474
474
|
const last = isLastEdits && idx === edits.length - 1;
|
|
475
475
|
if (TextEdit.isTextEdit(edit)) {
|
|
@@ -571,7 +571,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
571
571
|
if (( new SnapshotComparer(currentSnapshot)).isEqual(this.originalModel)) {
|
|
572
572
|
const state = accepted ? ModifiedFileEntryState.Accepted : ModifiedFileEntryState.Rejected;
|
|
573
573
|
this._stateObs.set(state, undefined);
|
|
574
|
-
this.
|
|
574
|
+
this._notifySessionAction(accepted ? 'accepted' : 'rejected');
|
|
575
575
|
}
|
|
576
576
|
}
|
|
577
577
|
createModifiedCellDiffInfo(modifiedCellIndex, originalCellIndex) {
|
|
@@ -625,6 +625,9 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
625
625
|
return true;
|
|
626
626
|
};
|
|
627
627
|
this.resolveCellModel(cell.uri).then(modifiedModel => {
|
|
628
|
+
if (this._store.isDisposed) {
|
|
629
|
+
return;
|
|
630
|
+
}
|
|
628
631
|
this.getOrCreateModifiedTextFileEntryForCell(cell, modifiedModel, originalModel);
|
|
629
632
|
});
|
|
630
633
|
return {
|