@codingame/monaco-vscode-chat-service-override 22.1.8 → 23.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 +16 -7
- package/package.json +43 -41
- package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +57 -48
- 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 +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +26 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +51 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/{chatClearActions.d.ts → chatNewActions.d.ts} +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/{chatClearActions.js → chatNewActions.js} +32 -32
- 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/chatSessionActions.d.ts +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +101 -98
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +35 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +43 -25
- 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 +33 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.js +154 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +347 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +250 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +97 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +290 -231
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +7 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +6 -6
- 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 +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.js +113 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +102 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +646 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +46 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +44 -34
- 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 +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +46 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +45 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +30 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +60 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +117 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +60 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +29 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +365 -143
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +3 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +58 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +5 -4
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +6 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +7 -11
- 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 +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +38 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +83 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +91 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +370 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +349 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +787 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +109 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +122 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +211 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +69 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +21 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +54 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +31 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +16 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +29 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +37 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +15 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +96 -131
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +66 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +77 -71
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +91 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +458 -138
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +212 -150
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +96 -89
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +15 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +33 -17
- 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 +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +688 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +15 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +126 -135
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditingEditorOverlay.css +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorController.css +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +38 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +28 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +24 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +25 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +89 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +30 -29
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +10 -19
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +61 -43
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +28 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +254 -165
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +4 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +10 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +20 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +13 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +51 -21
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +74 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +83 -53
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +136 -78
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +18 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +357 -157
- 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 +55 -28
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +235 -108
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +50 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +11 -7
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +18 -30
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +62 -139
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +16 -15
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +3 -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 +119 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +6 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +192 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +21 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +8 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +18 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +18 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +24 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +33 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +42 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +14 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +227 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +133 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +36 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +17 -0
- 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.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +75 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +71 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +28 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +366 -363
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +18 -18
- 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.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +123 -0
- package/vscode/src/vs/base/common/yaml.d.ts +0 -74
- package/vscode/src/vs/base/common/yaml.js +0 -597
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +0 -239
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +0 -102
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +0 -435
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookDiff.js +0 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +0 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +0 -380
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +0 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +0 -137
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +0 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +0 -176
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +0 -206
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +0 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +0 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +0 -306
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +0 -102
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.d.ts +0 -97
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/newPromptsParser.js +0 -247
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +0 -118
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandSimplifier.js +0 -55
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +0 -66
|
@@ -18,7 +18,7 @@ import { StopWatch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/st
|
|
|
18
18
|
import { equalsIgnoreCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
19
19
|
import { isObject } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
20
20
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
21
|
-
import {
|
|
21
|
+
import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
|
|
22
22
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
23
23
|
import { Action2, MenuId, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
24
24
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
@@ -46,7 +46,7 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
46
46
|
import { IWorkspaceTrustManagementService, IWorkspaceTrustRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service';
|
|
47
47
|
import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
|
|
48
48
|
import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
|
|
49
|
-
import { ProgressBadge } from '@codingame/monaco-vscode-
|
|
49
|
+
import { ProgressBadge } from '@codingame/monaco-vscode-3b5a5cd1-d4ff-500a-b609-57e0cd4afa0a-common/vscode/vs/workbench/services/activity/common/activity';
|
|
50
50
|
import { IActivityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/activity/common/activity.service';
|
|
51
51
|
import { IAuthenticationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service';
|
|
52
52
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
@@ -68,35 +68,34 @@ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
68
68
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
69
69
|
import { ChatEntitlement, ChatEntitlementRequests, isProUser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
|
|
70
70
|
import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
|
|
71
|
-
import { ChatRequestModel } from '@codingame/monaco-vscode-
|
|
72
|
-
import { ChatMode } from '@codingame/monaco-vscode-
|
|
73
|
-
import {
|
|
71
|
+
import { ChatRequestModel } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
72
|
+
import { ChatMode } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModes';
|
|
73
|
+
import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
|
|
74
|
+
import { ChatRequestToolPart, ChatRequestAgentPart } from '@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
74
75
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
75
|
-
import { ChatConfiguration, ChatAgentLocation, ChatModeKind
|
|
76
|
+
import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
76
77
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
77
|
-
import { CHAT_SETUP_ACTION_ID, CHAT_CATEGORY, CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID, CHAT_OPEN_ACTION_ID } from '@codingame/monaco-vscode-
|
|
78
|
-
import {
|
|
78
|
+
import { CHAT_SETUP_ACTION_ID, CHAT_CATEGORY, CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID, CHAT_OPEN_ACTION_ID } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
79
|
+
import { showChatView, ChatViewId } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
79
80
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
80
81
|
import { CHAT_SIDEBAR_PANEL_ID } from './chatViewPane.js';
|
|
81
82
|
import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
|
|
82
|
-
import { chatViewsWelcomeRegistry } from '@codingame/monaco-vscode-
|
|
83
|
+
import { chatViewsWelcomeRegistry } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
|
|
84
|
+
import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
|
|
85
|
+
import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
83
86
|
|
|
84
|
-
var SetupAgent_1, ChatSetup_1, ChatTeardownContribution_1;
|
|
87
|
+
var SetupAgent_1, DefaultNewSymbolNamesProvider_1, ChatSetup_1, ChatTeardownContribution_1;
|
|
85
88
|
registerCss(chatSetup);
|
|
86
89
|
const defaultChat = {
|
|
87
90
|
extensionId: product.defaultChatAgent?.extensionId ?? '',
|
|
88
91
|
chatExtensionId: product.defaultChatAgent?.chatExtensionId ?? '',
|
|
89
|
-
documentationUrl: product.defaultChatAgent?.documentationUrl ?? '',
|
|
90
|
-
skusDocumentationUrl: product.defaultChatAgent?.skusDocumentationUrl ?? '',
|
|
91
92
|
publicCodeMatchesUrl: product.defaultChatAgent?.publicCodeMatchesUrl ?? '',
|
|
92
93
|
manageOveragesUrl: product.defaultChatAgent?.manageOverageUrl ?? '',
|
|
93
94
|
upgradePlanUrl: product.defaultChatAgent?.upgradePlanUrl ?? '',
|
|
94
95
|
provider: product.defaultChatAgent?.provider ?? { default: { id: '', name: '' }, enterprise: { id: '', name: '' }, apple: { id: '', name: '' }, google: { id: '', name: '' } },
|
|
95
96
|
providerUriSetting: product.defaultChatAgent?.providerUriSetting ?? '',
|
|
96
|
-
providerScopes: product.defaultChatAgent?.providerScopes ?? [[]],
|
|
97
97
|
manageSettingsUrl: product.defaultChatAgent?.manageSettingsUrl ?? '',
|
|
98
98
|
completionsAdvancedSetting: product.defaultChatAgent?.completionsAdvancedSetting ?? '',
|
|
99
|
-
walkthroughCommand: product.defaultChatAgent?.walkthroughCommand ?? '',
|
|
100
99
|
completionsRefreshTokenCommand: product.defaultChatAgent?.completionsRefreshTokenCommand ?? '',
|
|
101
100
|
chatRefreshTokenCommand: product.defaultChatAgent?.chatRefreshTokenCommand ?? '',
|
|
102
101
|
termsStatementUrl: product.defaultChatAgent?.termsStatementUrl ?? '',
|
|
@@ -141,31 +140,31 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
141
140
|
id = 'setup.notebook';
|
|
142
141
|
break;
|
|
143
142
|
}
|
|
144
|
-
return SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, id, `${defaultChat.provider.default.name} Copilot
|
|
143
|
+
return SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, id, `${defaultChat.provider.default.name} Copilot` , true, description, location, mode, context, controller);
|
|
145
144
|
});
|
|
146
145
|
}
|
|
147
146
|
static registerBuiltInAgents(instantiationService, context, controller) {
|
|
148
147
|
return instantiationService.invokeFunction(accessor => {
|
|
149
148
|
const chatAgentService = accessor.get(IChatAgentService);
|
|
150
149
|
const disposables = ( new DisposableStore());
|
|
151
|
-
const { disposable: vscodeDisposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, ( localize2(
|
|
150
|
+
const { disposable: vscodeDisposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, ( localize2(5415, "Ask questions about VS Code")).value, ChatAgentLocation.Chat, undefined, context, controller);
|
|
152
151
|
disposables.add(vscodeDisposable);
|
|
153
|
-
const { disposable: workspaceDisposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.workspace', 'workspace', false, ( localize2(
|
|
152
|
+
const { disposable: workspaceDisposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.workspace', 'workspace', false, ( localize2(5416, "Ask about your workspace")).value, ChatAgentLocation.Chat, undefined, context, controller);
|
|
154
153
|
disposables.add(workspaceDisposable);
|
|
155
|
-
const { disposable: terminalDisposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.terminal.agent', 'terminal', false, ( localize2(
|
|
154
|
+
const { disposable: terminalDisposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.terminal.agent', 'terminal', false, ( localize2(5417, "Ask how to do something in the terminal")).value, ChatAgentLocation.Chat, undefined, context, controller);
|
|
156
155
|
disposables.add(terminalDisposable);
|
|
157
156
|
disposables.add(SetupTool.registerTool(instantiationService, {
|
|
158
157
|
id: 'setup_tools_createNewWorkspace',
|
|
159
158
|
source: ToolDataSource.Internal,
|
|
160
159
|
icon: Codicon.newFolder,
|
|
161
|
-
displayName: ( localize(
|
|
162
|
-
modelDescription: ( localize(
|
|
163
|
-
userDescription: ( localize(
|
|
160
|
+
displayName: ( localize(5418, "New Workspace")),
|
|
161
|
+
modelDescription: ( localize(5419, "Scaffold a new workspace in VS Code")),
|
|
162
|
+
userDescription: ( localize(5419, "Scaffold a new workspace in VS Code")),
|
|
164
163
|
canBeReferencedInPrompt: true,
|
|
165
164
|
toolReferenceName: 'new',
|
|
166
165
|
when: ContextKeyExpr.true(),
|
|
167
|
-
})
|
|
168
|
-
return
|
|
166
|
+
}));
|
|
167
|
+
return disposables;
|
|
169
168
|
});
|
|
170
169
|
}
|
|
171
170
|
static doRegisterAgent(instantiationService, chatAgentService, id, name, isDefault, description, location, mode, context, controller) {
|
|
@@ -194,8 +193,8 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
194
193
|
}
|
|
195
194
|
return { agent, disposable: disposables };
|
|
196
195
|
}
|
|
197
|
-
static { this.SETUP_NEEDED_MESSAGE = ( new MarkdownString(( localize(
|
|
198
|
-
static { this.TRUST_NEEDED_MESSAGE = ( new MarkdownString(( localize(
|
|
196
|
+
static { this.SETUP_NEEDED_MESSAGE = ( new MarkdownString(( localize(5420, "You need to set up GitHub Copilot and be signed in to use Chat.")))); }
|
|
197
|
+
static { this.TRUST_NEEDED_MESSAGE = ( new MarkdownString(( localize(5421, "You need to trust this workspace to use Chat.")))); }
|
|
199
198
|
constructor(context, controller, location, instantiationService, logService, configurationService, telemetryService, environmentService, workspaceTrustManagementService, chatEntitlementService) {
|
|
200
199
|
super();
|
|
201
200
|
this.context = context;
|
|
@@ -210,7 +209,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
210
209
|
this.chatEntitlementService = chatEntitlementService;
|
|
211
210
|
this._onUnresolvableError = this._register(( new Emitter()));
|
|
212
211
|
this.onUnresolvableError = this._onUnresolvableError.event;
|
|
213
|
-
this.pendingForwardedRequests = ( new
|
|
212
|
+
this.pendingForwardedRequests = ( new ResourceMap());
|
|
214
213
|
}
|
|
215
214
|
async invoke(request, progress) {
|
|
216
215
|
return this.instantiationService.invokeFunction(async (accessor ) => {
|
|
@@ -223,7 +222,13 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
223
222
|
});
|
|
224
223
|
}
|
|
225
224
|
async doInvoke(request, progress, chatService, languageModelsService, chatWidgetService, chatAgentService, languageModelToolsService) {
|
|
226
|
-
if (!this.context.state.installed ||
|
|
225
|
+
if (!this.context.state.installed ||
|
|
226
|
+
this.context.state.disabled ||
|
|
227
|
+
this.context.state.untrusted ||
|
|
228
|
+
this.context.state.entitlement === ChatEntitlement.Available ||
|
|
229
|
+
((
|
|
230
|
+
this.context.state.entitlement === ChatEntitlement.Unknown && !this.chatEntitlementService.anonymous)
|
|
231
|
+
)) {
|
|
227
232
|
return this.doInvokeWithSetup(request, progress, chatService, languageModelsService, chatWidgetService, chatAgentService, languageModelToolsService);
|
|
228
233
|
}
|
|
229
234
|
return this.doInvokeWithoutSetup(request, progress, chatService, languageModelsService, chatWidgetService, chatAgentService, languageModelToolsService);
|
|
@@ -236,49 +241,49 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
236
241
|
}
|
|
237
242
|
progress({
|
|
238
243
|
kind: 'progressMessage',
|
|
239
|
-
content: ( new MarkdownString(( localize(
|
|
244
|
+
content: ( new MarkdownString(( localize(5422, "Getting chat ready...")))),
|
|
240
245
|
});
|
|
241
|
-
await this.
|
|
246
|
+
await this.forwardRequestToChat(requestModel, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService);
|
|
242
247
|
return {};
|
|
243
248
|
}
|
|
244
|
-
async
|
|
249
|
+
async forwardRequestToChat(requestModel, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService) {
|
|
245
250
|
try {
|
|
246
|
-
await this.
|
|
251
|
+
await this.doForwardRequestToChat(requestModel, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService);
|
|
247
252
|
}
|
|
248
253
|
catch (error) {
|
|
249
254
|
progress({
|
|
250
255
|
kind: 'warning',
|
|
251
|
-
content: ( new MarkdownString(( localize(
|
|
256
|
+
content: ( new MarkdownString(( localize(5423, "Failed to get a response. Please try again."))))
|
|
252
257
|
});
|
|
253
258
|
}
|
|
254
259
|
}
|
|
255
|
-
async
|
|
256
|
-
if (( this.pendingForwardedRequests.has(requestModel.session.
|
|
260
|
+
async doForwardRequestToChat(requestModel, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService) {
|
|
261
|
+
if (( this.pendingForwardedRequests.has(requestModel.session.sessionResource))) {
|
|
257
262
|
throw ( new Error('Request already in progress'));
|
|
258
263
|
}
|
|
259
|
-
const forwardRequest = this.
|
|
260
|
-
this.pendingForwardedRequests.set(requestModel.session.
|
|
264
|
+
const forwardRequest = this.doForwardRequestToChatWhenReady(requestModel, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService);
|
|
265
|
+
this.pendingForwardedRequests.set(requestModel.session.sessionResource, forwardRequest);
|
|
261
266
|
try {
|
|
262
267
|
await forwardRequest;
|
|
263
268
|
}
|
|
264
269
|
finally {
|
|
265
|
-
this.pendingForwardedRequests.delete(requestModel.session.
|
|
270
|
+
this.pendingForwardedRequests.delete(requestModel.session.sessionResource);
|
|
266
271
|
}
|
|
267
272
|
}
|
|
268
|
-
async
|
|
269
|
-
const widget = chatWidgetService.
|
|
273
|
+
async doForwardRequestToChatWhenReady(requestModel, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService) {
|
|
274
|
+
const widget = chatWidgetService.getWidgetBySessionResource(requestModel.session.sessionResource);
|
|
270
275
|
const modeInfo = widget?.input.currentModeInfo;
|
|
271
276
|
let agentReady = false;
|
|
272
277
|
let languageModelReady = false;
|
|
273
278
|
let toolsModelReady = false;
|
|
274
279
|
const whenAgentReady = this.whenAgentReady(chatAgentService, modeInfo?.kind)?.then(() => agentReady = true);
|
|
275
|
-
const whenLanguageModelReady = this.whenLanguageModelReady(languageModelsService)?.then(() => languageModelReady = true);
|
|
280
|
+
const whenLanguageModelReady = this.whenLanguageModelReady(languageModelsService, requestModel.modelId)?.then(() => languageModelReady = true);
|
|
276
281
|
const whenToolsModelReady = this.whenToolsModelReady(languageModelToolsService, requestModel)?.then(() => toolsModelReady = true);
|
|
277
282
|
if (whenLanguageModelReady instanceof Promise || whenAgentReady instanceof Promise || whenToolsModelReady instanceof Promise) {
|
|
278
283
|
const timeoutHandle = setTimeout(() => {
|
|
279
284
|
progress({
|
|
280
285
|
kind: 'progressMessage',
|
|
281
|
-
content: ( new MarkdownString(( localize(
|
|
286
|
+
content: ( new MarkdownString(( localize(5424, "Chat is almost ready...")))),
|
|
282
287
|
});
|
|
283
288
|
}, 10000);
|
|
284
289
|
try {
|
|
@@ -292,14 +297,14 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
292
297
|
if (ready === 'timedout') {
|
|
293
298
|
if (this.chatEntitlementService.anonymous) {
|
|
294
299
|
warningMessage = ( localize(
|
|
295
|
-
|
|
300
|
+
5425,
|
|
296
301
|
"Chat took too long to get ready. Please ensure that the extension `{0}` is installed and enabled.",
|
|
297
302
|
defaultChat.chatExtensionId
|
|
298
303
|
));
|
|
299
304
|
}
|
|
300
305
|
else {
|
|
301
306
|
warningMessage = ( localize(
|
|
302
|
-
|
|
307
|
+
5426,
|
|
303
308
|
"Chat took too long to get ready. Please ensure you are signed in to {0} and that the extension `{1}` is installed and enabled.",
|
|
304
309
|
defaultChat.provider.default.name,
|
|
305
310
|
defaultChat.chatExtensionId
|
|
@@ -309,14 +314,14 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
309
314
|
else {
|
|
310
315
|
if (this.chatEntitlementService.anonymous) {
|
|
311
316
|
warningMessage = ( localize(
|
|
312
|
-
|
|
317
|
+
5427,
|
|
313
318
|
"Chat failed to get ready. Please ensure that the extension `{0}` is installed and enabled.",
|
|
314
319
|
defaultChat.chatExtensionId
|
|
315
320
|
));
|
|
316
321
|
}
|
|
317
322
|
else {
|
|
318
323
|
warningMessage = ( localize(
|
|
319
|
-
|
|
324
|
+
5428,
|
|
320
325
|
"Chat failed to get ready. Please ensure you are signed in to {0} and that the extension `{1}` is installed and enabled.",
|
|
321
326
|
defaultChat.provider.default.name,
|
|
322
327
|
defaultChat.chatExtensionId
|
|
@@ -342,23 +347,27 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
342
347
|
}
|
|
343
348
|
await chatService.resendRequest(requestModel, {
|
|
344
349
|
...widget?.getModeRequestOptions(),
|
|
345
|
-
modeInfo
|
|
350
|
+
modeInfo,
|
|
351
|
+
userSelectedModelId: widget?.input.currentLanguageModel
|
|
346
352
|
});
|
|
347
353
|
}
|
|
348
|
-
whenLanguageModelReady(languageModelsService) {
|
|
349
|
-
const
|
|
354
|
+
whenLanguageModelReady(languageModelsService, modelId) {
|
|
355
|
+
const hasModelForRequest = () => {
|
|
356
|
+
if (modelId) {
|
|
357
|
+
return !!languageModelsService.lookupLanguageModel(modelId);
|
|
358
|
+
}
|
|
350
359
|
for (const id of languageModelsService.getLanguageModelIds()) {
|
|
351
360
|
const model = languageModelsService.lookupLanguageModel(id);
|
|
352
|
-
if (model
|
|
361
|
+
if (model?.isDefault) {
|
|
353
362
|
return true;
|
|
354
363
|
}
|
|
355
364
|
}
|
|
356
365
|
return false;
|
|
357
366
|
};
|
|
358
|
-
if (
|
|
367
|
+
if (hasModelForRequest()) {
|
|
359
368
|
return;
|
|
360
369
|
}
|
|
361
|
-
return Event.toPromise(Event.filter(languageModelsService.onDidChangeLanguageModels, () =>
|
|
370
|
+
return Event.toPromise(Event.filter(languageModelsService.onDidChangeLanguageModels, () => hasModelForRequest()));
|
|
362
371
|
}
|
|
363
372
|
whenToolsModelReady(languageModelToolsService, requestModel) {
|
|
364
373
|
const needsToolsModel = ( requestModel.message.parts.some(part => part instanceof ChatRequestToolPart));
|
|
@@ -404,7 +413,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
404
413
|
progress({
|
|
405
414
|
kind: 'progressMessage',
|
|
406
415
|
content: ( new MarkdownString(( localize(
|
|
407
|
-
|
|
416
|
+
5429,
|
|
408
417
|
"Signing in to {0}...",
|
|
409
418
|
ChatEntitlementRequests.providerId(this.configurationService) === defaultChat.provider.enterprise.id ? defaultChat.provider.enterprise.name : defaultChat.provider.default.name
|
|
410
419
|
)))),
|
|
@@ -413,7 +422,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
413
422
|
case ChatSetupStep.Installing:
|
|
414
423
|
progress({
|
|
415
424
|
kind: 'progressMessage',
|
|
416
|
-
content: ( new MarkdownString(( localize(
|
|
425
|
+
content: ( new MarkdownString(( localize(5430, "Getting chat ready...")))),
|
|
417
426
|
});
|
|
418
427
|
break;
|
|
419
428
|
}
|
|
@@ -439,13 +448,13 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
439
448
|
else if (requestModel) {
|
|
440
449
|
let newRequest = this.replaceAgentInRequestModel(requestModel, chatAgentService);
|
|
441
450
|
newRequest = this.replaceToolInRequestModel(newRequest);
|
|
442
|
-
await this.
|
|
451
|
+
await this.forwardRequestToChat(newRequest, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService);
|
|
443
452
|
}
|
|
444
453
|
}
|
|
445
454
|
else {
|
|
446
455
|
progress({
|
|
447
456
|
kind: 'warning',
|
|
448
|
-
content: ( new MarkdownString(( localize(
|
|
457
|
+
content: ( new MarkdownString(( localize(5431, "Chat setup failed."))))
|
|
449
458
|
});
|
|
450
459
|
}
|
|
451
460
|
}
|
|
@@ -544,14 +553,14 @@ SetupAgent = SetupAgent_1 = ( __decorate([
|
|
|
544
553
|
( __param(8, IWorkspaceTrustManagementService)),
|
|
545
554
|
( __param(9, IChatEntitlementService))
|
|
546
555
|
], SetupAgent));
|
|
547
|
-
class SetupTool
|
|
556
|
+
class SetupTool {
|
|
548
557
|
static registerTool(instantiationService, toolData) {
|
|
549
558
|
return instantiationService.invokeFunction(accessor => {
|
|
550
559
|
const toolService = accessor.get(ILanguageModelToolsService);
|
|
551
560
|
const disposables = ( new DisposableStore());
|
|
552
561
|
const tool = instantiationService.createInstance(SetupTool);
|
|
553
562
|
disposables.add(toolService.registerTool(toolData, tool));
|
|
554
|
-
return
|
|
563
|
+
return disposables;
|
|
555
564
|
});
|
|
556
565
|
}
|
|
557
566
|
async invoke(invocation, countTokens, progress, token) {
|
|
@@ -569,6 +578,35 @@ class SetupTool extends Disposable {
|
|
|
569
578
|
return undefined;
|
|
570
579
|
}
|
|
571
580
|
}
|
|
581
|
+
let DefaultNewSymbolNamesProvider = DefaultNewSymbolNamesProvider_1 = class DefaultNewSymbolNamesProvider {
|
|
582
|
+
static registerProvider(instantiationService, context, controller) {
|
|
583
|
+
return instantiationService.invokeFunction(accessor => {
|
|
584
|
+
const languageFeaturesService = accessor.get(ILanguageFeaturesService);
|
|
585
|
+
const disposables = ( new DisposableStore());
|
|
586
|
+
const provider = instantiationService.createInstance(DefaultNewSymbolNamesProvider_1, context, controller);
|
|
587
|
+
disposables.add(languageFeaturesService.newSymbolNamesProvider.register('*', provider));
|
|
588
|
+
return disposables;
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
constructor(context, controller, instantiationService, chatEntitlementService) {
|
|
592
|
+
this.context = context;
|
|
593
|
+
this.controller = controller;
|
|
594
|
+
this.instantiationService = instantiationService;
|
|
595
|
+
this.chatEntitlementService = chatEntitlementService;
|
|
596
|
+
}
|
|
597
|
+
async provideNewSymbolNames(model, range, triggerKind, token) {
|
|
598
|
+
await this.instantiationService.invokeFunction(accessor => {
|
|
599
|
+
return ChatSetup.getInstance(this.instantiationService, this.context, this.controller).run({
|
|
600
|
+
forceAnonymous: this.chatEntitlementService.anonymous ? ChatSetupAnonymous.EnabledWithDialog : undefined
|
|
601
|
+
});
|
|
602
|
+
});
|
|
603
|
+
return [];
|
|
604
|
+
}
|
|
605
|
+
};
|
|
606
|
+
DefaultNewSymbolNamesProvider = DefaultNewSymbolNamesProvider_1 = ( __decorate([
|
|
607
|
+
( __param(2, IInstantiationService)),
|
|
608
|
+
( __param(3, IChatEntitlementService))
|
|
609
|
+
], DefaultNewSymbolNamesProvider));
|
|
572
610
|
var ChatSetupStrategy;
|
|
573
611
|
(function (ChatSetupStrategy) {
|
|
574
612
|
ChatSetupStrategy[ChatSetupStrategy["Canceled"] = 0] = "Canceled";
|
|
@@ -588,7 +626,6 @@ let ChatSetup = class ChatSetup {
|
|
|
588
626
|
return ( new ChatSetup_1(
|
|
589
627
|
context,
|
|
590
628
|
controller,
|
|
591
|
-
instantiationService,
|
|
592
629
|
accessor.get(ITelemetryService),
|
|
593
630
|
accessor.get(IWorkbenchLayoutService),
|
|
594
631
|
accessor.get(IKeybindingService),
|
|
@@ -596,16 +633,16 @@ let ChatSetup = class ChatSetup {
|
|
|
596
633
|
accessor.get(ILogService),
|
|
597
634
|
accessor.get(IConfigurationService),
|
|
598
635
|
accessor.get(IViewsService),
|
|
599
|
-
accessor.get(IWorkspaceTrustRequestService)
|
|
636
|
+
accessor.get(IWorkspaceTrustRequestService),
|
|
637
|
+
accessor.get(IMarkdownRendererService)
|
|
600
638
|
));
|
|
601
639
|
});
|
|
602
640
|
}
|
|
603
641
|
return instance;
|
|
604
642
|
}
|
|
605
|
-
constructor(context, controller,
|
|
643
|
+
constructor(context, controller, telemetryService, layoutService, keybindingService, chatEntitlementService, logService, configurationService, viewsService, workspaceTrustRequestService, markdownRendererService) {
|
|
606
644
|
this.context = context;
|
|
607
645
|
this.controller = controller;
|
|
608
|
-
this.instantiationService = instantiationService;
|
|
609
646
|
this.telemetryService = telemetryService;
|
|
610
647
|
this.layoutService = layoutService;
|
|
611
648
|
this.keybindingService = keybindingService;
|
|
@@ -614,6 +651,7 @@ let ChatSetup = class ChatSetup {
|
|
|
614
651
|
this.configurationService = configurationService;
|
|
615
652
|
this.viewsService = viewsService;
|
|
616
653
|
this.workspaceTrustRequestService = workspaceTrustRequestService;
|
|
654
|
+
this.markdownRendererService = markdownRendererService;
|
|
617
655
|
this.pendingRun = undefined;
|
|
618
656
|
this.skipDialogOnce = false;
|
|
619
657
|
}
|
|
@@ -637,7 +675,7 @@ let ChatSetup = class ChatSetup {
|
|
|
637
675
|
const dialogSkipped = this.skipDialogOnce;
|
|
638
676
|
this.skipDialogOnce = false;
|
|
639
677
|
const trusted = await this.workspaceTrustRequestService.requestWorkspaceTrust({
|
|
640
|
-
message: ( localize(
|
|
678
|
+
message: ( localize(5432, "AI features are currently only supported in trusted workspaces."))
|
|
641
679
|
});
|
|
642
680
|
if (!trusted) {
|
|
643
681
|
this.context.update({ later: true });
|
|
@@ -658,7 +696,7 @@ let ChatSetup = class ChatSetup {
|
|
|
658
696
|
setupStrategy = ChatSetupStrategy.SetupWithEnterpriseProvider;
|
|
659
697
|
}
|
|
660
698
|
if (setupStrategy !== ChatSetupStrategy.Canceled && !options?.disableChatViewReveal) {
|
|
661
|
-
|
|
699
|
+
showChatView(this.viewsService, this.layoutService);
|
|
662
700
|
}
|
|
663
701
|
let success = undefined;
|
|
664
702
|
try {
|
|
@@ -692,8 +730,7 @@ let ChatSetup = class ChatSetup {
|
|
|
692
730
|
}
|
|
693
731
|
async showDialog(options) {
|
|
694
732
|
const disposables = ( new DisposableStore());
|
|
695
|
-
const
|
|
696
|
-
const buttons = this.getButtons(dialogVariant, options);
|
|
733
|
+
const buttons = this.getButtons(options);
|
|
697
734
|
const dialog = disposables.add(( new Dialog(
|
|
698
735
|
this.layoutService.activeContainer,
|
|
699
736
|
this.getDialogTitle(options),
|
|
@@ -714,21 +751,21 @@ let ChatSetup = class ChatSetup {
|
|
|
714
751
|
disposables.dispose();
|
|
715
752
|
return buttons[button]?.[1] ?? ChatSetupStrategy.Canceled;
|
|
716
753
|
}
|
|
717
|
-
getButtons(
|
|
754
|
+
getButtons(options) {
|
|
718
755
|
const styleButton = (...classes) => ({ styleButton: (button) => button.element.classList.add(...classes) });
|
|
719
756
|
let buttons;
|
|
720
757
|
if (!options?.forceAnonymous && (this.context.state.entitlement === ChatEntitlement.Unknown || options?.forceSignInDialog)) {
|
|
721
|
-
const defaultProviderButton = [( localize(
|
|
758
|
+
const defaultProviderButton = [( localize(5433, "Continue with {0}", defaultChat.provider.default.name)), ChatSetupStrategy.SetupWithoutEnterpriseProvider, styleButton('continue-button', 'default')];
|
|
722
759
|
const defaultProviderLink = [defaultProviderButton[0], defaultProviderButton[1], styleButton('link-button')];
|
|
723
|
-
const enterpriseProviderButton = [( localize(
|
|
760
|
+
const enterpriseProviderButton = [( localize(5433, "Continue with {0}", defaultChat.provider.enterprise.name)), ChatSetupStrategy.SetupWithEnterpriseProvider, styleButton('continue-button', 'default')];
|
|
724
761
|
const enterpriseProviderLink = [enterpriseProviderButton[0], enterpriseProviderButton[1], styleButton('link-button')];
|
|
725
|
-
const googleProviderButton = [( localize(
|
|
726
|
-
const appleProviderButton = [( localize(
|
|
762
|
+
const googleProviderButton = [( localize(5433, "Continue with {0}", defaultChat.provider.google.name)), ChatSetupStrategy.SetupWithGoogleProvider, styleButton('continue-button', 'google')];
|
|
763
|
+
const appleProviderButton = [( localize(5433, "Continue with {0}", defaultChat.provider.apple.name)), ChatSetupStrategy.SetupWithAppleProvider, styleButton('continue-button', 'apple')];
|
|
727
764
|
if (ChatEntitlementRequests.providerId(this.configurationService) !== defaultChat.provider.enterprise.id) {
|
|
728
765
|
buttons = coalesce([
|
|
729
766
|
defaultProviderButton,
|
|
730
767
|
googleProviderButton,
|
|
731
|
-
|
|
768
|
+
appleProviderButton,
|
|
732
769
|
enterpriseProviderLink
|
|
733
770
|
]);
|
|
734
771
|
}
|
|
@@ -736,38 +773,37 @@ let ChatSetup = class ChatSetup {
|
|
|
736
773
|
buttons = coalesce([
|
|
737
774
|
enterpriseProviderButton,
|
|
738
775
|
googleProviderButton,
|
|
739
|
-
|
|
776
|
+
appleProviderButton,
|
|
740
777
|
defaultProviderLink
|
|
741
778
|
]);
|
|
742
779
|
}
|
|
743
780
|
}
|
|
744
781
|
else {
|
|
745
|
-
buttons = [[( localize(
|
|
782
|
+
buttons = [[( localize(5434, "Use AI Features")), ChatSetupStrategy.DefaultSetup, undefined]];
|
|
746
783
|
}
|
|
747
|
-
buttons.push([( localize(
|
|
784
|
+
buttons.push([( localize(5435, "Skip for now")), ChatSetupStrategy.Canceled, styleButton('link-button', 'skip-button')]);
|
|
748
785
|
return buttons;
|
|
749
786
|
}
|
|
750
787
|
getDialogTitle(options) {
|
|
751
788
|
if (this.chatEntitlementService.anonymous) {
|
|
752
789
|
if (options?.forceAnonymous) {
|
|
753
|
-
return localize(
|
|
790
|
+
return localize(5436, "Start using AI Features");
|
|
754
791
|
}
|
|
755
792
|
else {
|
|
756
|
-
return localize(
|
|
793
|
+
return localize(5437, "Enable more AI features");
|
|
757
794
|
}
|
|
758
795
|
}
|
|
759
796
|
if (this.context.state.entitlement === ChatEntitlement.Unknown || options?.forceSignInDialog) {
|
|
760
|
-
return localize(
|
|
797
|
+
return localize(5438, "Sign in to use AI Features");
|
|
761
798
|
}
|
|
762
|
-
return localize(
|
|
799
|
+
return localize(5436, "Start using AI Features");
|
|
763
800
|
}
|
|
764
801
|
createDialogFooter(disposables, options) {
|
|
765
802
|
const element = $('.chat-setup-dialog-footer');
|
|
766
|
-
const markdown = this.instantiationService.createInstance(MarkdownRenderer, {});
|
|
767
803
|
let footer;
|
|
768
804
|
if (options?.forceAnonymous || this.telemetryService.telemetryLevel === TelemetryLevel.NONE) {
|
|
769
805
|
footer = ( localize(
|
|
770
|
-
|
|
806
|
+
5439,
|
|
771
807
|
"By continuing, you agree to {0}'s [Terms]({1}) and [Privacy Statement]({2}).",
|
|
772
808
|
defaultChat.provider.default.name,
|
|
773
809
|
defaultChat.termsStatementUrl,
|
|
@@ -776,7 +812,7 @@ let ChatSetup = class ChatSetup {
|
|
|
776
812
|
}
|
|
777
813
|
else {
|
|
778
814
|
footer = ( localize(
|
|
779
|
-
|
|
815
|
+
5440,
|
|
780
816
|
"By continuing, you agree to {0}'s [Terms]({1}) and [Privacy Statement]({2}). {3} Copilot may show [public code]({4}) suggestions and use your data to improve the product. You can change these [settings]({5}) anytime.",
|
|
781
817
|
defaultChat.provider.default.name,
|
|
782
818
|
defaultChat.termsStatementUrl,
|
|
@@ -786,29 +822,30 @@ let ChatSetup = class ChatSetup {
|
|
|
786
822
|
defaultChat.manageSettingsUrl
|
|
787
823
|
));
|
|
788
824
|
}
|
|
789
|
-
element.appendChild($('p', undefined, disposables.add(
|
|
825
|
+
element.appendChild($('p', undefined, disposables.add(this.markdownRendererService.render(( new MarkdownString(footer, { isTrusted: true })))).element));
|
|
790
826
|
return element;
|
|
791
827
|
}
|
|
792
828
|
};
|
|
793
829
|
ChatSetup = ChatSetup_1 = ( __decorate([
|
|
794
|
-
( __param(2,
|
|
795
|
-
( __param(3,
|
|
796
|
-
( __param(4,
|
|
797
|
-
( __param(5,
|
|
798
|
-
( __param(6,
|
|
799
|
-
( __param(7,
|
|
800
|
-
( __param(8,
|
|
801
|
-
( __param(9,
|
|
802
|
-
( __param(10,
|
|
830
|
+
( __param(2, ITelemetryService)),
|
|
831
|
+
( __param(3, ILayoutService)),
|
|
832
|
+
( __param(4, IKeybindingService)),
|
|
833
|
+
( __param(5, IChatEntitlementService)),
|
|
834
|
+
( __param(6, ILogService)),
|
|
835
|
+
( __param(7, IConfigurationService)),
|
|
836
|
+
( __param(8, IViewsService)),
|
|
837
|
+
( __param(9, IWorkspaceTrustRequestService)),
|
|
838
|
+
( __param(10, IMarkdownRendererService))
|
|
803
839
|
], ChatSetup));
|
|
804
840
|
let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
805
841
|
static { this.ID = 'workbench.contrib.chatSetup'; }
|
|
806
|
-
constructor(productService, instantiationService, commandService, telemetryService, chatEntitlementService, logService, contextKeyService, extensionEnablementService, extensionsWorkbenchService, extensionService, environmentService, configurationService) {
|
|
842
|
+
constructor(productService, instantiationService, commandService, telemetryService, chatEntitlementService, chatModeService, logService, contextKeyService, extensionEnablementService, extensionsWorkbenchService, extensionService, environmentService, configurationService) {
|
|
807
843
|
super();
|
|
808
844
|
this.productService = productService;
|
|
809
845
|
this.instantiationService = instantiationService;
|
|
810
846
|
this.commandService = commandService;
|
|
811
847
|
this.telemetryService = telemetryService;
|
|
848
|
+
this.chatModeService = chatModeService;
|
|
812
849
|
this.logService = logService;
|
|
813
850
|
this.contextKeyService = contextKeyService;
|
|
814
851
|
this.extensionEnablementService = extensionEnablementService;
|
|
@@ -835,44 +872,57 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
835
872
|
}
|
|
836
873
|
const defaultAgentDisposables = markAsSingleton(( new MutableDisposable()));
|
|
837
874
|
const vscodeAgentDisposables = markAsSingleton(( new MutableDisposable()));
|
|
875
|
+
const renameProviderDisposables = markAsSingleton(( new MutableDisposable()));
|
|
838
876
|
const updateRegistration = () => {
|
|
839
|
-
|
|
840
|
-
if (!
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
const
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
877
|
+
{
|
|
878
|
+
if (!context.state.hidden && !context.state.disabled) {
|
|
879
|
+
if (!defaultAgentDisposables.value) {
|
|
880
|
+
const disposables = defaultAgentDisposables.value = ( new DisposableStore());
|
|
881
|
+
const panelAgentDisposables = disposables.add(( new DisposableStore()));
|
|
882
|
+
for (const mode of [ChatModeKind.Ask, ChatModeKind.Edit, ChatModeKind.Agent]) {
|
|
883
|
+
const { agent, disposable } = SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.Chat, mode, context, controller);
|
|
884
|
+
panelAgentDisposables.add(disposable);
|
|
885
|
+
panelAgentDisposables.add(agent.onUnresolvableError(() => {
|
|
886
|
+
const panelAgentHasGuidance = ( chatViewsWelcomeRegistry.get().some(descriptor => this.contextKeyService.contextMatchesRules(descriptor.when)));
|
|
887
|
+
if (panelAgentHasGuidance) {
|
|
888
|
+
this.logService.error('[chat setup] Unresolvable error from Chat agent registration, clearing registration.');
|
|
889
|
+
panelAgentDisposables.dispose();
|
|
890
|
+
}
|
|
891
|
+
}));
|
|
892
|
+
}
|
|
893
|
+
disposables.add(SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.Terminal, undefined, context, controller).disposable);
|
|
894
|
+
disposables.add(SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.Notebook, undefined, context, controller).disposable);
|
|
895
|
+
disposables.add(SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.EditorInline, undefined, context, controller).disposable);
|
|
896
|
+
}
|
|
897
|
+
if ((!context.state.installed || context.state.entitlement === ChatEntitlement.Unknown || context.state.entitlement === ChatEntitlement.Unresolved) && !vscodeAgentDisposables.value) {
|
|
898
|
+
const disposables = vscodeAgentDisposables.value = ( new DisposableStore());
|
|
899
|
+
disposables.add(SetupAgent.registerBuiltInAgents(this.instantiationService, context, controller));
|
|
853
900
|
}
|
|
854
|
-
disposables.add(SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.Terminal, undefined, context, controller).disposable);
|
|
855
|
-
disposables.add(SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.Notebook, undefined, context, controller).disposable);
|
|
856
|
-
disposables.add(SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.EditorInline, undefined, context, controller).disposable);
|
|
857
901
|
}
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
902
|
+
else {
|
|
903
|
+
defaultAgentDisposables.clear();
|
|
904
|
+
vscodeAgentDisposables.clear();
|
|
905
|
+
}
|
|
906
|
+
if (context.state.installed && !context.state.disabled) {
|
|
907
|
+
vscodeAgentDisposables.clear();
|
|
861
908
|
}
|
|
862
909
|
}
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
910
|
+
{
|
|
911
|
+
if (!context.state.installed && !context.state.hidden && !context.state.disabled) {
|
|
912
|
+
if (!renameProviderDisposables.value) {
|
|
913
|
+
renameProviderDisposables.value = DefaultNewSymbolNamesProvider.registerProvider(this.instantiationService, context, controller);
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
else {
|
|
917
|
+
renameProviderDisposables.clear();
|
|
918
|
+
}
|
|
869
919
|
}
|
|
870
920
|
};
|
|
871
921
|
this._register(Event.runAndSubscribe(context.onDidChange, () => updateRegistration()));
|
|
872
922
|
}
|
|
873
923
|
registerActions(context, requests, controller) {
|
|
874
924
|
class ChatSetupTriggerAction extends Action2 {
|
|
875
|
-
static { this.CHAT_SETUP_ACTION_LABEL = ( localize2(
|
|
925
|
+
static { this.CHAT_SETUP_ACTION_LABEL = ( localize2(5441, "Use AI Features with Copilot for free...")); }
|
|
876
926
|
constructor() {
|
|
877
927
|
super({
|
|
878
928
|
id: CHAT_SETUP_ACTION_ID,
|
|
@@ -899,7 +949,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
899
949
|
await context.update({ hidden: false });
|
|
900
950
|
configurationService.updateValue(ChatTeardownContribution.CHAT_DISABLED_CONFIGURATION_KEY, false);
|
|
901
951
|
if (mode) {
|
|
902
|
-
const chatWidget = await
|
|
952
|
+
const chatWidget = await showChatView(viewsService, layoutService);
|
|
903
953
|
chatWidget?.input.setChatMode(mode);
|
|
904
954
|
}
|
|
905
955
|
const setup = ChatSetup.getInstance(instantiationService, context, controller);
|
|
@@ -907,8 +957,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
907
957
|
if (success === false && !lifecycleService.willShutdown) {
|
|
908
958
|
const { confirmed } = await dialogService.confirm({
|
|
909
959
|
type: Severity.Error,
|
|
910
|
-
message: ( localize(
|
|
911
|
-
primaryButton: ( localize(
|
|
960
|
+
message: ( localize(5442, "Chat setup failed. Would you like to try again?")),
|
|
961
|
+
primaryButton: ( localize(5443, "Retry")),
|
|
912
962
|
});
|
|
913
963
|
if (confirmed) {
|
|
914
964
|
return Boolean(await commandService.executeCommand(CHAT_SETUP_ACTION_ID, mode, options));
|
|
@@ -938,7 +988,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
938
988
|
constructor() {
|
|
939
989
|
super({
|
|
940
990
|
id: 'workbench.action.chat.triggerSetupForceSignIn',
|
|
941
|
-
title: ( localize2(
|
|
991
|
+
title: ( localize2(5444, "Sign in to use AI features"))
|
|
942
992
|
});
|
|
943
993
|
}
|
|
944
994
|
async run(accessor) {
|
|
@@ -966,7 +1016,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
966
1016
|
constructor() {
|
|
967
1017
|
super({
|
|
968
1018
|
id: 'workbench.action.chat.triggerSetupFromAccounts',
|
|
969
|
-
title: ( localize2(
|
|
1019
|
+
title: ( localize2(5445, "Sign in to use AI features...")),
|
|
970
1020
|
menu: {
|
|
971
1021
|
id: MenuId.AccountsContext,
|
|
972
1022
|
group: '2_copilot',
|
|
@@ -986,8 +1036,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
986
1036
|
constructor() {
|
|
987
1037
|
super({
|
|
988
1038
|
id: 'workbench.action.chat.upgradePlan',
|
|
989
|
-
title: ( localize2(
|
|
990
|
-
category: ( localize2(
|
|
1039
|
+
title: ( localize2(5446, "Upgrade to GitHub Copilot Pro")),
|
|
1040
|
+
category: ( localize2(5447, 'Chat')),
|
|
991
1041
|
f1: true,
|
|
992
1042
|
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ContextKeyExpr.or(
|
|
993
1043
|
ChatContextKeys.Entitlement.canSignUp,
|
|
@@ -1028,8 +1078,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
1028
1078
|
constructor() {
|
|
1029
1079
|
super({
|
|
1030
1080
|
id: 'workbench.action.chat.manageOverages',
|
|
1031
|
-
title: ( localize2(
|
|
1032
|
-
category: ( localize2(
|
|
1081
|
+
title: ( localize2(5448, "Manage GitHub Copilot Overages")),
|
|
1082
|
+
category: ( localize2(5447, 'Chat')),
|
|
1033
1083
|
f1: true,
|
|
1034
1084
|
precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ContextKeyExpr.or(
|
|
1035
1085
|
ChatContextKeys.Entitlement.planPro,
|
|
@@ -1070,8 +1120,19 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
1070
1120
|
handleURL: async (url) => {
|
|
1071
1121
|
const params = ( new URLSearchParams(url.query));
|
|
1072
1122
|
this.telemetryService.publicLog2('workbenchActionExecuted', { id: CHAT_SETUP_ACTION_ID, from: 'url', detail: params.get('referrer') ?? undefined });
|
|
1073
|
-
|
|
1074
|
-
|
|
1123
|
+
const agentParam = params.get('agent') ?? params.get('mode');
|
|
1124
|
+
if (agentParam) {
|
|
1125
|
+
const agents = this.chatModeService.getModes();
|
|
1126
|
+
const allAgents = [...agents.builtin, ...agents.custom];
|
|
1127
|
+
let foundAgent = allAgents.find(agent => agent.id === agentParam);
|
|
1128
|
+
if (!foundAgent) {
|
|
1129
|
+
const nameLower = agentParam.toLowerCase();
|
|
1130
|
+
foundAgent = allAgents.find(agent => agent.name.get().toLowerCase() === nameLower);
|
|
1131
|
+
}
|
|
1132
|
+
await this.commandService.executeCommand(CHAT_SETUP_ACTION_ID, foundAgent?.id);
|
|
1133
|
+
return true;
|
|
1134
|
+
}
|
|
1135
|
+
return false;
|
|
1075
1136
|
}
|
|
1076
1137
|
}));
|
|
1077
1138
|
}
|
|
@@ -1115,13 +1176,14 @@ ChatSetupContribution = ( __decorate([
|
|
|
1115
1176
|
( __param(2, ICommandService)),
|
|
1116
1177
|
( __param(3, ITelemetryService)),
|
|
1117
1178
|
( __param(4, IChatEntitlementService)),
|
|
1118
|
-
( __param(5,
|
|
1119
|
-
( __param(6,
|
|
1120
|
-
( __param(7,
|
|
1121
|
-
( __param(8,
|
|
1122
|
-
( __param(9,
|
|
1123
|
-
( __param(10,
|
|
1124
|
-
( __param(11,
|
|
1179
|
+
( __param(5, IChatModeService)),
|
|
1180
|
+
( __param(6, ILogService)),
|
|
1181
|
+
( __param(7, IContextKeyService)),
|
|
1182
|
+
( __param(8, IWorkbenchExtensionEnablementService)),
|
|
1183
|
+
( __param(9, IExtensionsWorkbenchService)),
|
|
1184
|
+
( __param(10, IExtensionService)),
|
|
1185
|
+
( __param(11, IEnvironmentService)),
|
|
1186
|
+
( __param(12, IConfigurationService))
|
|
1125
1187
|
], ChatSetupContribution));
|
|
1126
1188
|
let ChatTeardownContribution = class ChatTeardownContribution extends Disposable {
|
|
1127
1189
|
static { ChatTeardownContribution_1 = this; }
|
|
@@ -1178,7 +1240,7 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
|
|
|
1178
1240
|
return;
|
|
1179
1241
|
}
|
|
1180
1242
|
await this.extensionsWorkbenchService.setEnablement([defaultChatExtension], state);
|
|
1181
|
-
await this.extensionsWorkbenchService.updateRunningExtensions(state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(
|
|
1243
|
+
await this.extensionsWorkbenchService.updateRunningExtensions(state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(5449, "Enabling AI features")) : ( localize(5450, "Disabling AI features")));
|
|
1182
1244
|
}
|
|
1183
1245
|
maybeHideAuxiliaryBar() {
|
|
1184
1246
|
const activeContainers = this.viewDescriptorService.getViewContainersByLocation(ViewContainerLocation.AuxiliaryBar).filter(container => this.viewDescriptorService.getViewContainerModel(container).activeViewDescriptors.length > 0);
|
|
@@ -1191,14 +1253,14 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
|
|
|
1191
1253
|
registerActions() {
|
|
1192
1254
|
class ChatSetupHideAction extends Action2 {
|
|
1193
1255
|
static { this.ID = 'workbench.action.chat.hideSetup'; }
|
|
1194
|
-
static { this.TITLE = ( localize2(
|
|
1256
|
+
static { this.TITLE = ( localize2(5451, "Learn How to Hide AI Features")); }
|
|
1195
1257
|
constructor() {
|
|
1196
1258
|
super({
|
|
1197
1259
|
id: ChatSetupHideAction.ID,
|
|
1198
1260
|
title: ChatSetupHideAction.TITLE,
|
|
1199
1261
|
f1: true,
|
|
1200
1262
|
category: CHAT_CATEGORY,
|
|
1201
|
-
precondition: (
|
|
1263
|
+
precondition: ( ChatContextKeys.Setup.hidden.negate()),
|
|
1202
1264
|
menu: {
|
|
1203
1265
|
id: MenuId.ChatTitleBarMenu,
|
|
1204
1266
|
group: 'z_hide',
|
|
@@ -1264,7 +1326,7 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1264
1326
|
}
|
|
1265
1327
|
async setup(options = {}) {
|
|
1266
1328
|
const watch = ( new StopWatch(false));
|
|
1267
|
-
const title = ( localize(
|
|
1329
|
+
const title = ( localize(5452, "Getting chat ready..."));
|
|
1268
1330
|
const badge = this.activityService.showViewContainerActivity(CHAT_SIDEBAR_PANEL_ID, {
|
|
1269
1331
|
badge: ( new ProgressBadge(() => title)),
|
|
1270
1332
|
});
|
|
@@ -1335,12 +1397,12 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1335
1397
|
const { confirmed } = await this.dialogService.confirm({
|
|
1336
1398
|
type: Severity.Error,
|
|
1337
1399
|
message: ( localize(
|
|
1338
|
-
|
|
1400
|
+
5453,
|
|
1339
1401
|
"Failed to sign in to {0}. Would you like to try again?",
|
|
1340
1402
|
ChatEntitlementRequests.providerId(this.configurationService) === defaultChat.provider.enterprise.id ? defaultChat.provider.enterprise.name : defaultChat.provider.default.name
|
|
1341
1403
|
)),
|
|
1342
|
-
detail: ( localize(
|
|
1343
|
-
primaryButton: ( localize(
|
|
1404
|
+
detail: ( localize(5454, "You must be signed in to use AI features.")),
|
|
1405
|
+
primaryButton: ( localize(5443, "Retry"))
|
|
1344
1406
|
});
|
|
1345
1407
|
if (confirmed) {
|
|
1346
1408
|
return this.signIn(options);
|
|
@@ -1411,11 +1473,11 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1411
1473
|
const { confirmed } = await this.dialogService.confirm({
|
|
1412
1474
|
type: Severity.Error,
|
|
1413
1475
|
message: ( localize(
|
|
1414
|
-
|
|
1476
|
+
5455,
|
|
1415
1477
|
"An error occurred while setting up chat. Would you like to try again?"
|
|
1416
1478
|
)),
|
|
1417
1479
|
detail: error && !isCancellationError(error) ? toErrorMessage(error) : undefined,
|
|
1418
|
-
primaryButton: ( localize(
|
|
1480
|
+
primaryButton: ( localize(5443, "Retry"))
|
|
1419
1481
|
});
|
|
1420
1482
|
if (confirmed) {
|
|
1421
1483
|
return this.doInstallWithRetry();
|
|
@@ -1486,8 +1548,8 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1486
1548
|
}
|
|
1487
1549
|
let isSingleWord = false;
|
|
1488
1550
|
const result = await this.quickInputService.input({
|
|
1489
|
-
prompt: ( localize(
|
|
1490
|
-
placeHolder: ( localize(
|
|
1551
|
+
prompt: ( localize(5456, "What is your {0} instance?", defaultChat.provider.enterprise.name)),
|
|
1552
|
+
placeHolder: ( localize(5457, 'i.e. "octocat" or "https://octocat.ghe.com"...')),
|
|
1491
1553
|
ignoreFocusLost: true,
|
|
1492
1554
|
value: uri,
|
|
1493
1555
|
validateInput: async (value) => {
|
|
@@ -1498,14 +1560,14 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1498
1560
|
if (domainRegEx.test(value)) {
|
|
1499
1561
|
isSingleWord = true;
|
|
1500
1562
|
return {
|
|
1501
|
-
content: ( localize(
|
|
1563
|
+
content: ( localize(5458, "Will resolve to {0}", `https://${value}.ghe.com`)),
|
|
1502
1564
|
severity: Severity.Info
|
|
1503
1565
|
};
|
|
1504
1566
|
}
|
|
1505
1567
|
if (!fullUriRegEx.test(value)) {
|
|
1506
1568
|
return {
|
|
1507
1569
|
content: ( localize(
|
|
1508
|
-
|
|
1570
|
+
5459,
|
|
1509
1571
|
'You must enter a valid {0} instance (i.e. "octocat" or "https://octocat.ghe.com")',
|
|
1510
1572
|
defaultChat.provider.enterprise.name
|
|
1511
1573
|
)),
|