@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
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
|
|
2
|
+
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
3
|
+
import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
4
|
+
import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service';
|
|
5
|
+
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
|
+
import { Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
7
|
+
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
8
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
9
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
10
|
+
import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
11
|
+
import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
|
|
12
|
+
import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
|
|
13
|
+
import { getCleanPromptName } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
14
|
+
import { PROMPT_LANGUAGE_ID, PromptsType, AGENT_LANGUAGE_ID, INSTRUCTIONS_LANGUAGE_ID } from '@codingame/monaco-vscode-8d4ef243-d8c1-540d-9f11-38df46f54c9f-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
15
|
+
import { CHAT_CATEGORY } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
16
|
+
import { askForPromptFileName } from '@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common/vscode/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName';
|
|
17
|
+
import { askForPromptSourceFolder } from '@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common/vscode/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder';
|
|
18
|
+
|
|
19
|
+
class BaseSaveAsPromptFileAction extends Action2 {
|
|
20
|
+
constructor(opts, promptType) {
|
|
21
|
+
super(opts);
|
|
22
|
+
this.promptType = promptType;
|
|
23
|
+
}
|
|
24
|
+
async run(accessor, configUri) {
|
|
25
|
+
const instantiationService = accessor.get(IInstantiationService);
|
|
26
|
+
const codeEditorService = accessor.get(ICodeEditorService);
|
|
27
|
+
const textFileService = accessor.get(ITextFileService);
|
|
28
|
+
const fileService = accessor.get(IFileService);
|
|
29
|
+
const activeCodeEditor = codeEditorService.getActiveCodeEditor();
|
|
30
|
+
if (!activeCodeEditor) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const model = activeCodeEditor.getModel();
|
|
34
|
+
if (!model) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const newFolder = await instantiationService.invokeFunction(askForPromptSourceFolder, this.promptType, undefined, true);
|
|
38
|
+
if (!newFolder) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const newName = await instantiationService.invokeFunction(askForPromptFileName, this.promptType, newFolder.uri, getCleanPromptName(model.uri));
|
|
42
|
+
if (!newName) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const newFile = joinPath(newFolder.uri, newName);
|
|
46
|
+
if (model.uri.scheme === Schemas.untitled) {
|
|
47
|
+
await textFileService.saveAs(model.uri, newFile, { from: model.uri });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
await fileService.copy(model.uri, newFile);
|
|
51
|
+
}
|
|
52
|
+
await codeEditorService.openCodeEditor({ resource: newFile }, activeCodeEditor);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function createOptions(id, title, description, languageId) {
|
|
56
|
+
return {
|
|
57
|
+
id: id,
|
|
58
|
+
title: title,
|
|
59
|
+
metadata: {
|
|
60
|
+
description: description,
|
|
61
|
+
},
|
|
62
|
+
category: CHAT_CATEGORY,
|
|
63
|
+
f1: false,
|
|
64
|
+
menu: {
|
|
65
|
+
id: MenuId.EditorContent,
|
|
66
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(ResourceContextKey.Scheme.key, Schemas.untitled)), ( ContextKeyExpr.equals(ResourceContextKey.LangId.key, languageId)), ( ContextKeyExpr.notEquals(chatEditingWidgetFileStateContextKey.key, ModifiedFileEntryState.Modified))))
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const SAVE_AS_PROMPT_FILE_ACTION_ID = 'workbench.action.chat.save-as-prompt';
|
|
71
|
+
class SaveAsPromptFileAction extends BaseSaveAsPromptFileAction {
|
|
72
|
+
constructor() {
|
|
73
|
+
super(createOptions(SAVE_AS_PROMPT_FILE_ACTION_ID, ( localize2(5701, "Save As Prompt File")), ( localize2(5702, "Save as prompt file")), PROMPT_LANGUAGE_ID), PromptsType.prompt);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const SAVE_AS_AGENT_FILE_ACTION_ID = 'workbench.action.chat.save-as-agent';
|
|
77
|
+
class SaveAsAgentFileAction extends BaseSaveAsPromptFileAction {
|
|
78
|
+
constructor() {
|
|
79
|
+
super(createOptions(SAVE_AS_AGENT_FILE_ACTION_ID, ( localize2(5703, "Save As Agent File")), ( localize2(5704, "Save as agent file")), AGENT_LANGUAGE_ID), PromptsType.agent);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID = 'workbench.action.chat.save-as-instructions';
|
|
83
|
+
class SaveAsInstructionsFileAction extends BaseSaveAsPromptFileAction {
|
|
84
|
+
constructor() {
|
|
85
|
+
super(createOptions(SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, ( localize2(5705, "Save As Instructions File")), ( localize2(5706, "Save as instructions file")), INSTRUCTIONS_LANGUAGE_ID), PromptsType.instructions);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { SAVE_AS_AGENT_FILE_ACTION_ID, SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, SAVE_AS_PROMPT_FILE_ACTION_ID, SaveAsAgentFileAction, SaveAsInstructionsFileAction, SaveAsPromptFileAction };
|
|
@@ -18,7 +18,7 @@ import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
18
18
|
import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
19
19
|
import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
20
20
|
import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
21
|
-
import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-
|
|
21
|
+
import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
22
22
|
import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
23
23
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
|
|
24
24
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
@@ -29,7 +29,7 @@ import { parse } from '@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-17323564
|
|
|
29
29
|
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
|
|
30
30
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
31
31
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
32
|
-
import { ChatViewId } from '@codingame/monaco-vscode-
|
|
32
|
+
import { ChatViewId } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
33
33
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
34
34
|
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
35
35
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -44,11 +44,11 @@ const toolSetsSchema = {
|
|
|
44
44
|
allowComments: true,
|
|
45
45
|
allowTrailingCommas: true,
|
|
46
46
|
defaultSnippets: [{
|
|
47
|
-
label: ( localize(
|
|
47
|
+
label: ( localize(5707, "Empty tool set")),
|
|
48
48
|
body: { '${1:toolSetName}': { 'tools': ['${2:someTool}', '${3:anotherTool}'], 'description': '${4:description}', 'icon': '${5:tools}' } }
|
|
49
49
|
}],
|
|
50
50
|
type: 'object',
|
|
51
|
-
description: ( localize(
|
|
51
|
+
description: ( localize(5708, 'User tool sets configuration')),
|
|
52
52
|
additionalProperties: {
|
|
53
53
|
type: 'object',
|
|
54
54
|
required: ['tools'],
|
|
@@ -56,7 +56,7 @@ const toolSetsSchema = {
|
|
|
56
56
|
properties: {
|
|
57
57
|
tools: {
|
|
58
58
|
description: ( localize(
|
|
59
|
-
|
|
59
|
+
5709,
|
|
60
60
|
"A list of tools or tool sets to include in this tool set. Cannot be empty and must reference tools the way they are referenced in prompts."
|
|
61
61
|
)),
|
|
62
62
|
type: 'array',
|
|
@@ -69,7 +69,7 @@ const toolSetsSchema = {
|
|
|
69
69
|
},
|
|
70
70
|
icon: {
|
|
71
71
|
description: ( localize(
|
|
72
|
-
|
|
72
|
+
5710,
|
|
73
73
|
'Icon to use for this tool set in the UI. Uses the "\\$(name)"-syntax, like "\\$(zap)"'
|
|
74
74
|
)),
|
|
75
75
|
type: 'string',
|
|
@@ -77,7 +77,7 @@ const toolSetsSchema = {
|
|
|
77
77
|
markdownEnumDescriptions: Array.from(getAllCodicons(), icon => `$(${icon.id})`),
|
|
78
78
|
},
|
|
79
79
|
description: {
|
|
80
|
-
description: ( localize(
|
|
80
|
+
description: ( localize(5711, "A short description of this tool set.")),
|
|
81
81
|
type: 'string'
|
|
82
82
|
},
|
|
83
83
|
},
|
|
@@ -164,7 +164,7 @@ let UserToolSetsContributions = class UserToolSetsContributions extends Disposab
|
|
|
164
164
|
});
|
|
165
165
|
for (const item of data) {
|
|
166
166
|
toolEnumValues.push(item.name);
|
|
167
|
-
toolEnumDescriptions.push(( localize(
|
|
167
|
+
toolEnumDescriptions.push(( localize(5712, "{1} ({0})\n\n{2}", item.sourceLabel, item.name, item.description)));
|
|
168
168
|
}
|
|
169
169
|
store.clear();
|
|
170
170
|
reg.registerSchema(toolSetSchemaId, toolSetsSchema, store);
|
|
@@ -257,8 +257,8 @@ class ConfigureToolSets extends Action2 {
|
|
|
257
257
|
constructor() {
|
|
258
258
|
super({
|
|
259
259
|
id: ConfigureToolSets.ID,
|
|
260
|
-
title: ( localize2(
|
|
261
|
-
shortTitle: ( localize(
|
|
260
|
+
title: ( localize2(5713, 'Configure Tool Sets...')),
|
|
261
|
+
shortTitle: ( localize(5714, "Tool Sets")),
|
|
262
262
|
category: CHAT_CATEGORY,
|
|
263
263
|
f1: true,
|
|
264
264
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ChatContextKeys.Tools.toolsCount.greater(0))),
|
|
@@ -266,7 +266,7 @@ class ConfigureToolSets extends Action2 {
|
|
|
266
266
|
id: CHAT_CONFIG_MENU_ID,
|
|
267
267
|
when: ( ContextKeyExpr.equals('view', ChatViewId)),
|
|
268
268
|
order: 11,
|
|
269
|
-
group: '
|
|
269
|
+
group: '2_level'
|
|
270
270
|
},
|
|
271
271
|
});
|
|
272
272
|
}
|
|
@@ -279,7 +279,7 @@ class ConfigureToolSets extends Action2 {
|
|
|
279
279
|
const textFileService = accessor.get(ITextFileService);
|
|
280
280
|
const picks = [];
|
|
281
281
|
picks.push({
|
|
282
|
-
label: ( localize(
|
|
282
|
+
label: ( localize(5715, 'Create new tool sets file...')),
|
|
283
283
|
alwaysShow: true,
|
|
284
284
|
iconClass: ThemeIcon.asClassName(Codicon.plus)
|
|
285
285
|
});
|
|
@@ -296,7 +296,7 @@ class ConfigureToolSets extends Action2 {
|
|
|
296
296
|
}
|
|
297
297
|
const pick = await quickInputService.pick(picks, {
|
|
298
298
|
canPickMany: false,
|
|
299
|
-
placeHolder: ( localize(
|
|
299
|
+
placeHolder: ( localize(5716, 'Select a tool set to configure')),
|
|
300
300
|
});
|
|
301
301
|
if (!pick) {
|
|
302
302
|
return;
|
|
@@ -304,13 +304,13 @@ class ConfigureToolSets extends Action2 {
|
|
|
304
304
|
let resource;
|
|
305
305
|
if (!pick.toolset) {
|
|
306
306
|
const name = await quickInputService.input({
|
|
307
|
-
placeHolder: ( localize(
|
|
307
|
+
placeHolder: ( localize(5717, "Type tool sets file name")),
|
|
308
308
|
validateInput: async (input) => {
|
|
309
309
|
if (!input) {
|
|
310
|
-
return localize(
|
|
310
|
+
return localize(5718, "Invalid file name");
|
|
311
311
|
}
|
|
312
312
|
if (!isValidBasename(input)) {
|
|
313
|
-
return localize(
|
|
313
|
+
return localize(5719, "'{0}' is not a valid file name", input);
|
|
314
314
|
}
|
|
315
315
|
return undefined;
|
|
316
316
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js
CHANGED
|
@@ -8,40 +8,41 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
|
|
|
8
8
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
9
9
|
import { checkProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
|
|
10
10
|
import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
11
|
-
import { ChatViewsWelcomeExtensions } from '@codingame/monaco-vscode-
|
|
11
|
+
import { ChatViewsWelcomeExtensions } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
|
|
12
12
|
|
|
13
|
+
const chatViewsWelcomeJsonSchema = {
|
|
14
|
+
type: 'object',
|
|
15
|
+
additionalProperties: false,
|
|
16
|
+
required: ['icon', 'title', 'contents', 'when'],
|
|
17
|
+
properties: {
|
|
18
|
+
icon: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: ( localize(5725, 'The icon for the welcome message.')),
|
|
21
|
+
},
|
|
22
|
+
title: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
description: ( localize(5726, 'The title of the welcome message.')),
|
|
25
|
+
},
|
|
26
|
+
content: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
description: ( localize(
|
|
29
|
+
5727,
|
|
30
|
+
'The content of the welcome message. The first command link will be rendered as a button.'
|
|
31
|
+
)),
|
|
32
|
+
},
|
|
33
|
+
when: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: ( localize(5728, 'Condition when the welcome message is shown.')),
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
13
39
|
const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
14
40
|
extensionPoint: 'chatViewsWelcome',
|
|
15
41
|
jsonSchema: {
|
|
16
|
-
description: ( localize(
|
|
42
|
+
description: ( localize(5729, 'Contributes a welcome message to a chat view')),
|
|
17
43
|
type: 'array',
|
|
18
|
-
items:
|
|
19
|
-
|
|
20
|
-
type: 'object',
|
|
21
|
-
properties: {
|
|
22
|
-
icon: {
|
|
23
|
-
type: 'string',
|
|
24
|
-
description: ( localize(5525, 'The icon for the welcome message.')),
|
|
25
|
-
},
|
|
26
|
-
title: {
|
|
27
|
-
type: 'string',
|
|
28
|
-
description: ( localize(5526, 'The title of the welcome message.')),
|
|
29
|
-
},
|
|
30
|
-
content: {
|
|
31
|
-
type: 'string',
|
|
32
|
-
description: ( localize(
|
|
33
|
-
5527,
|
|
34
|
-
'The content of the welcome message. The first command link will be rendered as a button.'
|
|
35
|
-
)),
|
|
36
|
-
},
|
|
37
|
-
when: {
|
|
38
|
-
type: 'string',
|
|
39
|
-
description: ( localize(5528, 'Condition when the welcome message is shown.')),
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
required: ['icon', 'title', 'contents', 'when'],
|
|
44
|
-
}
|
|
44
|
+
items: chatViewsWelcomeJsonSchema,
|
|
45
|
+
},
|
|
45
46
|
});
|
|
46
47
|
let ChatViewsWelcomeHandler = class ChatViewsWelcomeHandler {
|
|
47
48
|
static { this.ID = 'workbench.contrib.chatViewsWelcomeHandler'; }
|
package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts
CHANGED
|
@@ -1,35 +1,26 @@
|
|
|
1
|
-
import { DeferredPromise } from "@codingame/monaco-vscode-api/vscode/vs/base/common/async";
|
|
2
1
|
import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
|
|
3
|
-
import {
|
|
2
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
|
+
import { IChatExtensionsContent, IChatTodoListContent, IChatToolInputInvocationData, IChatToolInvocation, IChatToolInvocationSerialized, type IChatTerminalToolInvocationData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
4
4
|
import { IPreparedToolInvocation, IToolConfirmationMessages, IToolData, IToolProgressStep, IToolResult, ToolDataSource } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
|
|
5
5
|
export declare class ChatToolInvocation implements IChatToolInvocation {
|
|
6
6
|
readonly toolCallId: string;
|
|
7
7
|
readonly kind: "toolInvocation";
|
|
8
|
-
private _isComplete;
|
|
9
|
-
get isComplete(): boolean;
|
|
10
|
-
private _isCompleteDeferred;
|
|
11
|
-
get isCompletePromise(): Promise<void>;
|
|
12
|
-
private _confirmDeferred;
|
|
13
|
-
get confirmed(): DeferredPromise<ConfirmedReason>;
|
|
14
|
-
get isConfirmed(): ConfirmedReason | undefined;
|
|
15
|
-
private _resultDetails;
|
|
16
|
-
get resultDetails(): IToolResult["toolResultDetails"] | undefined;
|
|
17
8
|
readonly invocationMessage: string | IMarkdownString;
|
|
18
9
|
readonly originMessage: string | IMarkdownString | undefined;
|
|
19
10
|
pastTenseMessage: string | IMarkdownString | undefined;
|
|
20
|
-
|
|
11
|
+
confirmationMessages: IToolConfirmationMessages | undefined;
|
|
21
12
|
readonly presentation: IPreparedToolInvocation["presentation"];
|
|
22
13
|
readonly toolId: string;
|
|
23
14
|
readonly source: ToolDataSource;
|
|
24
15
|
readonly fromSubAgent: boolean | undefined;
|
|
16
|
+
readonly parameters: unknown;
|
|
25
17
|
readonly toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData | IChatExtensionsContent | IChatTodoListContent;
|
|
26
|
-
readonly
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
get confirmationMessages(): IToolConfirmationMessages | undefined;
|
|
18
|
+
private readonly _progress;
|
|
19
|
+
private readonly _state;
|
|
20
|
+
get state(): IObservable<IChatToolInvocation.State>;
|
|
21
|
+
constructor(preparedInvocation: IPreparedToolInvocation | undefined, toolData: IToolData, toolCallId: string, fromSubAgent: boolean | undefined, parameters: unknown);
|
|
22
|
+
private _setCompleted;
|
|
23
|
+
didExecuteTool(result: IToolResult | undefined, final?: boolean): IChatToolInvocation.State;
|
|
33
24
|
acceptProgress(step: IToolProgressStep): void;
|
|
34
25
|
toJSON(): IChatToolInvocationSerialized;
|
|
35
26
|
}
|
|
@@ -1,86 +1,104 @@
|
|
|
1
1
|
|
|
2
|
-
import { DeferredPromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
3
2
|
import { encodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
4
3
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
5
4
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
|
-
import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
|
|
5
|
+
import { ToolConfirmKind, IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
|
|
7
6
|
import { isToolResultOutputDetails } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
8
7
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
9
8
|
|
|
10
9
|
class ChatToolInvocation {
|
|
11
|
-
get
|
|
12
|
-
return this.
|
|
10
|
+
get state() {
|
|
11
|
+
return this._state;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
return this._isCompleteDeferred.p;
|
|
16
|
-
}
|
|
17
|
-
get confirmed() {
|
|
18
|
-
return this._confirmDeferred;
|
|
19
|
-
}
|
|
20
|
-
get isConfirmed() {
|
|
21
|
-
return this._confirmDeferred.value;
|
|
22
|
-
}
|
|
23
|
-
get resultDetails() {
|
|
24
|
-
return this._resultDetails;
|
|
25
|
-
}
|
|
26
|
-
constructor(preparedInvocation, toolData, toolCallId, fromSubAgent) {
|
|
13
|
+
constructor(preparedInvocation, toolData, toolCallId, fromSubAgent, parameters) {
|
|
27
14
|
this.toolCallId = toolCallId;
|
|
28
15
|
this.kind = 'toolInvocation';
|
|
29
|
-
this.
|
|
30
|
-
|
|
31
|
-
this._confirmDeferred = ( new DeferredPromise());
|
|
32
|
-
this.progress = observableValue(this, { progress: 0 });
|
|
33
|
-
const defaultMessage = ( localize(5598, "Using {0}", `"${toolData.displayName}"`));
|
|
16
|
+
this._progress = observableValue(this, { progress: 0 });
|
|
17
|
+
const defaultMessage = ( localize(5802, "Using {0}", `"${toolData.displayName}"`));
|
|
34
18
|
const invocationMessage = preparedInvocation?.invocationMessage ?? defaultMessage;
|
|
35
19
|
this.invocationMessage = invocationMessage;
|
|
36
20
|
this.pastTenseMessage = preparedInvocation?.pastTenseMessage;
|
|
37
21
|
this.originMessage = preparedInvocation?.originMessage;
|
|
38
|
-
this.
|
|
22
|
+
this.confirmationMessages = preparedInvocation?.confirmationMessages;
|
|
39
23
|
this.presentation = preparedInvocation?.presentation;
|
|
40
24
|
this.toolSpecificData = preparedInvocation?.toolSpecificData;
|
|
41
25
|
this.toolId = toolData.id;
|
|
42
26
|
this.source = toolData.source;
|
|
43
27
|
this.fromSubAgent = fromSubAgent;
|
|
44
|
-
|
|
45
|
-
|
|
28
|
+
this.parameters = parameters;
|
|
29
|
+
if (!this.confirmationMessages?.title) {
|
|
30
|
+
this._state = observableValue(this, { type: IChatToolInvocation.StateKind.Executing, confirmed: { type: ToolConfirmKind.ConfirmationNotNeeded }, progress: this._progress });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this._state = observableValue(this, {
|
|
34
|
+
type: IChatToolInvocation.StateKind.WaitingForConfirmation,
|
|
35
|
+
confirm: reason => {
|
|
36
|
+
if (reason.type === ToolConfirmKind.Denied || reason.type === ToolConfirmKind.Skipped) {
|
|
37
|
+
this._state.set({ type: IChatToolInvocation.StateKind.Cancelled, reason: reason.type }, undefined);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this._state.set({ type: IChatToolInvocation.StateKind.Executing, confirmed: reason, progress: this._progress }, undefined);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
_setCompleted(result, postConfirmed) {
|
|
47
|
+
if (postConfirmed && (postConfirmed.type === ToolConfirmKind.Denied || postConfirmed.type === ToolConfirmKind.Skipped)) {
|
|
48
|
+
this._state.set({ type: IChatToolInvocation.StateKind.Cancelled, reason: postConfirmed.type }, undefined);
|
|
49
|
+
return;
|
|
46
50
|
}
|
|
47
|
-
this.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
this._state.set({
|
|
52
|
+
type: IChatToolInvocation.StateKind.Completed,
|
|
53
|
+
confirmed: IChatToolInvocation.executionConfirmedOrDenied(this) || { type: ToolConfirmKind.ConfirmationNotNeeded },
|
|
54
|
+
resultDetails: result?.toolResultDetails,
|
|
55
|
+
postConfirmed,
|
|
56
|
+
contentForModel: result?.content || [],
|
|
57
|
+
}, undefined);
|
|
53
58
|
}
|
|
54
|
-
|
|
59
|
+
didExecuteTool(result, final) {
|
|
55
60
|
if (result?.toolResultMessage) {
|
|
56
61
|
this.pastTenseMessage = result.toolResultMessage;
|
|
57
62
|
}
|
|
58
|
-
this.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
else if (this._progress.get().message) {
|
|
64
|
+
this.pastTenseMessage = this._progress.get().message;
|
|
65
|
+
}
|
|
66
|
+
if (this.confirmationMessages?.confirmResults && !result?.toolResultError && result?.confirmResults !== false && !final) {
|
|
67
|
+
this._state.set({
|
|
68
|
+
type: IChatToolInvocation.StateKind.WaitingForPostApproval,
|
|
69
|
+
confirmed: IChatToolInvocation.executionConfirmedOrDenied(this) || { type: ToolConfirmKind.ConfirmationNotNeeded },
|
|
70
|
+
resultDetails: result?.toolResultDetails,
|
|
71
|
+
contentForModel: result?.content || [],
|
|
72
|
+
confirm: reason => this._setCompleted(result, reason),
|
|
73
|
+
}, undefined);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this._setCompleted(result);
|
|
77
|
+
}
|
|
78
|
+
return this._state.get();
|
|
63
79
|
}
|
|
64
80
|
acceptProgress(step) {
|
|
65
|
-
const prev = this.
|
|
66
|
-
this.
|
|
81
|
+
const prev = this._progress.get();
|
|
82
|
+
this._progress.set({
|
|
67
83
|
progress: step.progress || prev.progress || 0,
|
|
68
84
|
message: step.message,
|
|
69
85
|
}, undefined);
|
|
70
86
|
}
|
|
71
87
|
toJSON() {
|
|
88
|
+
const waitingForPostApproval = this.state.get().type === IChatToolInvocation.StateKind.WaitingForPostApproval;
|
|
89
|
+
const details = waitingForPostApproval ? undefined : IChatToolInvocation.resultDetails(this);
|
|
72
90
|
return {
|
|
73
91
|
kind: 'toolInvocationSerialized',
|
|
74
92
|
presentation: this.presentation,
|
|
75
93
|
invocationMessage: this.invocationMessage,
|
|
76
94
|
pastTenseMessage: this.pastTenseMessage,
|
|
77
95
|
originMessage: this.originMessage,
|
|
78
|
-
isConfirmed:
|
|
96
|
+
isConfirmed: waitingForPostApproval ? { type: ToolConfirmKind.Skipped } : IChatToolInvocation.executionConfirmedOrDenied(this),
|
|
79
97
|
isComplete: true,
|
|
80
98
|
source: this.source,
|
|
81
|
-
resultDetails: isToolResultOutputDetails(
|
|
82
|
-
? { output: { type: 'data', mimeType:
|
|
83
|
-
:
|
|
99
|
+
resultDetails: isToolResultOutputDetails(details)
|
|
100
|
+
? { output: { type: 'data', mimeType: details.output.mimeType, base64Data: encodeBase64(details.output.value) } }
|
|
101
|
+
: details,
|
|
84
102
|
toolSpecificData: this.toolSpecificData,
|
|
85
103
|
toolCallId: this.toolCallId,
|
|
86
104
|
toolId: this.toolId,
|
package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js
CHANGED
|
@@ -6,8 +6,10 @@ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
6
6
|
import { newWriteableStream } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stream';
|
|
7
7
|
import { FileSystemProviderCapabilities, FileType, createFileSystemProviderError, FileSystemProviderErrorCode } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
8
8
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
9
|
-
import { ChatResponseResource } from '@codingame/monaco-vscode-
|
|
9
|
+
import { ChatResponseResource } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
10
|
+
import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
|
|
10
11
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service';
|
|
12
|
+
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
|
|
11
13
|
import { isToolResultInputOutputDetails } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
|
|
12
14
|
|
|
13
15
|
let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSystemProvider extends Disposable {
|
|
@@ -67,7 +69,7 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
|
|
|
67
69
|
throw createFileSystemProviderError(`File not found`, FileSystemProviderErrorCode.FileNotFound);
|
|
68
70
|
}
|
|
69
71
|
const { sessionId, toolCallId, index } = parsed;
|
|
70
|
-
const session = this.chatService.getSession(sessionId);
|
|
72
|
+
const session = this.chatService.getSession(LocalChatSessionUri.forSession(sessionId));
|
|
71
73
|
if (!session) {
|
|
72
74
|
throw createFileSystemProviderError(`File not found`, FileSystemProviderErrorCode.FileNotFound);
|
|
73
75
|
}
|
|
@@ -83,10 +85,11 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
|
|
|
83
85
|
}
|
|
84
86
|
lookupURI(uri) {
|
|
85
87
|
const { result, index } = this.findMatchingInvocation(uri);
|
|
86
|
-
|
|
88
|
+
const details = IChatToolInvocation.resultDetails(result);
|
|
89
|
+
if (!isToolResultInputOutputDetails(details)) {
|
|
87
90
|
throw createFileSystemProviderError(`Tool does not have I/O`, FileSystemProviderErrorCode.FileNotFound);
|
|
88
91
|
}
|
|
89
|
-
const part =
|
|
92
|
+
const part = details.output.at(index);
|
|
90
93
|
if (!part) {
|
|
91
94
|
throw createFileSystemProviderError(`Tool does not have part`, FileSystemProviderErrorCode.FileNotFound);
|
|
92
95
|
}
|
|
@@ -11,9 +11,10 @@ import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs
|
|
|
11
11
|
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
12
12
|
import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service";
|
|
13
13
|
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
14
|
+
import { IChatEditingSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService";
|
|
15
|
+
import { ChatModel, IChatModel, IChatRequestModel, IChatRequestVariableData, IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
16
|
+
import { IParsedChatRequest } from "@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
|
|
17
|
+
import { IChatCompleteResponse, IChatDetail, IChatSendRequestData, IChatSendRequestOptions, IChatSessionContext, IChatTransferredSessionData, IChatUserActionEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
17
18
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService.service";
|
|
18
19
|
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
19
20
|
import { IChatSlashCommandService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service";
|
|
@@ -34,35 +35,33 @@ export declare class ChatService extends Disposable implements IChatService {
|
|
|
34
35
|
_serviceBrand: undefined;
|
|
35
36
|
private readonly _sessionModels;
|
|
36
37
|
private readonly _contentProviderSessionModels;
|
|
37
|
-
private readonly _modelToExternalSession;
|
|
38
38
|
private readonly _pendingRequests;
|
|
39
39
|
private _persistedSessions;
|
|
40
40
|
private _transferredSessionData;
|
|
41
41
|
get transferredSessionData(): IChatTransferredSessionData | undefined;
|
|
42
42
|
private readonly _onDidSubmitRequest;
|
|
43
43
|
readonly onDidSubmitRequest: Event<{
|
|
44
|
-
|
|
44
|
+
readonly chatSessionResource: URI;
|
|
45
45
|
}>;
|
|
46
46
|
private readonly _onDidPerformUserAction;
|
|
47
47
|
readonly onDidPerformUserAction: Event<IChatUserActionEvent>;
|
|
48
48
|
private readonly _onDidDisposeSession;
|
|
49
49
|
readonly onDidDisposeSession: Event<{
|
|
50
|
-
|
|
50
|
+
readonly sessionResource: URI;
|
|
51
51
|
reason: "cleared";
|
|
52
52
|
}>;
|
|
53
53
|
private readonly _sessionFollowupCancelTokens;
|
|
54
54
|
private readonly _chatServiceTelemetry;
|
|
55
55
|
private readonly _chatSessionStore;
|
|
56
|
-
private _mcpServersInteractionMessageShown;
|
|
57
56
|
readonly requestInProgressObs: IObservable<boolean>;
|
|
58
57
|
get edits2Enabled(): boolean;
|
|
59
58
|
private get isEmptyWindow();
|
|
60
59
|
constructor(storageService: IStorageService, logService: ILogService, extensionService: IExtensionService, instantiationService: IInstantiationService, workspaceContextService: IWorkspaceContextService, chatSlashCommandService: IChatSlashCommandService, chatAgentService: IChatAgentService, configurationService: IConfigurationService, chatTransferService: IChatTransferService, chatSessionService: IChatSessionsService, mcpService: IMcpService);
|
|
61
|
-
get editingSessions():
|
|
60
|
+
get editingSessions(): IChatEditingSession[];
|
|
62
61
|
isEnabled(location: ChatAgentLocation): boolean;
|
|
63
62
|
private saveState;
|
|
64
63
|
notifyUserAction(action: IChatUserActionEvent): void;
|
|
65
|
-
setChatSessionTitle(
|
|
64
|
+
setChatSessionTitle(sessionResource: URI, title: string): Promise<void>;
|
|
66
65
|
private trace;
|
|
67
66
|
private error;
|
|
68
67
|
private deserializeChats;
|
|
@@ -73,41 +72,42 @@ export declare class ChatService extends Disposable implements IChatService {
|
|
|
73
72
|
* Chat sessions that have already been loaded into the chat view are excluded from the result.
|
|
74
73
|
* Imported chat sessions are also excluded from the result.
|
|
75
74
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
getLocalSessionHistory(): Promise<IChatDetail[]>;
|
|
76
|
+
shouldBeInHistory(entry: Partial<ChatModel>): boolean | "" | undefined;
|
|
77
|
+
removeHistoryEntry(sessionResource: URI): Promise<void>;
|
|
78
78
|
clearAllHistoryEntries(): Promise<void>;
|
|
79
|
-
startSession(location: ChatAgentLocation, token: CancellationToken, isGlobalEditingSession?: boolean,
|
|
79
|
+
startSession(location: ChatAgentLocation, token: CancellationToken, isGlobalEditingSession?: boolean, options?: {
|
|
80
|
+
canUseTools?: boolean;
|
|
81
|
+
}): ChatModel;
|
|
80
82
|
private _startSession;
|
|
81
83
|
private initializeSession;
|
|
82
84
|
activateDefaultAgent(location: ChatAgentLocation): Promise<void>;
|
|
83
|
-
getSession(
|
|
84
|
-
|
|
85
|
+
getSession(sessionResource: URI): IChatModel | undefined;
|
|
86
|
+
getSessionByLegacyId(sessionId: string): IChatModel | undefined;
|
|
87
|
+
getOrRestoreSession(sessionResource: URI): Promise<ChatModel | undefined>;
|
|
85
88
|
/**
|
|
86
89
|
* This is really just for migrating data from the edit session location to the panel.
|
|
87
90
|
*/
|
|
88
|
-
isPersistedSessionEmpty(
|
|
89
|
-
getPersistedSessionTitle(
|
|
91
|
+
isPersistedSessionEmpty(sessionResource: URI): boolean;
|
|
92
|
+
getPersistedSessionTitle(sessionResource: URI): string | undefined;
|
|
90
93
|
loadSessionFromContent(data: IExportableChatData | ISerializableChatData): IChatModel | undefined;
|
|
91
|
-
loadSessionForResource(
|
|
92
|
-
|
|
93
|
-
chatSessionType: string;
|
|
94
|
-
chatSessionId: string;
|
|
95
|
-
isUntitled: boolean;
|
|
96
|
-
} | undefined;
|
|
94
|
+
loadSessionForResource(chatSessionResource: URI, location: ChatAgentLocation, token: CancellationToken): Promise<IChatModel | undefined>;
|
|
95
|
+
getChatSessionFromInternalUri(sessionResource: URI): IChatSessionContext | undefined;
|
|
97
96
|
resendRequest(request: IChatRequestModel, options?: IChatSendRequestOptions): Promise<void>;
|
|
98
|
-
sendRequest(
|
|
97
|
+
sendRequest(sessionResource: URI, request: string, options?: IChatSendRequestOptions): Promise<IChatSendRequestData | undefined>;
|
|
99
98
|
private parseChatRequest;
|
|
100
99
|
private refreshFollowupsCancellationToken;
|
|
101
100
|
private _sendRequestAsync;
|
|
102
101
|
private prepareContext;
|
|
103
102
|
private getHistoryEntriesFromModel;
|
|
104
|
-
removeRequest(
|
|
105
|
-
adoptRequest(
|
|
106
|
-
addCompleteRequest(
|
|
107
|
-
cancelCurrentRequestForSession(
|
|
108
|
-
clearSession(
|
|
103
|
+
removeRequest(sessionResource: URI, requestId: string): Promise<void>;
|
|
104
|
+
adoptRequest(sessionResource: URI, request: IChatRequestModel): Promise<void>;
|
|
105
|
+
addCompleteRequest(sessionResource: URI, message: IParsedChatRequest | string, variableData: IChatRequestVariableData | undefined, attempt: number | undefined, response: IChatCompleteResponse): Promise<void>;
|
|
106
|
+
cancelCurrentRequestForSession(sessionResource: URI): void;
|
|
107
|
+
clearSession(sessionResource: URI): Promise<void>;
|
|
109
108
|
hasSessions(): boolean;
|
|
110
109
|
transferChatSession(transferredSessionData: IChatTransferredSessionData, toWorkspace: URI): void;
|
|
111
110
|
getChatStorageFolder(): URI;
|
|
112
111
|
logChatIndex(): void;
|
|
112
|
+
private toLocalSessionId;
|
|
113
113
|
}
|