@codingame/monaco-vscode-chat-service-override 23.3.0 → 24.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +13 -10
- package/package.json +5 -41
- package/vscode/src/vs/platform/domWidget/browser/domWidget.d.ts +52 -0
- package/vscode/src/vs/platform/domWidget/browser/domWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +61 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +152 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +37 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +7 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +12 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +21 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.d.ts +6 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatSessionActions.js +44 -208
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +23 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +358 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +222 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +241 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.d.ts +11 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsView.js +67 -230
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +65 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +186 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +140 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsview.css +2 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +115 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +389 -166
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextService.js +63 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimeline.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +173 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +66 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +32 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +8 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +15 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +13 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +66 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +6 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +30 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +13 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +23 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +20 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +47 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +270 -143
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +310 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +42 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +35 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.d.ts +1 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/chatSessionsView.js +22 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.d.ts +18 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.js +80 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.d.ts +2 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsViewPane.js +48 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +16 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +257 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatSetup.d.ts → chatSetup/chatSetupContributions.d.ts} +4 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +622 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +359 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +89 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +667 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +260 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/chatSetup.css +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatus.js → chatStatus/chatStatusDashboard.js} +193 -325
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatus.d.ts → chatStatus/chatStatusEntry.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +190 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusItemService.d.ts → chatStatus/chatStatusItemService.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatStatus/media}/chatStatus.css +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusWidget.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatusWidget.js +108 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalOutputAccessibleView.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTerminalOutputAccessibleView.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +57 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +478 -146
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewTitleControl.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatViewTitleControl.js +204 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidgetService.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidgetService.js +187 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +108 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsConfirmationService.js +37 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +37 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +232 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatStatusWidget.css +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewPane.css +142 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewTitleControl.css +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +51 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +19 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModelStore.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModelStore.js +100 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +41 -15
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +208 -162
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +15 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +61 -7
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +60 -43
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +27 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +37 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +120 -87
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -42
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +293 -187
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +43 -9
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +48 -29
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +36 -41
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +18 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +142 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +3 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +19 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +78 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +7 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +26 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +23 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +26 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +32 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +15 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +38 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +32 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +5 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +128 -62
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +12 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +68 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +20 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +13 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +20 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +72 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.d.ts +0 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionViewModel.js +0 -154
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionTracker.js +0 -135
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.d.ts +0 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/localChatSessionsProvider.js +0 -216
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +0 -1617
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.d.ts +0 -44
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +0 -313
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/apple-dark.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/apple-light.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/github.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatSetup/media}/google.svg +0 -0
- /package/vscode/src/vs/workbench/contrib/chat/browser/{chatStatusItemService.js → chatStatus/chatStatusItemService.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
2
|
-
import { IChatAgentData } from "@codingame/monaco-vscode-
|
|
3
|
-
import { ChatRequestModel } from "@codingame/monaco-vscode-
|
|
4
|
-
import { ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart } from "@codingame/monaco-vscode-
|
|
2
|
+
import { IChatAgentData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents";
|
|
3
|
+
import { ChatRequestModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
4
|
+
import { ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes";
|
|
5
5
|
import { IChatSendRequestOptions, IChatUserActionEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
6
6
|
import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
7
7
|
import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
|
|
@@ -8,8 +8,9 @@ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
8
8
|
import { IUserDataProfilesService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service";
|
|
9
9
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
10
10
|
import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
|
|
11
|
-
import { ChatModel, ISerializableChatData, ISerializableChatsData } from "@codingame/monaco-vscode-
|
|
12
|
-
import {
|
|
11
|
+
import { ChatModel, IChatModelInputState, ISerializableChatData, ISerializableChatsData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
|
|
12
|
+
import { IChatSessionStats, ResponseModelState, IChatSessionTiming } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
13
|
+
import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
13
14
|
export declare class ChatSessionStore extends Disposable {
|
|
14
15
|
private readonly fileService;
|
|
15
16
|
private readonly environmentService;
|
|
@@ -26,7 +27,9 @@ export declare class ChatSessionStore extends Disposable {
|
|
|
26
27
|
private shuttingDown;
|
|
27
28
|
constructor(fileService: IFileService, environmentService: IEnvironmentService, logService: ILogService, workspaceContextService: IWorkspaceContextService, telemetryService: ITelemetryService, storageService: IStorageService, lifecycleService: ILifecycleService, userDataProfilesService: IUserDataProfilesService);
|
|
28
29
|
storeSessions(sessions: ChatModel[]): Promise<void>;
|
|
30
|
+
storeSessionsMetadataOnly(sessions: ChatModel[]): Promise<void>;
|
|
29
31
|
private writeSession;
|
|
32
|
+
private writeSessionMetadataOnly;
|
|
30
33
|
private flushIndex;
|
|
31
34
|
private getIndexStorageScope;
|
|
32
35
|
private trimEntries;
|
|
@@ -48,31 +51,36 @@ export declare class ChatSessionStore extends Disposable {
|
|
|
48
51
|
private getStorageLocation;
|
|
49
52
|
getChatStorageFolder(): URI;
|
|
50
53
|
}
|
|
51
|
-
interface IChatSessionEntryMetadata {
|
|
54
|
+
export interface IChatSessionEntryMetadata {
|
|
52
55
|
sessionId: string;
|
|
53
56
|
title: string;
|
|
54
57
|
lastMessageDate: number;
|
|
55
|
-
|
|
58
|
+
timing?: IChatSessionTiming;
|
|
56
59
|
initialLocation?: ChatAgentLocation;
|
|
60
|
+
hasPendingEdits?: boolean;
|
|
61
|
+
stats?: IChatSessionStats;
|
|
62
|
+
lastResponseState?: ResponseModelState;
|
|
57
63
|
/**
|
|
58
64
|
* This only exists because the migrated data from the storage service had empty sessions persisted, and it's impossible to know which ones are
|
|
59
65
|
* currently in use. Now, `clearSession` deletes empty sessions, so old ones shouldn't take up space in the store anymore, but we still need to
|
|
60
66
|
* filter the old ones out of history.
|
|
61
67
|
*/
|
|
62
68
|
isEmpty?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Whether this session was loaded from an external provider (eg background/cloud sessions).
|
|
71
|
+
*/
|
|
72
|
+
isExternal?: boolean;
|
|
63
73
|
}
|
|
64
74
|
export type IChatSessionIndex = Record<string, IChatSessionEntryMetadata>;
|
|
65
75
|
export interface IChatTransfer {
|
|
66
76
|
toWorkspace: URI;
|
|
67
77
|
timestampInMilliseconds: number;
|
|
68
|
-
|
|
78
|
+
inputState: IChatModelInputState | undefined;
|
|
69
79
|
location: ChatAgentLocation;
|
|
70
|
-
mode: ChatModeKind;
|
|
71
80
|
}
|
|
72
81
|
export interface IChatTransfer2 extends IChatTransfer {
|
|
73
82
|
chat: ISerializableChatData;
|
|
74
83
|
}
|
|
75
|
-
export {};
|
|
76
84
|
/**
|
|
77
85
|
* Map of destination workspace URI to chat transfer data
|
|
78
86
|
*/
|
|
@@ -18,7 +18,11 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
18
18
|
import { IUserDataProfilesService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
|
|
19
19
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
20
20
|
import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
21
|
-
import {
|
|
21
|
+
import { awaitStatsForSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chat';
|
|
22
|
+
import { ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
|
|
23
|
+
import { normalizeSerializableChatData, ChatModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel';
|
|
24
|
+
import { ResponseModelState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService';
|
|
25
|
+
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
|
|
22
26
|
|
|
23
27
|
const maxPersistedSessions = 25;
|
|
24
28
|
const ChatIndexStorageKey = 'chat.ChatSessionStore.index';
|
|
@@ -51,7 +55,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
51
55
|
}
|
|
52
56
|
e.join(this.storeTask, {
|
|
53
57
|
id: 'join.chatSessionStore',
|
|
54
|
-
label: ( localize(
|
|
58
|
+
label: ( localize(5947, "Saving chat history"))
|
|
55
59
|
});
|
|
56
60
|
}));
|
|
57
61
|
}
|
|
@@ -76,18 +80,51 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
76
80
|
this.storeTask = undefined;
|
|
77
81
|
}
|
|
78
82
|
}
|
|
83
|
+
async storeSessionsMetadataOnly(sessions) {
|
|
84
|
+
if (this.shuttingDown) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
this.storeTask = this.storeQueue.queue(async () => {
|
|
89
|
+
try {
|
|
90
|
+
await Promise.all(( sessions.map(session => this.writeSessionMetadataOnly(session))));
|
|
91
|
+
await this.flushIndex();
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
this.reportError('storeSessions', 'Error storing chat sessions', e);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
await this.storeTask;
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
this.storeTask = undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
79
103
|
async writeSession(session) {
|
|
80
104
|
try {
|
|
81
105
|
const index = this.internalGetIndex();
|
|
82
106
|
const storageLocation = this.getStorageLocation(session.sessionId);
|
|
83
107
|
const content = JSON.stringify(session, undefined, 2);
|
|
84
108
|
await this.fileService.writeFile(storageLocation, VSBuffer.fromString(content));
|
|
85
|
-
index.entries[session.sessionId] = getSessionMetadata(session);
|
|
109
|
+
index.entries[session.sessionId] = await getSessionMetadata(session);
|
|
86
110
|
}
|
|
87
111
|
catch (e) {
|
|
88
112
|
this.reportError('sessionWrite', 'Error writing chat session', e);
|
|
89
113
|
}
|
|
90
114
|
}
|
|
115
|
+
async writeSessionMetadataOnly(session) {
|
|
116
|
+
if (LocalChatSessionUri.parseLocalSessionId(session.sessionResource)) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const index = this.internalGetIndex();
|
|
121
|
+
const externalSessionId = ( session.sessionResource.toString());
|
|
122
|
+
index.entries[externalSessionId] = await getSessionMetadata(session);
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
this.reportError('sessionMetadataWrite', 'Error writing chat session metadata', e);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
91
128
|
async flushIndex() {
|
|
92
129
|
const index = this.internalGetIndex();
|
|
93
130
|
try {
|
|
@@ -105,6 +142,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
105
142
|
async trimEntries() {
|
|
106
143
|
const index = this.internalGetIndex();
|
|
107
144
|
const entries = ( Object.entries(index.entries)
|
|
145
|
+
.filter(([_id, entry]) => !entry.isExternal)
|
|
108
146
|
.sort((a, b) => b[1].lastMessageDate - a[1].lastMessageDate)
|
|
109
147
|
.map(([id]) => id));
|
|
110
148
|
if (entries.length > maxPersistedSessions) {
|
|
@@ -322,15 +360,31 @@ function isChatSessionIndex(data) {
|
|
|
322
360
|
}
|
|
323
361
|
return true;
|
|
324
362
|
}
|
|
325
|
-
function getSessionMetadata(session) {
|
|
363
|
+
async function getSessionMetadata(session) {
|
|
326
364
|
const title = session.customTitle || (session instanceof ChatModel ? session.title : undefined);
|
|
365
|
+
let stats;
|
|
366
|
+
if (session instanceof ChatModel) {
|
|
367
|
+
stats = await awaitStatsForSession(session);
|
|
368
|
+
}
|
|
369
|
+
const timing = session instanceof ChatModel ?
|
|
370
|
+
session.timing :
|
|
371
|
+
{
|
|
372
|
+
startTime: session.creationDate,
|
|
373
|
+
endTime: session.lastMessageDate
|
|
374
|
+
};
|
|
327
375
|
return {
|
|
328
376
|
sessionId: session.sessionId,
|
|
329
|
-
title: title || ( localize(
|
|
377
|
+
title: title || ( localize(5948, "New Chat")),
|
|
330
378
|
lastMessageDate: session.lastMessageDate,
|
|
331
|
-
|
|
379
|
+
timing,
|
|
332
380
|
initialLocation: session.initialLocation,
|
|
333
|
-
|
|
381
|
+
hasPendingEdits: session instanceof ChatModel ? (session.editingSession?.entries.get().some(e => e.state.get() === ModifiedFileEntryState.Modified)) : false,
|
|
382
|
+
isEmpty: session instanceof ChatModel ? session.getRequests().length === 0 : session.requests.length === 0,
|
|
383
|
+
stats,
|
|
384
|
+
isExternal: session instanceof ChatModel && !LocalChatSessionUri.parseLocalSessionId(session.sessionResource),
|
|
385
|
+
lastResponseState: session instanceof ChatModel ?
|
|
386
|
+
(session.lastRequest?.response?.state ?? ResponseModelState.Complete) :
|
|
387
|
+
ResponseModelState.Complete
|
|
334
388
|
};
|
|
335
389
|
}
|
|
336
390
|
|
|
@@ -6,6 +6,7 @@ import { IChatMessage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/c
|
|
|
6
6
|
import { IChatFollowup, IChatProgress, IChatResponseProgressFileTreeData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
|
|
7
7
|
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
8
8
|
import { ChatAgentLocation, ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
9
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
9
10
|
import { IChatSlashCommandService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSlashCommands.service";
|
|
10
11
|
export interface IChatSlashData {
|
|
11
12
|
command: string;
|
|
@@ -33,7 +34,7 @@ export interface IChatSlashFragment {
|
|
|
33
34
|
};
|
|
34
35
|
}
|
|
35
36
|
export type IChatSlashCallback = {
|
|
36
|
-
(prompt: string, progress: IProgress<IChatProgress>, history: IChatMessage[], location: ChatAgentLocation, token: CancellationToken): Promise<{
|
|
37
|
+
(prompt: string, progress: IProgress<IChatProgress>, history: IChatMessage[], location: ChatAgentLocation, sessionResource: URI, token: CancellationToken): Promise<{
|
|
37
38
|
followUp: IChatFollowup[];
|
|
38
39
|
} | void>;
|
|
39
40
|
};
|
|
@@ -48,7 +49,7 @@ export declare class ChatSlashCommandService extends Disposable implements IChat
|
|
|
48
49
|
registerSlashCommand(data: IChatSlashData, command: IChatSlashCallback): IDisposable;
|
|
49
50
|
getCommands(location: ChatAgentLocation, mode: ChatModeKind): Array<IChatSlashData>;
|
|
50
51
|
hasCommand(id: string): boolean;
|
|
51
|
-
executeCommand(id: string, prompt: string, progress: IProgress<IChatProgress>, history: IChatMessage[], location: ChatAgentLocation, token: CancellationToken): Promise<{
|
|
52
|
+
executeCommand(id: string, prompt: string, progress: IProgress<IChatProgress>, history: IChatMessage[], location: ChatAgentLocation, sessionResource: URI, token: CancellationToken): Promise<{
|
|
52
53
|
followUp: IChatFollowup[];
|
|
53
54
|
} | void>;
|
|
54
55
|
}
|
|
@@ -36,7 +36,7 @@ let ChatSlashCommandService = class ChatSlashCommandService extends Disposable {
|
|
|
36
36
|
hasCommand(id) {
|
|
37
37
|
return ( this._commands.has(id));
|
|
38
38
|
}
|
|
39
|
-
async executeCommand(id, prompt, progress, history, location, token) {
|
|
39
|
+
async executeCommand(id, prompt, progress, history, location, sessionResource, token) {
|
|
40
40
|
const data = this._commands.get(id);
|
|
41
41
|
if (!data) {
|
|
42
42
|
throw ( new Error('No command with id ${id} NOT registered'));
|
|
@@ -47,7 +47,7 @@ let ChatSlashCommandService = class ChatSlashCommandService extends Disposable {
|
|
|
47
47
|
if (!data.command) {
|
|
48
48
|
throw ( new Error(`No command with id ${id} NOT resolved`));
|
|
49
49
|
}
|
|
50
|
-
return await data.command(prompt, progress, history, location, token);
|
|
50
|
+
return await data.command(prompt, progress, history, location, sessionResource, token);
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
ChatSlashCommandService = ( __decorate([
|
|
@@ -4,7 +4,7 @@ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/even
|
|
|
4
4
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
5
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
6
6
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
7
|
-
import { Memento } from '@codingame/monaco-vscode-
|
|
7
|
+
import { Memento } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/memento';
|
|
8
8
|
import { chatSessionResourceToId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatUri';
|
|
9
9
|
|
|
10
10
|
let ChatTodoListStorage = class ChatTodoListStorage {
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js
CHANGED
|
@@ -4,14 +4,14 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
4
4
|
import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
5
5
|
import { joinPath, isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
6
6
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
7
|
-
import { PromptsType } from '@codingame/monaco-vscode-
|
|
7
|
+
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
8
8
|
import { DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
9
|
|
|
10
10
|
function registerChatFilesExtensionPoint(point) {
|
|
11
11
|
return ExtensionsRegistry.registerExtensionPoint({
|
|
12
12
|
extensionPoint: point,
|
|
13
13
|
jsonSchema: {
|
|
14
|
-
description: ( localize(
|
|
14
|
+
description: ( localize(5966, 'Contributes {0} for chat prompts.', point)),
|
|
15
15
|
type: 'array',
|
|
16
16
|
items: {
|
|
17
17
|
additionalProperties: false,
|
|
@@ -27,18 +27,18 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
27
27
|
properties: {
|
|
28
28
|
name: {
|
|
29
29
|
description: ( localize(
|
|
30
|
-
|
|
30
|
+
5967,
|
|
31
31
|
'Identifier for this file. Must be unique within this extension for this contribution point.'
|
|
32
32
|
)),
|
|
33
33
|
type: 'string',
|
|
34
34
|
pattern: '^[\\w.-]+$'
|
|
35
35
|
},
|
|
36
36
|
path: {
|
|
37
|
-
description: ( localize(
|
|
37
|
+
description: ( localize(5968, 'Path to the file relative to the extension root.')),
|
|
38
38
|
type: 'string'
|
|
39
39
|
},
|
|
40
40
|
description: {
|
|
41
|
-
description: ( localize(
|
|
41
|
+
description: ( localize(5969, '(Optional) Description of the file.')),
|
|
42
42
|
type: 'string'
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -75,7 +75,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
75
75
|
for (const raw of ext.value) {
|
|
76
76
|
if (!raw.name || !raw.name.match(/^[\w.-]+$/)) {
|
|
77
77
|
ext.collector.error(( localize(
|
|
78
|
-
|
|
78
|
+
5970,
|
|
79
79
|
"Extension '{0}' cannot register {1} entry with invalid name '{2}'.",
|
|
80
80
|
ext.description.identifier.value,
|
|
81
81
|
contributionPoint,
|
|
@@ -85,7 +85,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
85
85
|
}
|
|
86
86
|
if (!raw.path) {
|
|
87
87
|
ext.collector.error(( localize(
|
|
88
|
-
|
|
88
|
+
5971,
|
|
89
89
|
"Extension '{0}' cannot register {1} entry '{2}' without path.",
|
|
90
90
|
ext.description.identifier.value,
|
|
91
91
|
contributionPoint,
|
|
@@ -95,7 +95,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
95
95
|
}
|
|
96
96
|
if (!raw.description) {
|
|
97
97
|
ext.collector.error(( localize(
|
|
98
|
-
|
|
98
|
+
5972,
|
|
99
99
|
"Extension '{0}' cannot register {1} entry '{2}' without description.",
|
|
100
100
|
ext.description.identifier.value,
|
|
101
101
|
contributionPoint,
|
|
@@ -106,7 +106,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
106
106
|
const fileUri = joinPath(ext.description.extensionLocation, raw.path);
|
|
107
107
|
if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
|
|
108
108
|
ext.collector.error(( localize(
|
|
109
|
-
|
|
109
|
+
5973,
|
|
110
110
|
"Extension '{0}' {1} entry '{2}' path resolves outside the extension.",
|
|
111
111
|
ext.description.identifier.value,
|
|
112
112
|
contributionPoint,
|
|
@@ -121,7 +121,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
121
121
|
catch (e) {
|
|
122
122
|
const msg = e instanceof Error ? e.message : String(e);
|
|
123
123
|
ext.collector.error(( localize(
|
|
124
|
-
|
|
124
|
+
5974,
|
|
125
125
|
"Failed to register {0} entry '{1}': {2}",
|
|
126
126
|
contributionPoint,
|
|
127
127
|
raw.name,
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
4
4
|
import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
|
|
5
|
-
import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-
|
|
6
|
-
import { PromptHeaderAttributes } from '@codingame/monaco-vscode-
|
|
5
|
+
import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
6
|
+
import { PromptHeaderAttributes } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
|
|
7
7
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
8
8
|
|
|
9
9
|
let PromptHeaderDefinitionProvider = class PromptHeaderDefinitionProvider {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { extUri, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
4
|
-
import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-
|
|
4
|
+
import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
5
5
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
6
6
|
import { CompletionItemKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
|
|
7
7
|
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
8
8
|
import { CharCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
|
|
9
9
|
import { getWordAtText } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/wordHelper';
|
|
10
|
-
import { chatVariableLeader } from '@codingame/monaco-vscode-
|
|
10
|
+
import { chatVariableLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
11
11
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
|
|
12
12
|
|
|
13
13
|
let PromptBodyAutocompletion = class PromptBodyAutocompletion {
|
|
@@ -52,7 +52,7 @@ let PromptBodyAutocompletion = class PromptBodyAutocompletion {
|
|
|
52
52
|
return { suggestions };
|
|
53
53
|
}
|
|
54
54
|
async collectToolCompletions(model, position, toolRange, suggestions) {
|
|
55
|
-
for (const toolName of this.languageModelToolsService.
|
|
55
|
+
for (const toolName of this.languageModelToolsService.getFullReferenceNames()) {
|
|
56
56
|
suggestions.push({
|
|
57
57
|
label: toolName,
|
|
58
58
|
kind: CompletionItemKind.Value,
|
|
@@ -6,16 +6,20 @@ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/
|
|
|
6
6
|
import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
|
|
7
7
|
import { Selection } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/selection";
|
|
8
8
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
9
|
+
import { IMarkerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service";
|
|
9
10
|
export declare class PromptCodeActionProvider implements CodeActionProvider {
|
|
10
11
|
private readonly promptsService;
|
|
11
12
|
private readonly languageModelToolsService;
|
|
12
13
|
private readonly fileService;
|
|
14
|
+
private readonly markerService;
|
|
13
15
|
/**
|
|
14
16
|
* Debug display name for this provider.
|
|
15
17
|
*/
|
|
16
18
|
readonly _debugDisplayName: string;
|
|
17
|
-
constructor(promptsService: IPromptsService, languageModelToolsService: ILanguageModelToolsService, fileService: IFileService);
|
|
19
|
+
constructor(promptsService: IPromptsService, languageModelToolsService: ILanguageModelToolsService, fileService: IFileService, markerService: IMarkerService);
|
|
18
20
|
provideCodeActions(model: ITextModel, range: Range | Selection, context: CodeActionContext, token: CancellationToken): Promise<CodeActionList | undefined>;
|
|
21
|
+
private getMarkers;
|
|
22
|
+
private createCodeAction;
|
|
19
23
|
private getUpdateModeCodeActions;
|
|
20
24
|
private getMigrateModeFileCodeActions;
|
|
21
25
|
private getUpdateToolsCodeActions;
|
|
@@ -3,19 +3,22 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
|
|
|
3
3
|
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
4
4
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
5
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
|
|
6
|
-
import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-
|
|
6
|
+
import { getPromptsTypeForLanguageId, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
7
7
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
8
|
-
import { PromptHeaderAttributes } from '@codingame/monaco-vscode-
|
|
8
|
+
import { PromptHeaderAttributes } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
|
|
9
9
|
import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
|
|
10
|
-
import { LEGACY_MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-
|
|
10
|
+
import { LEGACY_MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
11
11
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
12
|
-
import { isGithubTarget } from './promptValidator.js';
|
|
12
|
+
import { MARKERS_OWNER_ID, isGithubTarget } from './promptValidator.js';
|
|
13
|
+
import { IMarkerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service';
|
|
14
|
+
import { CodeActionKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/codeAction/common/types';
|
|
13
15
|
|
|
14
16
|
let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
15
|
-
constructor(promptsService, languageModelToolsService, fileService) {
|
|
17
|
+
constructor(promptsService, languageModelToolsService, fileService, markerService) {
|
|
16
18
|
this.promptsService = promptsService;
|
|
17
19
|
this.languageModelToolsService = languageModelToolsService;
|
|
18
20
|
this.fileService = fileService;
|
|
21
|
+
this.markerService = markerService;
|
|
19
22
|
this._debugDisplayName = 'PromptCodeActionProvider';
|
|
20
23
|
}
|
|
21
24
|
async provideCodeActions(model, range, context, token) {
|
|
@@ -28,7 +31,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
28
31
|
switch (promptType) {
|
|
29
32
|
case PromptsType.agent:
|
|
30
33
|
this.getUpdateToolsCodeActions(promptAST, promptType, model, range, result);
|
|
31
|
-
await this.getMigrateModeFileCodeActions(model
|
|
34
|
+
await this.getMigrateModeFileCodeActions(model, result);
|
|
32
35
|
break;
|
|
33
36
|
case PromptsType.prompt:
|
|
34
37
|
this.getUpdateModeCodeActions(promptAST, model, range, result);
|
|
@@ -43,6 +46,19 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
43
46
|
dispose: () => { }
|
|
44
47
|
};
|
|
45
48
|
}
|
|
49
|
+
getMarkers(model, range) {
|
|
50
|
+
const markers = this.markerService.read({ resource: model.uri, owner: MARKERS_OWNER_ID });
|
|
51
|
+
return markers.filter(marker => range.containsRange(marker));
|
|
52
|
+
}
|
|
53
|
+
createCodeAction(model, range, title, edits) {
|
|
54
|
+
return {
|
|
55
|
+
title,
|
|
56
|
+
edit: { edits },
|
|
57
|
+
ranges: [range],
|
|
58
|
+
diagnostics: this.getMarkers(model, range),
|
|
59
|
+
kind: CodeActionKind.QuickFix.value
|
|
60
|
+
};
|
|
61
|
+
}
|
|
46
62
|
getUpdateModeCodeActions(promptFile, model, range, result) {
|
|
47
63
|
const modeAttr = promptFile.header?.getAttribute(PromptHeaderAttributes.mode);
|
|
48
64
|
if (!modeAttr?.range.containsRange(range)) {
|
|
@@ -54,24 +70,14 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
54
70
|
modeAttr.range.startLineNumber,
|
|
55
71
|
modeAttr.range.startColumn + modeAttr.key.length
|
|
56
72
|
));
|
|
57
|
-
result.push({
|
|
58
|
-
title: ( localize(5863, "Rename to 'agent'")),
|
|
59
|
-
edit: {
|
|
60
|
-
edits: [asWorkspaceTextEdit(model, { range: keyRange, text: 'agent' })]
|
|
61
|
-
}
|
|
62
|
-
});
|
|
73
|
+
result.push(this.createCodeAction(model, keyRange, ( localize(5982, "Rename to 'agent'")), [asWorkspaceTextEdit(model, { range: keyRange, text: 'agent' })]));
|
|
63
74
|
}
|
|
64
|
-
async getMigrateModeFileCodeActions(
|
|
65
|
-
if (uri.path.endsWith(LEGACY_MODE_FILE_EXTENSION)) {
|
|
66
|
-
const location = this.promptsService.getAgentFileURIFromModeFile(uri);
|
|
67
|
-
if (location && (await this.fileService.canMove(uri, location))) {
|
|
68
|
-
const edit = { oldResource: uri, newResource: location, options: { overwrite: false, copy: false } };
|
|
69
|
-
result.push(
|
|
70
|
-
title: ( localize(5864, "Migrate to custom agent file")),
|
|
71
|
-
edit: {
|
|
72
|
-
edits: [edit]
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
+
async getMigrateModeFileCodeActions(model, result) {
|
|
76
|
+
if (model.uri.path.endsWith(LEGACY_MODE_FILE_EXTENSION)) {
|
|
77
|
+
const location = this.promptsService.getAgentFileURIFromModeFile(model.uri);
|
|
78
|
+
if (location && (await this.fileService.canMove(model.uri, location))) {
|
|
79
|
+
const edit = { oldResource: model.uri, newResource: location, options: { overwrite: false, copy: false } };
|
|
80
|
+
result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(5983, "Migrate to custom agent file")), [edit]));
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
83
|
}
|
|
@@ -84,47 +90,58 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
84
90
|
return;
|
|
85
91
|
}
|
|
86
92
|
const values = toolsAttr.value.items;
|
|
87
|
-
const deprecatedNames = ( new Lazy(() => this.languageModelToolsService.
|
|
93
|
+
const deprecatedNames = ( new Lazy(() => this.languageModelToolsService.getDeprecatedFullReferenceNames()));
|
|
88
94
|
const edits = [];
|
|
89
95
|
for (const item of values) {
|
|
90
96
|
if (item.type !== 'string') {
|
|
91
97
|
continue;
|
|
92
98
|
}
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
99
|
+
const newNames = deprecatedNames.value.get(item.value);
|
|
100
|
+
if (newNames && newNames.size > 0) {
|
|
95
101
|
const quote = model.getValueInRange(( new Range(
|
|
96
102
|
item.range.startLineNumber,
|
|
97
103
|
item.range.startColumn,
|
|
98
104
|
item.range.endLineNumber,
|
|
99
105
|
item.range.startColumn + 1
|
|
100
106
|
)));
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
if (newNames.size === 1) {
|
|
108
|
+
const newName = Array.from(newNames)[0];
|
|
109
|
+
const text = (quote === `'` || quote === '"') ? (quote + newName + quote) : newName;
|
|
110
|
+
const edit = { range: item.range, text };
|
|
111
|
+
edits.push(edit);
|
|
112
|
+
if (item.range.containsRange(range)) {
|
|
113
|
+
result.push(this.createCodeAction(model, item.range, ( localize(5984, "Update to '{0}'", newName)), [asWorkspaceTextEdit(model, edit)]));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
const newNamesArray = Array.from(newNames).sort((a, b) => a.localeCompare(b));
|
|
118
|
+
const separator = model.getValueInRange(( new Range(
|
|
119
|
+
item.range.startLineNumber,
|
|
120
|
+
item.range.endColumn,
|
|
121
|
+
item.range.endLineNumber,
|
|
122
|
+
item.range.endColumn + 2
|
|
123
|
+
)));
|
|
124
|
+
const useCommaSpace = separator.includes(',');
|
|
125
|
+
const delimiterText = useCommaSpace ? ', ' : ',';
|
|
126
|
+
const newNamesText = ( newNamesArray.map(name => (quote === `'` || quote === '"') ? (quote + name + quote) : name)).join(delimiterText);
|
|
127
|
+
const edit = { range: item.range, text: newNamesText };
|
|
128
|
+
edits.push(edit);
|
|
129
|
+
if (item.range.containsRange(range)) {
|
|
130
|
+
result.push(this.createCodeAction(model, item.range, ( localize(5985, "Expand to {0} tools", newNames.size)), [asWorkspaceTextEdit(model, edit)]));
|
|
131
|
+
}
|
|
111
132
|
}
|
|
112
133
|
}
|
|
113
134
|
}
|
|
114
135
|
if (edits.length && result.length === 0 || edits.length > 1) {
|
|
115
|
-
result.push(
|
|
116
|
-
title: ( localize(5866, "Update all tool names")),
|
|
117
|
-
edit: {
|
|
118
|
-
edits: ( edits.map(edit => asWorkspaceTextEdit(model, edit)))
|
|
119
|
-
}
|
|
120
|
-
});
|
|
136
|
+
result.push(this.createCodeAction(model, toolsAttr.value.range, ( localize(5986, "Update all tool names")), ( edits.map(edit => asWorkspaceTextEdit(model, edit)))));
|
|
121
137
|
}
|
|
122
138
|
}
|
|
123
139
|
};
|
|
124
140
|
PromptCodeActionProvider = ( __decorate([
|
|
125
141
|
( __param(0, IPromptsService)),
|
|
126
142
|
( __param(1, ILanguageModelToolsService)),
|
|
127
|
-
( __param(2, IFileService))
|
|
143
|
+
( __param(2, IFileService)),
|
|
144
|
+
( __param(3, IMarkerService))
|
|
128
145
|
], PromptCodeActionProvider));
|
|
129
146
|
function asWorkspaceTextEdit(model, textEdit) {
|
|
130
147
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-
|
|
3
|
+
import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
4
4
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
5
5
|
import { isGithubTarget } from './promptValidator.js';
|
|
6
6
|
|