@codingame/monaco-vscode-chat-service-override 26.2.2 → 28.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 +35 -2
- 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 +89 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -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 +13 -5
- 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 +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -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 +18 -32
- 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 +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -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 +74 -67
- 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 +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -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 +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -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 +83 -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 +692 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -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/simpleBrowserEditorOverlay.js +36 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
- 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 +314 -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 +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -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 +61 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -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 +47 -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 +788 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
- 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/media/chatEditorController.css +2 -2
- 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 +24 -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 +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -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/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
- 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 +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -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 +19 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
- 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.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
- 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.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- 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 +126 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
- 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 +46 -9
- 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 +65 -37
- 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 +16 -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 +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -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 +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
- 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 +13 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -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 +119 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
- 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/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
- 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 +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
- 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 +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
- 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 +7 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
- 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/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
- 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,18 +38,20 @@ 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';
|
|
41
45
|
import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
|
|
42
46
|
import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatTransferService.service';
|
|
43
47
|
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
44
|
-
import {
|
|
48
|
+
import { 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';
|
|
54
|
+
import { mergeHooks } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
|
|
49
55
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
50
56
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
51
57
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
@@ -62,6 +68,9 @@ let CancellableRequest = class CancellableRequest {
|
|
|
62
68
|
this._yieldRequested = observableValue(this, false);
|
|
63
69
|
}
|
|
64
70
|
dispose() {
|
|
71
|
+
if (this.requestId) {
|
|
72
|
+
this.toolsService.cancelToolCallsForRequest(this.requestId);
|
|
73
|
+
}
|
|
65
74
|
this.cancellationTokenSource.dispose();
|
|
66
75
|
}
|
|
67
76
|
cancel() {
|
|
@@ -73,6 +82,9 @@ let CancellableRequest = class CancellableRequest {
|
|
|
73
82
|
setYieldRequested() {
|
|
74
83
|
this._yieldRequested.set(true, undefined);
|
|
75
84
|
}
|
|
85
|
+
resetYieldRequested() {
|
|
86
|
+
this._yieldRequested.set(false, undefined);
|
|
87
|
+
}
|
|
76
88
|
};
|
|
77
89
|
CancellableRequest = ( __decorate([( __param(2, ILanguageModelToolsService))], CancellableRequest));
|
|
78
90
|
let ChatService = class ChatService extends Disposable {
|
|
@@ -88,9 +100,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
88
100
|
waitForModelDisposals() {
|
|
89
101
|
return this._sessionModels.waitForModelDisposals();
|
|
90
102
|
}
|
|
91
|
-
get edits2Enabled() {
|
|
92
|
-
return this.configurationService.getValue(ChatConfiguration.Edits2Enabled);
|
|
93
|
-
}
|
|
94
103
|
get isEmptyWindow() {
|
|
95
104
|
const workspace = this.workspaceContextService.getWorkspace();
|
|
96
105
|
return !workspace.configuration && workspace.folders.length === 0;
|
|
@@ -98,6 +107,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
98
107
|
constructor(
|
|
99
108
|
storageService,
|
|
100
109
|
logService,
|
|
110
|
+
telemetryService,
|
|
101
111
|
extensionService,
|
|
102
112
|
instantiationService,
|
|
103
113
|
workspaceContextService,
|
|
@@ -107,11 +117,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
107
117
|
chatTransferService,
|
|
108
118
|
chatSessionService,
|
|
109
119
|
mcpService,
|
|
110
|
-
promptsService
|
|
120
|
+
promptsService,
|
|
121
|
+
chatEntitlementService,
|
|
122
|
+
languageModelsService,
|
|
123
|
+
chatDebugService
|
|
111
124
|
) {
|
|
112
125
|
super();
|
|
113
126
|
this.storageService = storageService;
|
|
114
127
|
this.logService = logService;
|
|
128
|
+
this.telemetryService = telemetryService;
|
|
115
129
|
this.extensionService = extensionService;
|
|
116
130
|
this.instantiationService = instantiationService;
|
|
117
131
|
this.workspaceContextService = workspaceContextService;
|
|
@@ -122,6 +136,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
122
136
|
this.chatSessionService = chatSessionService;
|
|
123
137
|
this.mcpService = mcpService;
|
|
124
138
|
this.promptsService = promptsService;
|
|
139
|
+
this.chatEntitlementService = chatEntitlementService;
|
|
140
|
+
this.languageModelsService = languageModelsService;
|
|
141
|
+
this.chatDebugService = chatDebugService;
|
|
125
142
|
this._pendingRequests = this._register(( new DisposableResourceMap()));
|
|
126
143
|
this._queuedRequestDeferreds = ( new Map());
|
|
127
144
|
this._saveModelsEnabled = true;
|
|
@@ -150,6 +167,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
150
167
|
}
|
|
151
168
|
}));
|
|
152
169
|
this._register(this._sessionModels.onDidDisposeModel(model => {
|
|
170
|
+
this.chatDebugService.endSession(model.sessionResource);
|
|
153
171
|
this._onDidDisposeSession.fire({
|
|
154
172
|
sessionResource: [model.sessionResource],
|
|
155
173
|
reason: "cleared"
|
|
@@ -292,8 +310,14 @@ let ChatService = class ChatService extends Disposable {
|
|
|
292
310
|
if (!session.hasPendingEdits) {
|
|
293
311
|
return;
|
|
294
312
|
}
|
|
295
|
-
|
|
296
|
-
|
|
313
|
+
let sessionResource;
|
|
314
|
+
if (session.sessionId.includes(":")) {
|
|
315
|
+
try {
|
|
316
|
+
sessionResource = ( URI.parse(session.sessionId, true));
|
|
317
|
+
} catch {}
|
|
318
|
+
}
|
|
319
|
+
sessionResource ??= LocalChatSessionUri.forSession(session.sessionId);
|
|
320
|
+
const sessionRef = await this.acquireOrLoadSession(sessionResource, ChatAgentLocation.Chat, CancellationToken.None);
|
|
297
321
|
if (sessionRef?.object.editingSession) {
|
|
298
322
|
await chatEditingSessionIsReady(sessionRef.object.editingSession);
|
|
299
323
|
sessionRef.dispose();
|
|
@@ -307,7 +331,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
307
331
|
}
|
|
308
332
|
async getLiveSessionItems() {
|
|
309
333
|
return await Promise.all(( Array.from(( this._sessionModels.values())).filter(session => this.shouldBeInHistory(session)).map(async session => {
|
|
310
|
-
const title = session.title || ( localize(
|
|
334
|
+
const title = session.title || ( localize(6984, "New Chat"));
|
|
311
335
|
return {
|
|
312
336
|
sessionResource: session.sessionResource,
|
|
313
337
|
title,
|
|
@@ -323,17 +347,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
323
347
|
const index = await this._chatSessionStore.getIndex();
|
|
324
348
|
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
349
|
const sessionResource = LocalChatSessionUri.forSession(entry.sessionId);
|
|
326
|
-
const lastResponseState = entry.lastResponseState ?? ResponseModelState.Complete;
|
|
327
350
|
return ({
|
|
328
351
|
...entry,
|
|
329
352
|
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
|
|
353
|
+
isActive: ( this._sessionModels.has(sessionResource))
|
|
337
354
|
});
|
|
338
355
|
}));
|
|
339
356
|
}
|
|
@@ -344,13 +361,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
344
361
|
return {
|
|
345
362
|
...metadata,
|
|
346
363
|
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
|
|
364
|
+
isActive: ( this._sessionModels.has(sessionResource))
|
|
354
365
|
};
|
|
355
366
|
}
|
|
356
367
|
return undefined;
|
|
@@ -368,15 +379,13 @@ let ChatService = class ChatService extends Disposable {
|
|
|
368
379
|
async clearAllHistoryEntries() {
|
|
369
380
|
await this._chatSessionStore.clearAllSessions();
|
|
370
381
|
}
|
|
371
|
-
|
|
372
|
-
this.trace("
|
|
373
|
-
const
|
|
374
|
-
const sessionResource = LocalChatSessionUri.forSession(sessionId);
|
|
382
|
+
startNewLocalSession(location, options) {
|
|
383
|
+
this.trace("startNewLocalSession");
|
|
384
|
+
const sessionResource = LocalChatSessionUri.forSession(generateUuid());
|
|
375
385
|
return this._sessionModels.acquireOrCreate({
|
|
376
386
|
initialData: undefined,
|
|
377
387
|
location,
|
|
378
388
|
sessionResource,
|
|
379
|
-
sessionId,
|
|
380
389
|
canUseTools: options?.canUseTools ?? true,
|
|
381
390
|
disableBackgroundKeepAlive: options?.disableBackgroundKeepAlive
|
|
382
391
|
});
|
|
@@ -386,7 +395,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
386
395
|
initialData,
|
|
387
396
|
location,
|
|
388
397
|
sessionResource,
|
|
389
|
-
sessionId,
|
|
390
398
|
canUseTools,
|
|
391
399
|
transferEditingSession,
|
|
392
400
|
disableBackgroundKeepAlive,
|
|
@@ -396,7 +404,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
396
404
|
initialLocation: location,
|
|
397
405
|
canUseTools,
|
|
398
406
|
resource: sessionResource,
|
|
399
|
-
sessionId,
|
|
400
407
|
disableBackgroundKeepAlive,
|
|
401
408
|
inputState
|
|
402
409
|
});
|
|
@@ -431,25 +438,24 @@ let ChatService = class ChatService extends Disposable {
|
|
|
431
438
|
getSession(sessionResource) {
|
|
432
439
|
return this._sessionModels.get(sessionResource);
|
|
433
440
|
}
|
|
434
|
-
|
|
441
|
+
acquireExistingSession(sessionResource) {
|
|
435
442
|
return this._sessionModels.acquireExisting(sessionResource);
|
|
436
443
|
}
|
|
437
|
-
async
|
|
438
|
-
this.trace("
|
|
439
|
-
const existingRef = this.
|
|
444
|
+
async acquireOrRestoreLocalSession(sessionResource) {
|
|
445
|
+
this.trace("acquireOrRestoreSession", `${sessionResource}`);
|
|
446
|
+
const existingRef = this.acquireExistingSession(sessionResource);
|
|
440
447
|
if (existingRef) {
|
|
441
448
|
return existingRef;
|
|
442
449
|
}
|
|
443
|
-
const sessionId = LocalChatSessionUri.parseLocalSessionId(sessionResource);
|
|
444
|
-
if (!sessionId) {
|
|
445
|
-
throw ( new Error(`Cannot restore non-local session ${sessionResource}`));
|
|
446
|
-
}
|
|
447
450
|
let sessionData;
|
|
448
451
|
if (isEqual(this.transferredSessionResource, sessionResource)) {
|
|
449
452
|
this._transferredSessionResource = undefined;
|
|
450
453
|
sessionData = await this._chatSessionStore.readTransferredSession(sessionResource);
|
|
451
454
|
} else {
|
|
452
|
-
|
|
455
|
+
const localSessionId = LocalChatSessionUri.parseLocalSessionId(sessionResource);
|
|
456
|
+
if (localSessionId) {
|
|
457
|
+
sessionData = await this._chatSessionStore.readSession(localSessionId);
|
|
458
|
+
}
|
|
453
459
|
}
|
|
454
460
|
if (!sessionData) {
|
|
455
461
|
return undefined;
|
|
@@ -458,7 +464,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
458
464
|
initialData: sessionData,
|
|
459
465
|
location: sessionData.value.initialLocation ?? ChatAgentLocation.Chat,
|
|
460
466
|
sessionResource,
|
|
461
|
-
sessionId,
|
|
462
467
|
canUseTools: true
|
|
463
468
|
});
|
|
464
469
|
return sessionRef;
|
|
@@ -470,7 +475,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
470
475
|
}
|
|
471
476
|
return this._sessionModels.get(sessionResource)?.title ?? this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.title;
|
|
472
477
|
}
|
|
473
|
-
|
|
478
|
+
loadSessionFromData(data) {
|
|
474
479
|
const sessionId = data.sessionId ?? generateUuid();
|
|
475
480
|
const sessionResource = LocalChatSessionUri.forSession(sessionId);
|
|
476
481
|
return this._sessionModels.acquireOrCreate({
|
|
@@ -480,33 +485,49 @@ let ChatService = class ChatService extends Disposable {
|
|
|
480
485
|
},
|
|
481
486
|
location: data.initialLocation ?? ChatAgentLocation.Chat,
|
|
482
487
|
sessionResource,
|
|
483
|
-
sessionId,
|
|
484
488
|
canUseTools: true
|
|
485
489
|
});
|
|
486
490
|
}
|
|
487
|
-
async
|
|
488
|
-
if (
|
|
489
|
-
return this.
|
|
491
|
+
async acquireOrLoadSession(sessionResource, location, token) {
|
|
492
|
+
if (sessionResource.scheme === Schemas.vscodeLocalChatSession) {
|
|
493
|
+
return this.acquireOrRestoreLocalSession(sessionResource);
|
|
494
|
+
} else {
|
|
495
|
+
return this.loadRemoteSession(sessionResource, location, token);
|
|
490
496
|
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
497
|
+
}
|
|
498
|
+
async loadRemoteSession(sessionResource, location, token) {
|
|
499
|
+
await this.chatSessionService.canResolveChatSession(sessionResource.scheme);
|
|
500
|
+
{
|
|
501
|
+
const existingRef = this.acquireExistingSession(sessionResource);
|
|
502
|
+
if (existingRef) {
|
|
503
|
+
return existingRef;
|
|
504
|
+
}
|
|
494
505
|
}
|
|
495
|
-
const providedSession = await this.chatSessionService.getOrCreateChatSession(
|
|
496
|
-
|
|
506
|
+
const providedSession = await this.chatSessionService.getOrCreateChatSession(sessionResource, token);
|
|
507
|
+
{
|
|
508
|
+
const existingRef = this.acquireExistingSession(sessionResource);
|
|
509
|
+
if (existingRef) {
|
|
510
|
+
providedSession.dispose();
|
|
511
|
+
return existingRef;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
const chatSessionType = sessionResource.scheme;
|
|
497
515
|
const modelRef = this._sessionModels.acquireOrCreate({
|
|
498
516
|
initialData: undefined,
|
|
499
517
|
location,
|
|
500
|
-
sessionResource:
|
|
518
|
+
sessionResource: sessionResource,
|
|
501
519
|
canUseTools: false,
|
|
502
520
|
transferEditingSession: providedSession.transferredState?.editingSession,
|
|
503
521
|
inputState: providedSession.transferredState?.inputState
|
|
504
522
|
});
|
|
505
523
|
modelRef.object.setContributedChatSession({
|
|
506
|
-
chatSessionResource,
|
|
524
|
+
chatSessionResource: sessionResource,
|
|
507
525
|
chatSessionType,
|
|
508
|
-
isUntitled:
|
|
526
|
+
isUntitled: sessionResource.path.startsWith("/untitled-")
|
|
509
527
|
});
|
|
528
|
+
if (providedSession.title) {
|
|
529
|
+
modelRef.object.setCustomTitle(providedSession.title);
|
|
530
|
+
}
|
|
510
531
|
const model = modelRef.object;
|
|
511
532
|
const disposables = ( new DisposableStore());
|
|
512
533
|
disposables.add(modelRef.object.onDidDispose(() => {
|
|
@@ -539,7 +560,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
539
560
|
undefined,
|
|
540
561
|
undefined,
|
|
541
562
|
false,
|
|
542
|
-
|
|
563
|
+
message.modelId, undefined, message.id);
|
|
543
564
|
} else {
|
|
544
565
|
if (lastRequest) {
|
|
545
566
|
for (const part of message.parts) {
|
|
@@ -554,6 +575,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
554
575
|
if (providedSession.progressObs && lastRequest && providedSession.interruptActiveResponseCallback) {
|
|
555
576
|
const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
|
|
556
577
|
this._pendingRequests.set(model.sessionResource, initialCancellationRequest);
|
|
578
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
579
|
+
action: "add",
|
|
580
|
+
source: "remoteSession"
|
|
581
|
+
});
|
|
557
582
|
const cancellationListener = disposables.add(( new MutableDisposable()));
|
|
558
583
|
const createCancellationListener = token => {
|
|
559
584
|
return token.onCancellationRequested(() => {
|
|
@@ -561,6 +586,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
561
586
|
if (!userConfirmedInterruption) {
|
|
562
587
|
const newCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
|
|
563
588
|
this._pendingRequests.set(model.sessionResource, newCancellationRequest);
|
|
589
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
590
|
+
action: "add",
|
|
591
|
+
source: "remoteSession"
|
|
592
|
+
});
|
|
564
593
|
cancellationListener.value = createCancellationListener(newCancellationRequest.cancellationTokenSource.token);
|
|
565
594
|
}
|
|
566
595
|
});
|
|
@@ -584,6 +613,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
584
613
|
}
|
|
585
614
|
}));
|
|
586
615
|
} else {
|
|
616
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
617
|
+
action: "notCancelable",
|
|
618
|
+
source: "remoteSession"
|
|
619
|
+
});
|
|
587
620
|
if (lastRequest && model.editingSession) {
|
|
588
621
|
await chatEditingSessionIsReady(model.editingSession);
|
|
589
622
|
lastRequest.response?.complete();
|
|
@@ -680,9 +713,12 @@ let ChatService = class ChatService extends Disposable {
|
|
|
680
713
|
throw ( new Error(`Unknown session: ${sessionResource}`));
|
|
681
714
|
}
|
|
682
715
|
const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
|
|
683
|
-
const hasPendingQueue = model.getPendingRequests().length > 0;
|
|
684
716
|
if (options?.queue) {
|
|
685
|
-
|
|
717
|
+
const queued = this.queuePendingRequest(model, sessionResource, request, options);
|
|
718
|
+
if (!options.pauseQueue) {
|
|
719
|
+
this.processPendingRequests(sessionResource);
|
|
720
|
+
}
|
|
721
|
+
return queued;
|
|
686
722
|
} else if (hasPendingRequest) {
|
|
687
723
|
this.trace("sendRequest", `Session ${sessionResource} already has a pending request`);
|
|
688
724
|
return {
|
|
@@ -690,11 +726,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
690
726
|
reason: "Request already in progress"
|
|
691
727
|
};
|
|
692
728
|
}
|
|
693
|
-
if (options?.queue && hasPendingQueue) {
|
|
694
|
-
const queued = this.queuePendingRequest(model, sessionResource, request, options);
|
|
695
|
-
this.processNextPendingRequest(model);
|
|
696
|
-
return queued;
|
|
697
|
-
}
|
|
698
729
|
const requests = model.getRequests();
|
|
699
730
|
for (let i = requests.length - 1; i >= 0; i -= 1) {
|
|
700
731
|
const request = requests[i];
|
|
@@ -744,6 +775,14 @@ let ChatService = class ChatService extends Disposable {
|
|
|
744
775
|
};
|
|
745
776
|
const commandPart = options.slashCommand ? ` ${chatSubcommandLeader}${options.slashCommand}` : "";
|
|
746
777
|
request = `${chatAgentLeader}${agent.name}${commandPart} ${request}`;
|
|
778
|
+
} else if (options?.agentIdSilent && !parserContext?.forcedAgent) {
|
|
779
|
+
const silentAgent = this.chatAgentService.getAgent(options.agentIdSilent);
|
|
780
|
+
if (silentAgent) {
|
|
781
|
+
parserContext = {
|
|
782
|
+
...parserContext,
|
|
783
|
+
forcedAgent: silentAgent
|
|
784
|
+
};
|
|
785
|
+
}
|
|
747
786
|
}
|
|
748
787
|
const parsedRequest = this.instantiationService.createInstance(ChatRequestParser).parseChatRequest(sessionResource, request, location, parserContext);
|
|
749
788
|
return parsedRequest;
|
|
@@ -774,7 +813,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
774
813
|
agent: agentPart?.agent ?? defaultAgent,
|
|
775
814
|
agentSlashCommandPart,
|
|
776
815
|
commandPart,
|
|
777
|
-
|
|
816
|
+
sessionResource: model.sessionResource,
|
|
778
817
|
location: model.initialLocation,
|
|
779
818
|
options,
|
|
780
819
|
enableCommandDetection
|
|
@@ -812,7 +851,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
812
851
|
`Provider returned progress: ${JSON.stringify(progressItem)}`
|
|
813
852
|
);
|
|
814
853
|
}
|
|
815
|
-
|
|
854
|
+
if (request) {
|
|
855
|
+
model.acceptResponseProgress(request, progressItem, !isLast);
|
|
856
|
+
}
|
|
816
857
|
}
|
|
817
858
|
completeResponseCreated();
|
|
818
859
|
};
|
|
@@ -821,7 +862,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
821
862
|
let collectedHooks;
|
|
822
863
|
let hasDisabledClaudeHooks = false;
|
|
823
864
|
try {
|
|
824
|
-
const hooksInfo = await this.promptsService.getHooks(token);
|
|
865
|
+
const hooksInfo = await this.promptsService.getHooks(token, model.sessionResource);
|
|
825
866
|
if (hooksInfo) {
|
|
826
867
|
collectedHooks = hooksInfo.hooks;
|
|
827
868
|
hasDisabledClaudeHooks = hooksInfo.hasDisabledClaudeHooks;
|
|
@@ -829,6 +870,18 @@ let ChatService = class ChatService extends Disposable {
|
|
|
829
870
|
} catch (error) {
|
|
830
871
|
this.logService.warn("[ChatService] Failed to collect hooks:", error);
|
|
831
872
|
}
|
|
873
|
+
const agentName = options?.modeInfo?.modeInstructions?.name;
|
|
874
|
+
if (agentName) {
|
|
875
|
+
try {
|
|
876
|
+
const agents = await this.promptsService.getCustomAgents(token, model.sessionResource);
|
|
877
|
+
const customAgent = agents.find(a => a.name === agentName);
|
|
878
|
+
if (customAgent?.hooks) {
|
|
879
|
+
collectedHooks = mergeHooks(collectedHooks, customAgent.hooks);
|
|
880
|
+
}
|
|
881
|
+
} catch (error) {
|
|
882
|
+
this.logService.warn("[ChatService] Failed to collect agent hooks:", error);
|
|
883
|
+
}
|
|
884
|
+
}
|
|
832
885
|
const stopWatch = ( new StopWatch(false));
|
|
833
886
|
store.add(token.onCancellationRequested(() => {
|
|
834
887
|
this.trace(
|
|
@@ -880,6 +933,11 @@ let ChatService = class ChatService extends Disposable {
|
|
|
880
933
|
variables: this.prepareContext(request.attachedContext)
|
|
881
934
|
};
|
|
882
935
|
model.updateRequest(request, variableData);
|
|
936
|
+
if (options?.resolvedVariables?.length) {
|
|
937
|
+
variableData = {
|
|
938
|
+
variables: [...variableData.variables, ...options.resolvedVariables]
|
|
939
|
+
};
|
|
940
|
+
}
|
|
883
941
|
const promptTextResult = getPromptText(request.message);
|
|
884
942
|
variableData = updateRanges(variableData, promptTextResult.diff);
|
|
885
943
|
message = promptTextResult.message;
|
|
@@ -901,6 +959,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
901
959
|
userSelectedModelId: options?.userSelectedModelId,
|
|
902
960
|
userSelectedTools: options?.userSelectedTools?.get(),
|
|
903
961
|
modeInstructions: options?.modeInfo?.modeInstructions,
|
|
962
|
+
permissionLevel: options?.modeInfo?.permissionLevel,
|
|
904
963
|
editedFileEvents: request.editedFileEvents,
|
|
905
964
|
hooks: collectedHooks,
|
|
906
965
|
hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0))
|
|
@@ -912,7 +971,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
912
971
|
isInitialTools = false;
|
|
913
972
|
return;
|
|
914
973
|
}
|
|
915
|
-
if (tools) {
|
|
974
|
+
if (tools && request) {
|
|
916
975
|
this.chatAgentService.setRequestTools(agent.id, request.id, tools);
|
|
917
976
|
agentRequest.userSelectedTools = tools;
|
|
918
977
|
}
|
|
@@ -926,7 +985,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
926
985
|
location
|
|
927
986
|
}, token);
|
|
928
987
|
if (result && this.chatAgentService.getAgent(result.agent.id)?.locations?.includes(location)) {
|
|
929
|
-
request
|
|
988
|
+
request?.response?.setAgent(result.agent, result.command);
|
|
930
989
|
detectedAgent = result.agent;
|
|
931
990
|
detectedCommand = result.command;
|
|
932
991
|
}
|
|
@@ -946,8 +1005,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
946
1005
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
947
1006
|
if (pendingRequest) {
|
|
948
1007
|
store.add(autorun(reader => {
|
|
949
|
-
|
|
950
|
-
|
|
1008
|
+
const yieldRequested = pendingRequest.yieldRequested.read(reader);
|
|
1009
|
+
if (request) {
|
|
1010
|
+
this.chatAgentService.setYieldRequested(agent.id, request.id, yieldRequested);
|
|
951
1011
|
}
|
|
952
1012
|
}));
|
|
953
1013
|
pendingRequest.requestId ??= requestProps.requestId;
|
|
@@ -1014,14 +1074,18 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1014
1074
|
history,
|
|
1015
1075
|
location,
|
|
1016
1076
|
model.sessionResource,
|
|
1017
|
-
token
|
|
1077
|
+
token,
|
|
1078
|
+
options
|
|
1018
1079
|
);
|
|
1019
1080
|
agentOrCommandFollowups = Promise.resolve(commandResult?.followUp);
|
|
1020
1081
|
rawResult = {};
|
|
1021
1082
|
} else {
|
|
1022
1083
|
throw ( new Error(`Cannot handle request`));
|
|
1023
1084
|
}
|
|
1024
|
-
if (token.isCancellationRequested && !rawResult) {
|
|
1085
|
+
if ((token.isCancellationRequested && !rawResult)) {
|
|
1086
|
+
return;
|
|
1087
|
+
} else if (!request) {
|
|
1088
|
+
shouldProcessPending = !token.isCancellationRequested;
|
|
1025
1089
|
return;
|
|
1026
1090
|
} else {
|
|
1027
1091
|
if (!rawResult) {
|
|
@@ -1031,7 +1095,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1031
1095
|
);
|
|
1032
1096
|
rawResult = {
|
|
1033
1097
|
errorDetails: {
|
|
1034
|
-
message: ( localize(
|
|
1098
|
+
message: ( localize(6985, "Provider returned null response"))
|
|
1035
1099
|
}
|
|
1036
1100
|
};
|
|
1037
1101
|
}
|
|
@@ -1050,6 +1114,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1050
1114
|
"sendRequest",
|
|
1051
1115
|
`Provider returned response for session ${model.sessionResource}`
|
|
1052
1116
|
);
|
|
1117
|
+
if (rawResult.errorDetails?.isRateLimited) {
|
|
1118
|
+
this.chatEntitlementService.markAnonymousRateLimited();
|
|
1119
|
+
}
|
|
1053
1120
|
shouldProcessPending = !rawResult.errorDetails && !token.isCancellationRequested;
|
|
1054
1121
|
request.response?.complete();
|
|
1055
1122
|
if (agentOrCommandFollowups) {
|
|
@@ -1062,15 +1129,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1062
1129
|
}
|
|
1063
1130
|
} catch (err) {
|
|
1064
1131
|
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
1132
|
if (request) {
|
|
1133
|
+
requestTelemetry.complete({
|
|
1134
|
+
timeToFirstProgress: undefined,
|
|
1135
|
+
totalTime: undefined,
|
|
1136
|
+
result: "error",
|
|
1137
|
+
requestType,
|
|
1138
|
+
detectedAgent,
|
|
1139
|
+
request
|
|
1140
|
+
});
|
|
1074
1141
|
const rawResult = {
|
|
1075
1142
|
errorDetails: {
|
|
1076
1143
|
message: err.message
|
|
@@ -1086,18 +1153,30 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1086
1153
|
};
|
|
1087
1154
|
let shouldProcessPending = false;
|
|
1088
1155
|
const rawResponsePromise = sendRequestInternal();
|
|
1089
|
-
this.
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1156
|
+
const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, source, undefined);
|
|
1157
|
+
this._pendingRequests.set(model.sessionResource, cancellableRequest);
|
|
1158
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1159
|
+
action: "add",
|
|
1160
|
+
source: "sendRequest"
|
|
1161
|
+
});
|
|
1093
1162
|
rawResponsePromise.finally(() => {
|
|
1094
|
-
this._pendingRequests.
|
|
1163
|
+
if (this._pendingRequests.get(model.sessionResource) === cancellableRequest) {
|
|
1164
|
+
this._pendingRequests.deleteAndDispose(model.sessionResource);
|
|
1165
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1166
|
+
action: "remove",
|
|
1167
|
+
source: "sendRequestComplete"
|
|
1168
|
+
});
|
|
1169
|
+
}
|
|
1095
1170
|
if (shouldProcessPending) {
|
|
1096
1171
|
this.processNextPendingRequest(model);
|
|
1097
1172
|
}
|
|
1098
1173
|
});
|
|
1174
|
+
if (options?.userSelectedModelId) {
|
|
1175
|
+
this.languageModelsService.addToRecentlyUsedList(options.userSelectedModelId);
|
|
1176
|
+
}
|
|
1099
1177
|
this._onDidSubmitRequest.fire({
|
|
1100
|
-
chatSessionResource: model.sessionResource
|
|
1178
|
+
chatSessionResource: model.sessionResource,
|
|
1179
|
+
message: parsedRequest
|
|
1101
1180
|
});
|
|
1102
1181
|
return {
|
|
1103
1182
|
responseCreatedPromise: responseCreated.p,
|
|
@@ -1111,31 +1190,64 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1111
1190
|
}
|
|
1112
1191
|
}
|
|
1113
1192
|
processNextPendingRequest(model) {
|
|
1114
|
-
const
|
|
1115
|
-
|
|
1193
|
+
const steeringRequests = model.dequeueAllSteeringRequests();
|
|
1194
|
+
const nextQueued = steeringRequests.length === 0 ? model.dequeuePendingRequest() : undefined;
|
|
1195
|
+
const allRequests = steeringRequests.length > 0 ? steeringRequests : (nextQueued ? [nextQueued] : []);
|
|
1196
|
+
if (allRequests.length === 0) {
|
|
1116
1197
|
return;
|
|
1117
1198
|
}
|
|
1118
1199
|
this.trace(
|
|
1119
1200
|
"processNextPendingRequest",
|
|
1120
|
-
`Processing queued request for session ${model.sessionResource}`
|
|
1201
|
+
`Processing ${allRequests.length} queued request(s) for session ${model.sessionResource}`
|
|
1121
1202
|
);
|
|
1122
|
-
const
|
|
1123
|
-
|
|
1203
|
+
const deferreds = [];
|
|
1204
|
+
for (const req of allRequests) {
|
|
1205
|
+
const deferred = this._queuedRequestDeferreds.get(req.request.id);
|
|
1206
|
+
this._queuedRequestDeferreds.delete(req.request.id);
|
|
1207
|
+
if (deferred) {
|
|
1208
|
+
deferreds.push(deferred);
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1211
|
+
const firstRequest = allRequests[0];
|
|
1124
1212
|
const sendOptions = {
|
|
1125
|
-
...
|
|
1126
|
-
attachedContext:
|
|
1213
|
+
...firstRequest.sendOptions,
|
|
1214
|
+
attachedContext: allRequests.flatMap(req => req.request.variableData.variables.slice())
|
|
1127
1215
|
};
|
|
1128
1216
|
const location = sendOptions.location ?? sendOptions.locationData?.type ?? model.initialLocation;
|
|
1129
1217
|
const defaultAgent = this.chatAgentService.getDefaultAgent(location, sendOptions.modeInfo?.kind);
|
|
1130
1218
|
if (!defaultAgent) {
|
|
1131
1219
|
this.logService.warn("processNextPendingRequest", `No default agent for location ${location}`);
|
|
1132
|
-
deferred
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1220
|
+
for (const deferred of deferreds) {
|
|
1221
|
+
deferred.complete({
|
|
1222
|
+
kind: "rejected",
|
|
1223
|
+
reason: "No default agent available"
|
|
1224
|
+
});
|
|
1225
|
+
}
|
|
1226
|
+
return;
|
|
1227
|
+
}
|
|
1228
|
+
let parsedRequest;
|
|
1229
|
+
try {
|
|
1230
|
+
if (allRequests.length > 1) {
|
|
1231
|
+
const combinedText = ( allRequests.map(req => req.request.message.text)).join("\n\n");
|
|
1232
|
+
parsedRequest = this.parseChatRequest(model.sessionResource, combinedText, location, {
|
|
1233
|
+
...sendOptions,
|
|
1234
|
+
agentId: undefined,
|
|
1235
|
+
slashCommand: undefined
|
|
1236
|
+
});
|
|
1237
|
+
} else {
|
|
1238
|
+
parsedRequest = firstRequest.request.message;
|
|
1239
|
+
}
|
|
1240
|
+
} catch (err) {
|
|
1241
|
+
this.logService.error("processNextPendingRequest: failed to parse combined chat request", err);
|
|
1242
|
+
const reason = toErrorMessage(err);
|
|
1243
|
+
for (const deferred of deferreds) {
|
|
1244
|
+
deferred.complete({
|
|
1245
|
+
kind: "rejected",
|
|
1246
|
+
reason
|
|
1247
|
+
});
|
|
1248
|
+
}
|
|
1136
1249
|
return;
|
|
1137
1250
|
}
|
|
1138
|
-
const parsedRequest = pendingRequest.request.message;
|
|
1139
1251
|
const silentAgent = sendOptions.agentIdSilent ? this.chatAgentService.getAgent(sendOptions.agentIdSilent) : undefined;
|
|
1140
1252
|
const agent = silentAgent ?? parsedRequest.parts.find(r => r instanceof ChatRequestAgentPart)?.agent ?? defaultAgent;
|
|
1141
1253
|
const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
|
|
@@ -1143,20 +1255,23 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1143
1255
|
model,
|
|
1144
1256
|
model.sessionResource,
|
|
1145
1257
|
parsedRequest,
|
|
1146
|
-
|
|
1258
|
+
firstRequest.request.attempt,
|
|
1147
1259
|
!sendOptions.noCommandDetection,
|
|
1148
1260
|
silentAgent ?? defaultAgent,
|
|
1149
1261
|
location,
|
|
1150
1262
|
sendOptions
|
|
1151
1263
|
);
|
|
1152
|
-
|
|
1264
|
+
const result = {
|
|
1153
1265
|
kind: "sent",
|
|
1154
1266
|
data: {
|
|
1155
1267
|
...responseState,
|
|
1156
1268
|
agent,
|
|
1157
1269
|
slashCommand: agentSlashCommandPart?.command
|
|
1158
1270
|
}
|
|
1159
|
-
}
|
|
1271
|
+
};
|
|
1272
|
+
for (const deferred of deferreds) {
|
|
1273
|
+
deferred.complete(result);
|
|
1274
|
+
}
|
|
1160
1275
|
}
|
|
1161
1276
|
generateInitialChatTitleIfNeeded(model, request, defaultAgent, token) {
|
|
1162
1277
|
if (model.getRequests().length !== 1 || model.customTitle) {
|
|
@@ -1232,6 +1347,10 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1232
1347
|
if (pendingRequest?.requestId === requestId) {
|
|
1233
1348
|
pendingRequest.cancel();
|
|
1234
1349
|
this._pendingRequests.deleteAndDispose(sessionResource);
|
|
1350
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1351
|
+
action: "remove",
|
|
1352
|
+
source: "removeRequest"
|
|
1353
|
+
});
|
|
1235
1354
|
}
|
|
1236
1355
|
model.removeRequest(requestId);
|
|
1237
1356
|
}
|
|
@@ -1250,6 +1369,14 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1250
1369
|
if (cts) {
|
|
1251
1370
|
cts.requestId = request.id;
|
|
1252
1371
|
this._pendingRequests.set(target.sessionResource, cts);
|
|
1372
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1373
|
+
action: "remove",
|
|
1374
|
+
source: "adoptRequest"
|
|
1375
|
+
});
|
|
1376
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1377
|
+
action: "add",
|
|
1378
|
+
source: "adoptRequest"
|
|
1379
|
+
});
|
|
1253
1380
|
}
|
|
1254
1381
|
}
|
|
1255
1382
|
}
|
|
@@ -1279,10 +1406,34 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1279
1406
|
}
|
|
1280
1407
|
request.response?.complete();
|
|
1281
1408
|
}
|
|
1282
|
-
cancelCurrentRequestForSession(sessionResource) {
|
|
1409
|
+
cancelCurrentRequestForSession(sessionResource, source) {
|
|
1283
1410
|
this.trace("cancelCurrentRequestForSession", `session: ${sessionResource}`);
|
|
1284
|
-
this._pendingRequests.get(sessionResource)
|
|
1411
|
+
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
1412
|
+
if (!pendingRequest) {
|
|
1413
|
+
const model = this._sessionModels.get(sessionResource);
|
|
1414
|
+
const requestInProgress = model?.requestInProgress.get();
|
|
1415
|
+
const pendingRequestsCount = model?.getPendingRequests().length ?? 0;
|
|
1416
|
+
const lastRequest = model?.lastRequest;
|
|
1417
|
+
this.telemetryService.publicLog2(ChatStopCancellationNoopEventName, {
|
|
1418
|
+
source: source ?? "chatService",
|
|
1419
|
+
reason: "noPendingRequest",
|
|
1420
|
+
requestInProgress: requestInProgress === undefined ? "unknown" : requestInProgress ? "true" : "false",
|
|
1421
|
+
pendingRequests: pendingRequestsCount,
|
|
1422
|
+
sessionScheme: sessionResource.scheme,
|
|
1423
|
+
lastRequestId: lastRequest?.id
|
|
1424
|
+
});
|
|
1425
|
+
this.info(
|
|
1426
|
+
"cancelCurrentRequestForSession",
|
|
1427
|
+
`No pending request was found for session ${sessionResource}. requestInProgress=${requestInProgress ?? "unknown"}, pendingRequests=${pendingRequestsCount}`
|
|
1428
|
+
);
|
|
1429
|
+
return;
|
|
1430
|
+
}
|
|
1431
|
+
pendingRequest.cancel();
|
|
1285
1432
|
this._pendingRequests.deleteAndDispose(sessionResource);
|
|
1433
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1434
|
+
action: "remove",
|
|
1435
|
+
source: source ?? "cancelRequest"
|
|
1436
|
+
});
|
|
1286
1437
|
}
|
|
1287
1438
|
setYieldRequested(sessionResource) {
|
|
1288
1439
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
@@ -1294,6 +1445,11 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1294
1445
|
const model = this._sessionModels.get(sessionResource);
|
|
1295
1446
|
if (model) {
|
|
1296
1447
|
model.removePendingRequest(requestId);
|
|
1448
|
+
const hasSteeringRequests = ( model.getPendingRequests().some(r => r.kind === ChatRequestQueueKind.Steering));
|
|
1449
|
+
if (!hasSteeringRequests) {
|
|
1450
|
+
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
1451
|
+
pendingRequest?.resetYieldRequested();
|
|
1452
|
+
}
|
|
1297
1453
|
}
|
|
1298
1454
|
const deferred = this._queuedRequestDeferreds.get(requestId);
|
|
1299
1455
|
if (deferred) {
|
|
@@ -1347,7 +1503,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1347
1503
|
logChatIndex() {
|
|
1348
1504
|
this._chatSessionStore.logIndex();
|
|
1349
1505
|
}
|
|
1350
|
-
|
|
1506
|
+
setSessionTitle(sessionResource, title) {
|
|
1351
1507
|
this._sessionModels.get(sessionResource)?.setCustomTitle(title);
|
|
1352
1508
|
}
|
|
1353
1509
|
appendProgress(request, progress) {
|
|
@@ -1365,6 +1521,6 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1365
1521
|
return localSessionId;
|
|
1366
1522
|
}
|
|
1367
1523
|
};
|
|
1368
|
-
ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2,
|
|
1524
|
+
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
1525
|
|
|
1370
1526
|
export { ChatService };
|