@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.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 +21 -3
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
- 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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -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 +3 -3
- 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.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -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 +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +10 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +46 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
- 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 +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
- 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 +5 -5
- 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/terminalChatAccessibilityHelp.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- 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 +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
- 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 +2 -2
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { DeferredPromise, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
4
|
-
import {
|
|
4
|
+
import { CancellationTokenSource, CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
5
5
|
import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
|
|
6
6
|
import { ErrorNoTelemetry, BugIndicatingError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
7
7
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
@@ -14,7 +14,6 @@ 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';
|
|
18
17
|
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
19
18
|
import { OffsetRange } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/ranges/offsetRange';
|
|
20
19
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -47,15 +46,16 @@ import { ChatSessionStore } from '../model/chatSessionStore.js';
|
|
|
47
46
|
import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
|
|
48
47
|
import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatTransferService.service';
|
|
49
48
|
import { LocalChatSessionUri, getChatSessionType, chatSessionResourceToId, isUntitledChatSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
50
|
-
import { IChatRequestVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
49
|
+
import { IChatRequestVariableEntry, ChatRequestVariableSet, isPromptTextVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
51
50
|
import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
52
51
|
import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
53
52
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
54
53
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
55
54
|
import { ChatSessionOperationLog } from '../model/chatSessionOperationLog.js';
|
|
56
55
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
57
|
-
import {
|
|
56
|
+
import { AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING, TROUBLESHOOT_COMMAND_NAME, COPILOT_SKILL_URI_SCHEME, TROUBLESHOOT_SKILL_PATH } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
58
57
|
import { mergeHooks } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
|
|
58
|
+
import { ComputeAutomaticInstructions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions';
|
|
59
59
|
import { findLast } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arraysFind';
|
|
60
60
|
import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
|
|
61
61
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
@@ -196,7 +196,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
196
196
|
this.trace("constructor", `Transferred session ${transferredData}`);
|
|
197
197
|
this._transferredSessionResource = transferredData;
|
|
198
198
|
}
|
|
199
|
-
this.reviveSessionsWithEdits();
|
|
200
199
|
this._register(storageService.onWillSaveState(() => this.saveState()));
|
|
201
200
|
this.chatModels = derived(this, reader => [...( this._sessionModels.observable.read(reader).values())]);
|
|
202
201
|
this.requestInProgressObs = derived(reader => {
|
|
@@ -319,26 +318,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
319
318
|
return {};
|
|
320
319
|
}
|
|
321
320
|
}
|
|
322
|
-
async reviveSessionsWithEdits() {
|
|
323
|
-
const idx = await this._chatSessionStore.getIndex();
|
|
324
|
-
await Promise.all(( ( Object.values(idx)).map(async session => {
|
|
325
|
-
if (!session.hasPendingEdits) {
|
|
326
|
-
return;
|
|
327
|
-
}
|
|
328
|
-
let sessionResource;
|
|
329
|
-
if (session.sessionId.includes(":")) {
|
|
330
|
-
try {
|
|
331
|
-
sessionResource = ( URI.parse(session.sessionId, true));
|
|
332
|
-
} catch {}
|
|
333
|
-
}
|
|
334
|
-
sessionResource ??= LocalChatSessionUri.forSession(session.sessionId);
|
|
335
|
-
const sessionRef = await this.acquireOrLoadSession(sessionResource, ChatAgentLocation.Chat, CancellationToken.None);
|
|
336
|
-
if (sessionRef?.object.editingSession) {
|
|
337
|
-
await chatEditingSessionIsReady(sessionRef.object.editingSession);
|
|
338
|
-
sessionRef.dispose();
|
|
339
|
-
}
|
|
340
|
-
})));
|
|
341
|
-
}
|
|
342
321
|
async getLocalSessionHistory() {
|
|
343
322
|
const liveSessionItems = await this.getLiveSessionItems();
|
|
344
323
|
const historySessionItems = await this.getHistorySessionItems();
|
|
@@ -392,7 +371,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
392
371
|
sessionResource,
|
|
393
372
|
canUseTools: options?.canUseTools ?? true,
|
|
394
373
|
disableBackgroundKeepAlive: options?.disableBackgroundKeepAlive
|
|
395
|
-
});
|
|
374
|
+
}, options?.debugOwner ?? "ChatService#startNewLocalSession");
|
|
396
375
|
}
|
|
397
376
|
_startSession(props) {
|
|
398
377
|
const {
|
|
@@ -442,12 +421,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
442
421
|
getSession(sessionResource) {
|
|
443
422
|
return this._sessionModels.get(sessionResource);
|
|
444
423
|
}
|
|
445
|
-
acquireExistingSession(sessionResource) {
|
|
446
|
-
return this._sessionModels.acquireExisting(sessionResource);
|
|
424
|
+
acquireExistingSession(sessionResource, debugOwner) {
|
|
425
|
+
return this._sessionModels.acquireExisting(sessionResource, debugOwner ?? "ChatService#acquireExistingSession");
|
|
447
426
|
}
|
|
448
|
-
|
|
427
|
+
getChatModelReferenceDebugInfo() {
|
|
428
|
+
return this._sessionModels.getReferenceDebugSnapshot();
|
|
429
|
+
}
|
|
430
|
+
async acquireOrRestoreLocalSession(sessionResource, debugOwner) {
|
|
449
431
|
this.trace("acquireOrRestoreSession", `${sessionResource}`);
|
|
450
|
-
const existingRef = this.acquireExistingSession(sessionResource);
|
|
432
|
+
const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
|
|
451
433
|
if (existingRef) {
|
|
452
434
|
return existingRef;
|
|
453
435
|
}
|
|
@@ -469,7 +451,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
469
451
|
location: sessionData.value.initialLocation ?? ChatAgentLocation.Chat,
|
|
470
452
|
sessionResource,
|
|
471
453
|
canUseTools: true
|
|
472
|
-
});
|
|
454
|
+
}, debugOwner ?? "ChatService#acquireOrRestoreLocalSession");
|
|
473
455
|
return sessionRef;
|
|
474
456
|
}
|
|
475
457
|
getSessionTitle(sessionResource) {
|
|
@@ -479,7 +461,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
479
461
|
}
|
|
480
462
|
return this._sessionModels.get(sessionResource)?.title ?? this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.title;
|
|
481
463
|
}
|
|
482
|
-
loadSessionFromData(data) {
|
|
464
|
+
loadSessionFromData(data, debugOwner) {
|
|
483
465
|
const sessionId = data.sessionId ?? generateUuid();
|
|
484
466
|
const sessionResource = LocalChatSessionUri.forSession(sessionId);
|
|
485
467
|
return this._sessionModels.acquireOrCreate({
|
|
@@ -490,18 +472,18 @@ let ChatService = class ChatService extends Disposable {
|
|
|
490
472
|
location: data.initialLocation ?? ChatAgentLocation.Chat,
|
|
491
473
|
sessionResource,
|
|
492
474
|
canUseTools: true
|
|
493
|
-
});
|
|
475
|
+
}, debugOwner ?? "ChatService#loadSessionFromData");
|
|
494
476
|
}
|
|
495
|
-
async acquireOrLoadSession(sessionResource, location, token) {
|
|
477
|
+
async acquireOrLoadSession(sessionResource, location, token, debugOwner) {
|
|
496
478
|
if (sessionResource.scheme === Schemas.vscodeLocalChatSession) {
|
|
497
|
-
return this.acquireOrRestoreLocalSession(sessionResource);
|
|
479
|
+
return this.acquireOrRestoreLocalSession(sessionResource, debugOwner);
|
|
498
480
|
} else {
|
|
499
|
-
return this.loadRemoteSession(sessionResource, location, token);
|
|
481
|
+
return this.loadRemoteSession(sessionResource, location, token, debugOwner);
|
|
500
482
|
}
|
|
501
483
|
}
|
|
502
|
-
async loadRemoteSession(sessionResource, location, token) {
|
|
484
|
+
async loadRemoteSession(sessionResource, location, token, debugOwner) {
|
|
503
485
|
{
|
|
504
|
-
const existingRef = this.acquireExistingSession(sessionResource);
|
|
486
|
+
const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
|
|
505
487
|
if (existingRef) {
|
|
506
488
|
return existingRef;
|
|
507
489
|
}
|
|
@@ -511,14 +493,13 @@ let ChatService = class ChatService extends Disposable {
|
|
|
511
493
|
}
|
|
512
494
|
const providedSession = await this.chatSessionService.getOrCreateChatSession(sessionResource, token);
|
|
513
495
|
{
|
|
514
|
-
const existingRef = this.acquireExistingSession(sessionResource);
|
|
496
|
+
const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
|
|
515
497
|
if (existingRef) {
|
|
516
498
|
providedSession.dispose();
|
|
517
499
|
return existingRef;
|
|
518
500
|
}
|
|
519
501
|
}
|
|
520
502
|
const chatSessionType = getChatSessionType(sessionResource);
|
|
521
|
-
const contribution = this.chatSessionService.getChatSessionContribution(chatSessionType);
|
|
522
503
|
const modelId = findLast(
|
|
523
504
|
providedSession.history.filter(m => m.type === "request"),
|
|
524
505
|
req => req.modelId
|
|
@@ -529,7 +510,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
529
510
|
)?.modeInstructions?.uri;
|
|
530
511
|
const storedPermissionLevel = this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.permissionLevel;
|
|
531
512
|
let initialData = undefined;
|
|
532
|
-
if ((modelId || agentUri)
|
|
513
|
+
if ((modelId || agentUri)) {
|
|
533
514
|
const mode = agentUri ? {
|
|
534
515
|
kind: ChatModeKind.Agent,
|
|
535
516
|
id: ( agentUri.toString())
|
|
@@ -552,7 +533,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
552
533
|
responderUsername: "",
|
|
553
534
|
sessionId: "",
|
|
554
535
|
version: 3,
|
|
555
|
-
hasPendingEdits: undefined,
|
|
556
536
|
inputState: {
|
|
557
537
|
attachments: [],
|
|
558
538
|
contrib: {},
|
|
@@ -574,15 +554,12 @@ let ChatService = class ChatService extends Disposable {
|
|
|
574
554
|
canUseTools: false,
|
|
575
555
|
transferEditingSession: providedSession.transferredState?.editingSession,
|
|
576
556
|
inputState: providedSession.transferredState?.inputState
|
|
577
|
-
});
|
|
557
|
+
}, debugOwner ?? "ChatService#loadRemoteSession");
|
|
578
558
|
if (storedPermissionLevel && !initialData) {
|
|
579
559
|
modelRef.object.inputModel.setState({
|
|
580
560
|
permissionLevel: storedPermissionLevel
|
|
581
561
|
});
|
|
582
562
|
}
|
|
583
|
-
modelRef.object.setContributedChatSession({
|
|
584
|
-
chatSessionResource: sessionResource
|
|
585
|
-
});
|
|
586
563
|
if (providedSession.title) {
|
|
587
564
|
modelRef.object.setCustomTitle(providedSession.title);
|
|
588
565
|
}
|
|
@@ -634,9 +611,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
634
611
|
}
|
|
635
612
|
}
|
|
636
613
|
}
|
|
637
|
-
if (providedSession.isCompleteObs?.get()) {
|
|
638
|
-
lastRequest?.response?.complete();
|
|
639
|
-
}
|
|
640
614
|
const hasProgressStreaming = providedSession.progressObs && providedSession.interruptActiveResponseCallback;
|
|
641
615
|
if (hasProgressStreaming) {
|
|
642
616
|
let lastProgressLength = 0;
|
|
@@ -645,39 +619,28 @@ let ChatService = class ChatService extends Disposable {
|
|
|
645
619
|
return token.onCancellationRequested(() => {
|
|
646
620
|
providedSession.interruptActiveResponseCallback?.().then(userConfirmedInterruption => {
|
|
647
621
|
if (!userConfirmedInterruption) {
|
|
648
|
-
|
|
649
|
-
this._pendingRequests.set(model.sessionResource, newCancellationRequest);
|
|
650
|
-
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
651
|
-
action: "add",
|
|
652
|
-
source: "remoteSession",
|
|
653
|
-
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
654
|
-
});
|
|
655
|
-
cancellationListener.value = createCancellationListener(newCancellationRequest.cancellationTokenSource.token);
|
|
622
|
+
trackNewCancellableRequest();
|
|
656
623
|
}
|
|
657
624
|
});
|
|
658
625
|
});
|
|
659
626
|
};
|
|
660
|
-
const
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
this._pendingRequests.set(model.sessionResource, cts);
|
|
664
|
-
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
665
|
-
action: "add",
|
|
666
|
-
source: "remoteSession",
|
|
667
|
-
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
668
|
-
});
|
|
669
|
-
cancellationListener.value = createCancellationListener(cts.cancellationTokenSource.token);
|
|
670
|
-
}
|
|
671
|
-
};
|
|
672
|
-
if (lastRequest) {
|
|
673
|
-
const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
|
|
674
|
-
this._pendingRequests.set(model.sessionResource, initialCancellationRequest);
|
|
627
|
+
const trackNewCancellableRequest = () => {
|
|
628
|
+
const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
|
|
629
|
+
this._pendingRequests.set(model.sessionResource, cancellableRequest);
|
|
675
630
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
676
631
|
action: "add",
|
|
677
632
|
source: "remoteSession",
|
|
678
633
|
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
679
634
|
});
|
|
680
|
-
cancellationListener.value = createCancellationListener(
|
|
635
|
+
cancellationListener.value = createCancellationListener(cancellableRequest.cancellationTokenSource.token);
|
|
636
|
+
};
|
|
637
|
+
const ensureCancellationTracking = () => {
|
|
638
|
+
if (!( this._pendingRequests.has(model.sessionResource))) {
|
|
639
|
+
trackNewCancellableRequest();
|
|
640
|
+
}
|
|
641
|
+
};
|
|
642
|
+
if (lastRequest && !providedSession.isCompleteObs?.get()) {
|
|
643
|
+
trackNewCancellableRequest();
|
|
681
644
|
}
|
|
682
645
|
if (providedSession.onDidStartServerRequest) {
|
|
683
646
|
disposables.add(providedSession.onDidStartServerRequest((
|
|
@@ -717,11 +680,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
717
680
|
lastProgressLength = progressArray.length;
|
|
718
681
|
}
|
|
719
682
|
if (isComplete && lastRequest) {
|
|
720
|
-
|
|
683
|
+
this._pendingRequests.deleteAndDispose(model.sessionResource);
|
|
721
684
|
cancellationListener.clear();
|
|
685
|
+
lastRequest.response?.complete();
|
|
722
686
|
}
|
|
723
687
|
}));
|
|
724
688
|
} else {
|
|
689
|
+
if (providedSession.isCompleteObs?.get()) {
|
|
690
|
+
lastRequest?.response?.complete();
|
|
691
|
+
}
|
|
725
692
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
726
693
|
action: "notCancelable",
|
|
727
694
|
source: "remoteSession",
|
|
@@ -734,16 +701,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
734
701
|
}
|
|
735
702
|
return modelRef;
|
|
736
703
|
}
|
|
737
|
-
getChatSessionFromInternalUri(sessionResource) {
|
|
738
|
-
const model = this._sessionModels.get(sessionResource);
|
|
739
|
-
if (!model) {
|
|
740
|
-
return;
|
|
741
|
-
}
|
|
742
|
-
const {
|
|
743
|
-
contributedChatSession
|
|
744
|
-
} = model;
|
|
745
|
-
return contributedChatSession;
|
|
746
|
-
}
|
|
747
704
|
async resendRequest(request, options) {
|
|
748
705
|
const model = this._sessionModels.get(request.session.sessionResource);
|
|
749
706
|
if (!model && model !== request.session) {
|
|
@@ -792,7 +749,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
792
749
|
locationData: options.locationData,
|
|
793
750
|
attachedContext: options.attachedContext,
|
|
794
751
|
modelId: options.userSelectedModelId,
|
|
795
|
-
userSelectedTools: options.userSelectedTools?.get()
|
|
752
|
+
userSelectedTools: options.userSelectedTools?.get(),
|
|
753
|
+
isSystemInitiated: options.isSystemInitiated,
|
|
754
|
+
systemInitiatedLabel: options.systemInitiatedLabel,
|
|
755
|
+
terminalExecutionId: options.terminalExecutionId
|
|
796
756
|
}));
|
|
797
757
|
const deferred = ( new DeferredPromise());
|
|
798
758
|
this._queuedRequestDeferreds.set(requestModel.id, deferred);
|
|
@@ -822,86 +782,89 @@ let ChatService = class ChatService extends Disposable {
|
|
|
822
782
|
if (!model) {
|
|
823
783
|
throw ( new Error(`Unknown session: ${sessionResource}`));
|
|
824
784
|
}
|
|
785
|
+
let tempRef;
|
|
825
786
|
let newSessionResource;
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
787
|
+
try {
|
|
788
|
+
if (!model.hasRequests && isUntitledChatSession(sessionResource) && getChatSessionType(sessionResource) !== localChatSessionType) {
|
|
789
|
+
const parsedRequest = this.parseChatRequest(
|
|
790
|
+
sessionResource,
|
|
791
|
+
request,
|
|
792
|
+
options?.location ?? model.initialLocation,
|
|
793
|
+
options
|
|
794
|
+
);
|
|
795
|
+
const commandPart = parsedRequest.parts.find(r => r instanceof ChatRequestSlashCommandPart);
|
|
796
|
+
const requestText = getPromptText(parsedRequest).message;
|
|
797
|
+
const initialSessionOptions = this.chatSessionService.getSessionOptions(sessionResource);
|
|
798
|
+
const newItem = await this.chatSessionService.createNewChatSessionItem(getChatSessionType(sessionResource), {
|
|
799
|
+
prompt: requestText,
|
|
800
|
+
command: commandPart?.text,
|
|
801
|
+
initialSessionOptions
|
|
802
|
+
}, CancellationToken.None);
|
|
803
|
+
if (newItem) {
|
|
804
|
+
this.chatSessionService.registerSessionResourceAlias(sessionResource, newItem.resource);
|
|
805
|
+
tempRef = await this.loadRemoteSession(newItem.resource, model.initialLocation, CancellationToken.None);
|
|
806
|
+
model = tempRef?.object;
|
|
807
|
+
if (!model) {
|
|
808
|
+
throw ( new Error(`Failed to load session for resource: ${newItem.resource}`));
|
|
809
|
+
}
|
|
810
|
+
if (initialSessionOptions) {
|
|
811
|
+
this.chatSessionService.updateSessionOptions(model.sessionResource, initialSessionOptions);
|
|
812
|
+
}
|
|
813
|
+
sessionResource = newItem.resource;
|
|
814
|
+
newSessionResource = newItem.resource;
|
|
845
815
|
}
|
|
846
|
-
this.chatSessionService.registerSessionResourceAlias(sessionResource, newItem.resource);
|
|
847
|
-
model.setContributedChatSession({
|
|
848
|
-
chatSessionResource: newItem.resource,
|
|
849
|
-
initialSessionOptions: initialSessionOptions
|
|
850
|
-
});
|
|
851
|
-
sessionResource = newItem.resource;
|
|
852
|
-
newSessionResource = newItem.resource;
|
|
853
816
|
}
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
this.processPendingRequests(sessionResource);
|
|
860
|
-
}
|
|
861
|
-
return queued;
|
|
862
|
-
} else if (hasPendingRequest) {
|
|
863
|
-
this.trace("sendRequest", `Session ${sessionResource} already has a pending request`);
|
|
864
|
-
return {
|
|
865
|
-
kind: "rejected",
|
|
866
|
-
reason: "Request already in progress"
|
|
867
|
-
};
|
|
868
|
-
}
|
|
869
|
-
const requests = model.getRequests();
|
|
870
|
-
for (let i = requests.length - 1; i >= 0; i -= 1) {
|
|
871
|
-
const request = requests[i];
|
|
872
|
-
if (request.shouldBeRemovedOnSend) {
|
|
873
|
-
if (request.shouldBeRemovedOnSend.afterUndoStop) {
|
|
874
|
-
request.response?.finalizeUndoState();
|
|
875
|
-
} else {
|
|
876
|
-
await this.removeRequest(sessionResource, request.id);
|
|
817
|
+
const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
|
|
818
|
+
if (options?.queue) {
|
|
819
|
+
const queued = this.queuePendingRequest(model, sessionResource, request, options);
|
|
820
|
+
if (!options.pauseQueue) {
|
|
821
|
+
this.processPendingRequests(sessionResource);
|
|
877
822
|
}
|
|
823
|
+
return queued;
|
|
824
|
+
} else if (hasPendingRequest) {
|
|
825
|
+
this.trace("sendRequest", `Session ${sessionResource} already has a pending request`);
|
|
826
|
+
return {
|
|
827
|
+
kind: "rejected",
|
|
828
|
+
reason: "Request already in progress"
|
|
829
|
+
};
|
|
878
830
|
}
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
newSessionResource,
|
|
890
|
-
data: {
|
|
891
|
-
...this._sendRequestAsync(
|
|
892
|
-
model,
|
|
893
|
-
sessionResource,
|
|
894
|
-
parsedRequest,
|
|
895
|
-
attempt,
|
|
896
|
-
!options?.noCommandDetection,
|
|
897
|
-
silentAgent ?? defaultAgent,
|
|
898
|
-
location,
|
|
899
|
-
options
|
|
900
|
-
),
|
|
901
|
-
agent,
|
|
902
|
-
slashCommand: agentSlashCommandPart?.command
|
|
831
|
+
const requests = model.getRequests();
|
|
832
|
+
for (let i = requests.length - 1; i >= 0; i -= 1) {
|
|
833
|
+
const request = requests[i];
|
|
834
|
+
if (request.shouldBeRemovedOnSend) {
|
|
835
|
+
if (request.shouldBeRemovedOnSend.afterUndoStop) {
|
|
836
|
+
request.response?.finalizeUndoState();
|
|
837
|
+
} else {
|
|
838
|
+
await this.removeRequest(sessionResource, request.id);
|
|
839
|
+
}
|
|
840
|
+
}
|
|
903
841
|
}
|
|
904
|
-
|
|
842
|
+
const location = options?.location ?? model.initialLocation;
|
|
843
|
+
const attempt = options?.attempt ?? 0;
|
|
844
|
+
const defaultAgent = this.chatAgentService.getDefaultAgent(location, options?.modeInfo?.kind);
|
|
845
|
+
const parsedRequest = this.parseChatRequest(sessionResource, request, location, options);
|
|
846
|
+
const silentAgent = options?.agentIdSilent ? this.chatAgentService.getAgent(options.agentIdSilent) : undefined;
|
|
847
|
+
const agent = silentAgent ?? parsedRequest.parts.find(r => r instanceof ChatRequestAgentPart)?.agent ?? defaultAgent;
|
|
848
|
+
const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
|
|
849
|
+
return {
|
|
850
|
+
kind: "sent",
|
|
851
|
+
newSessionResource,
|
|
852
|
+
data: {
|
|
853
|
+
...this._sendRequestAsync(
|
|
854
|
+
model,
|
|
855
|
+
sessionResource,
|
|
856
|
+
parsedRequest,
|
|
857
|
+
attempt,
|
|
858
|
+
!options?.noCommandDetection,
|
|
859
|
+
silentAgent ?? defaultAgent,
|
|
860
|
+
location,
|
|
861
|
+
options
|
|
862
|
+
),
|
|
863
|
+
agent,
|
|
864
|
+
slashCommand: agentSlashCommandPart?.command
|
|
865
|
+
}
|
|
866
|
+
};
|
|
867
|
+
} finally {}
|
|
905
868
|
}
|
|
906
869
|
parseChatRequest(sessionResource, request, location, options) {
|
|
907
870
|
let parserContext = options?.parserContext;
|
|
@@ -1004,9 +967,8 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1004
967
|
let detectedAgent;
|
|
1005
968
|
let detectedCommand;
|
|
1006
969
|
{
|
|
1007
|
-
const debugLogEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_ENABLED_SETTING);
|
|
1008
970
|
const fileLoggingEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING);
|
|
1009
|
-
if (!
|
|
971
|
+
if (!fileLoggingEnabled) {
|
|
1010
972
|
const isTroubleshootCommand = agentSlashCommandPart?.command.name === TROUBLESHOOT_COMMAND_NAME;
|
|
1011
973
|
const hasTroubleshootSkill = options?.attachedContext?.some(v => {
|
|
1012
974
|
const uri = IChatRequestVariableEntry.toUri(v);
|
|
@@ -1017,22 +979,14 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1017
979
|
variables: []
|
|
1018
980
|
}, attempt, options?.modeInfo);
|
|
1019
981
|
completeResponseCreated();
|
|
1020
|
-
const
|
|
1021
|
-
if (!debugLogEnabled) {
|
|
1022
|
-
missingSettings.push("`" + AGENT_DEBUG_LOG_ENABLED_SETTING + "`");
|
|
1023
|
-
}
|
|
1024
|
-
if (!fileLoggingEnabled) {
|
|
1025
|
-
missingSettings.push("`" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING + "`");
|
|
1026
|
-
}
|
|
1027
|
-
const settingsQuery = !debugLogEnabled && !fileLoggingEnabled ? AGENT_DEBUG_LOG_ENABLED_SETTING : !debugLogEnabled ? "@id:" + AGENT_DEBUG_LOG_ENABLED_SETTING : "@id:" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING;
|
|
1028
|
-
const settingsArg = encodeURIComponent(JSON.stringify(settingsQuery));
|
|
982
|
+
const settingsArg = encodeURIComponent(JSON.stringify(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING));
|
|
1029
983
|
model.acceptResponseProgress(request, {
|
|
1030
984
|
kind: "markdownContent",
|
|
1031
985
|
content: ( new MarkdownString(( localize(
|
|
1032
|
-
|
|
1033
|
-
"The `{0}` skill requires
|
|
986
|
+
7379,
|
|
987
|
+
"The `{0}` skill requires `{1}` to be enabled. After enabling, reload the window to apply. [Enable in Settings](command:workbench.action.openSettings?{2})",
|
|
1034
988
|
TROUBLESHOOT_COMMAND_NAME,
|
|
1035
|
-
|
|
989
|
+
AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING,
|
|
1036
990
|
settingsArg
|
|
1037
991
|
)), {
|
|
1038
992
|
isTrusted: {
|
|
@@ -1042,33 +996,65 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1042
996
|
});
|
|
1043
997
|
model.setResponse(request, {});
|
|
1044
998
|
request.response?.complete();
|
|
999
|
+
store.dispose();
|
|
1045
1000
|
return;
|
|
1046
1001
|
}
|
|
1047
1002
|
}
|
|
1048
1003
|
}
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
const hooksInfo = await this.promptsService.getHooks(token, model.sessionResource);
|
|
1053
|
-
if (hooksInfo) {
|
|
1054
|
-
collectedHooks = hooksInfo.hooks;
|
|
1055
|
-
hasDisabledClaudeHooks = hooksInfo.hasDisabledClaudeHooks;
|
|
1056
|
-
}
|
|
1057
|
-
} catch (error) {
|
|
1058
|
-
this.logService.warn("[ChatService] Failed to collect hooks:", error);
|
|
1059
|
-
}
|
|
1060
|
-
const agentName = options?.modeInfo?.modeInstructions?.name;
|
|
1061
|
-
if (agentName) {
|
|
1004
|
+
const collectHooks = async () => {
|
|
1005
|
+
let collectedHooks;
|
|
1006
|
+
let hasDisabledClaudeHooks = false;
|
|
1062
1007
|
try {
|
|
1063
|
-
const
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1008
|
+
const hooksInfo = await this.promptsService.getHooks(token);
|
|
1009
|
+
if (hooksInfo) {
|
|
1010
|
+
collectedHooks = hooksInfo.hooks;
|
|
1011
|
+
hasDisabledClaudeHooks = hooksInfo.hasDisabledClaudeHooks;
|
|
1067
1012
|
}
|
|
1068
1013
|
} catch (error) {
|
|
1069
|
-
this.logService.warn("[ChatService] Failed to collect
|
|
1014
|
+
this.logService.warn("[ChatService] Failed to collect hooks:", error);
|
|
1070
1015
|
}
|
|
1071
|
-
|
|
1016
|
+
const agentName = options?.modeInfo?.modeInstructions?.name;
|
|
1017
|
+
if (agentName) {
|
|
1018
|
+
try {
|
|
1019
|
+
const agents = await this.promptsService.getCustomAgents(token);
|
|
1020
|
+
const customAgent = agents.find(a => a.name === agentName);
|
|
1021
|
+
if (customAgent?.hooks) {
|
|
1022
|
+
collectedHooks = mergeHooks(collectedHooks, customAgent.hooks);
|
|
1023
|
+
}
|
|
1024
|
+
} catch (error) {
|
|
1025
|
+
this.logService.warn("[ChatService] Failed to collect agent hooks:", error);
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
return {
|
|
1029
|
+
hooks: collectedHooks,
|
|
1030
|
+
hasDisabledClaudeHooks
|
|
1031
|
+
};
|
|
1032
|
+
};
|
|
1033
|
+
const collectInstructions = async () => {
|
|
1034
|
+
const ctx = options?.instructionContext;
|
|
1035
|
+
if (!ctx) {
|
|
1036
|
+
return [];
|
|
1037
|
+
}
|
|
1038
|
+
markChat(sessionResource, ChatPerfMark.WillCollectInstructions);
|
|
1039
|
+
try {
|
|
1040
|
+
const variableSet = ( new ChatRequestVariableSet(options?.attachedContext));
|
|
1041
|
+
const computer = this.instantiationService.createInstance(
|
|
1042
|
+
ComputeAutomaticInstructions,
|
|
1043
|
+
ctx.modeKind,
|
|
1044
|
+
ctx.enabledTools,
|
|
1045
|
+
ctx.enabledSubAgents,
|
|
1046
|
+
getChatSessionType(sessionResource)
|
|
1047
|
+
);
|
|
1048
|
+
await computer.collect(variableSet, token);
|
|
1049
|
+
const originalIds = ( new Set(( (options?.attachedContext ?? []).map(v => v.id))));
|
|
1050
|
+
return variableSet.asArray().filter(v => !( originalIds.has(v.id)));
|
|
1051
|
+
} catch (err) {
|
|
1052
|
+
this.logService.error("[ChatService] Failed to collect instructions:", err);
|
|
1053
|
+
return [];
|
|
1054
|
+
} finally {
|
|
1055
|
+
markChat(sessionResource, ChatPerfMark.DidCollectInstructions);
|
|
1056
|
+
}
|
|
1057
|
+
};
|
|
1072
1058
|
const stopWatch = ( new StopWatch(false));
|
|
1073
1059
|
store.add(token.onCancellationRequested(() => {
|
|
1074
1060
|
this.trace(
|
|
@@ -1092,46 +1078,57 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1092
1078
|
let rawResult;
|
|
1093
1079
|
let agentOrCommandFollowups = undefined;
|
|
1094
1080
|
if (agentPart || (defaultAgent && !commandPart)) {
|
|
1095
|
-
const
|
|
1096
|
-
|
|
1097
|
-
|
|
1081
|
+
const initialAgent = agentPart?.agent ?? defaultAgent;
|
|
1082
|
+
const initialCommand = agentSlashCommandPart?.command;
|
|
1083
|
+
const initVariableData = {
|
|
1084
|
+
variables: []
|
|
1085
|
+
};
|
|
1086
|
+
request = model.addRequest(
|
|
1087
|
+
parsedRequest,
|
|
1088
|
+
initVariableData,
|
|
1089
|
+
attempt,
|
|
1090
|
+
options?.modeInfo,
|
|
1091
|
+
initialAgent,
|
|
1092
|
+
initialCommand,
|
|
1093
|
+
options?.confirmation,
|
|
1094
|
+
options?.locationData,
|
|
1095
|
+
options?.attachedContext,
|
|
1096
|
+
undefined,
|
|
1097
|
+
options?.userSelectedModelId,
|
|
1098
|
+
options?.userSelectedTools?.get(),
|
|
1099
|
+
undefined,
|
|
1100
|
+
options?.isSystemInitiated,
|
|
1101
|
+
options?.systemInitiatedLabel,
|
|
1102
|
+
options?.terminalExecutionId
|
|
1103
|
+
);
|
|
1104
|
+
const thisRequest = request;
|
|
1105
|
+
completeResponseCreated();
|
|
1106
|
+
const [hooksResult, instructionEntries] = await Promise.all([collectHooks(), collectInstructions()]);
|
|
1107
|
+
const collectedHooks = hooksResult.hooks;
|
|
1108
|
+
const hasDisabledClaudeHooks = hooksResult.hasDisabledClaudeHooks;
|
|
1109
|
+
const allContext = this.prepareContext(request.attachedContext);
|
|
1110
|
+
if (instructionEntries.length > 0) {
|
|
1111
|
+
allContext.push(...instructionEntries);
|
|
1112
|
+
}
|
|
1113
|
+
const storedVariables = allContext.filter(v => !(isPromptTextVariableEntry(v) && v.automaticallyAdded));
|
|
1114
|
+
model.updateRequest(request, {
|
|
1115
|
+
variables: storedVariables
|
|
1116
|
+
});
|
|
1117
|
+
let variableData = {
|
|
1118
|
+
variables: allContext
|
|
1119
|
+
};
|
|
1120
|
+
if (options?.resolvedVariables?.length) {
|
|
1121
|
+
variableData = {
|
|
1122
|
+
variables: [...variableData.variables, ...options.resolvedVariables]
|
|
1098
1123
|
};
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
agent,
|
|
1105
|
-
command,
|
|
1106
|
-
options?.confirmation,
|
|
1107
|
-
options?.locationData,
|
|
1108
|
-
options?.attachedContext,
|
|
1109
|
-
undefined,
|
|
1110
|
-
options?.userSelectedModelId,
|
|
1111
|
-
options?.userSelectedTools?.get()
|
|
1112
|
-
);
|
|
1113
|
-
let variableData;
|
|
1114
|
-
let message;
|
|
1115
|
-
if (chatRequest) {
|
|
1116
|
-
variableData = chatRequest.variableData;
|
|
1117
|
-
message = getPromptText(request.message).message;
|
|
1118
|
-
} else {
|
|
1119
|
-
variableData = {
|
|
1120
|
-
variables: this.prepareContext(request.attachedContext)
|
|
1121
|
-
};
|
|
1122
|
-
model.updateRequest(request, variableData);
|
|
1123
|
-
if (options?.resolvedVariables?.length) {
|
|
1124
|
-
variableData = {
|
|
1125
|
-
variables: [...variableData.variables, ...options.resolvedVariables]
|
|
1126
|
-
};
|
|
1127
|
-
}
|
|
1128
|
-
const promptTextResult = getPromptText(request.message);
|
|
1129
|
-
variableData = updateRanges(variableData, promptTextResult.diff);
|
|
1130
|
-
message = promptTextResult.message;
|
|
1131
|
-
}
|
|
1124
|
+
}
|
|
1125
|
+
const promptTextResult = getPromptText(request.message);
|
|
1126
|
+
variableData = updateRanges(variableData, promptTextResult.diff);
|
|
1127
|
+
const message = promptTextResult.message;
|
|
1128
|
+
const buildAgentRequest = (agent, command, enableCommandDetection, isParticipantDetected) => {
|
|
1132
1129
|
const agentRequest = {
|
|
1133
1130
|
sessionResource: model.sessionResource,
|
|
1134
|
-
requestId:
|
|
1131
|
+
requestId: thisRequest.id,
|
|
1135
1132
|
agentId: agent.id,
|
|
1136
1133
|
message,
|
|
1137
1134
|
command: command?.name,
|
|
@@ -1140,17 +1137,19 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1140
1137
|
isParticipantDetected,
|
|
1141
1138
|
attempt,
|
|
1142
1139
|
location,
|
|
1143
|
-
locationData:
|
|
1140
|
+
locationData: thisRequest.locationData,
|
|
1144
1141
|
acceptedConfirmationData: options?.acceptedConfirmationData,
|
|
1145
1142
|
rejectedConfirmationData: options?.rejectedConfirmationData,
|
|
1143
|
+
agentHostSessionConfig: options?.agentHostSessionConfig,
|
|
1146
1144
|
userSelectedModelId: options?.userSelectedModelId,
|
|
1147
1145
|
modelConfiguration: options?.userSelectedModelId ? this.languageModelsService.getModelConfiguration(options.userSelectedModelId) : undefined,
|
|
1148
1146
|
userSelectedTools: options?.userSelectedTools?.get(),
|
|
1149
1147
|
modeInstructions: options?.modeInfo?.modeInstructions,
|
|
1150
1148
|
permissionLevel: options?.modeInfo?.permissionLevel,
|
|
1151
|
-
editedFileEvents:
|
|
1149
|
+
editedFileEvents: thisRequest.editedFileEvents,
|
|
1152
1150
|
hooks: collectedHooks,
|
|
1153
|
-
hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0))
|
|
1151
|
+
hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0)),
|
|
1152
|
+
isSystemInitiated: options?.isSystemInitiated
|
|
1154
1153
|
};
|
|
1155
1154
|
let isInitialTools = true;
|
|
1156
1155
|
store.add(autorun(reader => {
|
|
@@ -1168,7 +1167,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1168
1167
|
};
|
|
1169
1168
|
if (this.configurationService.getValue("chat.detectParticipant.enabled") !== false && this.chatAgentService.hasChatParticipantDetectionProviders() && !agentPart && !commandPart && !agentSlashCommandPart && enableCommandDetection && (location !== ChatAgentLocation.EditorInline || !this.configurationService.getValue(InlineChatConfigKeys.EnableV2)) && options?.modeInfo?.kind !== ChatModeKind.Agent && options?.modeInfo?.kind !== ChatModeKind.Edit && !options?.agentIdSilent) {
|
|
1170
1169
|
const defaultAgentHistory = this.getHistoryEntriesFromModel(requests, location, defaultAgent.id);
|
|
1171
|
-
const chatAgentRequest =
|
|
1170
|
+
const chatAgentRequest = buildAgentRequest(defaultAgent, undefined, enableCommandDetection, false);
|
|
1172
1171
|
const result = await this.chatAgentService.detectAgentOrCommand(chatAgentRequest, defaultAgentHistory, {
|
|
1173
1172
|
location
|
|
1174
1173
|
}, token);
|
|
@@ -1182,13 +1181,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1182
1181
|
const command = detectedCommand ?? agentSlashCommandPart?.command;
|
|
1183
1182
|
await this.extensionService.activateByEvent(`onChatParticipant:${agent.id}`);
|
|
1184
1183
|
const history = this.getHistoryEntriesFromModel(requests, location, agent.id);
|
|
1185
|
-
const requestProps =
|
|
1186
|
-
agent,
|
|
1187
|
-
command,
|
|
1188
|
-
enableCommandDetection,
|
|
1189
|
-
request,
|
|
1190
|
-
!!detectedAgent
|
|
1191
|
-
);
|
|
1184
|
+
const requestProps = buildAgentRequest(agent, command, enableCommandDetection, !!detectedAgent);
|
|
1192
1185
|
this.generateInitialChatTitleIfNeeded(model, requestProps, defaultAgent, token);
|
|
1193
1186
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
1194
1187
|
if (pendingRequest) {
|
|
@@ -1208,7 +1201,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1208
1201
|
});
|
|
1209
1202
|
}
|
|
1210
1203
|
}
|
|
1211
|
-
completeResponseCreated();
|
|
1212
1204
|
const disabledClaudeHooksDismissedKey = "chat.disabledClaudeHooks.notification";
|
|
1213
1205
|
if (hasDisabledClaudeHooks && !this.storageService.getBoolean(disabledClaudeHooksDismissedKey, StorageScope.WORKSPACE)) {
|
|
1214
1206
|
this.storageService.store(
|
|
@@ -1289,7 +1281,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1289
1281
|
);
|
|
1290
1282
|
rawResult = {
|
|
1291
1283
|
errorDetails: {
|
|
1292
|
-
message: ( localize(
|
|
1284
|
+
message: ( localize(7380, "Provider returned null response"))
|
|
1293
1285
|
}
|
|
1294
1286
|
};
|
|
1295
1287
|
}
|
|
@@ -1314,8 +1306,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1314
1306
|
shouldProcessPending = !rawResult.errorDetails && !token.isCancellationRequested;
|
|
1315
1307
|
request.response?.complete();
|
|
1316
1308
|
if (agentOrCommandFollowups) {
|
|
1309
|
+
const completedRequest = request;
|
|
1317
1310
|
agentOrCommandFollowups.then(followups => {
|
|
1318
|
-
model.setFollowups(
|
|
1311
|
+
model.setFollowups(completedRequest, followups);
|
|
1319
1312
|
const commandForTelemetry = agentSlashCommandPart ? agentSlashCommandPart.command.name : commandPart?.slashCommand.command;
|
|
1320
1313
|
this._chatServiceTelemetry.retrievedFollowups(agentPart?.agent.id ?? "", commandForTelemetry, followups?.length ?? 0);
|
|
1321
1314
|
});
|
|
@@ -1414,8 +1407,17 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1414
1407
|
}
|
|
1415
1408
|
}
|
|
1416
1409
|
const firstRequest = allRequests[0];
|
|
1410
|
+
const terminalIds = ( new Set(( allRequests.map(req => req.sendOptions.terminalExecutionId)).filter(id => !!id)));
|
|
1411
|
+
if (terminalIds.size > 1) {
|
|
1412
|
+
this.info(
|
|
1413
|
+
"processNextPendingRequest",
|
|
1414
|
+
`Dropping terminalExecutionId: ${terminalIds.size} conflicting terminal IDs (${[...terminalIds].join(", ")})`
|
|
1415
|
+
);
|
|
1416
|
+
}
|
|
1417
|
+
const mergedTerminalExecutionId = terminalIds.size === 1 ? [...terminalIds][0] : undefined;
|
|
1417
1418
|
const sendOptions = {
|
|
1418
1419
|
...firstRequest.sendOptions,
|
|
1420
|
+
terminalExecutionId: mergedTerminalExecutionId,
|
|
1419
1421
|
attachedContext: allRequests.flatMap(req => req.request.variableData.variables.slice())
|
|
1420
1422
|
};
|
|
1421
1423
|
const location = sendOptions.location ?? sendOptions.locationData?.type ?? model.initialLocation;
|
|
@@ -1622,23 +1624,25 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1622
1624
|
this.trace("cancelCurrentRequestForSession", `session: ${sessionResource}`);
|
|
1623
1625
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
1624
1626
|
if (!pendingRequest) {
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1627
|
+
if (source !== "archive") {
|
|
1628
|
+
const model = this._sessionModels.get(sessionResource);
|
|
1629
|
+
const requestInProgress = model?.requestInProgress.get();
|
|
1630
|
+
const pendingRequestsCount = model?.getPendingRequests().length ?? 0;
|
|
1631
|
+
const lastRequest = model?.lastRequest;
|
|
1632
|
+
this.telemetryService.publicLog2(ChatStopCancellationNoopEventName, {
|
|
1633
|
+
source: source ?? "chatService",
|
|
1634
|
+
reason: "noPendingRequest",
|
|
1635
|
+
requestInProgress: requestInProgress === undefined ? "unknown" : requestInProgress ? "true" : "false",
|
|
1636
|
+
pendingRequests: pendingRequestsCount,
|
|
1637
|
+
sessionScheme: sessionResource.scheme,
|
|
1638
|
+
lastRequestId: lastRequest?.id,
|
|
1639
|
+
chatSessionId: chatSessionResourceToId(sessionResource)
|
|
1640
|
+
});
|
|
1641
|
+
this.info(
|
|
1642
|
+
"cancelCurrentRequestForSession",
|
|
1643
|
+
`No pending request was found for session ${sessionResource}. requestInProgress=${requestInProgress ?? "unknown"}, pendingRequests=${pendingRequestsCount}`
|
|
1644
|
+
);
|
|
1645
|
+
}
|
|
1642
1646
|
return;
|
|
1643
1647
|
}
|
|
1644
1648
|
const responseCompletePromise = pendingRequest.responseCompletePromise;
|
|
@@ -1761,7 +1765,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1761
1765
|
};
|
|
1762
1766
|
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));
|
|
1763
1767
|
async function chatModelToChatDetail(model) {
|
|
1764
|
-
const title = model.title || ( localize(
|
|
1768
|
+
const title = model.title || ( localize(7381, "New Chat"));
|
|
1765
1769
|
return {
|
|
1766
1770
|
sessionResource: model.sessionResource,
|
|
1767
1771
|
title,
|