@codingame/monaco-vscode-chat-service-override 23.3.0 → 24.1.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 +13 -10
- package/package.json +5 -41
- package/vscode/src/vs/platform/domWidget/browser/domWidget.d.ts +52 -0
- package/vscode/src/vs/platform/domWidget/browser/domWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +61 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +152 -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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +37 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +9 -9
- 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.d.ts +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +7 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +21 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
- 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/chatSessionActions.d.ts +6 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +44 -208
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +17 -17
- 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 +23 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +358 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +222 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +241 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +11 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +67 -230
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +65 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +186 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +2 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +115 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +389 -166
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.js +63 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +173 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +66 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +32 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +8 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +15 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +13 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +66 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +6 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +4 -4
- 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 +15 -4
- 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 +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +30 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +13 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +23 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +20 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +47 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +270 -143
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +310 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +42 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +35 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +1 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +22 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +18 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +80 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +2 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +48 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +16 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +257 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSetup.d.ts → chatSetup/chatSetupContributions.d.ts} +4 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +622 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +359 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +89 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +667 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +260 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/chatSetup.css +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatus.js → chatStatus/chatStatusDashboard.js} +193 -325
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatus.d.ts → chatStatus/chatStatusEntry.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +190 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusItemService.d.ts → chatStatus/chatStatusItemService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatStatus/media}/chatStatus.css +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusWidget.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusWidget.js +108 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalOutputAccessibleView.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalOutputAccessibleView.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +57 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +478 -146
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewTitleControl.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewTitleControl.js +204 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidgetService.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidgetService.js +187 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +108 -62
- 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/languageModelToolsConfirmationService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +37 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +37 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +232 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatusWidget.css +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +142 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +51 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +19 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModelStore.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModelStore.js +100 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +41 -15
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +208 -162
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +15 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +61 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +60 -43
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +27 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +37 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +120 -87
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -42
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +293 -187
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +43 -9
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +48 -29
- 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 +8 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +36 -41
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +2 -2
- 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/terminal.chat.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +18 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +142 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +3 -7
- 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 +19 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +78 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +7 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +26 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +23 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +26 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +32 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +15 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +38 -19
- 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 +32 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +5 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +128 -62
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +68 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +20 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +13 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +20 -19
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +72 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.d.ts +0 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.js +0 -154
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +0 -135
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +0 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +0 -216
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +0 -1617
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +0 -44
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +0 -313
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/apple-dark.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/apple-light.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/github.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/google.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusItemService.js → chatStatus/chatStatusItemService.js} +0 -0
|
@@ -6,15 +6,17 @@ import { RunOnceScheduler, timeout } from '@codingame/monaco-vscode-api/vscode/v
|
|
|
6
6
|
import { encodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
7
7
|
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
8
8
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
9
|
+
import { itemsEquals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/equals';
|
|
9
10
|
import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
|
|
10
11
|
import { CancellationError, isCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
11
12
|
import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
12
|
-
import { MarkdownString,
|
|
13
|
+
import { MarkdownString, createMarkdownCommandLink } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
13
14
|
import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
|
|
14
15
|
import { Disposable, DisposableStore, toDisposable, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
15
16
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
16
17
|
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
17
18
|
import { StopWatch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stopwatch';
|
|
19
|
+
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
18
20
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
19
21
|
import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service';
|
|
20
22
|
import { AccessibilitySignal } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService';
|
|
@@ -25,6 +27,7 @@ import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
25
27
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
26
28
|
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
|
|
27
29
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
30
|
+
import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
|
|
28
31
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
29
32
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
30
33
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
@@ -37,11 +40,13 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
|
|
|
37
40
|
import { toToolSetVariableEntry, toToolVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
|
|
38
41
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
39
42
|
import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsConfirmationService.service';
|
|
40
|
-
import { VSCodeToolReference,
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
+
import { ToolDataSource, VSCodeToolReference, SpecedToolAliases, ToolSet, createToolSchemaUri, stringifyPromptTsxPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
44
|
+
import { getToolConfirmationAlert } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/chatAccessibilityProvider';
|
|
45
|
+
import { observableFromEventOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
43
46
|
import { ObservableSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/set';
|
|
47
|
+
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
44
48
|
|
|
49
|
+
var LanguageModelToolsService_1;
|
|
45
50
|
const jsonSchemaRegistry = ( Registry.as(Extensions.JSONContribution));
|
|
46
51
|
var AutoApproveStorageKeys;
|
|
47
52
|
(function (AutoApproveStorageKeys) {
|
|
@@ -49,10 +54,11 @@ var AutoApproveStorageKeys;
|
|
|
49
54
|
})(AutoApproveStorageKeys || (AutoApproveStorageKeys = {}));
|
|
50
55
|
const SkipAutoApproveConfirmationKey = 'vscode.chat.tools.global.autoApprove.testMode';
|
|
51
56
|
const globalAutoApproveDescription = ( localize2(
|
|
52
|
-
|
|
57
|
+
5729,
|
|
53
58
|
'Global auto approve also known as "YOLO mode" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine.**'
|
|
54
59
|
));
|
|
55
60
|
let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
|
|
61
|
+
static { LanguageModelToolsService_1 = this; }
|
|
56
62
|
constructor(_instantiationService, _extensionService, _contextKeyService, _chatService, _dialogService, _telemetryService, _logService, _configurationService, _accessibilityService, _accessibilitySignalService, _storageService, _confirmationService) {
|
|
57
63
|
super();
|
|
58
64
|
this._instantiationService = _instantiationService;
|
|
@@ -75,22 +81,39 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
75
81
|
this._tools = ( new Map());
|
|
76
82
|
this._toolContextKeys = ( new Set());
|
|
77
83
|
this._callsByRequestId = ( new Map());
|
|
78
|
-
this.
|
|
79
|
-
[GithubCopilotToolReference.shell]: VSCodeToolReference.runCommands,
|
|
80
|
-
[GithubCopilotToolReference.customAgent]: VSCodeToolReference.runSubagent,
|
|
81
|
-
'github/*': 'github/github-mcp-server/*',
|
|
82
|
-
'playwright/*': 'microsoft/playwright-mcp/*',
|
|
83
|
-
};
|
|
84
|
-
this._githubPrefixToVSCodePrefix = [['github', 'github/github-mcp-server'], ['playwright', 'microsoft/playwright-mcp']];
|
|
84
|
+
this.toolsObservable = observableFromEventOpts({ equalsFn: itemsEquals() }, this.onDidChangeTools, () => Array.from(this.getTools()));
|
|
85
85
|
this._toolSets = ( new ObservableSet());
|
|
86
|
-
this.toolSets = this
|
|
86
|
+
this.toolSets = derived(this, reader => {
|
|
87
|
+
const allToolSets = Array.from(this._toolSets.observable.read(reader));
|
|
88
|
+
return allToolSets.filter(toolSet => this.isPermitted(toolSet, reader));
|
|
89
|
+
});
|
|
90
|
+
this.toolsWithFullReferenceName = derived(reader => {
|
|
91
|
+
const result = [];
|
|
92
|
+
const coveredByToolSets = ( new Set());
|
|
93
|
+
for (const toolSet of this.toolSets.read(reader)) {
|
|
94
|
+
if (toolSet.source.type !== 'user') {
|
|
95
|
+
result.push([toolSet, getToolSetFullReferenceName(toolSet)]);
|
|
96
|
+
for (const tool of toolSet.getTools()) {
|
|
97
|
+
result.push([tool, getToolFullReferenceName(tool, toolSet)]);
|
|
98
|
+
coveredByToolSets.add(tool);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
for (const tool of this.toolsObservable.read(reader)) {
|
|
103
|
+
if (tool.canBeReferencedInPrompt && !( coveredByToolSets.has(tool)) && this.isPermitted(tool, reader)) {
|
|
104
|
+
result.push([tool, getToolFullReferenceName(tool)]);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return result;
|
|
108
|
+
});
|
|
109
|
+
this._isAgentModeEnabled = observableConfigValue(ChatConfiguration.AgentEnabled, true, this._configurationService);
|
|
87
110
|
this._register(this._contextKeyService.onDidChangeContext(e => {
|
|
88
111
|
if (e.affectsSome(this._toolContextKeys)) {
|
|
89
112
|
this._onDidChangeToolsScheduler.schedule();
|
|
90
113
|
}
|
|
91
114
|
}));
|
|
92
115
|
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
93
|
-
if (e.affectsConfiguration(ChatConfiguration.ExtensionToolsEnabled)) {
|
|
116
|
+
if (e.affectsConfiguration(ChatConfiguration.ExtensionToolsEnabled) || e.affectsConfiguration(ChatConfiguration.AgentEnabled)) {
|
|
94
117
|
this._onDidChangeToolsScheduler.schedule();
|
|
95
118
|
}
|
|
96
119
|
}));
|
|
@@ -102,6 +125,32 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
102
125
|
}
|
|
103
126
|
}));
|
|
104
127
|
this._ctxToolsCount = ChatContextKeys.Tools.toolsCount.bindTo(_contextKeyService);
|
|
128
|
+
this.vscodeToolSet = this._register(this.createToolSet(ToolDataSource.Internal, 'vscode', VSCodeToolReference.vscode, {
|
|
129
|
+
icon: ThemeIcon.fromId(Codicon.vscode.id),
|
|
130
|
+
description: ( localize(5730, 'Use VS Code features')),
|
|
131
|
+
}));
|
|
132
|
+
this.executeToolSet = this._register(this.createToolSet(ToolDataSource.Internal, 'execute', SpecedToolAliases.execute, {
|
|
133
|
+
icon: ThemeIcon.fromId(Codicon.terminal.id),
|
|
134
|
+
description: ( localize(5731, 'Execute code and applications on your machine')),
|
|
135
|
+
}));
|
|
136
|
+
this.readToolSet = this._register(this.createToolSet(ToolDataSource.Internal, 'read', SpecedToolAliases.read, {
|
|
137
|
+
icon: ThemeIcon.fromId(Codicon.eye.id),
|
|
138
|
+
description: ( localize(5732, 'Read files in your workspace')),
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
isPermitted(toolOrToolSet, reader) {
|
|
142
|
+
const agentModeEnabled = this._isAgentModeEnabled.read(reader);
|
|
143
|
+
if (agentModeEnabled !== false) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
const permittedInternalToolSetIds = [SpecedToolAliases.read, SpecedToolAliases.search, SpecedToolAliases.web];
|
|
147
|
+
if (toolOrToolSet instanceof ToolSet) {
|
|
148
|
+
const permitted = toolOrToolSet.source.type === 'internal' && permittedInternalToolSetIds.includes(toolOrToolSet.referenceName);
|
|
149
|
+
this._logService.trace(`LanguageModelToolsService#isPermitted: ToolSet ${toolOrToolSet.id} (${toolOrToolSet.referenceName}) permitted=${permitted}`);
|
|
150
|
+
return permitted;
|
|
151
|
+
}
|
|
152
|
+
this._logService.trace(`LanguageModelToolsService#isPermitted: Tool ${toolOrToolSet.id} (${toolOrToolSet.toolReferenceName}) permitted=false`);
|
|
153
|
+
return false;
|
|
105
154
|
}
|
|
106
155
|
dispose() {
|
|
107
156
|
super.dispose();
|
|
@@ -162,7 +211,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
162
211
|
return Iterable.filter(toolDatas, toolData => {
|
|
163
212
|
const satisfiesWhenClause = includeDisabled || !toolData.when || this._contextKeyService.contextMatchesRules(toolData.when);
|
|
164
213
|
const satisfiesExternalToolCheck = toolData.source.type !== 'extension' || !!extensionToolsEnabled;
|
|
165
|
-
|
|
214
|
+
const satisfiesPermittedCheck = includeDisabled || this.isPermitted(toolData);
|
|
215
|
+
return satisfiesWhenClause && satisfiesExternalToolCheck && satisfiesPermittedCheck;
|
|
166
216
|
});
|
|
167
217
|
}
|
|
168
218
|
getTool(id) {
|
|
@@ -208,14 +258,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
208
258
|
try {
|
|
209
259
|
if (dto.context) {
|
|
210
260
|
store = ( new DisposableStore());
|
|
211
|
-
const model = this._chatService.
|
|
261
|
+
const model = this._chatService.getSession(dto.context.sessionResource);
|
|
212
262
|
if (!model) {
|
|
213
263
|
throw ( new Error(`Tool called for unknown chat session`));
|
|
214
264
|
}
|
|
215
265
|
const request = model.getRequests().at(-1);
|
|
216
266
|
requestId = request.id;
|
|
217
267
|
dto.modelId = request.modelId;
|
|
218
|
-
dto.userSelectedTools = request.userSelectedTools;
|
|
268
|
+
dto.userSelectedTools = request.userSelectedTools && { ...request.userSelectedTools };
|
|
219
269
|
if (!( this._callsByRequestId.has(requestId))) {
|
|
220
270
|
this._callsByRequestId.set(requestId, []);
|
|
221
271
|
}
|
|
@@ -248,7 +298,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
248
298
|
if (autoConfirmed) {
|
|
249
299
|
IChatToolInvocation.confirmWith(toolInvocation, autoConfirmed);
|
|
250
300
|
}
|
|
251
|
-
|
|
301
|
+
this._chatService.appendProgress(request, toolInvocation);
|
|
252
302
|
dto.toolSpecificData = toolInvocation?.toolSpecificData;
|
|
253
303
|
if (preparedInvocation?.confirmationMessages?.title) {
|
|
254
304
|
if (!IChatToolInvocation.executionConfirmedOrDenied(toolInvocation) && !autoConfirmed) {
|
|
@@ -377,26 +427,26 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
377
427
|
if (!prepared) {
|
|
378
428
|
prepared = {};
|
|
379
429
|
}
|
|
380
|
-
const
|
|
430
|
+
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
381
431
|
prepared.confirmationMessages = {
|
|
382
432
|
...prepared.confirmationMessages,
|
|
383
|
-
title: ( localize(
|
|
384
|
-
message: ( localize(
|
|
433
|
+
title: ( localize(5733, 'Allow tool to execute?')),
|
|
434
|
+
message: ( localize(5734, 'Run the \'{0}\' tool?', fullReferenceName)),
|
|
385
435
|
disclaimer: ( new MarkdownString(( localize(
|
|
386
|
-
|
|
436
|
+
5735,
|
|
387
437
|
'Auto approval for \'{0}\' is restricted via {1}.',
|
|
388
|
-
|
|
389
|
-
|
|
438
|
+
getToolFullReferenceName(tool.data),
|
|
439
|
+
createMarkdownCommandLink({ title: '`' + ChatConfiguration.EligibleForAutoApproval + '`', id: 'workbench.action.openSettings', arguments: [ChatConfiguration.EligibleForAutoApproval] }, false)
|
|
390
440
|
)), { isTrusted: true })),
|
|
391
441
|
allowAutoConfirm: false,
|
|
392
442
|
};
|
|
393
443
|
}
|
|
394
444
|
if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
|
|
395
445
|
prepared.confirmationMessages.disclaimer = ( new MarkdownString(( localize(
|
|
396
|
-
|
|
446
|
+
5735,
|
|
397
447
|
'Auto approval for \'{0}\' is restricted via {1}.',
|
|
398
|
-
|
|
399
|
-
|
|
448
|
+
getToolFullReferenceName(tool.data),
|
|
449
|
+
createMarkdownCommandLink({ title: '`' + ChatConfiguration.EligibleForAutoApproval + '`', id: 'workbench.action.openSettings', arguments: [ChatConfiguration.EligibleForAutoApproval] }, false)
|
|
400
450
|
)), { isTrusted: true }));
|
|
401
451
|
}
|
|
402
452
|
if (prepared?.confirmationMessages?.title) {
|
|
@@ -454,21 +504,37 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
454
504
|
}
|
|
455
505
|
}));
|
|
456
506
|
}
|
|
457
|
-
|
|
507
|
+
getEligibleForAutoApprovalSpecialCase(toolData) {
|
|
458
508
|
if (toolData.id === 'vscode_fetchWebPage_internal') {
|
|
459
509
|
return 'fetch';
|
|
460
510
|
}
|
|
461
511
|
return undefined;
|
|
462
512
|
}
|
|
463
513
|
isToolEligibleForAutoApproval(toolData) {
|
|
464
|
-
const
|
|
514
|
+
const fullReferenceName = this.getEligibleForAutoApprovalSpecialCase(toolData) ?? getToolFullReferenceName(toolData);
|
|
465
515
|
if (toolData.id === 'copilot_fetchWebPage') {
|
|
466
516
|
return true;
|
|
467
517
|
}
|
|
468
518
|
const eligibilityConfig = this._configurationService.getValue(ChatConfiguration.EligibleForAutoApproval);
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
519
|
+
if (eligibilityConfig && typeof eligibilityConfig === 'object' && fullReferenceName) {
|
|
520
|
+
if (Object.prototype.hasOwnProperty.call(eligibilityConfig, fullReferenceName)) {
|
|
521
|
+
return eligibilityConfig[fullReferenceName];
|
|
522
|
+
}
|
|
523
|
+
if (toolData.legacyToolReferenceFullNames) {
|
|
524
|
+
for (const legacyName of toolData.legacyToolReferenceFullNames) {
|
|
525
|
+
if (Object.prototype.hasOwnProperty.call(eligibilityConfig, legacyName)) {
|
|
526
|
+
return eligibilityConfig[legacyName];
|
|
527
|
+
}
|
|
528
|
+
if (legacyName.includes('/')) {
|
|
529
|
+
const trimmedLegacyName = legacyName.split('/').pop();
|
|
530
|
+
if (trimmedLegacyName && Object.prototype.hasOwnProperty.call(eligibilityConfig, trimmedLegacyName)) {
|
|
531
|
+
return eligibilityConfig[trimmedLegacyName];
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
return true;
|
|
472
538
|
}
|
|
473
539
|
async shouldAutoConfirm(toolId, runsInWorkspace, source, parameters) {
|
|
474
540
|
const tool = this._tools.get(toolId);
|
|
@@ -514,14 +580,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
514
580
|
}
|
|
515
581
|
const promptResult = await this._dialogService.prompt({
|
|
516
582
|
type: Severity.Warning,
|
|
517
|
-
message: ( localize(
|
|
583
|
+
message: ( localize(5736, 'Enable global auto approve?')),
|
|
518
584
|
buttons: [
|
|
519
585
|
{
|
|
520
|
-
label: ( localize(
|
|
586
|
+
label: ( localize(5737, 'Enable')),
|
|
521
587
|
run: () => true
|
|
522
588
|
},
|
|
523
589
|
{
|
|
524
|
-
label: ( localize(
|
|
590
|
+
label: ( localize(5738, 'Disable')),
|
|
525
591
|
run: () => false
|
|
526
592
|
},
|
|
527
593
|
],
|
|
@@ -562,29 +628,71 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
562
628
|
this._callsByRequestId.delete(requestId);
|
|
563
629
|
}
|
|
564
630
|
}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
631
|
+
static { this.githubMCPServerAliases = ['github/github-mcp-server', 'io.github.github/github-mcp-server', 'github-mcp-server']; }
|
|
632
|
+
static { this.playwrightMCPServerAliases = ['microsoft/playwright-mcp', 'com.microsoft/playwright-mcp']; }
|
|
633
|
+
*getToolSetAliases(toolSet, fullReferenceName) {
|
|
634
|
+
if (fullReferenceName !== toolSet.referenceName) {
|
|
635
|
+
yield toolSet.referenceName;
|
|
636
|
+
}
|
|
637
|
+
if (toolSet.legacyFullNames) {
|
|
638
|
+
yield* toolSet.legacyFullNames;
|
|
569
639
|
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
640
|
+
switch (toolSet.referenceName) {
|
|
641
|
+
case 'github':
|
|
642
|
+
for (const alias of LanguageModelToolsService_1.githubMCPServerAliases) {
|
|
643
|
+
yield alias + '/*';
|
|
644
|
+
}
|
|
645
|
+
break;
|
|
646
|
+
case 'playwright':
|
|
647
|
+
for (const alias of LanguageModelToolsService_1.playwrightMCPServerAliases) {
|
|
648
|
+
yield alias + '/*';
|
|
649
|
+
}
|
|
650
|
+
break;
|
|
651
|
+
case SpecedToolAliases.execute:
|
|
652
|
+
yield 'shell';
|
|
653
|
+
break;
|
|
654
|
+
case SpecedToolAliases.agent:
|
|
655
|
+
yield VSCodeToolReference.runSubagent;
|
|
656
|
+
yield 'custom-agent';
|
|
657
|
+
break;
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
*getToolAliases(toolSet, fullReferenceName) {
|
|
661
|
+
const referenceName = toolSet.toolReferenceName ?? toolSet.displayName;
|
|
662
|
+
if (fullReferenceName !== referenceName && referenceName !== VSCodeToolReference.runSubagent) {
|
|
663
|
+
yield referenceName;
|
|
664
|
+
}
|
|
665
|
+
if (toolSet.legacyToolReferenceFullNames) {
|
|
666
|
+
for (const legacyName of toolSet.legacyToolReferenceFullNames) {
|
|
667
|
+
yield legacyName;
|
|
668
|
+
const lastSlashIndex = legacyName.lastIndexOf('/');
|
|
669
|
+
if (lastSlashIndex !== -1) {
|
|
670
|
+
yield legacyName.substring(lastSlashIndex + 1);
|
|
671
|
+
}
|
|
575
672
|
}
|
|
576
673
|
}
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
674
|
+
const slashIndex = fullReferenceName.lastIndexOf('/');
|
|
675
|
+
if (slashIndex !== -1) {
|
|
676
|
+
switch (fullReferenceName.substring(0, slashIndex)) {
|
|
677
|
+
case 'github':
|
|
678
|
+
for (const alias of LanguageModelToolsService_1.githubMCPServerAliases) {
|
|
679
|
+
yield alias + fullReferenceName.substring(slashIndex);
|
|
680
|
+
}
|
|
681
|
+
break;
|
|
682
|
+
case 'playwright':
|
|
683
|
+
for (const alias of LanguageModelToolsService_1.playwrightMCPServerAliases) {
|
|
684
|
+
yield alias + fullReferenceName.substring(slashIndex);
|
|
685
|
+
}
|
|
686
|
+
break;
|
|
687
|
+
}
|
|
582
688
|
}
|
|
583
|
-
|
|
689
|
+
}
|
|
690
|
+
toToolAndToolSetEnablementMap(fullReferenceNames, _target) {
|
|
691
|
+
const toolOrToolSetNames = ( new Set(fullReferenceNames));
|
|
584
692
|
const result = ( new Map());
|
|
585
|
-
for (const [tool,
|
|
693
|
+
for (const [tool, fullReferenceName] of this.toolsWithFullReferenceName.get()) {
|
|
586
694
|
if (tool instanceof ToolSet) {
|
|
587
|
-
const enabled = ( toolOrToolSetNames.has(
|
|
695
|
+
const enabled = ( toolOrToolSetNames.has(fullReferenceName)) || ( Iterable.some(this.getToolSetAliases(tool, fullReferenceName), name => ( toolOrToolSetNames.has(name))));
|
|
588
696
|
result.set(tool, enabled);
|
|
589
697
|
if (enabled) {
|
|
590
698
|
for (const memberTool of tool.getTools()) {
|
|
@@ -594,7 +702,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
594
702
|
}
|
|
595
703
|
else {
|
|
596
704
|
if (!( result.has(tool))) {
|
|
597
|
-
const enabled = ( toolOrToolSetNames.has(
|
|
705
|
+
const enabled = ( toolOrToolSetNames.has(fullReferenceName))
|
|
706
|
+
|| ( Iterable.some(this.getToolAliases(tool, fullReferenceName), name => ( toolOrToolSetNames.has(name))))
|
|
707
|
+
|| !!tool.legacyToolReferenceFullNames?.some(toolFullName => {
|
|
708
|
+
const index = toolFullName.lastIndexOf('/');
|
|
709
|
+
return index !== -1 && ( toolOrToolSetNames.has(toolFullName.substring(0, index)));
|
|
710
|
+
});
|
|
598
711
|
result.set(tool, enabled);
|
|
599
712
|
}
|
|
600
713
|
}
|
|
@@ -607,13 +720,13 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
607
720
|
}
|
|
608
721
|
return result;
|
|
609
722
|
}
|
|
610
|
-
|
|
723
|
+
toFullReferenceNames(map) {
|
|
611
724
|
const result = [];
|
|
612
725
|
const toolsCoveredByEnabledToolSet = ( new Set());
|
|
613
|
-
for (const [tool,
|
|
726
|
+
for (const [tool, fullReferenceName] of this.toolsWithFullReferenceName.get()) {
|
|
614
727
|
if (tool instanceof ToolSet) {
|
|
615
728
|
if (map.get(tool)) {
|
|
616
|
-
result.push(
|
|
729
|
+
result.push(fullReferenceName);
|
|
617
730
|
for (const memberTool of tool.getTools()) {
|
|
618
731
|
toolsCoveredByEnabledToolSet.add(memberTool);
|
|
619
732
|
}
|
|
@@ -621,7 +734,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
621
734
|
}
|
|
622
735
|
else {
|
|
623
736
|
if (map.get(tool) && !( toolsCoveredByEnabledToolSet.has(tool))) {
|
|
624
|
-
result.push(
|
|
737
|
+
result.push(fullReferenceName);
|
|
625
738
|
}
|
|
626
739
|
}
|
|
627
740
|
}
|
|
@@ -629,8 +742,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
629
742
|
}
|
|
630
743
|
toToolReferences(variableReferences) {
|
|
631
744
|
const toolsOrToolSetByName = ( new Map());
|
|
632
|
-
for (const [tool,
|
|
633
|
-
toolsOrToolSetByName.set(
|
|
745
|
+
for (const [tool, fullReferenceName] of this.toolsWithFullReferenceName.get()) {
|
|
746
|
+
toolsOrToolSetByName.set(fullReferenceName, tool);
|
|
634
747
|
}
|
|
635
748
|
const result = [];
|
|
636
749
|
for (const ref of variableReferences) {
|
|
@@ -662,8 +775,18 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
662
775
|
}
|
|
663
776
|
return undefined;
|
|
664
777
|
}
|
|
778
|
+
getSpecedToolSetName(referenceName) {
|
|
779
|
+
if (LanguageModelToolsService_1.githubMCPServerAliases.includes(referenceName)) {
|
|
780
|
+
return 'github';
|
|
781
|
+
}
|
|
782
|
+
if (LanguageModelToolsService_1.playwrightMCPServerAliases.includes(referenceName)) {
|
|
783
|
+
return 'playwright';
|
|
784
|
+
}
|
|
785
|
+
return referenceName;
|
|
786
|
+
}
|
|
665
787
|
createToolSet(source, id, referenceName, options) {
|
|
666
788
|
const that = this;
|
|
789
|
+
referenceName = this.getSpecedToolSetName(referenceName);
|
|
667
790
|
const result = new (class extends ToolSet {
|
|
668
791
|
dispose() {
|
|
669
792
|
if (( that._toolSets.has(result))) {
|
|
@@ -671,68 +794,80 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
671
794
|
that._toolSets.delete(result);
|
|
672
795
|
}
|
|
673
796
|
}
|
|
674
|
-
})(id, referenceName, options?.icon ?? Codicon.tools, source, options?.description);
|
|
797
|
+
})(id, referenceName, options?.icon ?? Codicon.tools, source, options?.description, options?.legacyFullNames);
|
|
675
798
|
this._toolSets.add(result);
|
|
676
799
|
return result;
|
|
677
800
|
}
|
|
678
|
-
*
|
|
679
|
-
const
|
|
680
|
-
|
|
681
|
-
if (toolSet.source.type !== 'user') {
|
|
682
|
-
yield [toolSet, getToolSetReferenceName(toolSet)];
|
|
683
|
-
for (const tool of toolSet.getTools()) {
|
|
684
|
-
yield [tool, getToolReferenceName(tool, toolSet)];
|
|
685
|
-
coveredByToolSets.add(tool);
|
|
686
|
-
}
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
for (const tool of this.getTools()) {
|
|
690
|
-
if (tool.canBeReferencedInPrompt && !( coveredByToolSets.has(tool))) {
|
|
691
|
-
yield [tool, getToolReferenceName(tool)];
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
}
|
|
695
|
-
*getQualifiedToolNames() {
|
|
696
|
-
for (const [, toolReferenceName] of this.getPromptReferencableTools()) {
|
|
697
|
-
yield toolReferenceName;
|
|
801
|
+
*getFullReferenceNames() {
|
|
802
|
+
for (const [, fullReferenceName] of this.toolsWithFullReferenceName.get()) {
|
|
803
|
+
yield fullReferenceName;
|
|
698
804
|
}
|
|
699
805
|
}
|
|
700
|
-
|
|
806
|
+
getDeprecatedFullReferenceNames() {
|
|
701
807
|
const result = ( new Map());
|
|
702
|
-
const
|
|
703
|
-
|
|
704
|
-
|
|
808
|
+
const knownToolSetNames = ( new Set());
|
|
809
|
+
const add = (name, fullReferenceName) => {
|
|
810
|
+
if (name !== fullReferenceName) {
|
|
811
|
+
if (!( result.has(name))) {
|
|
812
|
+
result.set(name, ( new Set()));
|
|
813
|
+
}
|
|
814
|
+
result.get(name).add(fullReferenceName);
|
|
705
815
|
}
|
|
706
816
|
};
|
|
707
|
-
for (const [tool,
|
|
817
|
+
for (const [tool, _] of this.toolsWithFullReferenceName.get()) {
|
|
818
|
+
if (tool instanceof ToolSet) {
|
|
819
|
+
knownToolSetNames.add(tool.referenceName);
|
|
820
|
+
if (tool.legacyFullNames) {
|
|
821
|
+
for (const legacyName of tool.legacyFullNames) {
|
|
822
|
+
knownToolSetNames.add(legacyName);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
for (const [tool, fullReferenceName] of this.toolsWithFullReferenceName.get()) {
|
|
708
828
|
if (tool instanceof ToolSet) {
|
|
709
|
-
|
|
829
|
+
for (const alias of this.getToolSetAliases(tool, fullReferenceName)) {
|
|
830
|
+
add(alias, fullReferenceName);
|
|
831
|
+
}
|
|
710
832
|
}
|
|
711
833
|
else {
|
|
712
|
-
|
|
834
|
+
for (const alias of this.getToolAliases(tool, fullReferenceName)) {
|
|
835
|
+
add(alias, fullReferenceName);
|
|
836
|
+
}
|
|
837
|
+
if (tool.legacyToolReferenceFullNames) {
|
|
838
|
+
for (const legacyName of tool.legacyToolReferenceFullNames) {
|
|
839
|
+
if (legacyName.includes('/')) {
|
|
840
|
+
const toolSetFullName = legacyName.substring(0, legacyName.lastIndexOf('/'));
|
|
841
|
+
if (!( knownToolSetNames.has(toolSetFullName))) {
|
|
842
|
+
add(toolSetFullName, fullReferenceName);
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
}
|
|
713
847
|
}
|
|
714
848
|
}
|
|
715
849
|
return result;
|
|
716
850
|
}
|
|
717
|
-
|
|
718
|
-
for (const [tool,
|
|
719
|
-
if (
|
|
851
|
+
getToolByFullReferenceName(fullReferenceName) {
|
|
852
|
+
for (const [tool, toolFullReferenceName] of this.toolsWithFullReferenceName.get()) {
|
|
853
|
+
if (fullReferenceName === toolFullReferenceName) {
|
|
720
854
|
return tool;
|
|
721
855
|
}
|
|
722
|
-
|
|
856
|
+
const aliases = tool instanceof ToolSet ? this.getToolSetAliases(tool, toolFullReferenceName) : this.getToolAliases(tool, toolFullReferenceName);
|
|
857
|
+
if (( Iterable.some(aliases, alias => fullReferenceName === alias))) {
|
|
723
858
|
return tool;
|
|
724
859
|
}
|
|
725
860
|
}
|
|
726
861
|
return undefined;
|
|
727
862
|
}
|
|
728
|
-
|
|
863
|
+
getFullReferenceName(tool, toolSet) {
|
|
729
864
|
if (tool instanceof ToolSet) {
|
|
730
|
-
return
|
|
865
|
+
return getToolSetFullReferenceName(tool);
|
|
731
866
|
}
|
|
732
|
-
return
|
|
867
|
+
return getToolFullReferenceName(tool, toolSet);
|
|
733
868
|
}
|
|
734
869
|
};
|
|
735
|
-
LanguageModelToolsService = ( __decorate([
|
|
870
|
+
LanguageModelToolsService = LanguageModelToolsService_1 = ( __decorate([
|
|
736
871
|
( __param(0, IInstantiationService)),
|
|
737
872
|
( __param(1, IExtensionService)),
|
|
738
873
|
( __param(2, IContextKeyService)),
|
|
@@ -746,7 +881,7 @@ LanguageModelToolsService = ( __decorate([
|
|
|
746
881
|
( __param(10, IStorageService)),
|
|
747
882
|
( __param(11, ILanguageModelToolsConfirmationService))
|
|
748
883
|
], LanguageModelToolsService));
|
|
749
|
-
function
|
|
884
|
+
function getToolFullReferenceName(tool, toolSet) {
|
|
750
885
|
const toolName = tool.toolReferenceName ?? tool.displayName;
|
|
751
886
|
if (toolSet) {
|
|
752
887
|
return `${toolSet.referenceName}/${toolName}`;
|
|
@@ -756,7 +891,7 @@ function getToolReferenceName(tool, toolSet) {
|
|
|
756
891
|
}
|
|
757
892
|
return toolName;
|
|
758
893
|
}
|
|
759
|
-
function
|
|
894
|
+
function getToolSetFullReferenceName(toolSet) {
|
|
760
895
|
if (toolSet.source.type === 'mcp') {
|
|
761
896
|
return `${toolSet.referenceName}/*`;
|
|
762
897
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
.interactive-session .interactive-input-part > .chat-input-widgets-container .chat-status-widget {
|
|
7
|
+
padding: 6px 3px 6px 3px;
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
border: 1px solid var(--vscode-input-border, transparent);
|
|
10
|
+
background-color: var(--vscode-editor-background);
|
|
11
|
+
border-bottom: none;
|
|
12
|
+
border-top-left-radius: 4px;
|
|
13
|
+
border-top-right-radius: 4px;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: space-between;
|
|
17
|
+
gap: 8px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.interactive-session .interactive-input-part > .chat-input-widgets-container .chat-status-widget .chat-status-content {
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
flex: 1;
|
|
24
|
+
min-width: 0;
|
|
25
|
+
padding-left: 8px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.interactive-session .interactive-input-part > .chat-input-widgets-container .chat-status-widget .chat-status-message {
|
|
29
|
+
font-size: 11px;
|
|
30
|
+
line-height: 16px;
|
|
31
|
+
color: var(--vscode-foreground);
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
text-overflow: ellipsis;
|
|
34
|
+
white-space: nowrap;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.interactive-session .interactive-input-part > .chat-input-widgets-container .chat-status-widget .chat-status-action {
|
|
38
|
+
flex-shrink: 0;
|
|
39
|
+
padding-right: 4px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.interactive-session .interactive-input-part > .chat-input-widgets-container .chat-status-widget .chat-status-button {
|
|
43
|
+
font-size: 11px;
|
|
44
|
+
padding: 2px 8px;
|
|
45
|
+
min-width: unset;
|
|
46
|
+
height: 22px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.interactive-session .interactive-input-part > .chat-input-widgets-container:has(.chat-status-widget:not([style*="display: none"])) + .chat-todo-list-widget-container .chat-todo-list-widget {
|
|
50
|
+
border-top-left-radius: 0;
|
|
51
|
+
border-top-right-radius: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.interactive-session .interactive-input-part > .chat-input-widgets-container:has(.chat-status-widget:not([style*="display: none"])) + .chat-todo-list-widget-container:not(:has(.chat-todo-list-widget.has-todos)) + .chat-editing-session .chat-editing-session-container {
|
|
55
|
+
border-top-left-radius: 0;
|
|
56
|
+
border-top-right-radius: 0;
|
|
57
|
+
}
|