@codingame/monaco-vscode-chat-service-override 32.0.2 → 33.0.4
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.d.ts +1 -1
- package/index.js +15 -5
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
- package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
- 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 +60 -60
- 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 +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
- 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 +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
- 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.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
- 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.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -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/agentSessions/localAgentSessionsController.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
- 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 +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- 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 +53 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
- 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/hasByokModelsContribution.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- 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 +27 -27
- 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/promptFileContributions.js +4 -6
- 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.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +58 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- 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.js +18 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
- 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 +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
- package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- 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 +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 +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- 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.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
- 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/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
- package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
- package/vscode/src/vs/base/common/defaultAccount.js +0 -12
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
|
@@ -5,8 +5,9 @@ import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marsh
|
|
|
5
5
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
6
6
|
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
7
7
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
8
|
-
import {
|
|
8
|
+
import { 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 { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
10
11
|
import { ChatContextKeys, ChatContextKeyExprs } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
11
12
|
import { ResponseModelState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
12
13
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
@@ -17,205 +18,210 @@ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
|
|
|
17
18
|
import { ChatViewPaneTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
18
19
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const contentProviderSchemes = chatSessionsService.getContentProviderSchemes();
|
|
48
|
-
if (contentProviderSchemes.includes(getChatSessionType(sourceSessionResource))) {
|
|
49
|
-
return await this.forkContributedChatSession(
|
|
50
|
-
sourceSessionResource,
|
|
51
|
-
undefined,
|
|
52
|
-
false,
|
|
53
|
-
chatSessionsService,
|
|
54
|
-
chatWidgetService
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
const chatModel = chatService.getSession(sourceSessionResource);
|
|
58
|
-
if (!chatModel) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
const serializedData = chatModel.toJSON();
|
|
62
|
-
if (serializedData.requests.length === 0) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
const cleanData = revive(JSON.parse(JSON.stringify(serializedData)));
|
|
66
|
-
cleanData.sessionId = generateUuid();
|
|
67
|
-
const forkTimestamp = Date.now();
|
|
68
|
-
cleanData.creationDate = forkTimestamp;
|
|
69
|
-
cleanData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(4999, "Forked: {0}", chatModel.title));
|
|
70
|
-
for (const [index, req] of cleanData.requests.entries()) {
|
|
71
|
-
req.shouldBeRemovedOnSend = undefined;
|
|
72
|
-
req.isHidden = undefined;
|
|
73
|
-
req.requestId = generateUuid();
|
|
74
|
-
req.responseId = req.responseId ? generateUuid() : undefined;
|
|
75
|
-
req.timestamp = forkTimestamp + index;
|
|
76
|
-
if (req.response) {
|
|
77
|
-
req.modelState = {
|
|
78
|
-
value: ResponseModelState.Complete,
|
|
79
|
-
completedAt: forkTimestamp + index
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
const modelRef = chatService.loadSessionFromData(cleanData, "ChatForkActions#forkCleanSession");
|
|
84
|
-
const newSessionResource = modelRef.object.sessionResource;
|
|
85
|
-
setTimeout(async () => {
|
|
86
|
-
try {
|
|
87
|
-
await chatWidgetService.openSession(newSessionResource, ChatViewPaneTarget);
|
|
88
|
-
} finally {
|
|
89
|
-
modelRef.dispose();
|
|
90
|
-
}
|
|
91
|
-
}, 0);
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
const arg = args[0];
|
|
95
|
-
let item = isChatTreeItem(arg) ? arg : isChatTreeItem(arg?.element) ? arg.element : isChatTreeItem(arg?.context) ? arg.context : isChatTreeItem(arg?.item) ? arg.item : undefined;
|
|
96
|
-
const widget = (item && chatWidgetService.getWidgetBySessionResource(item.sessionResource)) || chatWidgetService.lastFocusedWidget;
|
|
97
|
-
if (!isResponseVM(item) && !isRequestVM(item)) {
|
|
98
|
-
item = widget?.getFocus();
|
|
99
|
-
}
|
|
100
|
-
if (!item) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const sessionResource = widget?.viewModel?.sessionResource ?? (isChatTreeItem(item) ? item.sessionResource : undefined);
|
|
104
|
-
if (!sessionResource) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
const targetRequestId = isRequestVM(item) ? item.id : isResponseVM(item) ? item.requestId : undefined;
|
|
108
|
-
if (!targetRequestId) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
21
|
+
class ForkConversationAction extends Action2 {
|
|
22
|
+
constructor() {
|
|
23
|
+
super({
|
|
24
|
+
id: "workbench.action.chat.forkConversation",
|
|
25
|
+
title: ( localize2(5019, "Fork Conversation")),
|
|
26
|
+
tooltip: ( localize2(5020, "Fork conversation from this point")),
|
|
27
|
+
f1: false,
|
|
28
|
+
category: CHAT_CATEGORY,
|
|
29
|
+
icon: Codicon.repoForked,
|
|
30
|
+
precondition: ChatContextKeys.enabled,
|
|
31
|
+
menu: [{
|
|
32
|
+
id: MenuId.ChatMessageCheckpoint,
|
|
33
|
+
group: "navigation",
|
|
34
|
+
order: 3,
|
|
35
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.isFirstRequest.negate()), ( ContextKeyExpr.or(( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeyExprs.isAgentHostSession)), ChatContextKeys.chatSessionSupportsFork))))
|
|
36
|
+
}]
|
|
37
|
+
});
|
|
38
|
+
this.pendingFork = ( new Map());
|
|
39
|
+
}
|
|
40
|
+
async run(accessor, ...args) {
|
|
41
|
+
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
42
|
+
const instantiationService = accessor.get(IInstantiationService);
|
|
43
|
+
const chatService = accessor.get(IChatService);
|
|
44
|
+
const chatSessionsService = accessor.get(IChatSessionsService);
|
|
45
|
+
const forkedTitlePrefix = ( localize(5021, "Forked: "));
|
|
46
|
+
if (URI.isUri(args[0])) {
|
|
47
|
+
const sourceSessionResource = args[0];
|
|
111
48
|
const contentProviderSchemes = chatSessionsService.getContentProviderSchemes();
|
|
112
|
-
if (contentProviderSchemes.includes(getChatSessionType(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
request = {
|
|
121
|
-
id: entry.requestId,
|
|
122
|
-
type: "request",
|
|
123
|
-
prompt: typeof entry.message === "string" ? entry.message : entry.message.text,
|
|
124
|
-
participant: entry.agent?.id ?? "",
|
|
125
|
-
variableData: entry.variableData,
|
|
126
|
-
modelId: entry.modelId
|
|
127
|
-
};
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return await this.forkContributedChatSession(sessionResource, request, true, chatSessionsService, chatWidgetService);
|
|
49
|
+
if (contentProviderSchemes.includes(getChatSessionType(sourceSessionResource))) {
|
|
50
|
+
return await this.forkContributedChatSession(
|
|
51
|
+
sourceSessionResource,
|
|
52
|
+
undefined,
|
|
53
|
+
false,
|
|
54
|
+
chatSessionsService,
|
|
55
|
+
chatWidgetService
|
|
56
|
+
);
|
|
133
57
|
}
|
|
134
|
-
const chatModel = chatService.getSession(
|
|
58
|
+
const chatModel = chatService.getSession(sourceSessionResource);
|
|
135
59
|
if (!chatModel) {
|
|
136
60
|
return;
|
|
137
61
|
}
|
|
138
62
|
const serializedData = chatModel.toJSON();
|
|
139
|
-
|
|
140
|
-
let targetIndex = -1;
|
|
141
|
-
if (widget?.viewModel) {
|
|
142
|
-
let requestIndex = -1;
|
|
143
|
-
for (const entry of widget.viewModel.getItems()) {
|
|
144
|
-
if (isRequestVM(entry)) {
|
|
145
|
-
requestIndex += 1;
|
|
146
|
-
}
|
|
147
|
-
if (entry.id === item?.id) {
|
|
148
|
-
targetIndex = isRequestVM(entry) ? Math.max(0, requestIndex - 1) : requestIndex;
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
if (targetIndex < 0) {
|
|
154
|
-
const requestIndex = chatModel.getRequests().findIndex(r => r.id === targetRequestId);
|
|
155
|
-
targetIndex = isRequestItem ? Math.max(0, requestIndex - 1) : requestIndex;
|
|
156
|
-
}
|
|
157
|
-
if (targetIndex < 0) {
|
|
63
|
+
if (serializedData.requests.length === 0) {
|
|
158
64
|
return;
|
|
159
65
|
}
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const
|
|
166
|
-
forkedData.creationDate = forkedTimestamp;
|
|
167
|
-
forkedData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(4999, "Forked: {0}", chatModel.title));
|
|
168
|
-
for (const [index, req] of forkedData.requests.entries()) {
|
|
66
|
+
const cleanData = revive(JSON.parse(JSON.stringify(serializedData)));
|
|
67
|
+
cleanData.sessionId = generateUuid();
|
|
68
|
+
const forkTimestamp = Date.now();
|
|
69
|
+
cleanData.creationDate = forkTimestamp;
|
|
70
|
+
cleanData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(5022, "Forked: {0}", chatModel.title));
|
|
71
|
+
for (const [index, req] of cleanData.requests.entries()) {
|
|
169
72
|
req.shouldBeRemovedOnSend = undefined;
|
|
170
73
|
req.isHidden = undefined;
|
|
171
74
|
req.requestId = generateUuid();
|
|
172
75
|
req.responseId = req.responseId ? generateUuid() : undefined;
|
|
173
|
-
req.timestamp =
|
|
76
|
+
req.timestamp = forkTimestamp + index;
|
|
174
77
|
if (req.response) {
|
|
175
78
|
req.modelState = {
|
|
176
79
|
value: ResponseModelState.Complete,
|
|
177
|
-
completedAt:
|
|
80
|
+
completedAt: forkTimestamp + index
|
|
178
81
|
};
|
|
179
82
|
}
|
|
180
83
|
}
|
|
181
|
-
const modelRef = chatService.loadSessionFromData(
|
|
182
|
-
|
|
183
|
-
|
|
84
|
+
const modelRef = chatService.loadSessionFromData(cleanData, "ChatForkActions#forkCleanSession");
|
|
85
|
+
const newSessionResource = modelRef.object.sessionResource;
|
|
86
|
+
setTimeout(async () => {
|
|
87
|
+
try {
|
|
88
|
+
await this._openForkedSession(instantiationService, chatModel.sessionResource, newSessionResource);
|
|
89
|
+
} finally {
|
|
90
|
+
modelRef.dispose();
|
|
91
|
+
}
|
|
92
|
+
}, 0);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const arg = args[0];
|
|
96
|
+
let item = isChatTreeItem(arg) ? arg : isChatTreeItem(arg?.element) ? arg.element : isChatTreeItem(arg?.context) ? arg.context : isChatTreeItem(arg?.item) ? arg.item : undefined;
|
|
97
|
+
const widget = (item && chatWidgetService.getWidgetBySessionResource(item.sessionResource)) || chatWidgetService.lastFocusedWidget;
|
|
98
|
+
if (!isResponseVM(item) && !isRequestVM(item)) {
|
|
99
|
+
item = widget?.getFocus();
|
|
100
|
+
}
|
|
101
|
+
if (!item) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const sessionResource = widget?.viewModel?.sessionResource ?? (isChatTreeItem(item) ? item.sessionResource : undefined);
|
|
105
|
+
if (!sessionResource) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const targetRequestId = isRequestVM(item) ? item.id : isResponseVM(item) ? item.requestId : undefined;
|
|
109
|
+
if (!targetRequestId) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const contentProviderSchemes = chatSessionsService.getContentProviderSchemes();
|
|
113
|
+
if (contentProviderSchemes.includes(getChatSessionType(sessionResource))) {
|
|
114
|
+
const contributedSession = await chatSessionsService.getOrCreateChatSession(sessionResource, CancellationToken.None);
|
|
115
|
+
let request = contributedSession.history.find(entry => entry.type === "request" && entry.id === targetRequestId);
|
|
116
|
+
if (!request) {
|
|
117
|
+
const chatModel = chatService.getSession(sessionResource);
|
|
118
|
+
const serializedData = chatModel?.toJSON();
|
|
119
|
+
for (const [, entry] of serializedData?.requests.entries() ?? []) {
|
|
120
|
+
if (entry.requestId === targetRequestId) {
|
|
121
|
+
request = {
|
|
122
|
+
id: entry.requestId,
|
|
123
|
+
type: "request",
|
|
124
|
+
prompt: typeof entry.message === "string" ? entry.message : entry.message.text,
|
|
125
|
+
participant: entry.agent?.id ?? "",
|
|
126
|
+
variableData: entry.variableData,
|
|
127
|
+
modelId: entry.modelId
|
|
128
|
+
};
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return await this.forkContributedChatSession(sessionResource, request, true, chatSessionsService, chatWidgetService);
|
|
134
|
+
}
|
|
135
|
+
const chatModel = chatService.getSession(sessionResource);
|
|
136
|
+
if (!chatModel) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const serializedData = chatModel.toJSON();
|
|
140
|
+
const isRequestItem = isRequestVM(item);
|
|
141
|
+
let targetIndex = -1;
|
|
142
|
+
if (widget?.viewModel) {
|
|
143
|
+
let requestIndex = -1;
|
|
144
|
+
for (const entry of widget.viewModel.getItems()) {
|
|
145
|
+
if (isRequestVM(entry)) {
|
|
146
|
+
requestIndex += 1;
|
|
147
|
+
}
|
|
148
|
+
if (entry.id === item?.id) {
|
|
149
|
+
targetIndex = isRequestVM(entry) ? Math.max(0, requestIndex - 1) : requestIndex;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
184
152
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
153
|
+
}
|
|
154
|
+
if (targetIndex < 0) {
|
|
155
|
+
const requestIndex = chatModel.getRequests().findIndex(r => r.id === targetRequestId);
|
|
156
|
+
targetIndex = isRequestItem ? Math.max(0, requestIndex - 1) : requestIndex;
|
|
157
|
+
}
|
|
158
|
+
if (targetIndex < 0) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const forkedData = revive(JSON.parse(JSON.stringify({
|
|
162
|
+
...serializedData,
|
|
163
|
+
requests: serializedData.requests.slice(0, targetIndex + 1)
|
|
164
|
+
})));
|
|
165
|
+
forkedData.sessionId = generateUuid();
|
|
166
|
+
const forkedTimestamp = Date.now();
|
|
167
|
+
forkedData.creationDate = forkedTimestamp;
|
|
168
|
+
forkedData.customTitle = chatModel.title.startsWith(forkedTitlePrefix) ? chatModel.title : ( localize(5022, "Forked: {0}", chatModel.title));
|
|
169
|
+
for (const [index, req] of forkedData.requests.entries()) {
|
|
170
|
+
req.shouldBeRemovedOnSend = undefined;
|
|
171
|
+
req.isHidden = undefined;
|
|
172
|
+
req.requestId = generateUuid();
|
|
173
|
+
req.responseId = req.responseId ? generateUuid() : undefined;
|
|
174
|
+
req.timestamp = forkedTimestamp + index;
|
|
175
|
+
if (req.response) {
|
|
176
|
+
req.modelState = {
|
|
177
|
+
value: ResponseModelState.Complete,
|
|
178
|
+
completedAt: forkedTimestamp + index
|
|
179
|
+
};
|
|
190
180
|
}
|
|
191
181
|
}
|
|
192
|
-
|
|
182
|
+
const modelRef = chatService.loadSessionFromData(forkedData, "ChatForkActions#forkSession");
|
|
183
|
+
if (!modelRef) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
const newSessionResource = modelRef.object.sessionResource;
|
|
188
|
+
await this._openForkedSession(instantiationService, chatModel.sessionResource, newSessionResource);
|
|
189
|
+
} finally {
|
|
190
|
+
modelRef.dispose();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
async _openForkedSession(instantiationService, parentSessionResource, forkedSessionResource) {
|
|
194
|
+
await instantiationService.invokeFunction(async accessor => {
|
|
195
|
+
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
196
|
+
await chatWidgetService.openSession(forkedSessionResource, ChatViewPaneTarget);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async forkContributedChatSession(
|
|
200
|
+
sourceSessionResource,
|
|
201
|
+
request,
|
|
202
|
+
openForkedSessionImmediately,
|
|
203
|
+
chatSessionsService,
|
|
204
|
+
chatWidgetService
|
|
205
|
+
) {
|
|
206
|
+
const pendingKey = `${( sourceSessionResource.toString())}@${request?.id ?? "full"}`;
|
|
207
|
+
const pending = this.pendingFork.get(pendingKey);
|
|
208
|
+
if (pending) {
|
|
209
|
+
return pending;
|
|
210
|
+
}
|
|
211
|
+
const forkPromise = forkContributedChatSession(
|
|
193
212
|
sourceSessionResource,
|
|
194
213
|
request,
|
|
195
214
|
openForkedSessionImmediately,
|
|
196
215
|
chatSessionsService,
|
|
197
216
|
chatWidgetService
|
|
198
|
-
)
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const forkPromise = forkContributedChatSession(
|
|
205
|
-
sourceSessionResource,
|
|
206
|
-
request,
|
|
207
|
-
openForkedSessionImmediately,
|
|
208
|
-
chatSessionsService,
|
|
209
|
-
chatWidgetService
|
|
210
|
-
);
|
|
211
|
-
this.pendingFork.set(pendingKey, forkPromise);
|
|
212
|
-
try {
|
|
213
|
-
await forkPromise;
|
|
214
|
-
} finally {
|
|
215
|
-
this.pendingFork.delete(pendingKey);
|
|
216
|
-
}
|
|
217
|
+
);
|
|
218
|
+
this.pendingFork.set(pendingKey, forkPromise);
|
|
219
|
+
try {
|
|
220
|
+
await forkPromise;
|
|
221
|
+
} finally {
|
|
222
|
+
this.pendingFork.delete(pendingKey);
|
|
217
223
|
}
|
|
218
|
-
}
|
|
224
|
+
}
|
|
219
225
|
}
|
|
220
226
|
async function forkContributedChatSession(
|
|
221
227
|
sourceSessionResource,
|
|
@@ -239,4 +245,4 @@ async function forkContributedChatSession(
|
|
|
239
245
|
}
|
|
240
246
|
}
|
|
241
247
|
|
|
242
|
-
export {
|
|
248
|
+
export { ForkConversationAction };
|
|
@@ -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(5023, "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(5024, "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(5025, "Import Chat...")),
|
|
67
67
|
category: CHAT_CATEGORY,
|
|
68
68
|
precondition: ChatContextKeys.enabled,
|
|
69
69
|
f1: true
|
|
@@ -21,7 +21,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
21
21
|
constructor() {
|
|
22
22
|
super({
|
|
23
23
|
id: ManageLanguageModelAuthenticationAction.ID,
|
|
24
|
-
title: ( localize2(
|
|
24
|
+
title: ( localize2(5026, "Manage Language Model Access...")),
|
|
25
25
|
category: CHAT_CATEGORY,
|
|
26
26
|
precondition: ChatContextKeys.enabled,
|
|
27
27
|
menu: [{
|
|
@@ -91,9 +91,9 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
91
91
|
if (extensionAuth.size === 0) {
|
|
92
92
|
dialogService.prompt({
|
|
93
93
|
type: "info",
|
|
94
|
-
message: ( localize(
|
|
94
|
+
message: ( localize(5027, "No language models requiring authentication found.")),
|
|
95
95
|
detail: ( localize(
|
|
96
|
-
|
|
96
|
+
5028,
|
|
97
97
|
"There are currently no language models that require authentication."
|
|
98
98
|
))
|
|
99
99
|
});
|
|
@@ -108,10 +108,10 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
108
108
|
items.push({
|
|
109
109
|
type: "separator",
|
|
110
110
|
id: ownerId,
|
|
111
|
-
label: ( localize(
|
|
111
|
+
label: ( localize(5029, "{0}", extension.displayName || extension.name)),
|
|
112
112
|
buttons: [{
|
|
113
113
|
iconClass: ThemeIcon.asClassName(Codicon.info),
|
|
114
|
-
tooltip: ( localize(
|
|
114
|
+
tooltip: ( localize(5030, "Open Extension"))
|
|
115
115
|
}]
|
|
116
116
|
});
|
|
117
117
|
let addedTrustedSeparator = false;
|
|
@@ -120,7 +120,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
120
120
|
if (allowedExt.trusted && !addedTrustedSeparator) {
|
|
121
121
|
items.push({
|
|
122
122
|
type: "separator",
|
|
123
|
-
label: ( localize(
|
|
123
|
+
label: ( localize(5031, "Trusted by Microsoft"))
|
|
124
124
|
});
|
|
125
125
|
addedTrustedSeparator = true;
|
|
126
126
|
}
|
|
@@ -133,15 +133,15 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
133
133
|
disabled: allowedExt.trusted,
|
|
134
134
|
buttons: [{
|
|
135
135
|
iconClass: ThemeIcon.asClassName(Codicon.info),
|
|
136
|
-
tooltip: ( localize(
|
|
136
|
+
tooltip: ( localize(5030, "Open Extension"))
|
|
137
137
|
}]
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
} else {
|
|
141
141
|
items.push({
|
|
142
|
-
label: ( localize(
|
|
142
|
+
label: ( localize(5032, "No extensions have access")),
|
|
143
143
|
description: ( localize(
|
|
144
|
-
|
|
144
|
+
5033,
|
|
145
145
|
"No extensions are currently allowed to use models from {0}",
|
|
146
146
|
ownerId
|
|
147
147
|
)),
|
|
@@ -164,8 +164,8 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
|
|
|
164
164
|
void extensionsWorkbenchService.open(extId);
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
|
-
title: ( localize(
|
|
168
|
-
placeHolder: ( localize(
|
|
167
|
+
title: ( localize(5034, "Manage Language Model Access")),
|
|
168
|
+
placeHolder: ( localize(5035, "Choose which extensions can access language models"))
|
|
169
169
|
});
|
|
170
170
|
if (!result) {
|
|
171
171
|
return;
|
|
@@ -188,7 +188,7 @@ class ConfigureLanguageModelsGroupAction extends Action2 {
|
|
|
188
188
|
constructor() {
|
|
189
189
|
super({
|
|
190
190
|
id: "lm.addLanguageModelsProviderGroup",
|
|
191
|
-
title: ( localize(
|
|
191
|
+
title: ( localize(5036, "Add Language Models Group"))
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
async run(accessor, languageModelsProviderGroup) {
|
|
@@ -208,7 +208,7 @@ class MigrateLanguageModelsGroupAction extends Action2 {
|
|
|
208
208
|
constructor() {
|
|
209
209
|
super({
|
|
210
210
|
id: "lm.migrateLanguageModelsProviderGroup",
|
|
211
|
-
title: ( localize(
|
|
211
|
+
title: ( localize(5037, "Migrate Language Models Group"))
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
214
|
async run(accessor, languageModelsProviderGroup) {
|
|
@@ -28,7 +28,7 @@ function registerMoveActions() {
|
|
|
28
28
|
constructor() {
|
|
29
29
|
super({
|
|
30
30
|
id: "workbench.action.chat.openInEditor",
|
|
31
|
-
title: ( localize2(
|
|
31
|
+
title: ( localize2(5038, "Move Chat into Editor Area")),
|
|
32
32
|
category: CHAT_CATEGORY,
|
|
33
33
|
precondition: ChatContextKeys.enabled,
|
|
34
34
|
f1: true,
|
|
@@ -53,7 +53,7 @@ function registerMoveActions() {
|
|
|
53
53
|
constructor() {
|
|
54
54
|
super({
|
|
55
55
|
id: "workbench.action.chat.openInNewWindow",
|
|
56
|
-
title: ( localize2(
|
|
56
|
+
title: ( localize2(5039, "Move Chat into New Window")),
|
|
57
57
|
category: CHAT_CATEGORY,
|
|
58
58
|
precondition: ChatContextKeys.enabled,
|
|
59
59
|
f1: true,
|
|
@@ -78,7 +78,7 @@ function registerMoveActions() {
|
|
|
78
78
|
constructor() {
|
|
79
79
|
super({
|
|
80
80
|
id: "workbench.action.chat.openInSidebar",
|
|
81
|
-
title: ( localize2(
|
|
81
|
+
title: ( localize2(5040, "Move Chat into Side Bar")),
|
|
82
82
|
category: CHAT_CATEGORY,
|
|
83
83
|
precondition: ChatContextKeys.enabled,
|
|
84
84
|
f1: true
|
|
@@ -101,9 +101,9 @@ function registerMoveActions() {
|
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
[MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].forEach(id => {
|
|
104
|
-
appendOpenChatInViewMenuItem(id, ( localize(
|
|
105
|
-
appendOpenChatInViewMenuItem(id, ( localize(
|
|
106
|
-
appendOpenChatInViewMenuItem(id, ( localize(
|
|
104
|
+
appendOpenChatInViewMenuItem(id, ( localize(5041, "Move Chat into Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
|
|
105
|
+
appendOpenChatInViewMenuItem(id, ( localize(5042, "Move Chat into Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
|
|
106
|
+
appendOpenChatInViewMenuItem(id, ( localize(5043, "Move Chat into Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
async function executeMoveToAction(accessor, moveTo, sessionResource) {
|
|
@@ -39,7 +39,7 @@ function isNewEditSessionActionContext(arg) {
|
|
|
39
39
|
function registerNewChatActions() {
|
|
40
40
|
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
|
|
41
41
|
submenu: MenuId.ChatNewMenu,
|
|
42
|
-
title: ( localize2(
|
|
42
|
+
title: ( localize2(5044, "New Chat")),
|
|
43
43
|
icon: Codicon.plus,
|
|
44
44
|
when: ( ContextKeyExpr.equals("view", ChatViewId)),
|
|
45
45
|
group: "navigation",
|
|
@@ -50,7 +50,7 @@ function registerNewChatActions() {
|
|
|
50
50
|
constructor() {
|
|
51
51
|
super({
|
|
52
52
|
id: "workbench.action.chatEditor.newChat",
|
|
53
|
-
title: ( localize2(
|
|
53
|
+
title: ( localize2(5045, "New Chat")),
|
|
54
54
|
icon: Codicon.plus,
|
|
55
55
|
f1: false,
|
|
56
56
|
precondition: ChatContextKeys.enabled
|
|
@@ -64,7 +64,7 @@ function registerNewChatActions() {
|
|
|
64
64
|
constructor() {
|
|
65
65
|
super({
|
|
66
66
|
id: ACTION_ID_NEW_CHAT,
|
|
67
|
-
title: ( localize2(
|
|
67
|
+
title: ( localize2(5044, "New Chat")),
|
|
68
68
|
category: CHAT_CATEGORY,
|
|
69
69
|
icon: Codicon.plus,
|
|
70
70
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)))),
|
|
@@ -114,7 +114,7 @@ function registerNewChatActions() {
|
|
|
114
114
|
constructor() {
|
|
115
115
|
super({
|
|
116
116
|
id: ACTION_ID_NEW_CHAT + variant.idSuffix,
|
|
117
|
-
title: ( localize2(
|
|
117
|
+
title: ( localize2(5044, "New Chat")),
|
|
118
118
|
category: CHAT_CATEGORY,
|
|
119
119
|
icon: variant.icon,
|
|
120
120
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)))),
|
|
@@ -139,7 +139,7 @@ function registerNewChatActions() {
|
|
|
139
139
|
constructor() {
|
|
140
140
|
super({
|
|
141
141
|
id: "workbench.action.chat.newLocalChat",
|
|
142
|
-
title: ( localize2(
|
|
142
|
+
title: ( localize2(5046, "New Local Chat")),
|
|
143
143
|
category: CHAT_CATEGORY,
|
|
144
144
|
icon: Codicon.plus,
|
|
145
145
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)))),
|
|
@@ -155,7 +155,7 @@ function registerNewChatActions() {
|
|
|
155
155
|
MenuRegistry.appendMenuItem(MenuId.ChatViewSessionTitleNavigationToolbar, {
|
|
156
156
|
command: {
|
|
157
157
|
id: ACTION_ID_NEW_CHAT,
|
|
158
|
-
title: ( localize2(
|
|
158
|
+
title: ( localize2(5047, "Go Back")),
|
|
159
159
|
icon: Codicon.arrowLeft
|
|
160
160
|
},
|
|
161
161
|
when: ( ChatContextKeys.agentSessionsViewerOrientation.notEqualsTo(AgentSessionsViewerOrientation.SideBySide)),
|
|
@@ -165,7 +165,7 @@ function registerNewChatActions() {
|
|
|
165
165
|
MenuRegistry.appendMenuItem(MenuId.ChatTitleBarMenu, {
|
|
166
166
|
command: {
|
|
167
167
|
id: ACTION_ID_NEW_CHAT,
|
|
168
|
-
title: ( localize2(
|
|
168
|
+
title: ( localize2(5044, "New Chat"))
|
|
169
169
|
},
|
|
170
170
|
when: ChatContextKeys.enabled,
|
|
171
171
|
group: "b_new",
|
|
@@ -175,7 +175,7 @@ function registerNewChatActions() {
|
|
|
175
175
|
constructor() {
|
|
176
176
|
super({
|
|
177
177
|
id: "workbench.action.chat.undoEdit",
|
|
178
|
-
title: ( localize2(
|
|
178
|
+
title: ( localize2(5048, "Undo Last Edit")),
|
|
179
179
|
category: CHAT_CATEGORY,
|
|
180
180
|
icon: Codicon.discard,
|
|
181
181
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.chatEditingCanUndo, ChatContextKeys.enabled)),
|
|
@@ -197,7 +197,7 @@ function registerNewChatActions() {
|
|
|
197
197
|
constructor() {
|
|
198
198
|
super({
|
|
199
199
|
id: "workbench.action.chat.redoEdit",
|
|
200
|
-
title: ( localize2(
|
|
200
|
+
title: ( localize2(5049, "Redo Last Edit")),
|
|
201
201
|
category: CHAT_CATEGORY,
|
|
202
202
|
icon: Codicon.redo,
|
|
203
203
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.chatEditingCanRedo, ChatContextKeys.enabled)),
|
|
@@ -221,8 +221,8 @@ function registerNewChatActions() {
|
|
|
221
221
|
constructor() {
|
|
222
222
|
super({
|
|
223
223
|
id: "workbench.action.chat.redoEdit2",
|
|
224
|
-
title: ( localize2(
|
|
225
|
-
tooltip: ( localize2(
|
|
224
|
+
title: ( localize2(5050, "Redo")),
|
|
225
|
+
tooltip: ( localize2(5051, "Reapply discarded workspace changes and chat")),
|
|
226
226
|
category: CHAT_CATEGORY,
|
|
227
227
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.chatEditingCanRedo, ChatContextKeys.enabled)),
|
|
228
228
|
f1: true,
|
|
@@ -269,7 +269,7 @@ async function runNewChatAction(accessor, context, executeCommandContext, sessio
|
|
|
269
269
|
await clearChatSessionPreservingType(widget, viewsService, sessionType);
|
|
270
270
|
widget.attachmentModel.clear(true);
|
|
271
271
|
widget.focusInput();
|
|
272
|
-
accessibilityService.alert(( localize(
|
|
272
|
+
accessibilityService.alert(( localize(5052, "New chat")));
|
|
273
273
|
if (!executeCommandContext) {
|
|
274
274
|
return;
|
|
275
275
|
}
|