@codingame/monaco-vscode-chat-service-override 26.2.2 → 27.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 +31 -1
- package/package.json +5 -5
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +83 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +274 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +71 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +284 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +79 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +378 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +204 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +541 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +181 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +943 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +248 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +118 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +727 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +72 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +623 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +858 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +19 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +529 -363
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +305 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +111 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +429 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +781 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +5 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +15 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +351 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +182 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +892 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +55 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +102 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +16 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +69 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +2 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +43 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +67 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +64 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +42 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +58 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +188 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +18 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +192 -85
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +8 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +111 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +73 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +622 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +478 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +1 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +2 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +23 -22
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +44 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +345 -113
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -24
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +11 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +248 -24
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- 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/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +280 -65
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +47 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +38 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
|
@@ -14,6 +14,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/in
|
|
|
14
14
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
15
15
|
import { StopWatch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stopwatch';
|
|
16
16
|
import { isDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
17
|
+
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
17
18
|
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
18
19
|
import { OffsetRange } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/ranges/offsetRange';
|
|
19
20
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -23,8 +24,11 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
|
|
|
23
24
|
import { Progress } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress';
|
|
24
25
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
25
26
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
27
|
+
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
26
28
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
27
29
|
import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
30
|
+
import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
|
|
31
|
+
import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
|
|
28
32
|
import { InlineChatConfigKeys } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
29
33
|
import { IMcpService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service';
|
|
30
34
|
import { awaitStatsForSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chat';
|
|
@@ -34,7 +38,7 @@ import { normalizeSerializableChatData, ChatModel, ChatRequestRemovalReason, Cha
|
|
|
34
38
|
import { ChatModelStore } from '../model/chatModelStore.js';
|
|
35
39
|
import { ChatRequestTextPart, ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader, ChatRequestSlashCommandPart, getPromptText } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
|
|
36
40
|
import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
|
|
37
|
-
import { ResponseModelState, ChatRequestQueueKind, ChatMcpServersStarting } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
41
|
+
import { ResponseModelState, ChatPendingRequestChangeEventName, ChatRequestQueueKind, ChatMcpServersStarting, ChatStopCancellationNoopEventName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
38
42
|
import { ChatServiceTelemetry, ChatRequestTelemetry } from './chatServiceTelemetry.js';
|
|
39
43
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
40
44
|
import { ChatSessionStore } from '../model/chatSessionStore.js';
|
|
@@ -43,6 +47,7 @@ import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/wor
|
|
|
43
47
|
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
44
48
|
import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
45
49
|
import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
50
|
+
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
46
51
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
47
52
|
import { ChatSessionOperationLog } from '../model/chatSessionOperationLog.js';
|
|
48
53
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
@@ -62,6 +67,9 @@ let CancellableRequest = class CancellableRequest {
|
|
|
62
67
|
this._yieldRequested = observableValue(this, false);
|
|
63
68
|
}
|
|
64
69
|
dispose() {
|
|
70
|
+
if (this.requestId) {
|
|
71
|
+
this.toolsService.cancelToolCallsForRequest(this.requestId);
|
|
72
|
+
}
|
|
65
73
|
this.cancellationTokenSource.dispose();
|
|
66
74
|
}
|
|
67
75
|
cancel() {
|
|
@@ -73,6 +81,9 @@ let CancellableRequest = class CancellableRequest {
|
|
|
73
81
|
setYieldRequested() {
|
|
74
82
|
this._yieldRequested.set(true, undefined);
|
|
75
83
|
}
|
|
84
|
+
resetYieldRequested() {
|
|
85
|
+
this._yieldRequested.set(false, undefined);
|
|
86
|
+
}
|
|
76
87
|
};
|
|
77
88
|
CancellableRequest = ( __decorate([( __param(2, ILanguageModelToolsService))], CancellableRequest));
|
|
78
89
|
let ChatService = class ChatService extends Disposable {
|
|
@@ -98,6 +109,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
98
109
|
constructor(
|
|
99
110
|
storageService,
|
|
100
111
|
logService,
|
|
112
|
+
telemetryService,
|
|
101
113
|
extensionService,
|
|
102
114
|
instantiationService,
|
|
103
115
|
workspaceContextService,
|
|
@@ -107,11 +119,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
107
119
|
chatTransferService,
|
|
108
120
|
chatSessionService,
|
|
109
121
|
mcpService,
|
|
110
|
-
promptsService
|
|
122
|
+
promptsService,
|
|
123
|
+
chatEntitlementService,
|
|
124
|
+
languageModelsService,
|
|
125
|
+
chatDebugService
|
|
111
126
|
) {
|
|
112
127
|
super();
|
|
113
128
|
this.storageService = storageService;
|
|
114
129
|
this.logService = logService;
|
|
130
|
+
this.telemetryService = telemetryService;
|
|
115
131
|
this.extensionService = extensionService;
|
|
116
132
|
this.instantiationService = instantiationService;
|
|
117
133
|
this.workspaceContextService = workspaceContextService;
|
|
@@ -122,6 +138,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
122
138
|
this.chatSessionService = chatSessionService;
|
|
123
139
|
this.mcpService = mcpService;
|
|
124
140
|
this.promptsService = promptsService;
|
|
141
|
+
this.chatEntitlementService = chatEntitlementService;
|
|
142
|
+
this.languageModelsService = languageModelsService;
|
|
143
|
+
this.chatDebugService = chatDebugService;
|
|
125
144
|
this._pendingRequests = this._register(( new DisposableResourceMap()));
|
|
126
145
|
this._queuedRequestDeferreds = ( new Map());
|
|
127
146
|
this._saveModelsEnabled = true;
|
|
@@ -150,6 +169,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
150
169
|
}
|
|
151
170
|
}));
|
|
152
171
|
this._register(this._sessionModels.onDidDisposeModel(model => {
|
|
172
|
+
this.chatDebugService.endSession(model.sessionResource);
|
|
153
173
|
this._onDidDisposeSession.fire({
|
|
154
174
|
sessionResource: [model.sessionResource],
|
|
155
175
|
reason: "cleared"
|
|
@@ -292,8 +312,14 @@ let ChatService = class ChatService extends Disposable {
|
|
|
292
312
|
if (!session.hasPendingEdits) {
|
|
293
313
|
return;
|
|
294
314
|
}
|
|
295
|
-
|
|
296
|
-
|
|
315
|
+
let sessionResource;
|
|
316
|
+
if (session.sessionId.includes(":")) {
|
|
317
|
+
try {
|
|
318
|
+
sessionResource = ( URI.parse(session.sessionId, true));
|
|
319
|
+
} catch {}
|
|
320
|
+
}
|
|
321
|
+
sessionResource ??= LocalChatSessionUri.forSession(session.sessionId);
|
|
322
|
+
const sessionRef = await this.acquireOrLoadSession(sessionResource, ChatAgentLocation.Chat, CancellationToken.None);
|
|
297
323
|
if (sessionRef?.object.editingSession) {
|
|
298
324
|
await chatEditingSessionIsReady(sessionRef.object.editingSession);
|
|
299
325
|
sessionRef.dispose();
|
|
@@ -307,7 +333,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
307
333
|
}
|
|
308
334
|
async getLiveSessionItems() {
|
|
309
335
|
return await Promise.all(( Array.from(( this._sessionModels.values())).filter(session => this.shouldBeInHistory(session)).map(async session => {
|
|
310
|
-
const title = session.title || ( localize(
|
|
336
|
+
const title = session.title || ( localize(6868, "New Chat"));
|
|
311
337
|
return {
|
|
312
338
|
sessionResource: session.sessionResource,
|
|
313
339
|
title,
|
|
@@ -323,17 +349,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
323
349
|
const index = await this._chatSessionStore.getIndex();
|
|
324
350
|
return ( ( Object.values(index)).filter(entry => !entry.isExternal).filter(entry => !( this._sessionModels.has(LocalChatSessionUri.forSession(entry.sessionId))) && entry.initialLocation === ChatAgentLocation.Chat && !entry.isEmpty).map(entry => {
|
|
325
351
|
const sessionResource = LocalChatSessionUri.forSession(entry.sessionId);
|
|
326
|
-
const lastResponseState = entry.lastResponseState ?? ResponseModelState.Complete;
|
|
327
352
|
return ({
|
|
328
353
|
...entry,
|
|
329
354
|
sessionResource,
|
|
330
|
-
|
|
331
|
-
created: entry.lastMessageDate,
|
|
332
|
-
lastRequestStarted: undefined,
|
|
333
|
-
lastRequestEnded: entry.lastMessageDate
|
|
334
|
-
},
|
|
335
|
-
isActive: ( this._sessionModels.has(sessionResource)),
|
|
336
|
-
lastResponseState: lastResponseState === ResponseModelState.Pending || lastResponseState === ResponseModelState.NeedsInput ? ResponseModelState.Complete : lastResponseState
|
|
355
|
+
isActive: ( this._sessionModels.has(sessionResource))
|
|
337
356
|
});
|
|
338
357
|
}));
|
|
339
358
|
}
|
|
@@ -344,13 +363,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
344
363
|
return {
|
|
345
364
|
...metadata,
|
|
346
365
|
sessionResource,
|
|
347
|
-
|
|
348
|
-
created: metadata.lastMessageDate,
|
|
349
|
-
lastRequestStarted: undefined,
|
|
350
|
-
lastRequestEnded: metadata.lastMessageDate
|
|
351
|
-
},
|
|
352
|
-
isActive: ( this._sessionModels.has(sessionResource)),
|
|
353
|
-
lastResponseState: metadata.lastResponseState ?? ResponseModelState.Complete
|
|
366
|
+
isActive: ( this._sessionModels.has(sessionResource))
|
|
354
367
|
};
|
|
355
368
|
}
|
|
356
369
|
return undefined;
|
|
@@ -368,15 +381,13 @@ let ChatService = class ChatService extends Disposable {
|
|
|
368
381
|
async clearAllHistoryEntries() {
|
|
369
382
|
await this._chatSessionStore.clearAllSessions();
|
|
370
383
|
}
|
|
371
|
-
|
|
372
|
-
this.trace("
|
|
373
|
-
const
|
|
374
|
-
const sessionResource = LocalChatSessionUri.forSession(sessionId);
|
|
384
|
+
startNewLocalSession(location, options) {
|
|
385
|
+
this.trace("startNewLocalSession");
|
|
386
|
+
const sessionResource = LocalChatSessionUri.forSession(generateUuid());
|
|
375
387
|
return this._sessionModels.acquireOrCreate({
|
|
376
388
|
initialData: undefined,
|
|
377
389
|
location,
|
|
378
390
|
sessionResource,
|
|
379
|
-
sessionId,
|
|
380
391
|
canUseTools: options?.canUseTools ?? true,
|
|
381
392
|
disableBackgroundKeepAlive: options?.disableBackgroundKeepAlive
|
|
382
393
|
});
|
|
@@ -386,7 +397,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
386
397
|
initialData,
|
|
387
398
|
location,
|
|
388
399
|
sessionResource,
|
|
389
|
-
sessionId,
|
|
390
400
|
canUseTools,
|
|
391
401
|
transferEditingSession,
|
|
392
402
|
disableBackgroundKeepAlive,
|
|
@@ -396,7 +406,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
396
406
|
initialLocation: location,
|
|
397
407
|
canUseTools,
|
|
398
408
|
resource: sessionResource,
|
|
399
|
-
sessionId,
|
|
400
409
|
disableBackgroundKeepAlive,
|
|
401
410
|
inputState
|
|
402
411
|
});
|
|
@@ -431,25 +440,24 @@ let ChatService = class ChatService extends Disposable {
|
|
|
431
440
|
getSession(sessionResource) {
|
|
432
441
|
return this._sessionModels.get(sessionResource);
|
|
433
442
|
}
|
|
434
|
-
|
|
443
|
+
acquireExistingSession(sessionResource) {
|
|
435
444
|
return this._sessionModels.acquireExisting(sessionResource);
|
|
436
445
|
}
|
|
437
|
-
async
|
|
438
|
-
this.trace("
|
|
439
|
-
const existingRef = this.
|
|
446
|
+
async acquireOrRestoreLocalSession(sessionResource) {
|
|
447
|
+
this.trace("acquireOrRestoreSession", `${sessionResource}`);
|
|
448
|
+
const existingRef = this.acquireExistingSession(sessionResource);
|
|
440
449
|
if (existingRef) {
|
|
441
450
|
return existingRef;
|
|
442
451
|
}
|
|
443
|
-
const sessionId = LocalChatSessionUri.parseLocalSessionId(sessionResource);
|
|
444
|
-
if (!sessionId) {
|
|
445
|
-
throw ( new Error(`Cannot restore non-local session ${sessionResource}`));
|
|
446
|
-
}
|
|
447
452
|
let sessionData;
|
|
448
453
|
if (isEqual(this.transferredSessionResource, sessionResource)) {
|
|
449
454
|
this._transferredSessionResource = undefined;
|
|
450
455
|
sessionData = await this._chatSessionStore.readTransferredSession(sessionResource);
|
|
451
456
|
} else {
|
|
452
|
-
|
|
457
|
+
const localSessionId = LocalChatSessionUri.parseLocalSessionId(sessionResource);
|
|
458
|
+
if (localSessionId) {
|
|
459
|
+
sessionData = await this._chatSessionStore.readSession(localSessionId);
|
|
460
|
+
}
|
|
453
461
|
}
|
|
454
462
|
if (!sessionData) {
|
|
455
463
|
return undefined;
|
|
@@ -458,7 +466,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
458
466
|
initialData: sessionData,
|
|
459
467
|
location: sessionData.value.initialLocation ?? ChatAgentLocation.Chat,
|
|
460
468
|
sessionResource,
|
|
461
|
-
sessionId,
|
|
462
469
|
canUseTools: true
|
|
463
470
|
});
|
|
464
471
|
return sessionRef;
|
|
@@ -470,7 +477,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
470
477
|
}
|
|
471
478
|
return this._sessionModels.get(sessionResource)?.title ?? this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.title;
|
|
472
479
|
}
|
|
473
|
-
|
|
480
|
+
loadSessionFromData(data) {
|
|
474
481
|
const sessionId = data.sessionId ?? generateUuid();
|
|
475
482
|
const sessionResource = LocalChatSessionUri.forSession(sessionId);
|
|
476
483
|
return this._sessionModels.acquireOrCreate({
|
|
@@ -480,33 +487,49 @@ let ChatService = class ChatService extends Disposable {
|
|
|
480
487
|
},
|
|
481
488
|
location: data.initialLocation ?? ChatAgentLocation.Chat,
|
|
482
489
|
sessionResource,
|
|
483
|
-
sessionId,
|
|
484
490
|
canUseTools: true
|
|
485
491
|
});
|
|
486
492
|
}
|
|
487
|
-
async
|
|
488
|
-
if (
|
|
489
|
-
return this.
|
|
493
|
+
async acquireOrLoadSession(sessionResource, location, token) {
|
|
494
|
+
if (sessionResource.scheme === Schemas.vscodeLocalChatSession) {
|
|
495
|
+
return this.acquireOrRestoreLocalSession(sessionResource);
|
|
496
|
+
} else {
|
|
497
|
+
return this.loadRemoteSession(sessionResource, location, token);
|
|
490
498
|
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
499
|
+
}
|
|
500
|
+
async loadRemoteSession(sessionResource, location, token) {
|
|
501
|
+
await this.chatSessionService.canResolveChatSession(sessionResource);
|
|
502
|
+
{
|
|
503
|
+
const existingRef = this.acquireExistingSession(sessionResource);
|
|
504
|
+
if (existingRef) {
|
|
505
|
+
return existingRef;
|
|
506
|
+
}
|
|
494
507
|
}
|
|
495
|
-
const providedSession = await this.chatSessionService.getOrCreateChatSession(
|
|
496
|
-
|
|
508
|
+
const providedSession = await this.chatSessionService.getOrCreateChatSession(sessionResource, token);
|
|
509
|
+
{
|
|
510
|
+
const existingRef = this.acquireExistingSession(sessionResource);
|
|
511
|
+
if (existingRef) {
|
|
512
|
+
providedSession.dispose();
|
|
513
|
+
return existingRef;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
const chatSessionType = sessionResource.scheme;
|
|
497
517
|
const modelRef = this._sessionModels.acquireOrCreate({
|
|
498
518
|
initialData: undefined,
|
|
499
519
|
location,
|
|
500
|
-
sessionResource:
|
|
520
|
+
sessionResource: sessionResource,
|
|
501
521
|
canUseTools: false,
|
|
502
522
|
transferEditingSession: providedSession.transferredState?.editingSession,
|
|
503
523
|
inputState: providedSession.transferredState?.inputState
|
|
504
524
|
});
|
|
505
525
|
modelRef.object.setContributedChatSession({
|
|
506
|
-
chatSessionResource,
|
|
526
|
+
chatSessionResource: sessionResource,
|
|
507
527
|
chatSessionType,
|
|
508
|
-
isUntitled:
|
|
528
|
+
isUntitled: sessionResource.path.startsWith("/untitled-")
|
|
509
529
|
});
|
|
530
|
+
if (providedSession.title) {
|
|
531
|
+
modelRef.object.setCustomTitle(providedSession.title);
|
|
532
|
+
}
|
|
510
533
|
const model = modelRef.object;
|
|
511
534
|
const disposables = ( new DisposableStore());
|
|
512
535
|
disposables.add(modelRef.object.onDidDispose(() => {
|
|
@@ -539,7 +562,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
539
562
|
undefined,
|
|
540
563
|
undefined,
|
|
541
564
|
false,
|
|
542
|
-
|
|
565
|
+
message.modelId, undefined, message.id);
|
|
543
566
|
} else {
|
|
544
567
|
if (lastRequest) {
|
|
545
568
|
for (const part of message.parts) {
|
|
@@ -554,6 +577,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
554
577
|
if (providedSession.progressObs && lastRequest && providedSession.interruptActiveResponseCallback) {
|
|
555
578
|
const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
|
|
556
579
|
this._pendingRequests.set(model.sessionResource, initialCancellationRequest);
|
|
580
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
581
|
+
action: "add",
|
|
582
|
+
source: "remoteSession"
|
|
583
|
+
});
|
|
557
584
|
const cancellationListener = disposables.add(( new MutableDisposable()));
|
|
558
585
|
const createCancellationListener = token => {
|
|
559
586
|
return token.onCancellationRequested(() => {
|
|
@@ -561,6 +588,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
561
588
|
if (!userConfirmedInterruption) {
|
|
562
589
|
const newCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
|
|
563
590
|
this._pendingRequests.set(model.sessionResource, newCancellationRequest);
|
|
591
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
592
|
+
action: "add",
|
|
593
|
+
source: "remoteSession"
|
|
594
|
+
});
|
|
564
595
|
cancellationListener.value = createCancellationListener(newCancellationRequest.cancellationTokenSource.token);
|
|
565
596
|
}
|
|
566
597
|
});
|
|
@@ -584,6 +615,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
584
615
|
}
|
|
585
616
|
}));
|
|
586
617
|
} else {
|
|
618
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
619
|
+
action: "notCancelable",
|
|
620
|
+
source: "remoteSession"
|
|
621
|
+
});
|
|
587
622
|
if (lastRequest && model.editingSession) {
|
|
588
623
|
await chatEditingSessionIsReady(model.editingSession);
|
|
589
624
|
lastRequest.response?.complete();
|
|
@@ -680,9 +715,12 @@ let ChatService = class ChatService extends Disposable {
|
|
|
680
715
|
throw ( new Error(`Unknown session: ${sessionResource}`));
|
|
681
716
|
}
|
|
682
717
|
const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
|
|
683
|
-
const hasPendingQueue = model.getPendingRequests().length > 0;
|
|
684
718
|
if (options?.queue) {
|
|
685
|
-
|
|
719
|
+
const queued = this.queuePendingRequest(model, sessionResource, request, options);
|
|
720
|
+
if (!options.pauseQueue) {
|
|
721
|
+
this.processPendingRequests(sessionResource);
|
|
722
|
+
}
|
|
723
|
+
return queued;
|
|
686
724
|
} else if (hasPendingRequest) {
|
|
687
725
|
this.trace("sendRequest", `Session ${sessionResource} already has a pending request`);
|
|
688
726
|
return {
|
|
@@ -690,11 +728,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
690
728
|
reason: "Request already in progress"
|
|
691
729
|
};
|
|
692
730
|
}
|
|
693
|
-
if (options?.queue && hasPendingQueue) {
|
|
694
|
-
const queued = this.queuePendingRequest(model, sessionResource, request, options);
|
|
695
|
-
this.processNextPendingRequest(model);
|
|
696
|
-
return queued;
|
|
697
|
-
}
|
|
698
731
|
const requests = model.getRequests();
|
|
699
732
|
for (let i = requests.length - 1; i >= 0; i -= 1) {
|
|
700
733
|
const request = requests[i];
|
|
@@ -744,6 +777,14 @@ let ChatService = class ChatService extends Disposable {
|
|
|
744
777
|
};
|
|
745
778
|
const commandPart = options.slashCommand ? ` ${chatSubcommandLeader}${options.slashCommand}` : "";
|
|
746
779
|
request = `${chatAgentLeader}${agent.name}${commandPart} ${request}`;
|
|
780
|
+
} else if (options?.agentIdSilent && !parserContext?.forcedAgent) {
|
|
781
|
+
const silentAgent = this.chatAgentService.getAgent(options.agentIdSilent);
|
|
782
|
+
if (silentAgent) {
|
|
783
|
+
parserContext = {
|
|
784
|
+
...parserContext,
|
|
785
|
+
forcedAgent: silentAgent
|
|
786
|
+
};
|
|
787
|
+
}
|
|
747
788
|
}
|
|
748
789
|
const parsedRequest = this.instantiationService.createInstance(ChatRequestParser).parseChatRequest(sessionResource, request, location, parserContext);
|
|
749
790
|
return parsedRequest;
|
|
@@ -774,7 +815,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
774
815
|
agent: agentPart?.agent ?? defaultAgent,
|
|
775
816
|
agentSlashCommandPart,
|
|
776
817
|
commandPart,
|
|
777
|
-
|
|
818
|
+
sessionResource: model.sessionResource,
|
|
778
819
|
location: model.initialLocation,
|
|
779
820
|
options,
|
|
780
821
|
enableCommandDetection
|
|
@@ -812,7 +853,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
812
853
|
`Provider returned progress: ${JSON.stringify(progressItem)}`
|
|
813
854
|
);
|
|
814
855
|
}
|
|
815
|
-
|
|
856
|
+
if (request) {
|
|
857
|
+
model.acceptResponseProgress(request, progressItem, !isLast);
|
|
858
|
+
}
|
|
816
859
|
}
|
|
817
860
|
completeResponseCreated();
|
|
818
861
|
};
|
|
@@ -821,7 +864,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
821
864
|
let collectedHooks;
|
|
822
865
|
let hasDisabledClaudeHooks = false;
|
|
823
866
|
try {
|
|
824
|
-
const hooksInfo = await this.promptsService.getHooks(token);
|
|
867
|
+
const hooksInfo = await this.promptsService.getHooks(token, model.sessionResource);
|
|
825
868
|
if (hooksInfo) {
|
|
826
869
|
collectedHooks = hooksInfo.hooks;
|
|
827
870
|
hasDisabledClaudeHooks = hooksInfo.hasDisabledClaudeHooks;
|
|
@@ -880,6 +923,11 @@ let ChatService = class ChatService extends Disposable {
|
|
|
880
923
|
variables: this.prepareContext(request.attachedContext)
|
|
881
924
|
};
|
|
882
925
|
model.updateRequest(request, variableData);
|
|
926
|
+
if (options?.resolvedVariables?.length) {
|
|
927
|
+
variableData = {
|
|
928
|
+
variables: [...variableData.variables, ...options.resolvedVariables]
|
|
929
|
+
};
|
|
930
|
+
}
|
|
883
931
|
const promptTextResult = getPromptText(request.message);
|
|
884
932
|
variableData = updateRanges(variableData, promptTextResult.diff);
|
|
885
933
|
message = promptTextResult.message;
|
|
@@ -912,7 +960,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
912
960
|
isInitialTools = false;
|
|
913
961
|
return;
|
|
914
962
|
}
|
|
915
|
-
if (tools) {
|
|
963
|
+
if (tools && request) {
|
|
916
964
|
this.chatAgentService.setRequestTools(agent.id, request.id, tools);
|
|
917
965
|
agentRequest.userSelectedTools = tools;
|
|
918
966
|
}
|
|
@@ -926,7 +974,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
926
974
|
location
|
|
927
975
|
}, token);
|
|
928
976
|
if (result && this.chatAgentService.getAgent(result.agent.id)?.locations?.includes(location)) {
|
|
929
|
-
request
|
|
977
|
+
request?.response?.setAgent(result.agent, result.command);
|
|
930
978
|
detectedAgent = result.agent;
|
|
931
979
|
detectedCommand = result.command;
|
|
932
980
|
}
|
|
@@ -946,8 +994,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
946
994
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
947
995
|
if (pendingRequest) {
|
|
948
996
|
store.add(autorun(reader => {
|
|
949
|
-
|
|
950
|
-
|
|
997
|
+
const yieldRequested = pendingRequest.yieldRequested.read(reader);
|
|
998
|
+
if (request) {
|
|
999
|
+
this.chatAgentService.setYieldRequested(agent.id, request.id, yieldRequested);
|
|
951
1000
|
}
|
|
952
1001
|
}));
|
|
953
1002
|
pendingRequest.requestId ??= requestProps.requestId;
|
|
@@ -1021,7 +1070,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1021
1070
|
} else {
|
|
1022
1071
|
throw ( new Error(`Cannot handle request`));
|
|
1023
1072
|
}
|
|
1024
|
-
if (token.isCancellationRequested && !rawResult) {
|
|
1073
|
+
if ((token.isCancellationRequested && !rawResult)) {
|
|
1074
|
+
return;
|
|
1075
|
+
} else if (!request) {
|
|
1025
1076
|
return;
|
|
1026
1077
|
} else {
|
|
1027
1078
|
if (!rawResult) {
|
|
@@ -1031,7 +1082,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1031
1082
|
);
|
|
1032
1083
|
rawResult = {
|
|
1033
1084
|
errorDetails: {
|
|
1034
|
-
message: ( localize(
|
|
1085
|
+
message: ( localize(6869, "Provider returned null response"))
|
|
1035
1086
|
}
|
|
1036
1087
|
};
|
|
1037
1088
|
}
|
|
@@ -1050,6 +1101,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1050
1101
|
"sendRequest",
|
|
1051
1102
|
`Provider returned response for session ${model.sessionResource}`
|
|
1052
1103
|
);
|
|
1104
|
+
if (rawResult.errorDetails?.isRateLimited) {
|
|
1105
|
+
this.chatEntitlementService.markAnonymousRateLimited();
|
|
1106
|
+
}
|
|
1053
1107
|
shouldProcessPending = !rawResult.errorDetails && !token.isCancellationRequested;
|
|
1054
1108
|
request.response?.complete();
|
|
1055
1109
|
if (agentOrCommandFollowups) {
|
|
@@ -1062,15 +1116,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1062
1116
|
}
|
|
1063
1117
|
} catch (err) {
|
|
1064
1118
|
this.logService.error(`Error while handling chat request: ${toErrorMessage(err, true)}`);
|
|
1065
|
-
requestTelemetry.complete({
|
|
1066
|
-
timeToFirstProgress: undefined,
|
|
1067
|
-
totalTime: undefined,
|
|
1068
|
-
result: "error",
|
|
1069
|
-
requestType,
|
|
1070
|
-
detectedAgent,
|
|
1071
|
-
request
|
|
1072
|
-
});
|
|
1073
1119
|
if (request) {
|
|
1120
|
+
requestTelemetry.complete({
|
|
1121
|
+
timeToFirstProgress: undefined,
|
|
1122
|
+
totalTime: undefined,
|
|
1123
|
+
result: "error",
|
|
1124
|
+
requestType,
|
|
1125
|
+
detectedAgent,
|
|
1126
|
+
request
|
|
1127
|
+
});
|
|
1074
1128
|
const rawResult = {
|
|
1075
1129
|
errorDetails: {
|
|
1076
1130
|
message: err.message
|
|
@@ -1086,18 +1140,30 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1086
1140
|
};
|
|
1087
1141
|
let shouldProcessPending = false;
|
|
1088
1142
|
const rawResponsePromise = sendRequestInternal();
|
|
1089
|
-
this.
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1143
|
+
const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, source, undefined);
|
|
1144
|
+
this._pendingRequests.set(model.sessionResource, cancellableRequest);
|
|
1145
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1146
|
+
action: "add",
|
|
1147
|
+
source: "sendRequest"
|
|
1148
|
+
});
|
|
1093
1149
|
rawResponsePromise.finally(() => {
|
|
1094
|
-
this._pendingRequests.
|
|
1150
|
+
if (this._pendingRequests.get(model.sessionResource) === cancellableRequest) {
|
|
1151
|
+
this._pendingRequests.deleteAndDispose(model.sessionResource);
|
|
1152
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1153
|
+
action: "remove",
|
|
1154
|
+
source: "sendRequestComplete"
|
|
1155
|
+
});
|
|
1156
|
+
}
|
|
1095
1157
|
if (shouldProcessPending) {
|
|
1096
1158
|
this.processNextPendingRequest(model);
|
|
1097
1159
|
}
|
|
1098
1160
|
});
|
|
1161
|
+
if (options?.userSelectedModelId) {
|
|
1162
|
+
this.languageModelsService.addToRecentlyUsedList(options.userSelectedModelId);
|
|
1163
|
+
}
|
|
1099
1164
|
this._onDidSubmitRequest.fire({
|
|
1100
|
-
chatSessionResource: model.sessionResource
|
|
1165
|
+
chatSessionResource: model.sessionResource,
|
|
1166
|
+
message: parsedRequest
|
|
1101
1167
|
});
|
|
1102
1168
|
return {
|
|
1103
1169
|
responseCreatedPromise: responseCreated.p,
|
|
@@ -1232,6 +1298,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1232
1298
|
if (pendingRequest?.requestId === requestId) {
|
|
1233
1299
|
pendingRequest.cancel();
|
|
1234
1300
|
this._pendingRequests.deleteAndDispose(sessionResource);
|
|
1301
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1302
|
+
action: "remove",
|
|
1303
|
+
source: "removeRequest"
|
|
1304
|
+
});
|
|
1235
1305
|
}
|
|
1236
1306
|
model.removeRequest(requestId);
|
|
1237
1307
|
}
|
|
@@ -1250,6 +1320,14 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1250
1320
|
if (cts) {
|
|
1251
1321
|
cts.requestId = request.id;
|
|
1252
1322
|
this._pendingRequests.set(target.sessionResource, cts);
|
|
1323
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1324
|
+
action: "remove",
|
|
1325
|
+
source: "adoptRequest"
|
|
1326
|
+
});
|
|
1327
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1328
|
+
action: "add",
|
|
1329
|
+
source: "adoptRequest"
|
|
1330
|
+
});
|
|
1253
1331
|
}
|
|
1254
1332
|
}
|
|
1255
1333
|
}
|
|
@@ -1279,10 +1357,34 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1279
1357
|
}
|
|
1280
1358
|
request.response?.complete();
|
|
1281
1359
|
}
|
|
1282
|
-
cancelCurrentRequestForSession(sessionResource) {
|
|
1360
|
+
cancelCurrentRequestForSession(sessionResource, source) {
|
|
1283
1361
|
this.trace("cancelCurrentRequestForSession", `session: ${sessionResource}`);
|
|
1284
|
-
this._pendingRequests.get(sessionResource)
|
|
1362
|
+
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
1363
|
+
if (!pendingRequest) {
|
|
1364
|
+
const model = this._sessionModels.get(sessionResource);
|
|
1365
|
+
const requestInProgress = model?.requestInProgress.get();
|
|
1366
|
+
const pendingRequestsCount = model?.getPendingRequests().length ?? 0;
|
|
1367
|
+
const lastRequest = model?.lastRequest;
|
|
1368
|
+
this.telemetryService.publicLog2(ChatStopCancellationNoopEventName, {
|
|
1369
|
+
source: source ?? "chatService",
|
|
1370
|
+
reason: "noPendingRequest",
|
|
1371
|
+
requestInProgress: requestInProgress === undefined ? "unknown" : requestInProgress ? "true" : "false",
|
|
1372
|
+
pendingRequests: pendingRequestsCount,
|
|
1373
|
+
sessionScheme: sessionResource.scheme,
|
|
1374
|
+
lastRequestId: lastRequest?.id
|
|
1375
|
+
});
|
|
1376
|
+
this.info(
|
|
1377
|
+
"cancelCurrentRequestForSession",
|
|
1378
|
+
`No pending request was found for session ${sessionResource}. requestInProgress=${requestInProgress ?? "unknown"}, pendingRequests=${pendingRequestsCount}`
|
|
1379
|
+
);
|
|
1380
|
+
return;
|
|
1381
|
+
}
|
|
1382
|
+
pendingRequest.cancel();
|
|
1285
1383
|
this._pendingRequests.deleteAndDispose(sessionResource);
|
|
1384
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1385
|
+
action: "remove",
|
|
1386
|
+
source: source ?? "cancelRequest"
|
|
1387
|
+
});
|
|
1286
1388
|
}
|
|
1287
1389
|
setYieldRequested(sessionResource) {
|
|
1288
1390
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
@@ -1294,6 +1396,11 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1294
1396
|
const model = this._sessionModels.get(sessionResource);
|
|
1295
1397
|
if (model) {
|
|
1296
1398
|
model.removePendingRequest(requestId);
|
|
1399
|
+
const hasSteeringRequests = ( model.getPendingRequests().some(r => r.kind === ChatRequestQueueKind.Steering));
|
|
1400
|
+
if (!hasSteeringRequests) {
|
|
1401
|
+
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
1402
|
+
pendingRequest?.resetYieldRequested();
|
|
1403
|
+
}
|
|
1297
1404
|
}
|
|
1298
1405
|
const deferred = this._queuedRequestDeferreds.get(requestId);
|
|
1299
1406
|
if (deferred) {
|
|
@@ -1347,7 +1454,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1347
1454
|
logChatIndex() {
|
|
1348
1455
|
this._chatSessionStore.logIndex();
|
|
1349
1456
|
}
|
|
1350
|
-
|
|
1457
|
+
setSessionTitle(sessionResource, title) {
|
|
1351
1458
|
this._sessionModels.get(sessionResource)?.setCustomTitle(title);
|
|
1352
1459
|
}
|
|
1353
1460
|
appendProgress(request, progress) {
|
|
@@ -1365,6 +1472,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1365
1472
|
return localSessionId;
|
|
1366
1473
|
}
|
|
1367
1474
|
};
|
|
1368
|
-
ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2,
|
|
1475
|
+
ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2, ITelemetryService)), ( __param(3, IExtensionService)), ( __param(4, IInstantiationService)), ( __param(5, IWorkspaceContextService)), ( __param(6, IChatSlashCommandService)), ( __param(7, IChatAgentService)), ( __param(8, IConfigurationService)), ( __param(9, IChatTransferService)), ( __param(10, IChatSessionsService)), ( __param(11, IMcpService)), ( __param(12, IPromptsService)), ( __param(13, IChatEntitlementService)), ( __param(14, ILanguageModelsService)), ( __param(15, IChatDebugService))], ChatService));
|
|
1369
1476
|
|
|
1370
1477
|
export { ChatService };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
1
2
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
2
3
|
import { IChatAgentData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents";
|
|
3
4
|
import { ChatRequestModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
|
|
@@ -116,7 +117,7 @@ export declare class ChatRequestTelemetry {
|
|
|
116
117
|
agent: IChatAgentData;
|
|
117
118
|
agentSlashCommandPart: ChatRequestAgentSubcommandPart | undefined;
|
|
118
119
|
commandPart: ChatRequestSlashCommandPart | undefined;
|
|
119
|
-
|
|
120
|
+
sessionResource: URI;
|
|
120
121
|
location: ChatAgentLocation;
|
|
121
122
|
options: IChatSendRequestOptions | undefined;
|
|
122
123
|
enableCommandDetection: boolean;
|