@codingame/monaco-vscode-chat-service-override 24.2.0 → 25.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +35 -35
- package/package.json +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.d.ts → accessibility/chatAccessibilityService.d.ts} +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAccessibilityService.js → accessibility/chatAccessibilityService.js} +23 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.d.ts → accessibility/chatResponseAccessibleView.d.ts} +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatResponseAccessibleView.js → accessibility/chatResponseAccessibleView.js} +38 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.js → accessibility/chatTerminalOutputAccessibleView.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +69 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +2 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +48 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +22 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +31 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +61 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +482 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +84 -93
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +137 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +92 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +81 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +335 -102
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +47 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +80 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.d.ts → attachments/chatAttachmentResolveService.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatAttachmentResolveService.js → attachments/chatAttachmentResolveService.js} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.d.ts → attachments/chatVariables.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatVariables.js → attachments/chatVariables.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +171 -206
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +41 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +35 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.d.ts → chatSessions/chatSessions.contribution.d.ts} +7 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSessions.contribution.js → chatSessions/chatSessions.contribution.js} +53 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +64 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +90 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.d.ts → contextContrib/chatContextService.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContextService.js → contextContrib/chatContextService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.d.ts → tools/languageModelToolsConfirmationService.d.ts} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsConfirmationService.js → tools/languageModelToolsConfirmationService.js} +47 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.d.ts → tools/languageModelToolsService.d.ts} +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{languageModelToolsService.js → tools/languageModelToolsService.js} +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.d.ts → widget/chatLayoutService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.d.ts → widget/chatWidgetService.d.ts} +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatWidgetService.js → widget/chatWidgetService.js} +27 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.d.ts → widget/input/chatStatusWidget.d.ts} +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusWidget.js → widget/input/chatStatusWidget.js} +17 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.js +12 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.d.ts → widgetHosts/chatQuick.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatQuick.js → widgetHosts/chatQuick.js} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.d.ts → widgetHosts/editor/chatEditor.d.ts} +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditor.js → widgetHosts/editor/chatEditor.js} +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.d.ts → widgetHosts/viewPane/chatViewPane.d.ts} +46 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewPane.js → widgetHosts/viewPane/chatViewPane.js} +258 -154
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.d.ts → widgetHosts/viewPane/chatViewTitleControl.d.ts} +5 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatViewTitleControl.js → widgetHosts/viewPane/chatViewTitleControl.js} +97 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +176 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +89 -0
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.d.ts → chatService/chatServiceImpl.d.ts} +16 -20
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceImpl.js → chatService/chatServiceImpl.js} +97 -151
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.d.ts → chatService/chatServiceTelemetry.d.ts} +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/{chatServiceTelemetry.js → chatService/chatServiceTelemetry.js} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.d.ts → editing/chatCodeMapperService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.d.ts → model/chatModelStore.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/{chatProgressTypes → model/chatProgressTypes}/chatToolInvocation.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.d.ts → model/chatSessionStore.d.ts} +14 -7
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSessionStore.js → model/chatSessionStore.js} +164 -39
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.d.ts → model/chatTransferService.d.ts} +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTransferService.js → model/chatTransferService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.d.ts → participants/chatSlashCommands.d.ts} +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +25 -49
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +54 -54
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +83 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +11 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -10
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.d.ts → tools/chatTodoListService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatTodoListService.js → tools/chatTodoListService.js} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.d.ts → widget/chatResponseResourceFileSystemProvider.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/{chatResponseResourceFileSystemProvider.js → widget/chatResponseResourceFileSystemProvider.js} +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -23
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +47 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +33 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +6 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +17 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +22 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +100 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +19 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.d.ts → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts} +11 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/{commandLineAutoApprover.js → tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js} +83 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +156 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +64 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +16 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +55 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +85 -46
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +9 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +0 -248
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +0 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +0 -184
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +0 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +0 -229
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +0 -102
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +0 -495
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +0 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +0 -386
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +0 -299
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +0 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +0 -39
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatTerminalOutputAccessibleView.d.ts → accessibility/chatTerminalOutputAccessibleView.d.ts} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → attachments/media}/simpleBrowserOverlay.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEditing → attachments}/simpleBrowserEditorOverlay.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditingEditorOverlay.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatEditing/media}/chatEditorController.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatContentParts → widget/chatContentParts}/chatMarkdownAnchorService.js +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatLayoutService.js → widget/chatLayoutService.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.d.ts → widget/input/editor/chatEditorInputContentProvider.d.ts} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatEdinputInputContentProvider.js → widget/input/editor/chatEditorInputContentProvider.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/chatInputEditorContrib.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.d.ts +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/editorHoverWrapper.js +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{contrib → widget/input/editor}/media/editorHoverWrapper.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → widget/input/media}/chatStatusWidget.css +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatCodeMapperService.js → editing/chatCodeMapperService.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatModelStore.js → model/chatModelStore.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/common/{chatSlashCommands.js → participants/chatSlashCommands.js} +0 -0
|
@@ -13,42 +13,42 @@ import { IRemoteCodingAgentsService } from '@codingame/monaco-vscode-api/vscode/
|
|
|
13
13
|
const extensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
14
14
|
extensionPoint: 'remoteCodingAgents',
|
|
15
15
|
jsonSchema: {
|
|
16
|
-
description: ( localize(
|
|
16
|
+
description: ( localize(10409, 'Contributes remote coding agent integrations to the chat widget.')),
|
|
17
17
|
type: 'array',
|
|
18
18
|
items: {
|
|
19
19
|
type: 'object',
|
|
20
20
|
properties: {
|
|
21
21
|
id: {
|
|
22
|
-
description: ( localize(
|
|
22
|
+
description: ( localize(10410, 'A unique identifier for this item.')),
|
|
23
23
|
type: 'string',
|
|
24
24
|
},
|
|
25
25
|
command: {
|
|
26
26
|
description: ( localize(
|
|
27
|
-
|
|
27
|
+
10411,
|
|
28
28
|
'Identifier of the command to execute. The command must be declared in the "commands" section.'
|
|
29
29
|
)),
|
|
30
30
|
type: 'string'
|
|
31
31
|
},
|
|
32
32
|
displayName: {
|
|
33
33
|
description: ( localize(
|
|
34
|
-
|
|
34
|
+
10412,
|
|
35
35
|
'A user-friendly name for this item which is used for display in menus.'
|
|
36
36
|
)),
|
|
37
37
|
type: 'string'
|
|
38
38
|
},
|
|
39
39
|
description: {
|
|
40
|
-
description: ( localize(
|
|
40
|
+
description: ( localize(10413, 'Description of the remote agent for use in menus and tooltips.')),
|
|
41
41
|
type: 'string'
|
|
42
42
|
},
|
|
43
43
|
followUpRegex: {
|
|
44
44
|
description: ( localize(
|
|
45
|
-
|
|
45
|
+
10414,
|
|
46
46
|
'The last occurrence of pattern in an existing chat conversation is sent to the contributing extension to facilitate follow-up responses.'
|
|
47
47
|
)),
|
|
48
48
|
type: 'string',
|
|
49
49
|
},
|
|
50
50
|
when: {
|
|
51
|
-
description: ( localize(
|
|
51
|
+
description: ( localize(10415, 'Condition which must be true to show this item.')),
|
|
52
52
|
type: 'string'
|
|
53
53
|
},
|
|
54
54
|
},
|
package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event'
|
|
|
5
5
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
6
6
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
7
7
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
8
|
-
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
8
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
9
9
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
10
10
|
|
|
11
11
|
let RemoteCodingAgentsService = class RemoteCodingAgentsService extends Disposable {
|
|
@@ -41,68 +41,68 @@ function getAccessibilityHelpText(accessor) {
|
|
|
41
41
|
const focusResponseKeybinding = keybindingService.lookupKeybinding('chat.action.focus')?.getAriaLabel();
|
|
42
42
|
const focusInputKeybinding = keybindingService.lookupKeybinding('workbench.action.chat.focusInput')?.getAriaLabel();
|
|
43
43
|
content.push(( localize(
|
|
44
|
-
|
|
44
|
+
11976,
|
|
45
45
|
"Inline chat occurs within a terminal. It is useful for suggesting terminal commands. Keep in mind that AI generated code may be incorrect."
|
|
46
46
|
)));
|
|
47
47
|
content.push(( localize(
|
|
48
|
-
|
|
48
|
+
11977,
|
|
49
49
|
"It can be activated using the command: Terminal: Start Chat ({0}), which will focus the input box.",
|
|
50
50
|
startChatKeybinding
|
|
51
51
|
)));
|
|
52
52
|
content.push(makeRequestKeybinding ? ( localize(
|
|
53
|
-
|
|
53
|
+
11978,
|
|
54
54
|
"The input box is where the user can type a request and can make the request ({0}). The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus.",
|
|
55
55
|
makeRequestKeybinding
|
|
56
56
|
)) : ( localize(
|
|
57
|
-
|
|
57
|
+
11979,
|
|
58
58
|
"The input box is where the user can type a request and can make the request by tabbing to the Make Request button, which is not currently triggerable via keybindings. The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus."
|
|
59
59
|
)));
|
|
60
60
|
content.push(openAccessibleViewKeybinding ? ( localize(
|
|
61
|
-
|
|
61
|
+
11980,
|
|
62
62
|
'The response can be inspected in the accessible view ({0}).',
|
|
63
63
|
openAccessibleViewKeybinding
|
|
64
64
|
)) : ( localize(
|
|
65
|
-
|
|
65
|
+
11981,
|
|
66
66
|
'With the input box focused, inspect the response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding.'
|
|
67
67
|
)));
|
|
68
68
|
content.push(focusResponseKeybinding ? ( localize(
|
|
69
|
-
|
|
69
|
+
11982,
|
|
70
70
|
'Reach the response from the input box ({0}).',
|
|
71
71
|
focusResponseKeybinding
|
|
72
72
|
)) : ( localize(
|
|
73
|
-
|
|
73
|
+
11983,
|
|
74
74
|
'Reach the response from the input box by tabbing or assigning a keybinding for the command: Focus Terminal Response.'
|
|
75
75
|
)));
|
|
76
76
|
content.push(focusInputKeybinding ? ( localize(
|
|
77
|
-
|
|
77
|
+
11984,
|
|
78
78
|
'Reach the input box from the response ({0}).',
|
|
79
79
|
focusInputKeybinding
|
|
80
80
|
)) : ( localize(
|
|
81
|
-
|
|
81
|
+
11985,
|
|
82
82
|
'Reach the response from the input box by shift+tabbing or assigning a keybinding for the command: Focus Terminal Input.'
|
|
83
83
|
)));
|
|
84
84
|
content.push(runCommandKeybinding ? ( localize(
|
|
85
|
-
|
|
85
|
+
11986,
|
|
86
86
|
'With focus in the input box or command editor, the Terminal: Run Chat Command ({0}) action.',
|
|
87
87
|
runCommandKeybinding
|
|
88
88
|
)) : ( localize(
|
|
89
|
-
|
|
89
|
+
11987,
|
|
90
90
|
'Run a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
|
|
91
91
|
)));
|
|
92
92
|
content.push(insertCommandKeybinding ? ( localize(
|
|
93
|
-
|
|
93
|
+
11988,
|
|
94
94
|
'With focus in the input box command editor, the Terminal: Insert Chat Command ({0}) action.',
|
|
95
95
|
insertCommandKeybinding
|
|
96
96
|
)) : ( localize(
|
|
97
|
-
|
|
97
|
+
11989,
|
|
98
98
|
'Insert a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
|
|
99
99
|
)));
|
|
100
100
|
content.push(( localize(
|
|
101
|
-
|
|
101
|
+
11990,
|
|
102
102
|
"Use tab to reach conditional parts like commands, status, message responses and more."
|
|
103
103
|
)));
|
|
104
104
|
content.push(( localize(
|
|
105
|
-
|
|
105
|
+
11991,
|
|
106
106
|
"Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
|
|
107
107
|
)));
|
|
108
108
|
return content.join('\n');
|
|
@@ -8,9 +8,9 @@ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
8
8
|
import { KeybindingWeight, KeybindingsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
9
9
|
import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
10
10
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
11
|
-
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
12
|
-
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
13
|
-
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
|
|
11
|
+
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
12
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
13
|
+
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
14
14
|
import { ChatAgentLocation, ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
15
15
|
import { AbstractInline1ChatAction } from '../../../inlineChat/browser/inlineChatActions.js';
|
|
16
16
|
import { isDetachedTerminalInstance } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal';
|
|
@@ -33,8 +33,8 @@ import { activeChatController } from './terminalChatControllerHolder.js';
|
|
|
33
33
|
|
|
34
34
|
registerActiveXtermAction({
|
|
35
35
|
id: TerminalChatCommandId.Start,
|
|
36
|
-
title: ( localize2(
|
|
37
|
-
category: ( localize2(
|
|
36
|
+
title: ( localize2(11992, 'Open Inline Chat')),
|
|
37
|
+
category: ( localize2(11993, "Terminal")),
|
|
38
38
|
keybinding: {
|
|
39
39
|
primary: KeyMod.CtrlCmd | KeyCode.KeyI,
|
|
40
40
|
when: ( ContextKeyExpr.and(TerminalContextKeys.focusInAny)),
|
|
@@ -76,7 +76,7 @@ registerActiveXtermAction({
|
|
|
76
76
|
});
|
|
77
77
|
registerActiveXtermAction({
|
|
78
78
|
id: TerminalChatCommandId.Close,
|
|
79
|
-
title: ( localize2(
|
|
79
|
+
title: ( localize2(11994, 'Close')),
|
|
80
80
|
category: AbstractInline1ChatAction.category,
|
|
81
81
|
keybinding: {
|
|
82
82
|
primary: KeyCode.Escape,
|
|
@@ -101,8 +101,8 @@ registerActiveXtermAction({
|
|
|
101
101
|
});
|
|
102
102
|
registerActiveXtermAction({
|
|
103
103
|
id: TerminalChatCommandId.RunCommand,
|
|
104
|
-
title: ( localize2(
|
|
105
|
-
shortTitle: ( localize2(
|
|
104
|
+
title: ( localize2(11995, 'Run Chat Command')),
|
|
105
|
+
shortTitle: ( localize2(11996, 'Run')),
|
|
106
106
|
category: AbstractInline1ChatAction.category,
|
|
107
107
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
108
108
|
TerminalContextKeys.processSupported,
|
|
@@ -130,8 +130,8 @@ registerActiveXtermAction({
|
|
|
130
130
|
});
|
|
131
131
|
registerActiveXtermAction({
|
|
132
132
|
id: TerminalChatCommandId.RunFirstCommand,
|
|
133
|
-
title: ( localize2(
|
|
134
|
-
shortTitle: ( localize2(
|
|
133
|
+
title: ( localize2(11997, 'Run First Chat Command')),
|
|
134
|
+
shortTitle: ( localize2(11998, 'Run First')),
|
|
135
135
|
category: AbstractInline1ChatAction.category,
|
|
136
136
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
137
137
|
TerminalContextKeys.processSupported,
|
|
@@ -159,8 +159,8 @@ registerActiveXtermAction({
|
|
|
159
159
|
});
|
|
160
160
|
registerActiveXtermAction({
|
|
161
161
|
id: TerminalChatCommandId.InsertCommand,
|
|
162
|
-
title: ( localize2(
|
|
163
|
-
shortTitle: ( localize2(
|
|
162
|
+
title: ( localize2(11999, 'Insert Chat Command')),
|
|
163
|
+
shortTitle: ( localize2(12000, 'Insert')),
|
|
164
164
|
category: AbstractInline1ChatAction.category,
|
|
165
165
|
icon: Codicon.insert,
|
|
166
166
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
@@ -189,8 +189,8 @@ registerActiveXtermAction({
|
|
|
189
189
|
});
|
|
190
190
|
registerActiveXtermAction({
|
|
191
191
|
id: TerminalChatCommandId.InsertFirstCommand,
|
|
192
|
-
title: ( localize2(
|
|
193
|
-
shortTitle: ( localize2(
|
|
192
|
+
title: ( localize2(12001, 'Insert First Chat Command')),
|
|
193
|
+
shortTitle: ( localize2(12002, 'Insert First')),
|
|
194
194
|
category: AbstractInline1ChatAction.category,
|
|
195
195
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
196
196
|
TerminalContextKeys.processSupported,
|
|
@@ -218,7 +218,7 @@ registerActiveXtermAction({
|
|
|
218
218
|
});
|
|
219
219
|
registerActiveXtermAction({
|
|
220
220
|
id: TerminalChatCommandId.RerunRequest,
|
|
221
|
-
title: ( localize2(
|
|
221
|
+
title: ( localize2(12003, "Rerun Request")),
|
|
222
222
|
f1: false,
|
|
223
223
|
icon: Codicon.refresh,
|
|
224
224
|
category: AbstractInline1ChatAction.category,
|
|
@@ -259,7 +259,7 @@ registerActiveXtermAction({
|
|
|
259
259
|
});
|
|
260
260
|
registerActiveXtermAction({
|
|
261
261
|
id: TerminalChatCommandId.ViewInChat,
|
|
262
|
-
title: ( localize2(
|
|
262
|
+
title: ( localize2(12004, 'View in Chat')),
|
|
263
263
|
category: AbstractInline1ChatAction.category,
|
|
264
264
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
265
265
|
TerminalContextKeys.processSupported,
|
|
@@ -285,8 +285,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
285
285
|
constructor() {
|
|
286
286
|
super({
|
|
287
287
|
id: TerminalChatCommandId.ViewHiddenChatTerminals,
|
|
288
|
-
title: ( localize2(
|
|
289
|
-
category: ( localize2(
|
|
288
|
+
title: ( localize2(12005, 'View Hidden Chat Terminals')),
|
|
289
|
+
category: ( localize2(12006, 'Terminal')),
|
|
290
290
|
f1: true,
|
|
291
291
|
precondition: ( ContextKeyExpr.and(TerminalChatContextKeys.hasHiddenChatTerminals, ChatContextKeys.enabled)),
|
|
292
292
|
menu: [{
|
|
@@ -318,7 +318,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
const items = [];
|
|
321
|
-
const lastCommandLocalized = (command) => ( localize2(
|
|
321
|
+
const lastCommandLocalized = (command) => ( localize2(12007, 'Last: {0}', command)).value;
|
|
322
|
+
const MAX_DETAIL_LENGTH = 80;
|
|
322
323
|
const metas = [];
|
|
323
324
|
for (const instance of ( all.values())) {
|
|
324
325
|
const iconId = instantiationService.invokeFunction(getIconId, instance);
|
|
@@ -327,17 +328,32 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
327
328
|
const chatSessionId = terminalChatService.getChatSessionIdForInstance(instance);
|
|
328
329
|
let chatSessionTitle;
|
|
329
330
|
if (chatSessionId) {
|
|
330
|
-
|
|
331
|
-
chatSessionTitle = chatService.getSession(sessionUri)?.title || chatService.getPersistedSessionTitle(sessionUri);
|
|
331
|
+
chatSessionTitle = chatService.getSessionTitle(LocalChatSessionUri.forSession(chatSessionId));
|
|
332
332
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
333
|
+
const description = chatSessionTitle;
|
|
334
|
+
let detail;
|
|
335
|
+
let tooltip;
|
|
336
|
+
if (lastCommand) {
|
|
337
|
+
const commandLines = lastCommand.split('\n');
|
|
338
|
+
const firstLine = commandLines[0];
|
|
339
|
+
const displayCommand = firstLine.length > MAX_DETAIL_LENGTH ? firstLine.substring(0, MAX_DETAIL_LENGTH) + '…' : firstLine;
|
|
340
|
+
detail = lastCommandLocalized(displayCommand);
|
|
341
|
+
const wasTruncated = firstLine.length > MAX_DETAIL_LENGTH;
|
|
342
|
+
const hasMultipleLines = commandLines.length > 1;
|
|
343
|
+
if (wasTruncated || hasMultipleLines) {
|
|
344
|
+
if (hasMultipleLines) {
|
|
345
|
+
tooltip = { value: `\`\`\`\n${lastCommand}\n\`\`\``, supportThemeIcons: true };
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
tooltip = lastCommandLocalized(lastCommand);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
336
351
|
}
|
|
337
352
|
metas.push({
|
|
338
353
|
label,
|
|
339
354
|
description,
|
|
340
|
-
detail
|
|
355
|
+
detail,
|
|
356
|
+
tooltip,
|
|
341
357
|
id: String(instance.instanceId),
|
|
342
358
|
});
|
|
343
359
|
}
|
|
@@ -346,14 +362,15 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
346
362
|
label: m.label,
|
|
347
363
|
description: m.description,
|
|
348
364
|
detail: m.detail,
|
|
365
|
+
tooltip: m.tooltip,
|
|
349
366
|
id: m.id
|
|
350
367
|
});
|
|
351
368
|
}
|
|
352
369
|
const qp = quickInputService.createQuickPick();
|
|
353
|
-
qp.placeholder = ( localize2(
|
|
370
|
+
qp.placeholder = ( localize2(12008, 'Select a chat terminal to show and focus')).value;
|
|
354
371
|
qp.items = items;
|
|
355
372
|
qp.canSelectMany = false;
|
|
356
|
-
qp.title = ( localize2(
|
|
373
|
+
qp.title = ( localize2(12009, 'Chat Terminals')).value;
|
|
357
374
|
qp.matchOnDescription = true;
|
|
358
375
|
qp.matchOnDetail = true;
|
|
359
376
|
const qpDisposables = ( new DisposableStore());
|
|
@@ -366,7 +383,7 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
366
383
|
terminalService.setActiveInstance(instance);
|
|
367
384
|
await terminalService.revealTerminal(instance);
|
|
368
385
|
qp.hide();
|
|
369
|
-
terminalService.focusInstance(instance);
|
|
386
|
+
await terminalService.focusInstance(instance);
|
|
370
387
|
}
|
|
371
388
|
else {
|
|
372
389
|
qp.hide();
|
|
@@ -414,14 +431,14 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
|
414
431
|
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
415
432
|
command: {
|
|
416
433
|
id: TerminalChatCommandId.FocusMostRecentChatTerminal,
|
|
417
|
-
title: ( localize(
|
|
434
|
+
title: ( localize(12010, 'Chat: Focus Most Recent Terminal')),
|
|
418
435
|
},
|
|
419
436
|
when: ChatContextKeys.inChatSession
|
|
420
437
|
});
|
|
421
438
|
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
422
439
|
command: {
|
|
423
440
|
id: TerminalChatCommandId.FocusMostRecentChatTerminalOutput,
|
|
424
|
-
title: ( localize(
|
|
441
|
+
title: ( localize(12011, 'Chat: Focus Most Recent Terminal Output')),
|
|
425
442
|
},
|
|
426
443
|
when: ChatContextKeys.inChatSession
|
|
427
444
|
});
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
5
5
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
6
6
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
7
|
import { IChatCodeBlockContextProviderService, IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
8
|
-
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
8
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
9
9
|
import { isDetachedTerminalInstance } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal';
|
|
10
10
|
import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
11
11
|
import { TerminalChatWidget } from './terminalChatWidget.js';
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
2
|
-
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
|
|
2
|
+
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
|
|
3
3
|
export declare class TerminalChatEnabler {
|
|
4
4
|
static Id: string;
|
|
5
5
|
private readonly _ctxHasProvider;
|
|
@@ -3,7 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
|
|
|
3
3
|
import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
4
4
|
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
5
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
6
|
-
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
6
|
+
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
7
7
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
8
8
|
import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
9
9
|
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { ITerminalChatService } from "@codingame/monaco-vscode-api/vscode/vs/wor
|
|
|
6
6
|
import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
|
|
7
7
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
8
8
|
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
9
|
-
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
9
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
10
10
|
/**
|
|
11
11
|
* Used to manage chat tool invocations and the underlying terminal instances they create/use.
|
|
12
12
|
*/
|
|
@@ -40,6 +40,12 @@ export declare class TerminalChatService extends Disposable implements ITerminal
|
|
|
40
40
|
* approval that lasts only for the duration of the session.
|
|
41
41
|
*/
|
|
42
42
|
private readonly _sessionAutoApprovalEnabled;
|
|
43
|
+
/**
|
|
44
|
+
* Tracks session-scoped auto-approve rules per chat session. These are temporary rules that
|
|
45
|
+
* last only for the duration of the chat session (not persisted to disk).
|
|
46
|
+
* Map<chatSessionId, Record<ruleKey, ruleValue>>
|
|
47
|
+
*/
|
|
48
|
+
private readonly _sessionAutoApproveRules;
|
|
43
49
|
constructor(_logService: ILogService, _terminalService: ITerminalService, _storageService: IStorageService, _contextKeyService: IContextKeyService, _chatService: IChatService);
|
|
44
50
|
registerTerminalInstanceWithToolSession(terminalToolSessionId: string | undefined, instance: ITerminalInstance): void;
|
|
45
51
|
getTerminalInstanceByToolSessionId(terminalToolSessionId: string | undefined): Promise<ITerminalInstance | undefined>;
|
|
@@ -61,4 +67,12 @@ export declare class TerminalChatService extends Disposable implements ITerminal
|
|
|
61
67
|
private _updateHasToolTerminalContextKeys;
|
|
62
68
|
setChatSessionAutoApproval(chatSessionId: string, enabled: boolean): void;
|
|
63
69
|
hasChatSessionAutoApproval(chatSessionId: string): boolean;
|
|
70
|
+
addSessionAutoApproveRule(chatSessionId: string, key: string, value: boolean | {
|
|
71
|
+
approve: boolean;
|
|
72
|
+
matchCommandLine?: boolean;
|
|
73
|
+
}): void;
|
|
74
|
+
getSessionAutoApproveRules(chatSessionId: string): Readonly<Record<string, boolean | {
|
|
75
|
+
approve: boolean;
|
|
76
|
+
matchCommandLine?: boolean;
|
|
77
|
+
}>>;
|
|
64
78
|
}
|
|
@@ -7,9 +7,9 @@ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workben
|
|
|
7
7
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
8
8
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
9
9
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
10
|
-
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
10
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
11
11
|
import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
12
|
-
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
|
|
12
|
+
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
13
13
|
import { isNumber, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
14
14
|
|
|
15
15
|
var StorageKeys;
|
|
@@ -35,9 +35,18 @@ let TerminalChatService = class TerminalChatService extends Disposable {
|
|
|
35
35
|
this._activeProgressParts = ( new Set());
|
|
36
36
|
this._pendingRestoredMappings = ( new Map());
|
|
37
37
|
this._sessionAutoApprovalEnabled = ( new Set());
|
|
38
|
+
this._sessionAutoApproveRules = ( new Map());
|
|
38
39
|
this._hasToolTerminalContext = TerminalChatContextKeys.hasChatTerminals.bindTo(this._contextKeyService);
|
|
39
40
|
this._hasHiddenToolTerminalContext = TerminalChatContextKeys.hasHiddenChatTerminals.bindTo(this._contextKeyService);
|
|
40
41
|
this._restoreFromStorage();
|
|
42
|
+
this._register(this._chatService.onDidDisposeSession(e => {
|
|
43
|
+
for (const resource of e.sessionResource) {
|
|
44
|
+
const sessionId = LocalChatSessionUri.parseLocalSessionId(resource);
|
|
45
|
+
if (sessionId) {
|
|
46
|
+
this._sessionAutoApproveRules.delete(sessionId);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
41
50
|
}
|
|
42
51
|
registerTerminalInstanceWithToolSession(terminalToolSessionId, instance) {
|
|
43
52
|
if (!terminalToolSessionId) {
|
|
@@ -55,16 +64,18 @@ let TerminalChatService = class TerminalChatService extends Disposable {
|
|
|
55
64
|
this._updateHasToolTerminalContextKeys();
|
|
56
65
|
}));
|
|
57
66
|
this._register(this._chatService.onDidDisposeSession(e => {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
for (const resource of e.sessionResource) {
|
|
68
|
+
if (LocalChatSessionUri.parseLocalSessionId(resource) === terminalToolSessionId) {
|
|
69
|
+
this._terminalInstancesByToolSessionId.delete(terminalToolSessionId);
|
|
70
|
+
this._toolSessionIdByTerminalInstance.delete(instance);
|
|
71
|
+
this._terminalInstanceListenersByToolSessionId.deleteAndDispose(terminalToolSessionId);
|
|
72
|
+
const sessionId = LocalChatSessionUri.parseLocalSessionId(resource);
|
|
73
|
+
if (sessionId) {
|
|
74
|
+
this._sessionAutoApprovalEnabled.delete(sessionId);
|
|
75
|
+
}
|
|
76
|
+
this._persistToStorage();
|
|
77
|
+
this._updateHasToolTerminalContextKeys();
|
|
65
78
|
}
|
|
66
|
-
this._persistToStorage();
|
|
67
|
-
this._updateHasToolTerminalContextKeys();
|
|
68
79
|
}
|
|
69
80
|
}));
|
|
70
81
|
this._register(this._terminalService.onDidChangeInstances(() => this._updateHasToolTerminalContextKeys()));
|
|
@@ -252,6 +263,17 @@ let TerminalChatService = class TerminalChatService extends Disposable {
|
|
|
252
263
|
hasChatSessionAutoApproval(chatSessionId) {
|
|
253
264
|
return ( this._sessionAutoApprovalEnabled.has(chatSessionId));
|
|
254
265
|
}
|
|
266
|
+
addSessionAutoApproveRule(chatSessionId, key, value) {
|
|
267
|
+
let sessionRules = this._sessionAutoApproveRules.get(chatSessionId);
|
|
268
|
+
if (!sessionRules) {
|
|
269
|
+
sessionRules = {};
|
|
270
|
+
this._sessionAutoApproveRules.set(chatSessionId, sessionRules);
|
|
271
|
+
}
|
|
272
|
+
sessionRules[key] = value;
|
|
273
|
+
}
|
|
274
|
+
getSessionAutoApproveRules(chatSessionId) {
|
|
275
|
+
return this._sessionAutoApproveRules.get(chatSessionId) ?? {};
|
|
276
|
+
}
|
|
255
277
|
};
|
|
256
278
|
TerminalChatService = ( __decorate([
|
|
257
279
|
( __param(0, ILogService)),
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts
CHANGED
|
@@ -8,9 +8,9 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
8
8
|
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
9
9
|
import { IChatAcceptInputOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
10
10
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
11
|
-
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
|
|
12
|
-
import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
13
|
-
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
11
|
+
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
|
|
12
|
+
import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
|
|
13
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
14
14
|
import { InlineChatWidget } from "@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatWidget";
|
|
15
15
|
import { ITerminalInstance, type IXtermTerminal } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
16
16
|
export declare class TerminalChatWidget extends Disposable {
|
|
@@ -38,6 +38,7 @@ export declare class TerminalChatWidget extends Disposable {
|
|
|
38
38
|
get lastResponseContent(): string | undefined;
|
|
39
39
|
private _terminalAgentName;
|
|
40
40
|
private readonly _model;
|
|
41
|
+
private readonly _sessionDisposables;
|
|
41
42
|
private _sessionCtor;
|
|
42
43
|
private _currentRequestId;
|
|
43
44
|
private _activeRequestCts?;
|
|
@@ -15,10 +15,10 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
15
15
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
16
16
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
17
17
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
18
|
-
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
19
|
-
import { isCellTextEditOperationArray } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
18
|
+
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
19
|
+
import { isCellTextEditOperationArray } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
|
|
20
20
|
import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
|
|
21
|
-
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
21
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
22
22
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
23
23
|
import { InlineChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatWidget';
|
|
24
24
|
import { MENU_INLINE_CHAT_WIDGET_SECONDARY } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
@@ -68,6 +68,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
|
|
|
68
68
|
this._viewStateStorageKey = 'terminal-inline-chat-view-state';
|
|
69
69
|
this._terminalAgentName = 'terminal';
|
|
70
70
|
this._model = this._register(( new MutableDisposable()));
|
|
71
|
+
this._sessionDisposables = this._register(( new MutableDisposable()));
|
|
71
72
|
this._requestInProgress = observableValue(this, false);
|
|
72
73
|
this.requestInProgress = this._requestInProgress;
|
|
73
74
|
this._focusedContextKey = TerminalChatContextKeys.focused.bindTo(contextKeyService);
|
|
@@ -164,7 +165,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
|
|
|
164
165
|
}
|
|
165
166
|
_resetPlaceholder() {
|
|
166
167
|
const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Terminal);
|
|
167
|
-
this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(
|
|
168
|
+
this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(12012, 'Ask about commands'));
|
|
168
169
|
}
|
|
169
170
|
async reveal() {
|
|
170
171
|
await this._createSession();
|
|
@@ -262,7 +263,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
|
|
|
262
263
|
this._resetPlaceholder();
|
|
263
264
|
}
|
|
264
265
|
});
|
|
265
|
-
this.
|
|
266
|
+
this._sessionDisposables.value = toDisposable(() => this._sessionCtor?.cancel());
|
|
266
267
|
}
|
|
267
268
|
_saveViewState() {
|
|
268
269
|
const viewState = this._inlineChatWidget.chatWidget.getViewState();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service";
|
|
1
|
+
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
2
2
|
export declare function getRecommendedToolsOverRunInTerminal(commandLine: string, languageModelToolsService: ILanguageModelToolsService): string | undefined;
|
|
@@ -6,7 +6,7 @@ import { MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api
|
|
|
6
6
|
import { isNumber } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
7
7
|
import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
|
|
8
8
|
import { trackIdleOnPrompt, waitForIdle } from './executeStrategy.js';
|
|
9
|
-
import { setupRecreatingStartMarker } from './strategyHelpers.js';
|
|
9
|
+
import { createAltBufferPromise, setupRecreatingStartMarker } from './strategyHelpers.js';
|
|
10
10
|
|
|
11
11
|
let BasicExecuteStrategy = class BasicExecuteStrategy {
|
|
12
12
|
constructor(_instance, _hasReceivedUserInput, _commandDetection, _logService) {
|
|
@@ -50,6 +50,7 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
|
|
|
50
50
|
if (!xterm) {
|
|
51
51
|
throw ( new Error('Xterm is not available'));
|
|
52
52
|
}
|
|
53
|
+
const alternateBufferPromise = createAltBufferPromise(xterm, store, this._log.bind(this));
|
|
53
54
|
this._log('Waiting for idle');
|
|
54
55
|
await waitForIdle(this._instance.onData, 1000);
|
|
55
56
|
setupRecreatingStartMarker(xterm, this._startMarker, m => this._onDidCreateStartMarker.fire(m), store, this._log.bind(this));
|
|
@@ -64,10 +65,19 @@ let BasicExecuteStrategy = class BasicExecuteStrategy {
|
|
|
64
65
|
this._log(`Executing command line \`${commandLine}\``);
|
|
65
66
|
this._instance.sendText(commandLine, true);
|
|
66
67
|
this._log('Waiting for done event');
|
|
67
|
-
const onDoneResult = await onDone;
|
|
68
|
+
const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({ type: 'alternateBuffer' }))]);
|
|
68
69
|
if (onDoneResult && onDoneResult.type === 'disposal') {
|
|
69
70
|
throw ( new Error('The terminal was closed'));
|
|
70
71
|
}
|
|
72
|
+
if (onDoneResult && onDoneResult.type === 'alternateBuffer') {
|
|
73
|
+
this._log('Detected alternate buffer entry, skipping output capture');
|
|
74
|
+
return {
|
|
75
|
+
output: undefined,
|
|
76
|
+
exitCode: undefined,
|
|
77
|
+
error: 'alternateBuffer',
|
|
78
|
+
didEnterAltBuffer: true
|
|
79
|
+
};
|
|
80
|
+
}
|
|
71
81
|
const finishedCommand = onDoneResult && onDoneResult.type === 'success' ? onDoneResult.command : undefined;
|
|
72
82
|
if (finishedCommand) {
|
|
73
83
|
this._log(`Finished command id=${finishedCommand.id ?? 'none'} for requested=${commandId ?? 'none'}`);
|
|
@@ -20,6 +20,7 @@ export interface ITerminalExecuteStrategyResult {
|
|
|
20
20
|
additionalInformation?: string;
|
|
21
21
|
exitCode?: number;
|
|
22
22
|
error?: string;
|
|
23
|
+
didEnterAltBuffer?: boolean;
|
|
23
24
|
}
|
|
24
25
|
export declare function waitForIdle(onData: Event<unknown>, idleDurationMs: number): Promise<void>;
|
|
25
26
|
export interface IPromptDetectionResult {
|