@codingame/monaco-vscode-chat-service-override 28.4.1 → 29.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 +18 -12
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
- 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.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -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 +76 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -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.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
- 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 +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
- 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/agentSessions/localAgentSessionsController.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -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 +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
- 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 +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
- 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 +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +22 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
- 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 +80 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
- 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.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 +10 -9
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
- 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.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
- 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 +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
- 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/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
- 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/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
- 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 +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
- 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 +19 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { DeferredPromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
3
|
+
import { DeferredPromise, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
4
4
|
import { CancellationToken, CancellationTokenSource } 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';
|
|
8
8
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
9
9
|
import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
|
|
10
|
-
import { Disposable, DisposableResourceMap, DisposableStore, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
10
|
+
import { Disposable, DisposableResourceMap, DisposableStore, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
11
11
|
import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
|
|
12
12
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
13
13
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
@@ -36,24 +36,29 @@ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
36
36
|
import { chatEditingSessionIsReady } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
|
|
37
37
|
import { normalizeSerializableChatData, ChatModel, ChatRequestRemovalReason, ChatRequestModel, updateRanges, toChatHistoryContent } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
|
|
38
38
|
import { ChatModelStore } from '../model/chatModelStore.js';
|
|
39
|
-
import { ChatRequestTextPart, ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader
|
|
39
|
+
import { ChatRequestTextPart, ChatRequestSlashCommandPart, getPromptText, ChatRequestAgentPart, ChatRequestAgentSubcommandPart, chatSubcommandLeader, chatAgentLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
|
|
40
40
|
import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
|
|
41
41
|
import { ResponseModelState, ChatPendingRequestChangeEventName, ChatRequestQueueKind, ChatMcpServersStarting, ChatStopCancellationNoopEventName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
42
42
|
import { ChatServiceTelemetry, ChatRequestTelemetry } from './chatServiceTelemetry.js';
|
|
43
|
+
import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
43
44
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
44
45
|
import { ChatSessionStore } from '../model/chatSessionStore.js';
|
|
45
46
|
import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
|
|
46
47
|
import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatTransferService.service';
|
|
47
|
-
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
48
|
+
import { LocalChatSessionUri, getChatSessionType, chatSessionResourceToId, isUntitledChatSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
49
|
+
import { IChatRequestVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
48
50
|
import { ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
49
51
|
import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
50
52
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
51
53
|
import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
|
|
52
54
|
import { ChatSessionOperationLog } from '../model/chatSessionOperationLog.js';
|
|
53
55
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
56
|
+
import { AGENT_DEBUG_LOG_ENABLED_SETTING, 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';
|
|
54
57
|
import { mergeHooks } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
|
|
58
|
+
import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
55
59
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
56
|
-
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
60
|
+
import { autorun, autorunIterableDelta } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
61
|
+
import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
|
|
57
62
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
58
63
|
|
|
59
64
|
const serializedChatKey = "interactive.sessions";
|
|
@@ -61,9 +66,17 @@ let CancellableRequest = class CancellableRequest {
|
|
|
61
66
|
get yieldRequested() {
|
|
62
67
|
return this._yieldRequested;
|
|
63
68
|
}
|
|
64
|
-
constructor(
|
|
69
|
+
constructor(
|
|
70
|
+
cancellationTokenSource,
|
|
71
|
+
requestId,
|
|
72
|
+
responseCompletePromise,
|
|
73
|
+
sendOptions,
|
|
74
|
+
toolsService
|
|
75
|
+
) {
|
|
65
76
|
this.cancellationTokenSource = cancellationTokenSource;
|
|
66
77
|
this.requestId = requestId;
|
|
78
|
+
this.responseCompletePromise = responseCompletePromise;
|
|
79
|
+
this.sendOptions = sendOptions;
|
|
67
80
|
this.toolsService = toolsService;
|
|
68
81
|
this._yieldRequested = observableValue(this, false);
|
|
69
82
|
}
|
|
@@ -86,7 +99,7 @@ let CancellableRequest = class CancellableRequest {
|
|
|
86
99
|
this._yieldRequested.set(false, undefined);
|
|
87
100
|
}
|
|
88
101
|
};
|
|
89
|
-
CancellableRequest = ( __decorate([( __param(
|
|
102
|
+
CancellableRequest = ( __decorate([( __param(4, ILanguageModelToolsService))], CancellableRequest));
|
|
90
103
|
let ChatService = class ChatService extends Disposable {
|
|
91
104
|
get transferredSessionResource() {
|
|
92
105
|
return this._transferredSessionResource;
|
|
@@ -331,7 +344,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
331
344
|
}
|
|
332
345
|
async getLiveSessionItems() {
|
|
333
346
|
return await Promise.all(( Array.from(( this._sessionModels.values())).filter(session => this.shouldBeInHistory(session)).map(async session => {
|
|
334
|
-
const title = session.title || ( localize(
|
|
347
|
+
const title = session.title || ( localize(7200, "New Chat"));
|
|
335
348
|
return {
|
|
336
349
|
sessionResource: session.sessionResource,
|
|
337
350
|
title,
|
|
@@ -496,13 +509,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
496
509
|
}
|
|
497
510
|
}
|
|
498
511
|
async loadRemoteSession(sessionResource, location, token) {
|
|
499
|
-
await this.chatSessionService.canResolveChatSession(sessionResource.scheme);
|
|
500
512
|
{
|
|
501
513
|
const existingRef = this.acquireExistingSession(sessionResource);
|
|
502
514
|
if (existingRef) {
|
|
503
515
|
return existingRef;
|
|
504
516
|
}
|
|
505
517
|
}
|
|
518
|
+
if (!(await this.chatSessionService.canResolveChatSession(sessionResource.scheme))) {
|
|
519
|
+
return undefined;
|
|
520
|
+
}
|
|
506
521
|
const providedSession = await this.chatSessionService.getOrCreateChatSession(sessionResource, token);
|
|
507
522
|
{
|
|
508
523
|
const existingRef = this.acquireExistingSession(sessionResource);
|
|
@@ -511,7 +526,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
511
526
|
return existingRef;
|
|
512
527
|
}
|
|
513
528
|
}
|
|
514
|
-
const chatSessionType = sessionResource
|
|
529
|
+
const chatSessionType = getChatSessionType(sessionResource);
|
|
515
530
|
const modelRef = this._sessionModels.acquireOrCreate({
|
|
516
531
|
initialData: undefined,
|
|
517
532
|
location,
|
|
@@ -521,9 +536,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
521
536
|
inputState: providedSession.transferredState?.inputState
|
|
522
537
|
});
|
|
523
538
|
modelRef.object.setContributedChatSession({
|
|
524
|
-
chatSessionResource: sessionResource
|
|
525
|
-
chatSessionType,
|
|
526
|
-
isUntitled: sessionResource.path.startsWith("/untitled-")
|
|
539
|
+
chatSessionResource: sessionResource
|
|
527
540
|
});
|
|
528
541
|
if (providedSession.title) {
|
|
529
542
|
modelRef.object.setCustomTitle(providedSession.title);
|
|
@@ -573,22 +586,24 @@ let ChatService = class ChatService extends Disposable {
|
|
|
573
586
|
lastRequest?.response?.complete();
|
|
574
587
|
}
|
|
575
588
|
if (providedSession.progressObs && lastRequest && providedSession.interruptActiveResponseCallback) {
|
|
576
|
-
const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
|
|
589
|
+
const initialCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
|
|
577
590
|
this._pendingRequests.set(model.sessionResource, initialCancellationRequest);
|
|
578
591
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
579
592
|
action: "add",
|
|
580
|
-
source: "remoteSession"
|
|
593
|
+
source: "remoteSession",
|
|
594
|
+
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
581
595
|
});
|
|
582
596
|
const cancellationListener = disposables.add(( new MutableDisposable()));
|
|
583
597
|
const createCancellationListener = token => {
|
|
584
598
|
return token.onCancellationRequested(() => {
|
|
585
599
|
providedSession.interruptActiveResponseCallback?.().then(userConfirmedInterruption => {
|
|
586
600
|
if (!userConfirmedInterruption) {
|
|
587
|
-
const newCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined);
|
|
601
|
+
const newCancellationRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
|
|
588
602
|
this._pendingRequests.set(model.sessionResource, newCancellationRequest);
|
|
589
603
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
590
604
|
action: "add",
|
|
591
|
-
source: "remoteSession"
|
|
605
|
+
source: "remoteSession",
|
|
606
|
+
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
592
607
|
});
|
|
593
608
|
cancellationListener.value = createCancellationListener(newCancellationRequest.cancellationTokenSource.token);
|
|
594
609
|
}
|
|
@@ -615,7 +630,8 @@ let ChatService = class ChatService extends Disposable {
|
|
|
615
630
|
} else {
|
|
616
631
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
617
632
|
action: "notCancelable",
|
|
618
|
-
source: "remoteSession"
|
|
633
|
+
source: "remoteSession",
|
|
634
|
+
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
619
635
|
});
|
|
620
636
|
if (lastRequest && model.editingSession) {
|
|
621
637
|
await chatEditingSessionIsReady(model.editingSession);
|
|
@@ -708,10 +724,40 @@ let ChatService = class ChatService extends Disposable {
|
|
|
708
724
|
reason: "Empty message"
|
|
709
725
|
};
|
|
710
726
|
}
|
|
711
|
-
|
|
727
|
+
let model = this._sessionModels.get(sessionResource);
|
|
712
728
|
if (!model) {
|
|
713
729
|
throw ( new Error(`Unknown session: ${sessionResource}`));
|
|
714
730
|
}
|
|
731
|
+
let newSessionResource;
|
|
732
|
+
if (!model.hasRequests && isUntitledChatSession(sessionResource) && getChatSessionType(sessionResource) !== localChatSessionType) {
|
|
733
|
+
const parsedRequest = this.parseChatRequest(
|
|
734
|
+
sessionResource,
|
|
735
|
+
request,
|
|
736
|
+
options?.location ?? model.initialLocation,
|
|
737
|
+
options
|
|
738
|
+
);
|
|
739
|
+
const commandPart = parsedRequest.parts.find(r => r instanceof ChatRequestSlashCommandPart);
|
|
740
|
+
const requestText = getPromptText(parsedRequest).message;
|
|
741
|
+
const initialSessionOptions = this.chatSessionService.getSessionOptions(sessionResource);
|
|
742
|
+
const newItem = await this.chatSessionService.createNewChatSessionItem(getChatSessionType(sessionResource), {
|
|
743
|
+
prompt: requestText,
|
|
744
|
+
command: commandPart?.text,
|
|
745
|
+
initialSessionOptions
|
|
746
|
+
}, CancellationToken.None);
|
|
747
|
+
if (newItem) {
|
|
748
|
+
model = (await this.loadRemoteSession(newItem.resource, model.initialLocation, CancellationToken.None))?.object;
|
|
749
|
+
if (!model) {
|
|
750
|
+
throw ( new Error(`Failed to load session for resource: ${newItem.resource}`));
|
|
751
|
+
}
|
|
752
|
+
this.chatSessionService.registerSessionResourceAlias(sessionResource, newItem.resource);
|
|
753
|
+
model.setContributedChatSession({
|
|
754
|
+
chatSessionResource: newItem.resource,
|
|
755
|
+
initialSessionOptions: initialSessionOptions
|
|
756
|
+
});
|
|
757
|
+
sessionResource = newItem.resource;
|
|
758
|
+
newSessionResource = newItem.resource;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
715
761
|
const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
|
|
716
762
|
if (options?.queue) {
|
|
717
763
|
const queued = this.queuePendingRequest(model, sessionResource, request, options);
|
|
@@ -746,6 +792,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
746
792
|
const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
|
|
747
793
|
return {
|
|
748
794
|
kind: "sent",
|
|
795
|
+
newSessionResource,
|
|
749
796
|
data: {
|
|
750
797
|
...this._sendRequestAsync(
|
|
751
798
|
model,
|
|
@@ -859,6 +906,49 @@ let ChatService = class ChatService extends Disposable {
|
|
|
859
906
|
};
|
|
860
907
|
let detectedAgent;
|
|
861
908
|
let detectedCommand;
|
|
909
|
+
{
|
|
910
|
+
const debugLogEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_ENABLED_SETTING);
|
|
911
|
+
const fileLoggingEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING);
|
|
912
|
+
if (!debugLogEnabled || !fileLoggingEnabled) {
|
|
913
|
+
const isTroubleshootCommand = agentSlashCommandPart?.command.name === TROUBLESHOOT_COMMAND_NAME;
|
|
914
|
+
const hasTroubleshootSkill = options?.attachedContext?.some(v => {
|
|
915
|
+
const uri = IChatRequestVariableEntry.toUri(v);
|
|
916
|
+
return uri && (uri.scheme === COPILOT_SKILL_URI_SCHEME || uri.path.includes(TROUBLESHOOT_SKILL_PATH));
|
|
917
|
+
});
|
|
918
|
+
if (isTroubleshootCommand || hasTroubleshootSkill) {
|
|
919
|
+
request = model.addRequest(parsedRequest, {
|
|
920
|
+
variables: []
|
|
921
|
+
}, attempt, options?.modeInfo);
|
|
922
|
+
completeResponseCreated();
|
|
923
|
+
const missingSettings = [];
|
|
924
|
+
if (!debugLogEnabled) {
|
|
925
|
+
missingSettings.push("`" + AGENT_DEBUG_LOG_ENABLED_SETTING + "`");
|
|
926
|
+
}
|
|
927
|
+
if (!fileLoggingEnabled) {
|
|
928
|
+
missingSettings.push("`" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING + "`");
|
|
929
|
+
}
|
|
930
|
+
const settingsQuery = !debugLogEnabled && !fileLoggingEnabled ? AGENT_DEBUG_LOG_ENABLED_SETTING : !debugLogEnabled ? "@id:" + AGENT_DEBUG_LOG_ENABLED_SETTING : "@id:" + AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING;
|
|
931
|
+
const settingsArg = encodeURIComponent(JSON.stringify(settingsQuery));
|
|
932
|
+
model.acceptResponseProgress(request, {
|
|
933
|
+
kind: "markdownContent",
|
|
934
|
+
content: ( new MarkdownString(( localize(
|
|
935
|
+
7201,
|
|
936
|
+
"The `{0}` skill requires the following settings to be enabled: {1}. After enabling, reload the window to apply. [Enable in Settings](command:workbench.action.openSettings?{2})",
|
|
937
|
+
TROUBLESHOOT_COMMAND_NAME,
|
|
938
|
+
missingSettings.join(", "),
|
|
939
|
+
settingsArg
|
|
940
|
+
)), {
|
|
941
|
+
isTrusted: {
|
|
942
|
+
enabledCommands: ["workbench.action.openSettings"]
|
|
943
|
+
}
|
|
944
|
+
}))
|
|
945
|
+
});
|
|
946
|
+
model.setResponse(request, {});
|
|
947
|
+
request.response?.complete();
|
|
948
|
+
return;
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
}
|
|
862
952
|
let collectedHooks;
|
|
863
953
|
let hasDisabledClaudeHooks = false;
|
|
864
954
|
try {
|
|
@@ -957,6 +1047,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
957
1047
|
acceptedConfirmationData: options?.acceptedConfirmationData,
|
|
958
1048
|
rejectedConfirmationData: options?.rejectedConfirmationData,
|
|
959
1049
|
userSelectedModelId: options?.userSelectedModelId,
|
|
1050
|
+
modelConfiguration: options?.userSelectedModelId ? this.languageModelsService.getModelConfiguration(options.userSelectedModelId) : undefined,
|
|
960
1051
|
userSelectedTools: options?.userSelectedTools?.get(),
|
|
961
1052
|
modeInstructions: options?.modeInfo?.modeInstructions,
|
|
962
1053
|
permissionLevel: options?.modeInfo?.permissionLevel,
|
|
@@ -1011,21 +1102,27 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1011
1102
|
}
|
|
1012
1103
|
}));
|
|
1013
1104
|
pendingRequest.requestId ??= requestProps.requestId;
|
|
1105
|
+
if (pendingRequest.requestId) {
|
|
1106
|
+
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1107
|
+
action: "add",
|
|
1108
|
+
source: "sendRequestId",
|
|
1109
|
+
requestId: pendingRequest.requestId,
|
|
1110
|
+
chatSessionId: chatSessionResourceToId(sessionResource)
|
|
1111
|
+
});
|
|
1112
|
+
}
|
|
1014
1113
|
}
|
|
1015
1114
|
completeResponseCreated();
|
|
1016
1115
|
const disabledClaudeHooksDismissedKey = "chat.disabledClaudeHooks.notification";
|
|
1017
|
-
if (!this.storageService.getBoolean(disabledClaudeHooksDismissedKey, StorageScope.WORKSPACE)) {
|
|
1116
|
+
if (hasDisabledClaudeHooks && !this.storageService.getBoolean(disabledClaudeHooksDismissedKey, StorageScope.WORKSPACE)) {
|
|
1018
1117
|
this.storageService.store(
|
|
1019
1118
|
disabledClaudeHooksDismissedKey,
|
|
1020
1119
|
true,
|
|
1021
1120
|
StorageScope.WORKSPACE,
|
|
1022
1121
|
StorageTarget.USER
|
|
1023
1122
|
);
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
}]);
|
|
1028
|
-
}
|
|
1123
|
+
progressCallback([{
|
|
1124
|
+
kind: "disabledClaudeHooks"
|
|
1125
|
+
}]);
|
|
1029
1126
|
}
|
|
1030
1127
|
if (model.canUseTools) {
|
|
1031
1128
|
const autostartResult = ( new ChatMcpServersStarting(this.mcpService.autostart(token)));
|
|
@@ -1095,7 +1192,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1095
1192
|
);
|
|
1096
1193
|
rawResult = {
|
|
1097
1194
|
errorDetails: {
|
|
1098
|
-
message: ( localize(
|
|
1195
|
+
message: ( localize(7202, "Provider returned null response"))
|
|
1099
1196
|
}
|
|
1100
1197
|
};
|
|
1101
1198
|
}
|
|
@@ -1153,18 +1250,21 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1153
1250
|
};
|
|
1154
1251
|
let shouldProcessPending = false;
|
|
1155
1252
|
const rawResponsePromise = sendRequestInternal();
|
|
1156
|
-
const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, source, undefined);
|
|
1253
|
+
const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, source, undefined, rawResponsePromise, options);
|
|
1157
1254
|
this._pendingRequests.set(model.sessionResource, cancellableRequest);
|
|
1158
1255
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1159
1256
|
action: "add",
|
|
1160
|
-
source: "sendRequest"
|
|
1257
|
+
source: "sendRequest",
|
|
1258
|
+
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
1161
1259
|
});
|
|
1162
1260
|
rawResponsePromise.finally(() => {
|
|
1163
1261
|
if (this._pendingRequests.get(model.sessionResource) === cancellableRequest) {
|
|
1164
1262
|
this._pendingRequests.deleteAndDispose(model.sessionResource);
|
|
1165
1263
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1166
1264
|
action: "remove",
|
|
1167
|
-
source: "sendRequestComplete"
|
|
1265
|
+
source: "sendRequestComplete",
|
|
1266
|
+
requestId: cancellableRequest.requestId,
|
|
1267
|
+
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
1168
1268
|
});
|
|
1169
1269
|
}
|
|
1170
1270
|
if (shouldProcessPending) {
|
|
@@ -1349,7 +1449,9 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1349
1449
|
this._pendingRequests.deleteAndDispose(sessionResource);
|
|
1350
1450
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1351
1451
|
action: "remove",
|
|
1352
|
-
source: "removeRequest"
|
|
1452
|
+
source: "removeRequest",
|
|
1453
|
+
requestId,
|
|
1454
|
+
chatSessionId: chatSessionResourceToId(model.sessionResource)
|
|
1353
1455
|
});
|
|
1354
1456
|
}
|
|
1355
1457
|
model.removeRequest(requestId);
|
|
@@ -1371,11 +1473,15 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1371
1473
|
this._pendingRequests.set(target.sessionResource, cts);
|
|
1372
1474
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1373
1475
|
action: "remove",
|
|
1374
|
-
source: "adoptRequest"
|
|
1476
|
+
source: "adoptRequest",
|
|
1477
|
+
requestId: request.id,
|
|
1478
|
+
chatSessionId: chatSessionResourceToId(oldOwner.sessionResource)
|
|
1375
1479
|
});
|
|
1376
1480
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1377
1481
|
action: "add",
|
|
1378
|
-
source: "adoptRequest"
|
|
1482
|
+
source: "adoptRequest",
|
|
1483
|
+
requestId: request.id,
|
|
1484
|
+
chatSessionId: chatSessionResourceToId(target.sessionResource)
|
|
1379
1485
|
});
|
|
1380
1486
|
}
|
|
1381
1487
|
}
|
|
@@ -1406,7 +1512,7 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1406
1512
|
}
|
|
1407
1513
|
request.response?.complete();
|
|
1408
1514
|
}
|
|
1409
|
-
cancelCurrentRequestForSession(sessionResource, source) {
|
|
1515
|
+
async cancelCurrentRequestForSession(sessionResource, source) {
|
|
1410
1516
|
this.trace("cancelCurrentRequestForSession", `session: ${sessionResource}`);
|
|
1411
1517
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
1412
1518
|
if (!pendingRequest) {
|
|
@@ -1420,7 +1526,8 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1420
1526
|
requestInProgress: requestInProgress === undefined ? "unknown" : requestInProgress ? "true" : "false",
|
|
1421
1527
|
pendingRequests: pendingRequestsCount,
|
|
1422
1528
|
sessionScheme: sessionResource.scheme,
|
|
1423
|
-
lastRequestId: lastRequest?.id
|
|
1529
|
+
lastRequestId: lastRequest?.id,
|
|
1530
|
+
chatSessionId: chatSessionResourceToId(sessionResource)
|
|
1424
1531
|
});
|
|
1425
1532
|
this.info(
|
|
1426
1533
|
"cancelCurrentRequestForSession",
|
|
@@ -1428,12 +1535,18 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1428
1535
|
);
|
|
1429
1536
|
return;
|
|
1430
1537
|
}
|
|
1538
|
+
const responseCompletePromise = pendingRequest.responseCompletePromise;
|
|
1431
1539
|
pendingRequest.cancel();
|
|
1432
1540
|
this._pendingRequests.deleteAndDispose(sessionResource);
|
|
1433
1541
|
this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
|
|
1434
1542
|
action: "remove",
|
|
1435
|
-
source: source ?? "cancelRequest"
|
|
1543
|
+
source: source ?? "cancelRequest",
|
|
1544
|
+
requestId: pendingRequest.requestId,
|
|
1545
|
+
chatSessionId: chatSessionResourceToId(sessionResource)
|
|
1436
1546
|
});
|
|
1547
|
+
if (responseCompletePromise) {
|
|
1548
|
+
await raceTimeout(responseCompletePromise, 1000);
|
|
1549
|
+
}
|
|
1437
1550
|
}
|
|
1438
1551
|
setYieldRequested(sessionResource) {
|
|
1439
1552
|
const pendingRequest = this._pendingRequests.get(sessionResource);
|
|
@@ -1441,6 +1554,25 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1441
1554
|
pendingRequest.setYieldRequested();
|
|
1442
1555
|
}
|
|
1443
1556
|
}
|
|
1557
|
+
migrateRequests(originalResource, targetResource) {
|
|
1558
|
+
const model = this._sessionModels.get(originalResource);
|
|
1559
|
+
if (!model) {
|
|
1560
|
+
return;
|
|
1561
|
+
}
|
|
1562
|
+
const pendingRequests = [...model.getPendingRequests()];
|
|
1563
|
+
if (pendingRequests.length === 0) {
|
|
1564
|
+
return;
|
|
1565
|
+
}
|
|
1566
|
+
for (const pending of pendingRequests) {
|
|
1567
|
+
this.removePendingRequest(originalResource, pending.request.id);
|
|
1568
|
+
}
|
|
1569
|
+
for (const pending of pendingRequests) {
|
|
1570
|
+
void this.sendRequest(targetResource, pending.request.message.text, {
|
|
1571
|
+
...pending.sendOptions,
|
|
1572
|
+
queue: pending.kind
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
1575
|
+
}
|
|
1444
1576
|
removePendingRequest(sessionResource, requestId) {
|
|
1445
1577
|
const model = this._sessionModels.get(sessionResource);
|
|
1446
1578
|
if (model) {
|
|
@@ -1520,6 +1652,45 @@ let ChatService = class ChatService extends Disposable {
|
|
|
1520
1652
|
}
|
|
1521
1653
|
return localSessionId;
|
|
1522
1654
|
}
|
|
1655
|
+
registerChatModelChangeListeners(chatSessionType, onChange) {
|
|
1656
|
+
const disposableStore = ( new DisposableStore());
|
|
1657
|
+
const chatModelsICareAbout = ( this.chatModels.map(
|
|
1658
|
+
models => Array.from(models).filter(model => model.sessionResource.scheme === chatSessionType)
|
|
1659
|
+
));
|
|
1660
|
+
const listeners = ( new ResourceMap());
|
|
1661
|
+
const autoRunDisposable = autorunIterableDelta(reader => chatModelsICareAbout.read(reader), (
|
|
1662
|
+
{
|
|
1663
|
+
addedValues,
|
|
1664
|
+
removedValues
|
|
1665
|
+
}
|
|
1666
|
+
) => {
|
|
1667
|
+
removedValues.forEach(removed => {
|
|
1668
|
+
const listener = listeners.get(removed.sessionResource);
|
|
1669
|
+
if (listener) {
|
|
1670
|
+
listeners.delete(removed.sessionResource);
|
|
1671
|
+
listener.dispose();
|
|
1672
|
+
}
|
|
1673
|
+
});
|
|
1674
|
+
addedValues.forEach(added => {
|
|
1675
|
+
const requestChangeListener = ( added.lastRequestObs.map(
|
|
1676
|
+
last => last?.response && observableSignalFromEvent("chatSessions.modelRequestChangeListener", last.response.onDidChange)
|
|
1677
|
+
));
|
|
1678
|
+
const modelChangeListener = observableSignalFromEvent("chatSessions.modelChangeListener", added.onDidChange);
|
|
1679
|
+
listeners.set(added.sessionResource, autorun(reader => {
|
|
1680
|
+
requestChangeListener.read(reader)?.read(reader);
|
|
1681
|
+
modelChangeListener.read(reader);
|
|
1682
|
+
onChange(added.sessionResource);
|
|
1683
|
+
}));
|
|
1684
|
+
});
|
|
1685
|
+
});
|
|
1686
|
+
disposableStore.add(toDisposable(() => {
|
|
1687
|
+
for (const listener of ( listeners.values())) {
|
|
1688
|
+
listener.dispose();
|
|
1689
|
+
}
|
|
1690
|
+
}));
|
|
1691
|
+
disposableStore.add(autoRunDisposable);
|
|
1692
|
+
return disposableStore;
|
|
1693
|
+
}
|
|
1523
1694
|
};
|
|
1524
1695
|
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));
|
|
1525
1696
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import
|
|
2
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
3
3
|
import { isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
4
4
|
import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
|
|
5
5
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
@@ -59,7 +59,7 @@ const responsePartSchema = v(
|
|
|
59
59
|
return a.kind === b.kind;
|
|
60
60
|
default:
|
|
61
61
|
{
|
|
62
|
-
|
|
62
|
+
return equals(a, b);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -109,7 +109,8 @@ const requestSchema = object({
|
|
|
109
109
|
usedContext: v(m => m.response?.usedContext, equals),
|
|
110
110
|
contentReferences: v(m => m.response?.contentReferences, equals),
|
|
111
111
|
codeCitations: v(m => m.response?.codeCitations, equals),
|
|
112
|
-
timeSpentWaiting: v(m => m.response?.timestamp)
|
|
112
|
+
timeSpentWaiting: v(m => m.response?.timestamp),
|
|
113
|
+
modeInfo: v(m => m.modeInfo, equals)
|
|
113
114
|
}, {
|
|
114
115
|
sealed: o => o.modelState?.value === ResponseModelState.Cancelled || o.modelState?.value === ResponseModelState.Failed || o.modelState?.value === ResponseModelState.Complete
|
|
115
116
|
});
|
|
@@ -6,7 +6,7 @@ import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
|
|
|
6
6
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
7
7
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
8
8
|
import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
|
|
9
|
-
import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
9
|
+
import { joinPath, isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
10
10
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
11
11
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
12
12
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
@@ -98,7 +98,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
98
98
|
}
|
|
99
99
|
e.join(this.storeTask, {
|
|
100
100
|
id: "join.chatSessionStore",
|
|
101
|
-
label: ( localize(
|
|
101
|
+
label: ( localize(7243, "Saving chat history"))
|
|
102
102
|
});
|
|
103
103
|
}));
|
|
104
104
|
}
|
|
@@ -126,7 +126,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
126
126
|
newWorkspaceId,
|
|
127
127
|
"chatSessions"
|
|
128
128
|
);
|
|
129
|
-
if ((
|
|
129
|
+
if (isEqual(oldStorageRoot, newStorageRoot)) {
|
|
130
130
|
this.storageRoot = newStorageRoot;
|
|
131
131
|
return;
|
|
132
132
|
}
|
|
@@ -356,14 +356,14 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
|
|
|
356
356
|
this._didReportIssue = true;
|
|
357
357
|
this.dialogService.prompt({
|
|
358
358
|
custom: true,
|
|
359
|
-
title: ( localize(
|
|
359
|
+
title: ( localize(7244, "Error saving chat session")),
|
|
360
360
|
message: ( localize(
|
|
361
|
-
|
|
361
|
+
7245,
|
|
362
362
|
"Error serializing chat session for storage. The session will be lost if the window is closed. Please report this issue to the VS Code team:\n\n{0}",
|
|
363
363
|
e.stack || toErrorMessage(e)
|
|
364
364
|
)),
|
|
365
365
|
buttons: [{
|
|
366
|
-
label: ( localize(
|
|
366
|
+
label: ( localize(7246, "Report Issue")),
|
|
367
367
|
run: () => this.openerService.open("https://github.com/microsoft/vscode/issues/new?template=bug_report.md")
|
|
368
368
|
}]
|
|
369
369
|
});
|
|
@@ -708,7 +708,7 @@ async function getSessionMetadata(session) {
|
|
|
708
708
|
}
|
|
709
709
|
return {
|
|
710
710
|
sessionId: session.sessionId,
|
|
711
|
-
title: title || ( localize(
|
|
711
|
+
title: title || ( localize(7247, "New Chat")),
|
|
712
712
|
lastMessageDate,
|
|
713
713
|
timing,
|
|
714
714
|
initialLocation: session.initialLocation,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
2
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
3
|
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
|
+
import { ContextKeyExpression } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
|
|
4
5
|
import { IProgress } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress";
|
|
5
6
|
import { IChatMessage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
|
|
6
7
|
import { IChatFollowup, IChatProgress, IChatResponseProgressFileTreeData, IChatSendRequestOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
@@ -28,7 +29,12 @@ export interface IChatSlashData {
|
|
|
28
29
|
silent?: boolean;
|
|
29
30
|
locations: ChatAgentLocation[];
|
|
30
31
|
modes?: ChatModeKind[];
|
|
31
|
-
|
|
32
|
+
targets?: Target[];
|
|
33
|
+
/**
|
|
34
|
+
* Optional context key expression that controls visibility of this command.
|
|
35
|
+
* When set, the command is only shown if the expression evaluates to true.
|
|
36
|
+
*/
|
|
37
|
+
when?: ContextKeyExpression;
|
|
32
38
|
}
|
|
33
39
|
export interface IChatSlashFragment {
|
|
34
40
|
content: string | {
|
|
@@ -3,12 +3,15 @@ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/
|
|
|
3
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
4
|
import { SyncDescriptor0 } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors";
|
|
5
5
|
import { IMcpServerConfiguration } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpPlatformTypes";
|
|
6
|
+
import { ContributionEnablementState, IEnablementModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/enablement";
|
|
6
7
|
import { IHookCommand } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema";
|
|
7
8
|
import { HookType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes";
|
|
8
9
|
import { IMarketplacePlugin } from "./pluginMarketplaceService.js";
|
|
9
10
|
export interface IAgentPluginHook {
|
|
10
11
|
readonly type: HookType;
|
|
11
12
|
readonly hooks: readonly IHookCommand[];
|
|
13
|
+
/** URI where this hook is defined -- not unique, multiple hooks may be in a manifest */
|
|
14
|
+
readonly uri: URI;
|
|
12
15
|
readonly originalId: string;
|
|
13
16
|
}
|
|
14
17
|
export interface IAgentPluginCommand {
|
|
@@ -23,29 +26,34 @@ export interface IAgentPluginAgent {
|
|
|
23
26
|
readonly uri: URI;
|
|
24
27
|
readonly name: string;
|
|
25
28
|
}
|
|
29
|
+
export interface IAgentPluginInstruction {
|
|
30
|
+
readonly uri: URI;
|
|
31
|
+
readonly name: string;
|
|
32
|
+
}
|
|
26
33
|
export interface IAgentPluginMcpServerDefinition {
|
|
27
34
|
readonly name: string;
|
|
28
35
|
readonly configuration: IMcpServerConfiguration;
|
|
36
|
+
readonly uri: URI;
|
|
29
37
|
}
|
|
30
38
|
export interface IAgentPlugin {
|
|
31
39
|
readonly uri: URI;
|
|
32
40
|
/** Human-readable display name for the plugin. */
|
|
33
41
|
readonly label: string;
|
|
34
|
-
readonly
|
|
35
|
-
setEnabled(enabled: boolean): void;
|
|
42
|
+
readonly enablement: IObservable<ContributionEnablementState>;
|
|
36
43
|
/** Removes this plugin from its discovery source (config or installed storage). */
|
|
37
44
|
remove(): void;
|
|
38
45
|
readonly hooks: IObservable<readonly IAgentPluginHook[]>;
|
|
39
46
|
readonly commands: IObservable<readonly IAgentPluginCommand[]>;
|
|
40
47
|
readonly skills: IObservable<readonly IAgentPluginSkill[]>;
|
|
41
48
|
readonly agents: IObservable<readonly IAgentPluginAgent[]>;
|
|
49
|
+
readonly instructions: IObservable<readonly IAgentPluginInstruction[]>;
|
|
42
50
|
readonly mcpServerDefinitions: IObservable<readonly IAgentPluginMcpServerDefinition[]>;
|
|
43
51
|
/** Set when the plugin was installed from a marketplace repository. */
|
|
44
52
|
readonly fromMarketplace?: IMarketplacePlugin;
|
|
45
53
|
}
|
|
46
54
|
export interface IAgentPluginDiscovery extends IDisposable {
|
|
47
55
|
readonly plugins: IObservable<readonly IAgentPlugin[]>;
|
|
48
|
-
start(): void;
|
|
56
|
+
start(enablementModel: IEnablementModel): void;
|
|
49
57
|
}
|
|
50
58
|
export declare function getCanonicalPluginCommandId(plugin: IAgentPlugin, commandName: string): string;
|
|
51
59
|
declare class AgentPluginDiscoveryRegistry {
|