@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +21 -3
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +10 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +46 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
|
@@ -52,14 +52,16 @@ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
52
52
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
53
53
|
|
|
54
54
|
function registerChatContextActions() {
|
|
55
|
-
|
|
56
|
-
registerAction2(
|
|
57
|
-
registerAction2(
|
|
58
|
-
registerAction2(
|
|
59
|
-
registerAction2(
|
|
60
|
-
registerAction2(
|
|
55
|
+
const store = ( new DisposableStore());
|
|
56
|
+
store.add(registerAction2(AttachContextAction));
|
|
57
|
+
store.add(registerAction2(AttachFileToChatAction));
|
|
58
|
+
store.add(registerAction2(AttachFolderToChatAction));
|
|
59
|
+
store.add(registerAction2(AttachSelectionToChatAction));
|
|
60
|
+
store.add(registerAction2(AttachSearchResultAction));
|
|
61
|
+
store.add(registerAction2(AttachPinnedEditorsToChatAction));
|
|
62
|
+
store.add(registerCreatePluginAction());
|
|
61
63
|
registerPromptActions();
|
|
62
|
-
|
|
64
|
+
return store;
|
|
63
65
|
}
|
|
64
66
|
async function withChatView(accessor) {
|
|
65
67
|
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
@@ -120,7 +122,7 @@ class AttachFileToChatAction extends AttachResourceAction {
|
|
|
120
122
|
constructor() {
|
|
121
123
|
super({
|
|
122
124
|
id: AttachFileToChatAction.ID,
|
|
123
|
-
title: ( localize2(
|
|
125
|
+
title: ( localize2(4873, "Add File to Chat")),
|
|
124
126
|
category: CHAT_CATEGORY,
|
|
125
127
|
icon: Codicon.attach,
|
|
126
128
|
precondition: ChatContextKeys.enabled,
|
|
@@ -182,7 +184,7 @@ class AttachFolderToChatAction extends AttachResourceAction {
|
|
|
182
184
|
constructor() {
|
|
183
185
|
super({
|
|
184
186
|
id: AttachFolderToChatAction.ID,
|
|
185
|
-
title: ( localize2(
|
|
187
|
+
title: ( localize2(4874, "Add Folder to Chat")),
|
|
186
188
|
category: CHAT_CATEGORY,
|
|
187
189
|
f1: false,
|
|
188
190
|
menu: {
|
|
@@ -213,7 +215,7 @@ class AttachPinnedEditorsToChatAction extends Action2 {
|
|
|
213
215
|
constructor() {
|
|
214
216
|
super({
|
|
215
217
|
id: AttachPinnedEditorsToChatAction.ID,
|
|
216
|
-
title: ( localize2(
|
|
218
|
+
title: ( localize2(4875, "Add Pinned Editors to Chat")),
|
|
217
219
|
category: CHAT_CATEGORY,
|
|
218
220
|
precondition: ChatContextKeys.enabled,
|
|
219
221
|
f1: true
|
|
@@ -255,7 +257,7 @@ class AttachSelectionToChatAction extends Action2 {
|
|
|
255
257
|
constructor() {
|
|
256
258
|
super({
|
|
257
259
|
id: AttachSelectionToChatAction.ID,
|
|
258
|
-
title: ( localize2(
|
|
260
|
+
title: ( localize2(4876, "Add Selection to Chat")),
|
|
259
261
|
category: CHAT_CATEGORY,
|
|
260
262
|
icon: Codicon.attach,
|
|
261
263
|
f1: true,
|
|
@@ -335,7 +337,7 @@ class AttachSearchResultAction extends Action2 {
|
|
|
335
337
|
constructor() {
|
|
336
338
|
super({
|
|
337
339
|
id: "workbench.action.chat.insertSearchResults",
|
|
338
|
-
title: ( localize2(
|
|
340
|
+
title: ( localize2(4877, "Add Search Results to Chat")),
|
|
339
341
|
category: CHAT_CATEGORY,
|
|
340
342
|
f1: false,
|
|
341
343
|
menu: [{
|
|
@@ -398,7 +400,7 @@ class AttachContextAction extends Action2 {
|
|
|
398
400
|
constructor() {
|
|
399
401
|
super({
|
|
400
402
|
id: "workbench.action.chat.attachContext",
|
|
401
|
-
title: ( localize2(
|
|
403
|
+
title: ( localize2(4878, "Add Context...")),
|
|
402
404
|
icon: Codicon.add,
|
|
403
405
|
category: CHAT_CATEGORY,
|
|
404
406
|
keybinding: {
|
|
@@ -489,7 +491,7 @@ class AttachContextAction extends Action2 {
|
|
|
489
491
|
SymbolsQuickAccessProvider.PREFIX,
|
|
490
492
|
AbstractGotoSymbolQuickAccessProvider.PREFIX
|
|
491
493
|
],
|
|
492
|
-
placeholder: placeholder ?? ( localize(
|
|
494
|
+
placeholder: placeholder ?? ( localize(4879, "Search attachments")),
|
|
493
495
|
providerOptions
|
|
494
496
|
});
|
|
495
497
|
}
|
|
@@ -562,7 +564,7 @@ class AttachContextAction extends Action2 {
|
|
|
562
564
|
const pickerConfig = item.asPicker(widget);
|
|
563
565
|
const store = ( new DisposableStore());
|
|
564
566
|
const goBackItem = {
|
|
565
|
-
label: ( localize(
|
|
567
|
+
label: ( localize(4880, "Go back ↩")),
|
|
566
568
|
alwaysShow: true
|
|
567
569
|
};
|
|
568
570
|
const configureItem = pickerConfig.configure ? {
|
|
@@ -1 +1,9 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IActionViewItemService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/actionViewItemService.service";
|
|
3
|
+
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
5
|
+
export declare class ChatCopyActionRendering extends Disposable implements IWorkbenchContribution {
|
|
6
|
+
static readonly ID = "chat.copyActionRendering";
|
|
7
|
+
constructor(actionViewItemService: IActionViewItemService, instantiationService: IInstantiationService);
|
|
8
|
+
}
|
|
1
9
|
export declare function registerChatCopyActions(): void;
|
|
@@ -1,22 +1,126 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
4
|
+
import { append, $, getActiveWindow, isAncestor, getActiveElement, isHTMLElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
|
+
import { disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
3
6
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
7
|
+
import { MutableDisposable, Disposable, markAsSingleton } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
8
|
+
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
9
|
+
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
10
|
+
import { IActionViewItemService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/actionViewItemService.service';
|
|
11
|
+
import { MenuEntryActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
|
|
12
|
+
import { MenuId, MenuItemAction, registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
6
13
|
import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
|
|
7
14
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
15
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
16
|
import { katexContainerClassName, katexContainerLatexAttributeName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/markdown/common/markedKatexExtension';
|
|
9
17
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
10
18
|
import { isRequestVM, isResponseVM, isChatTreeItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
|
|
11
19
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
12
20
|
import { CHAT_CATEGORY, stringifyItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
13
21
|
|
|
22
|
+
const CopyItemActionId = "workbench.action.chat.copyItem";
|
|
23
|
+
const copyFeedbackDuration = 1200;
|
|
24
|
+
const copyIconClasses = ThemeIcon.asClassNameArray(Codicon.copy);
|
|
25
|
+
const copiedIconClasses = ThemeIcon.asClassNameArray(Codicon.check);
|
|
26
|
+
class ChatCopyActionViewItem extends MenuEntryActionViewItem {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(...arguments);
|
|
29
|
+
this.copiedStateReset = this._register(( new MutableDisposable()));
|
|
30
|
+
this.actionRunnerListener = this._register(( new MutableDisposable()));
|
|
31
|
+
this.copied = false;
|
|
32
|
+
}
|
|
33
|
+
get actionRunner() {
|
|
34
|
+
return super.actionRunner;
|
|
35
|
+
}
|
|
36
|
+
set actionRunner(actionRunner) {
|
|
37
|
+
super.actionRunner = actionRunner;
|
|
38
|
+
this.bindActionRunner(actionRunner);
|
|
39
|
+
}
|
|
40
|
+
render(container) {
|
|
41
|
+
super.render(container);
|
|
42
|
+
this.bindActionRunner(super.actionRunner);
|
|
43
|
+
if (!this.element || !this.label) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.element.classList.add("chat-copy-action");
|
|
47
|
+
this.clearLabelIconClasses();
|
|
48
|
+
this.label.style.backgroundImage = "";
|
|
49
|
+
this.label.classList.remove("icon");
|
|
50
|
+
this.label.textContent = "";
|
|
51
|
+
this.label.setAttribute("aria-hidden", "true");
|
|
52
|
+
const iconContainer = append(this.label, $(".chat-copy-action-icons"));
|
|
53
|
+
const copyIcon = append(iconContainer, $(".chat-copy-action-icon.chat-copy-action-icon-copy"));
|
|
54
|
+
copyIcon.classList.add(...copyIconClasses);
|
|
55
|
+
copyIcon.setAttribute("aria-hidden", "true");
|
|
56
|
+
const copiedIcon = append(
|
|
57
|
+
iconContainer,
|
|
58
|
+
$(".chat-copy-action-icon.chat-copy-action-icon-copied")
|
|
59
|
+
);
|
|
60
|
+
copiedIcon.classList.add(...copiedIconClasses);
|
|
61
|
+
copiedIcon.setAttribute("aria-hidden", "true");
|
|
62
|
+
this.renderCopiedState();
|
|
63
|
+
}
|
|
64
|
+
getTooltip() {
|
|
65
|
+
return this.copied ? ( localize(4886, "Copied")) : super.getTooltip();
|
|
66
|
+
}
|
|
67
|
+
updateAriaLabel() {
|
|
68
|
+
this.element?.setAttribute("aria-label", this.copied ? ( localize(4887, "Copied")) : ( localize(4888, "Copy")));
|
|
69
|
+
}
|
|
70
|
+
updateClass() {
|
|
71
|
+
super.updateClass();
|
|
72
|
+
this.clearLabelIconClasses();
|
|
73
|
+
if (this.label) {
|
|
74
|
+
this.label.style.backgroundImage = "";
|
|
75
|
+
this.label.classList.remove("icon");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
clearLabelIconClasses() {
|
|
79
|
+
this.label?.classList.remove(...copyIconClasses, ...copiedIconClasses);
|
|
80
|
+
}
|
|
81
|
+
renderCopiedState() {
|
|
82
|
+
this.element?.classList.toggle("copied", this.copied);
|
|
83
|
+
this.updateTooltip();
|
|
84
|
+
}
|
|
85
|
+
bindActionRunner(actionRunner) {
|
|
86
|
+
this.actionRunnerListener.value = actionRunner.onDidRun(e => {
|
|
87
|
+
if (e.action !== this.action || e.error) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.copied = true;
|
|
91
|
+
this.renderCopiedState();
|
|
92
|
+
this.copiedStateReset.value = disposableTimeout(() => {
|
|
93
|
+
this.copied = false;
|
|
94
|
+
this.renderCopiedState();
|
|
95
|
+
}, copyFeedbackDuration);
|
|
96
|
+
status(( localize(4889, "Copied to clipboard")));
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
let ChatCopyActionRendering = class ChatCopyActionRendering extends Disposable {
|
|
101
|
+
static {
|
|
102
|
+
this.ID = "chat.copyActionRendering";
|
|
103
|
+
}
|
|
104
|
+
constructor(actionViewItemService, instantiationService) {
|
|
105
|
+
super();
|
|
106
|
+
const disposable = this._register(
|
|
107
|
+
actionViewItemService.register(MenuId.ChatMessageFooter, CopyItemActionId, (action, options) => {
|
|
108
|
+
if (!(action instanceof MenuItemAction)) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
return instantiationService.createInstance(ChatCopyActionViewItem, action, options);
|
|
112
|
+
})
|
|
113
|
+
);
|
|
114
|
+
markAsSingleton(disposable);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
ChatCopyActionRendering = ( __decorate([( __param(0, IActionViewItemService)), ( __param(1, IInstantiationService))], ChatCopyActionRendering));
|
|
14
118
|
function registerChatCopyActions() {
|
|
15
119
|
registerAction2(class CopyAllAction extends Action2 {
|
|
16
120
|
constructor() {
|
|
17
121
|
super({
|
|
18
122
|
id: "workbench.action.chat.copyAll",
|
|
19
|
-
title: ( localize2(
|
|
123
|
+
title: ( localize2(4890, "Copy All")),
|
|
20
124
|
f1: false,
|
|
21
125
|
category: CHAT_CATEGORY,
|
|
22
126
|
menu: {
|
|
@@ -44,8 +148,8 @@ function registerChatCopyActions() {
|
|
|
44
148
|
registerAction2(class CopyItemAction extends Action2 {
|
|
45
149
|
constructor() {
|
|
46
150
|
super({
|
|
47
|
-
id:
|
|
48
|
-
title: ( localize2(
|
|
151
|
+
id: CopyItemActionId,
|
|
152
|
+
title: ( localize2(4891, "Copy")),
|
|
49
153
|
f1: false,
|
|
50
154
|
category: CHAT_CATEGORY,
|
|
51
155
|
icon: Codicon.copy,
|
|
@@ -89,7 +193,7 @@ function registerChatCopyActions() {
|
|
|
89
193
|
constructor() {
|
|
90
194
|
super({
|
|
91
195
|
id: "workbench.action.chat.copyFinalResponse",
|
|
92
|
-
title: ( localize2(
|
|
196
|
+
title: ( localize2(4892, "Copy Final Response")),
|
|
93
197
|
f1: false,
|
|
94
198
|
category: CHAT_CATEGORY,
|
|
95
199
|
menu: {
|
|
@@ -123,7 +227,7 @@ function registerChatCopyActions() {
|
|
|
123
227
|
constructor() {
|
|
124
228
|
super({
|
|
125
229
|
id: "workbench.action.chat.copyKatexMathSource",
|
|
126
|
-
title: ( localize2(
|
|
230
|
+
title: ( localize2(4893, "Copy Math Source")),
|
|
127
231
|
f1: false,
|
|
128
232
|
category: CHAT_CATEGORY,
|
|
129
233
|
menu: {
|
|
@@ -166,4 +270,4 @@ function registerChatCopyActions() {
|
|
|
166
270
|
});
|
|
167
271
|
}
|
|
168
272
|
|
|
169
|
-
export { registerChatCopyActions };
|
|
273
|
+
export { ChatCopyActionRendering, registerChatCopyActions };
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
3
|
+
import { fromNow } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
|
|
3
4
|
import { URI, isUriComponents } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
4
5
|
import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
6
|
import { Categories } from '@codingame/monaco-vscode-api/vscode/vs/platform/action/common/actionCommonCategories';
|
|
6
7
|
import { registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
8
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
9
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
10
|
+
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
8
11
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
9
12
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
10
13
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
@@ -23,8 +26,55 @@ function registerChatDeveloperActions() {
|
|
|
23
26
|
registerAction2(LogChatInputHistoryAction);
|
|
24
27
|
registerAction2(LogChatIndexAction);
|
|
25
28
|
registerAction2(InspectChatModelAction);
|
|
29
|
+
registerAction2(InspectChatModelReferencesAction);
|
|
26
30
|
registerAction2(ClearRecentlyUsedLanguageModelsAction);
|
|
27
31
|
}
|
|
32
|
+
function formatChatModelReferenceInspection(accessor) {
|
|
33
|
+
const chatService = accessor.get(IChatService);
|
|
34
|
+
const agentSessionsService = accessor.get(IAgentSessionsService);
|
|
35
|
+
const debugInfo = chatService.getChatModelReferenceDebugInfo();
|
|
36
|
+
const referencedModels = debugInfo.models.filter(model => model.referenceCount > 0);
|
|
37
|
+
const pendingEditModels = debugInfo.models.filter(model => model.hasPendingEdits);
|
|
38
|
+
const pendingDisposalModels = debugInfo.models.filter(model => model.pendingDisposal);
|
|
39
|
+
let output = "# Chat Model References\n\n";
|
|
40
|
+
output += `- Live models: ${debugInfo.totalModels}\n`;
|
|
41
|
+
output += `- Live references: ${debugInfo.totalReferences}\n`;
|
|
42
|
+
output += `- Models with active references: ${referencedModels.length}\n`;
|
|
43
|
+
output += `- Models with pending edits: ${pendingEditModels.length}\n`;
|
|
44
|
+
output += `- Models pending disposal: ${pendingDisposalModels.length}\n\n`;
|
|
45
|
+
output += "Created by shows who loaded or created the model. Holders shows who currently keeps the model alive.\n\n";
|
|
46
|
+
if (!debugInfo.models.length) {
|
|
47
|
+
output += "No live chat models.\n";
|
|
48
|
+
return output;
|
|
49
|
+
}
|
|
50
|
+
for (const model of debugInfo.models) {
|
|
51
|
+
const liveModel = chatService.getSession(model.sessionResource);
|
|
52
|
+
const agentSession = agentSessionsService.getSession(model.sessionResource);
|
|
53
|
+
const archived = agentSession ? agentSession.isArchived() : "unknown";
|
|
54
|
+
const age = liveModel ? fromNow(liveModel.timing.created, true, true, true) : "unknown";
|
|
55
|
+
output += `## ${model.title || "(untitled)"}\n\n`;
|
|
56
|
+
output += `- Session: ${( model.sessionResource.toString())}\n`;
|
|
57
|
+
output += `- Created by: ${model.createdBy}\n`;
|
|
58
|
+
output += `- Archived: ${archived}\n`;
|
|
59
|
+
output += `- Age: ${age}\n`;
|
|
60
|
+
output += `- Initial location: ${model.initialLocation}\n`;
|
|
61
|
+
output += `- Imported: ${model.isImported}\n`;
|
|
62
|
+
output += `- Pending edits: ${model.hasPendingEdits}\n`;
|
|
63
|
+
output += `- Background keep-alive enabled: ${model.willKeepAlive}\n`;
|
|
64
|
+
output += `- Pending disposal: ${model.pendingDisposal}\n`;
|
|
65
|
+
output += `- Reference count: ${model.referenceCount}\n`;
|
|
66
|
+
if (model.holders.length) {
|
|
67
|
+
output += "- Holders:\n";
|
|
68
|
+
for (const holder of model.holders) {
|
|
69
|
+
output += ` - ${holder.holder}: ${holder.count}\n`;
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
output += "- Holders: none\n";
|
|
73
|
+
}
|
|
74
|
+
output += "\n";
|
|
75
|
+
}
|
|
76
|
+
return output;
|
|
77
|
+
}
|
|
28
78
|
class LogChatInputHistoryAction extends Action2 {
|
|
29
79
|
static {
|
|
30
80
|
this.ID = "workbench.action.chat.logInputHistory";
|
|
@@ -32,7 +82,7 @@ class LogChatInputHistoryAction extends Action2 {
|
|
|
32
82
|
constructor() {
|
|
33
83
|
super({
|
|
34
84
|
id: LogChatInputHistoryAction.ID,
|
|
35
|
-
title: ( localize2(
|
|
85
|
+
title: ( localize2(4894, "Log Chat Input History")),
|
|
36
86
|
icon: Codicon.attach,
|
|
37
87
|
category: Categories.Developer,
|
|
38
88
|
f1: true,
|
|
@@ -51,7 +101,7 @@ class LogChatIndexAction extends Action2 {
|
|
|
51
101
|
constructor() {
|
|
52
102
|
super({
|
|
53
103
|
id: LogChatIndexAction.ID,
|
|
54
|
-
title: ( localize2(
|
|
104
|
+
title: ( localize2(4895, "Log Chat Index")),
|
|
55
105
|
icon: Codicon.attach,
|
|
56
106
|
category: Categories.Developer,
|
|
57
107
|
f1: true,
|
|
@@ -70,7 +120,7 @@ class InspectChatModelAction extends Action2 {
|
|
|
70
120
|
constructor() {
|
|
71
121
|
super({
|
|
72
122
|
id: InspectChatModelAction.ID,
|
|
73
|
-
title: ( localize2(
|
|
123
|
+
title: ( localize2(4896, "Inspect Chat Model")),
|
|
74
124
|
icon: Codicon.inspect,
|
|
75
125
|
category: Categories.Developer,
|
|
76
126
|
f1: true,
|
|
@@ -107,6 +157,33 @@ class InspectChatModelAction extends Action2 {
|
|
|
107
157
|
});
|
|
108
158
|
}
|
|
109
159
|
}
|
|
160
|
+
class InspectChatModelReferencesAction extends Action2 {
|
|
161
|
+
static {
|
|
162
|
+
this.ID = "workbench.action.chat.inspectChatModelReferences";
|
|
163
|
+
}
|
|
164
|
+
constructor() {
|
|
165
|
+
super({
|
|
166
|
+
id: InspectChatModelReferencesAction.ID,
|
|
167
|
+
title: ( localize2(4897, "Inspect Chat Model References")),
|
|
168
|
+
icon: Codicon.inspect,
|
|
169
|
+
category: Categories.Developer,
|
|
170
|
+
f1: true,
|
|
171
|
+
precondition: ChatContextKeys.enabled
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
async run(accessor) {
|
|
175
|
+
const instantiationService = accessor.get(IInstantiationService);
|
|
176
|
+
const editorService = accessor.get(IEditorService);
|
|
177
|
+
await editorService.openEditor({
|
|
178
|
+
resource: undefined,
|
|
179
|
+
contents: instantiationService.invokeFunction(formatChatModelReferenceInspection),
|
|
180
|
+
languageId: "markdown",
|
|
181
|
+
options: {
|
|
182
|
+
pinned: true
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
110
187
|
class ClearRecentlyUsedLanguageModelsAction extends Action2 {
|
|
111
188
|
static {
|
|
112
189
|
this.ID = "workbench.action.chat.clearRecentlyUsedLanguageModels";
|
|
@@ -114,7 +191,7 @@ class ClearRecentlyUsedLanguageModelsAction extends Action2 {
|
|
|
114
191
|
constructor() {
|
|
115
192
|
super({
|
|
116
193
|
id: ClearRecentlyUsedLanguageModelsAction.ID,
|
|
117
|
-
title: ( localize2(
|
|
194
|
+
title: ( localize2(4898, "Clear Recently Used Language Models")),
|
|
118
195
|
category: Categories.Developer,
|
|
119
196
|
f1: true,
|
|
120
197
|
precondition: ChatContextKeys.enabled
|
|
@@ -13,7 +13,7 @@ function registerChatFileTreeActions() {
|
|
|
13
13
|
constructor() {
|
|
14
14
|
super({
|
|
15
15
|
id: "workbench.action.chat.nextFileTree",
|
|
16
|
-
title: ( localize2(
|
|
16
|
+
title: ( localize2(4933, "Next File Tree")),
|
|
17
17
|
keybinding: {
|
|
18
18
|
primary: KeyMod.CtrlCmd | KeyCode.F9,
|
|
19
19
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -32,7 +32,7 @@ function registerChatFileTreeActions() {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super({
|
|
34
34
|
id: "workbench.action.chat.previousFileTree",
|
|
35
|
-
title: ( localize2(
|
|
35
|
+
title: ( localize2(4934, "Previous File Tree")),
|
|
36
36
|
keybinding: {
|
|
37
37
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F9,
|
|
38
38
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -7,8 +7,7 @@ import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common
|
|
|
7
7
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
8
8
|
import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
9
9
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
10
|
-
import {
|
|
11
|
-
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
10
|
+
import { ChatContextKeys, ChatContextKeyExprs } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
12
11
|
import { ResponseModelState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
13
12
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
14
13
|
import { isChatTreeItem, isResponseVM, isRequestVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
|
|
@@ -22,8 +21,8 @@ function registerChatForkActions() {
|
|
|
22
21
|
constructor() {
|
|
23
22
|
super({
|
|
24
23
|
id: "workbench.action.chat.forkConversation",
|
|
25
|
-
title: ( localize2(
|
|
26
|
-
tooltip: ( localize2(
|
|
24
|
+
title: ( localize2(4935, "Fork Conversation")),
|
|
25
|
+
tooltip: ( localize2(4936, "Fork conversation from this point")),
|
|
27
26
|
f1: false,
|
|
28
27
|
category: CHAT_CATEGORY,
|
|
29
28
|
icon: Codicon.repoForked,
|
|
@@ -32,27 +31,27 @@ function registerChatForkActions() {
|
|
|
32
31
|
id: MenuId.ChatMessageCheckpoint,
|
|
33
32
|
group: "navigation",
|
|
34
33
|
order: 3,
|
|
35
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.isFirstRequest.negate()), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeys.chatSessionSupportsFork))))
|
|
34
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.isFirstRequest.negate()), ( ContextKeyExpr.or(( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ChatContextKeys.chatSessionSupportsFork))))
|
|
36
35
|
}]
|
|
37
36
|
});
|
|
37
|
+
this.pendingFork = ( new Map());
|
|
38
38
|
}
|
|
39
39
|
async run(accessor, ...args) {
|
|
40
40
|
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
41
41
|
const chatService = accessor.get(IChatService);
|
|
42
42
|
const chatSessionsService = accessor.get(IChatSessionsService);
|
|
43
|
-
|
|
44
|
-
const forkedTitlePrefix = ( localize(4931, "Forked: "));
|
|
43
|
+
const forkedTitlePrefix = ( localize(4937, "Forked: "));
|
|
45
44
|
if (URI.isUri(args[0])) {
|
|
46
45
|
const sourceSessionResource = args[0];
|
|
47
46
|
const contentProviderSchemes = chatSessionsService.getContentProviderSchemes();
|
|
48
47
|
if (contentProviderSchemes.includes(sourceSessionResource.scheme)) {
|
|
49
|
-
await forkContributedChatSession(
|
|
48
|
+
return await this.forkContributedChatSession(
|
|
50
49
|
sourceSessionResource,
|
|
51
50
|
undefined,
|
|
52
51
|
false,
|
|
53
52
|
chatSessionsService,
|
|
54
|
-
chatWidgetService
|
|
55
|
-
|
|
53
|
+
chatWidgetService
|
|
54
|
+
);
|
|
56
55
|
}
|
|
57
56
|
const chatModel = chatService.getSession(sourceSessionResource);
|
|
58
57
|
if (!chatModel) {
|
|
@@ -66,7 +65,7 @@ function registerChatForkActions() {
|
|
|
66
65
|
cleanData.sessionId = generateUuid();
|
|
67
66
|
const forkTimestamp = Date.now();
|
|
68
67
|
cleanData.creationDate = forkTimestamp;
|
|
69
|
-
cleanData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(
|
|
68
|
+
cleanData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(4938, "Forked: {0}", chatModel.title));
|
|
70
69
|
for (const [index, req] of cleanData.requests.entries()) {
|
|
71
70
|
req.shouldBeRemovedOnSend = undefined;
|
|
72
71
|
req.isHidden = undefined;
|
|
@@ -80,7 +79,7 @@ function registerChatForkActions() {
|
|
|
80
79
|
};
|
|
81
80
|
}
|
|
82
81
|
}
|
|
83
|
-
const modelRef = chatService.loadSessionFromData(cleanData);
|
|
82
|
+
const modelRef = chatService.loadSessionFromData(cleanData, "ChatForkActions#forkCleanSession");
|
|
84
83
|
const newSessionResource = modelRef.object.sessionResource;
|
|
85
84
|
setTimeout(async () => {
|
|
86
85
|
try {
|
|
@@ -129,13 +128,7 @@ function registerChatForkActions() {
|
|
|
129
128
|
}
|
|
130
129
|
}
|
|
131
130
|
}
|
|
132
|
-
await forkContributedChatSession(
|
|
133
|
-
sessionResource,
|
|
134
|
-
request,
|
|
135
|
-
true,
|
|
136
|
-
chatSessionsService,
|
|
137
|
-
chatWidgetService);
|
|
138
|
-
return;
|
|
131
|
+
return await this.forkContributedChatSession(sessionResource, request, true, chatSessionsService, chatWidgetService);
|
|
139
132
|
}
|
|
140
133
|
const chatModel = chatService.getSession(sessionResource);
|
|
141
134
|
if (!chatModel) {
|
|
@@ -170,7 +163,7 @@ function registerChatForkActions() {
|
|
|
170
163
|
forkedData.sessionId = generateUuid();
|
|
171
164
|
const forkedTimestamp = Date.now();
|
|
172
165
|
forkedData.creationDate = forkedTimestamp;
|
|
173
|
-
forkedData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(
|
|
166
|
+
forkedData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(4938, "Forked: {0}", chatModel.title));
|
|
174
167
|
for (const [index, req] of forkedData.requests.entries()) {
|
|
175
168
|
req.shouldBeRemovedOnSend = undefined;
|
|
176
169
|
req.isHidden = undefined;
|
|
@@ -184,13 +177,42 @@ function registerChatForkActions() {
|
|
|
184
177
|
};
|
|
185
178
|
}
|
|
186
179
|
}
|
|
187
|
-
const modelRef = chatService.loadSessionFromData(forkedData);
|
|
180
|
+
const modelRef = chatService.loadSessionFromData(forkedData, "ChatForkActions#forkSession");
|
|
188
181
|
if (!modelRef) {
|
|
189
182
|
return;
|
|
190
183
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
184
|
+
try {
|
|
185
|
+
const newSessionResource = modelRef.object.sessionResource;
|
|
186
|
+
await chatWidgetService.openSession(newSessionResource, ChatViewPaneTarget);
|
|
187
|
+
} finally {
|
|
188
|
+
modelRef.dispose();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async forkContributedChatSession(
|
|
192
|
+
sourceSessionResource,
|
|
193
|
+
request,
|
|
194
|
+
openForkedSessionImmediately,
|
|
195
|
+
chatSessionsService,
|
|
196
|
+
chatWidgetService
|
|
197
|
+
) {
|
|
198
|
+
const pendingKey = `${( sourceSessionResource.toString())}@${request?.id ?? "full"}`;
|
|
199
|
+
const pending = this.pendingFork.get(pendingKey);
|
|
200
|
+
if (pending) {
|
|
201
|
+
return pending;
|
|
202
|
+
}
|
|
203
|
+
const forkPromise = forkContributedChatSession(
|
|
204
|
+
sourceSessionResource,
|
|
205
|
+
request,
|
|
206
|
+
openForkedSessionImmediately,
|
|
207
|
+
chatSessionsService,
|
|
208
|
+
chatWidgetService
|
|
209
|
+
);
|
|
210
|
+
this.pendingFork.set(pendingKey, forkPromise);
|
|
211
|
+
try {
|
|
212
|
+
await forkPromise;
|
|
213
|
+
} finally {
|
|
214
|
+
this.pendingFork.delete(pendingKey);
|
|
215
|
+
}
|
|
194
216
|
}
|
|
195
217
|
});
|
|
196
218
|
}
|
|
@@ -199,8 +221,7 @@ async function forkContributedChatSession(
|
|
|
199
221
|
request,
|
|
200
222
|
openForkedSessionImmediately,
|
|
201
223
|
chatSessionsService,
|
|
202
|
-
chatWidgetService
|
|
203
|
-
progressService
|
|
224
|
+
chatWidgetService
|
|
204
225
|
) {
|
|
205
226
|
const cts = ( new CancellationTokenSource());
|
|
206
227
|
try {
|
|
@@ -17,7 +17,7 @@ import { ACTIVE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/s
|
|
|
17
17
|
|
|
18
18
|
const defaultFileName = "chat.json";
|
|
19
19
|
const filters = [{
|
|
20
|
-
name: ( localize(
|
|
20
|
+
name: ( localize(4939, "Chat Session")),
|
|
21
21
|
extensions: ["json"]
|
|
22
22
|
}];
|
|
23
23
|
function registerChatExportActions() {
|
|
@@ -26,7 +26,7 @@ function registerChatExportActions() {
|
|
|
26
26
|
super({
|
|
27
27
|
id: "workbench.action.chat.export",
|
|
28
28
|
category: CHAT_CATEGORY,
|
|
29
|
-
title: ( localize2(
|
|
29
|
+
title: ( localize2(4940, "Export Chat...")),
|
|
30
30
|
precondition: ChatContextKeys.enabled,
|
|
31
31
|
f1: true
|
|
32
32
|
});
|
|
@@ -63,7 +63,7 @@ function registerChatExportActions() {
|
|
|
63
63
|
constructor() {
|
|
64
64
|
super({
|
|
65
65
|
id: "workbench.action.chat.import",
|
|
66
|
-
title: ( localize2(
|
|
66
|
+
title: ( localize2(4941, "Import Chat...")),
|
|
67
67
|
category: CHAT_CATEGORY,
|
|
68
68
|
precondition: ChatContextKeys.enabled,
|
|
69
69
|
f1: true
|
|
@@ -97,12 +97,17 @@ function registerChatExportActions() {
|
|
|
97
97
|
let resolvedTarget;
|
|
98
98
|
let options;
|
|
99
99
|
if (opts?.target === "chatViewPane") {
|
|
100
|
-
const modelRef = chatService.loadSessionFromData(data);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
const modelRef = chatService.loadSessionFromData(data, "ChatImportExport#importToChatView");
|
|
101
|
+
try {
|
|
102
|
+
sessionResource = modelRef.object.sessionResource;
|
|
103
|
+
resolvedTarget = ChatViewPaneTarget;
|
|
104
|
+
options = {
|
|
105
|
+
pinned: true
|
|
106
|
+
};
|
|
107
|
+
await widgetService.openSession(sessionResource, resolvedTarget, options);
|
|
108
|
+
} finally {
|
|
109
|
+
modelRef.dispose();
|
|
110
|
+
}
|
|
106
111
|
} else {
|
|
107
112
|
sessionResource = ChatEditorInput.getNewEditorUri();
|
|
108
113
|
resolvedTarget = ACTIVE_GROUP;
|
|
@@ -112,8 +117,8 @@ function registerChatExportActions() {
|
|
|
112
117
|
},
|
|
113
118
|
pinned: true
|
|
114
119
|
};
|
|
120
|
+
await widgetService.openSession(sessionResource, resolvedTarget, options);
|
|
115
121
|
}
|
|
116
|
-
await widgetService.openSession(sessionResource, resolvedTarget, options);
|
|
117
122
|
} catch (err) {
|
|
118
123
|
throw err;
|
|
119
124
|
}
|