@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +5 -2
- package/package.json +5 -5
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
- 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 +5 -5
- 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.js +25 -25
- 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/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
- 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.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -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 +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -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 +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
- 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/media/chatEditorController.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
- 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 +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
- 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/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
- 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 +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
- 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/runInTerminalHelpers.js +6 -6
- 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/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
|
@@ -95,7 +95,7 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
97
|
const sessionTitle = this.chatService.getSessionTitle(this.currentSessionResource) || LocalChatSessionUri.parseLocalSessionId(this.currentSessionResource) || ( this.currentSessionResource.toString());
|
|
98
|
-
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(
|
|
98
|
+
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(5755, "Agent Debug Panel")), true)), ( new TextBreadcrumbItem(sessionTitle))]);
|
|
99
99
|
}
|
|
100
100
|
load() {
|
|
101
101
|
clearNode(this.content);
|
|
@@ -111,8 +111,8 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
111
111
|
titleEl.append(sessionTitle);
|
|
112
112
|
const titleActions = append(titleRow, $(".chat-debug-overview-title-actions"));
|
|
113
113
|
const revealSessionBtn = this.loadDisposables.add(( new Button(titleActions, {
|
|
114
|
-
ariaLabel: ( localize(
|
|
115
|
-
title: ( localize(
|
|
114
|
+
ariaLabel: ( localize(5756, "Reveal Chat Session")),
|
|
115
|
+
title: ( localize(5756, "Reveal Chat Session"))
|
|
116
116
|
})));
|
|
117
117
|
revealSessionBtn.element.classList.add("chat-debug-icon-button");
|
|
118
118
|
revealSessionBtn.icon = Codicon.goToFile;
|
|
@@ -131,36 +131,36 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
131
131
|
const details = [];
|
|
132
132
|
const sessionType = getChatSessionType(sessionUri);
|
|
133
133
|
const contribution = this.chatSessionsService.getChatSessionContribution(sessionType);
|
|
134
|
-
const sessionTypeName = contribution?.displayName || (sessionType === "local" ? ( localize(
|
|
134
|
+
const sessionTypeName = contribution?.displayName || (sessionType === "local" ? ( localize(5757, "Local")) : sessionType);
|
|
135
135
|
details.push({
|
|
136
|
-
label: ( localize(
|
|
136
|
+
label: ( localize(5758, "Session Type")),
|
|
137
137
|
value: sessionTypeName
|
|
138
138
|
});
|
|
139
139
|
if (model) {
|
|
140
140
|
const locationLabel = this.getLocationLabel(model.initialLocation);
|
|
141
141
|
details.push({
|
|
142
|
-
label: ( localize(
|
|
142
|
+
label: ( localize(5759, "Location")),
|
|
143
143
|
value: locationLabel
|
|
144
144
|
});
|
|
145
145
|
const inProgress = model.requestInProgress.get();
|
|
146
|
-
const statusLabel = inProgress ? ( localize(
|
|
146
|
+
const statusLabel = inProgress ? ( localize(5760, "In Progress")) : ( localize(5761, "Idle"));
|
|
147
147
|
details.push({
|
|
148
|
-
label: ( localize(
|
|
148
|
+
label: ( localize(5762, "Status")),
|
|
149
149
|
value: statusLabel
|
|
150
150
|
});
|
|
151
151
|
const timing = model.timing;
|
|
152
152
|
details.push({
|
|
153
|
-
label: ( localize(
|
|
153
|
+
label: ( localize(5763, "Created")),
|
|
154
154
|
value: ( new Date(timing.created)).toLocaleString()
|
|
155
155
|
});
|
|
156
156
|
if (timing.lastRequestEnded) {
|
|
157
157
|
details.push({
|
|
158
|
-
label: ( localize(
|
|
158
|
+
label: ( localize(5764, "Last Activity")),
|
|
159
159
|
value: ( new Date(timing.lastRequestEnded)).toLocaleString()
|
|
160
160
|
});
|
|
161
161
|
} else if (timing.lastRequestStarted) {
|
|
162
162
|
details.push({
|
|
163
|
-
label: ( localize(
|
|
163
|
+
label: ( localize(5764, "Last Activity")),
|
|
164
164
|
value: ( new Date(timing.lastRequestStarted)).toLocaleString()
|
|
165
165
|
});
|
|
166
166
|
}
|
|
@@ -169,7 +169,7 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
169
169
|
const section = append(this.content, $(".chat-debug-overview-section"));
|
|
170
170
|
append(
|
|
171
171
|
section,
|
|
172
|
-
$("h3.chat-debug-overview-section-label", undefined, ( localize(
|
|
172
|
+
$("h3.chat-debug-overview-section-label", undefined, ( localize(5765, "Session Details")))
|
|
173
173
|
);
|
|
174
174
|
const detailsGrid = append(section, $(".chat-debug-overview-details"));
|
|
175
175
|
for (const detail of details) {
|
|
@@ -182,13 +182,13 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
182
182
|
getLocationLabel(location) {
|
|
183
183
|
switch (location) {
|
|
184
184
|
case ChatAgentLocation.Chat:
|
|
185
|
-
return localize(
|
|
185
|
+
return localize(5766, "Chat Panel");
|
|
186
186
|
case ChatAgentLocation.Terminal:
|
|
187
|
-
return localize(
|
|
187
|
+
return localize(5767, "Terminal");
|
|
188
188
|
case ChatAgentLocation.Notebook:
|
|
189
|
-
return localize(
|
|
189
|
+
return localize(5768, "Notebook");
|
|
190
190
|
case ChatAgentLocation.EditorInline:
|
|
191
|
-
return localize(
|
|
191
|
+
return localize(5769, "Editor Inline");
|
|
192
192
|
default:
|
|
193
193
|
return String(location);
|
|
194
194
|
}
|
|
@@ -197,7 +197,7 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
197
197
|
const metricsSection = append(this.content, $(".chat-debug-overview-section"));
|
|
198
198
|
append(
|
|
199
199
|
metricsSection,
|
|
200
|
-
$("h3.chat-debug-overview-section-label", undefined, ( localize(
|
|
200
|
+
$("h3.chat-debug-overview-section-label", undefined, ( localize(5770, "Summary")))
|
|
201
201
|
);
|
|
202
202
|
this.metricsContainer = append(metricsSection, $(".chat-debug-overview-metrics"));
|
|
203
203
|
if (showShimmer) {
|
|
@@ -208,17 +208,17 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
208
208
|
const actionsSection = append(this.content, $(".chat-debug-overview-section"));
|
|
209
209
|
append(
|
|
210
210
|
actionsSection,
|
|
211
|
-
$("h3.chat-debug-overview-section-label", undefined, ( localize(
|
|
211
|
+
$("h3.chat-debug-overview-section-label", undefined, ( localize(5771, "Explore Trace Data")))
|
|
212
212
|
);
|
|
213
213
|
const row = append(actionsSection, $(".chat-debug-overview-actions"));
|
|
214
214
|
const viewLogsBtn = this.loadDisposables.add(( new Button(row, {
|
|
215
215
|
...defaultButtonStyles,
|
|
216
216
|
secondary: true,
|
|
217
217
|
supportIcons: true,
|
|
218
|
-
title: ( localize(
|
|
218
|
+
title: ( localize(5772, "View Logs"))
|
|
219
219
|
})));
|
|
220
220
|
viewLogsBtn.element.classList.add("chat-debug-overview-action-button");
|
|
221
|
-
viewLogsBtn.label = `$(list-flat) ${( localize(
|
|
221
|
+
viewLogsBtn.label = `$(list-flat) ${( localize(5772, "View Logs"))}`;
|
|
222
222
|
this.loadDisposables.add(viewLogsBtn.onDidClick(() => {
|
|
223
223
|
this._onNavigate.fire(OverviewNavigation.Logs);
|
|
224
224
|
}));
|
|
@@ -226,16 +226,16 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
226
226
|
...defaultButtonStyles,
|
|
227
227
|
secondary: true,
|
|
228
228
|
supportIcons: true,
|
|
229
|
-
title: ( localize(
|
|
229
|
+
title: ( localize(5773, "Agent Flow Chart"))
|
|
230
230
|
})));
|
|
231
231
|
flowChartBtn.element.classList.add("chat-debug-overview-action-button");
|
|
232
|
-
flowChartBtn.label = `$(type-hierarchy) ${( localize(
|
|
232
|
+
flowChartBtn.label = `$(type-hierarchy) ${( localize(5773, "Agent Flow Chart"))}`;
|
|
233
233
|
this.loadDisposables.add(flowChartBtn.onDidClick(() => {
|
|
234
234
|
this._onNavigate.fire(OverviewNavigation.FlowChart);
|
|
235
235
|
}));
|
|
236
236
|
}
|
|
237
237
|
renderMetricsShimmer(container) {
|
|
238
|
-
const placeholderLabels = [( localize(
|
|
238
|
+
const placeholderLabels = [( localize(5774, "Model Turns")), ( localize(5775, "Tool Calls")), ( localize(5776, "Total Tokens")), ( localize(5777, "Errors")), ( localize(5778, "Total Events"))];
|
|
239
239
|
for (const label of placeholderLabels) {
|
|
240
240
|
const card = append(container, $(".chat-debug-overview-metric-card"));
|
|
241
241
|
append(card, $("div.chat-debug-overview-metric-label", undefined, label));
|
|
@@ -252,19 +252,19 @@ let ChatDebugOverviewView = class ChatDebugOverviewView extends Disposable {
|
|
|
252
252
|
);
|
|
253
253
|
const totalTokens = modelTurns.reduce((sum, e) => sum + (e.totalTokens ?? 0), 0);
|
|
254
254
|
const metrics = [{
|
|
255
|
-
label: ( localize(
|
|
255
|
+
label: ( localize(5774, "Model Turns")),
|
|
256
256
|
value: String(modelTurns.length)
|
|
257
257
|
}, {
|
|
258
|
-
label: ( localize(
|
|
258
|
+
label: ( localize(5775, "Tool Calls")),
|
|
259
259
|
value: String(toolCalls.length)
|
|
260
260
|
}, {
|
|
261
|
-
label: ( localize(
|
|
261
|
+
label: ( localize(5776, "Total Tokens")),
|
|
262
262
|
value: totalTokens.toLocaleString()
|
|
263
263
|
}, {
|
|
264
|
-
label: ( localize(
|
|
264
|
+
label: ( localize(5777, "Errors")),
|
|
265
265
|
value: String(errors.length)
|
|
266
266
|
}, {
|
|
267
|
-
label: ( localize(
|
|
267
|
+
label: ( localize(5778, "Total Events")),
|
|
268
268
|
value: String(events.length)
|
|
269
269
|
}];
|
|
270
270
|
for (const metric of metrics) {
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js
CHANGED
|
@@ -57,10 +57,10 @@ async function renderToolCallContent(content, languageService) {
|
|
|
57
57
|
);
|
|
58
58
|
const statusParts = [];
|
|
59
59
|
if (content.result) {
|
|
60
|
-
statusParts.push(content.result === "success" ? ( localize(
|
|
60
|
+
statusParts.push(content.result === "success" ? ( localize(5779, "Success")) : ( localize(5780, "Error")));
|
|
61
61
|
}
|
|
62
62
|
if (content.durationInMillis !== undefined) {
|
|
63
|
-
statusParts.push(( localize(
|
|
63
|
+
statusParts.push(( localize(5781, "{0}ms", content.durationInMillis)));
|
|
64
64
|
}
|
|
65
65
|
if (statusParts.length > 0) {
|
|
66
66
|
append(container, $(
|
|
@@ -74,13 +74,13 @@ async function renderToolCallContent(content, languageService) {
|
|
|
74
74
|
const result = tryParseJSON(content.input);
|
|
75
75
|
const plainText = result.isJSON ? JSON.stringify(result.parsed, null, 2) : content.input;
|
|
76
76
|
const tokenizedHtml = result.isJSON ? await tokenizeToString(languageService, plainText, "json") : undefined;
|
|
77
|
-
renderSection(sectionsContainer, ( localize(
|
|
77
|
+
renderSection(sectionsContainer, ( localize(5782, "Arguments")), plainText, tokenizedHtml, disposables);
|
|
78
78
|
}
|
|
79
79
|
if (content.output) {
|
|
80
80
|
const result = tryParseJSON(content.output);
|
|
81
81
|
const plainText = result.isJSON ? JSON.stringify(result.parsed, null, 2) : content.output;
|
|
82
82
|
const tokenizedHtml = result.isJSON ? await tokenizeToString(languageService, plainText, "json") : undefined;
|
|
83
|
-
renderSection(sectionsContainer, ( localize(
|
|
83
|
+
renderSection(sectionsContainer, ( localize(5783, "Output")), plainText, tokenizedHtml, disposables);
|
|
84
84
|
}
|
|
85
85
|
return {
|
|
86
86
|
element: container,
|
|
@@ -89,16 +89,16 @@ async function renderToolCallContent(content, languageService) {
|
|
|
89
89
|
}
|
|
90
90
|
function toolCallContentToPlainText(content) {
|
|
91
91
|
const lines = [];
|
|
92
|
-
lines.push(( localize(
|
|
92
|
+
lines.push(( localize(5784, "Tool: {0}", content.toolName)));
|
|
93
93
|
if (content.result) {
|
|
94
|
-
lines.push(( localize(
|
|
94
|
+
lines.push(( localize(5785, "Status: {0}", content.result)));
|
|
95
95
|
}
|
|
96
96
|
if (content.durationInMillis !== undefined) {
|
|
97
|
-
lines.push(( localize(
|
|
97
|
+
lines.push(( localize(5786, "Duration: {0}ms", content.durationInMillis)));
|
|
98
98
|
}
|
|
99
99
|
if (content.input) {
|
|
100
100
|
lines.push("");
|
|
101
|
-
lines.push(`[${( localize(
|
|
101
|
+
lines.push(`[${( localize(5782, "Arguments"))}]`);
|
|
102
102
|
try {
|
|
103
103
|
const parsed = JSON.parse(content.input);
|
|
104
104
|
lines.push(JSON.stringify(parsed, null, 2));
|
|
@@ -108,7 +108,7 @@ function toolCallContentToPlainText(content) {
|
|
|
108
108
|
}
|
|
109
109
|
if (content.output) {
|
|
110
110
|
lines.push("");
|
|
111
|
-
lines.push(`[${( localize(
|
|
111
|
+
lines.push(`[${( localize(5783, "Output"))}]`);
|
|
112
112
|
try {
|
|
113
113
|
const parsed = JSON.parse(content.output);
|
|
114
114
|
lines.push(JSON.stringify(parsed, null, 2));
|
|
@@ -10,6 +10,8 @@ import { IEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
10
10
|
export interface IChatDebugEditorOptions extends IEditorOptions {
|
|
11
11
|
readonly sessionResource?: URI;
|
|
12
12
|
readonly viewHint?: "home" | "overview" | "logs" | "flowchart";
|
|
13
|
+
/** When set, automatically applies this text as the log filter. */
|
|
14
|
+
readonly filter?: string;
|
|
13
15
|
}
|
|
14
16
|
export declare enum ViewState {
|
|
15
17
|
Home = "home",
|
|
@@ -283,6 +283,7 @@
|
|
|
283
283
|
.chat-debug-editor-header .viewpane-filter-container {
|
|
284
284
|
flex: 1;
|
|
285
285
|
max-width: 500px;
|
|
286
|
+
margin-right: auto;
|
|
286
287
|
}
|
|
287
288
|
.chat-debug-editor-header .viewpane-filter-container .monaco-inputbox {
|
|
288
289
|
border-color: var(--vscode-panelInput-border, transparent) !important;
|
|
@@ -293,6 +294,12 @@
|
|
|
293
294
|
align-items: center;
|
|
294
295
|
gap: 6px;
|
|
295
296
|
}
|
|
297
|
+
.chat-debug-troubleshoot-button.monaco-button {
|
|
298
|
+
width: auto;
|
|
299
|
+
display: inline-flex;
|
|
300
|
+
align-items: center;
|
|
301
|
+
flex-shrink: 0;
|
|
302
|
+
}
|
|
296
303
|
.chat-debug-view-mode-labels {
|
|
297
304
|
display: grid;
|
|
298
305
|
}
|
|
@@ -2,10 +2,8 @@ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/
|
|
|
2
2
|
import { IObservable, IReader, ITransaction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
4
|
import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service";
|
|
5
|
-
import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
|
|
6
5
|
import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
|
|
7
6
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
8
|
-
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
9
7
|
import { INotebookEditorModelResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service";
|
|
10
8
|
import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
|
|
11
9
|
import { IEditSessionDiffStats, IEditSessionEntryDiff, IModifiedEntryTelemetryInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
|
|
@@ -40,8 +38,6 @@ export declare class ChatEditingCheckpointTimelineImpl implements IChatEditingCh
|
|
|
40
38
|
private readonly _delegate;
|
|
41
39
|
private readonly _notebookEditorModelResolverService;
|
|
42
40
|
private readonly _notebookService;
|
|
43
|
-
private readonly _instantiationService;
|
|
44
|
-
private readonly _modelService;
|
|
45
41
|
private readonly _textModelService;
|
|
46
42
|
private readonly _editorWorkerService;
|
|
47
43
|
private readonly _configurationService;
|
|
@@ -51,6 +47,7 @@ export declare class ChatEditingCheckpointTimelineImpl implements IChatEditingCh
|
|
|
51
47
|
private readonly _operations;
|
|
52
48
|
private readonly _fileBaselines;
|
|
53
49
|
private readonly _refCountedDiffs;
|
|
50
|
+
private readonly _finalizedDiffCache;
|
|
54
51
|
/** Gets the checkpoint, if any, we can 'undo' to. */
|
|
55
52
|
private readonly _willUndoToCheckpoint;
|
|
56
53
|
readonly canUndo: IObservable<boolean>;
|
|
@@ -61,7 +58,7 @@ export declare class ChatEditingCheckpointTimelineImpl implements IChatEditingCh
|
|
|
61
58
|
private readonly _willRedoToEpoch;
|
|
62
59
|
readonly canRedo: IObservable<boolean>;
|
|
63
60
|
readonly requestDisablement: IObservable<IChatRequestDisablement[]>;
|
|
64
|
-
constructor(chatSessionResource: URI, _delegate: IChatEditingTimelineFsDelegate, _notebookEditorModelResolverService: INotebookEditorModelResolverService, _notebookService: INotebookService,
|
|
61
|
+
constructor(chatSessionResource: URI, _delegate: IChatEditingTimelineFsDelegate, _notebookEditorModelResolverService: INotebookEditorModelResolverService, _notebookService: INotebookService, _textModelService: ITextModelService, _editorWorkerService: IEditorWorkerService, _configurationService: IConfigurationService);
|
|
65
62
|
createCheckpoint(requestId: string | undefined, undoStopId: string | undefined, label: string, description?: string): string;
|
|
66
63
|
undoToLastCheckpoint(): Promise<void>;
|
|
67
64
|
redoToNextCheckpoint(): Promise<void>;
|
|
@@ -11,14 +11,13 @@ import { equals as equals$1 } from '@codingame/monaco-vscode-api/vscode/vs/base/
|
|
|
11
11
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
12
12
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
13
13
|
import { isDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
14
|
-
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
15
14
|
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
16
|
-
import {
|
|
15
|
+
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
16
|
+
import { DefaultEndOfLine, ValidAnnotatedEditOperation, EndOfLinePreference } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
|
|
17
|
+
import { createTextBuffer } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
|
|
17
18
|
import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service';
|
|
18
|
-
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
19
19
|
import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
|
|
20
20
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
21
|
-
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
22
21
|
import { CellUri, CellEditType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
23
22
|
import { INotebookEditorModelResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service';
|
|
24
23
|
import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
|
|
@@ -30,9 +29,9 @@ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
30
29
|
import { observableValueOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValueOpts';
|
|
31
30
|
import { derived, derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
32
31
|
import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
|
|
32
|
+
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
33
33
|
import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
|
|
34
34
|
import { ObservablePromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/promise';
|
|
35
|
-
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
36
35
|
|
|
37
36
|
const START_REQUEST_EPOCH = "$$start";
|
|
38
37
|
const STOP_ID_EPOCH_PREFIX = "__epoch_";
|
|
@@ -42,8 +41,6 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
42
41
|
_delegate,
|
|
43
42
|
_notebookEditorModelResolverService,
|
|
44
43
|
_notebookService,
|
|
45
|
-
_instantiationService,
|
|
46
|
-
_modelService,
|
|
47
44
|
_textModelService,
|
|
48
45
|
_editorWorkerService,
|
|
49
46
|
_configurationService
|
|
@@ -52,8 +49,6 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
52
49
|
this._delegate = _delegate;
|
|
53
50
|
this._notebookEditorModelResolverService = _notebookEditorModelResolverService;
|
|
54
51
|
this._notebookService = _notebookService;
|
|
55
|
-
this._instantiationService = _instantiationService;
|
|
56
|
-
this._modelService = _modelService;
|
|
57
52
|
this._textModelService = _textModelService;
|
|
58
53
|
this._editorWorkerService = _editorWorkerService;
|
|
59
54
|
this._configurationService = _configurationService;
|
|
@@ -65,6 +60,7 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
65
60
|
}, []);
|
|
66
61
|
this._fileBaselines = ( new Map());
|
|
67
62
|
this._refCountedDiffs = ( new Map());
|
|
63
|
+
this._finalizedDiffCache = ( new Map());
|
|
68
64
|
this._willUndoToCheckpoint = derived(reader => {
|
|
69
65
|
const currentEpoch = this._currentEpoch.read(reader);
|
|
70
66
|
const checkpoints = this._checkpoints.read(reader);
|
|
@@ -99,7 +95,15 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
99
95
|
return undefined;
|
|
100
96
|
}
|
|
101
97
|
const nextOperation = operations.find(op => op.epoch >= currentEpoch);
|
|
102
|
-
|
|
98
|
+
if (!nextOperation) {
|
|
99
|
+
const nextRequestStart = checkpoints.find(cp => cp.epoch >= currentEpoch && cp.undoStopId === undefined);
|
|
100
|
+
if (!nextRequestStart) {
|
|
101
|
+
return maxEncounteredEpoch + 1;
|
|
102
|
+
}
|
|
103
|
+
const requestAfter = checkpoints.find(cp => cp.epoch > nextRequestStart.epoch && cp.undoStopId === undefined);
|
|
104
|
+
return requestAfter ? requestAfter.epoch : (maxEncounteredEpoch + 1);
|
|
105
|
+
}
|
|
106
|
+
const nextCheckpoint = checkpoints.find(op => op.epoch > nextOperation.epoch);
|
|
103
107
|
const currentCheckpoint = findLast(checkpoints, cp => cp.epoch < currentEpoch);
|
|
104
108
|
if (currentCheckpoint && nextOperation && currentCheckpoint.requestId !== nextOperation.requestId) {
|
|
105
109
|
const startOfNextRequestIdx = findLastIdx(
|
|
@@ -571,31 +575,16 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
571
575
|
}
|
|
572
576
|
}
|
|
573
577
|
_applyTextEditsToContent(content, edits) {
|
|
574
|
-
const
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
this._modelService.getCreationOptions("", uri, true),
|
|
579
|
-
uri
|
|
580
|
-
);
|
|
581
|
-
const tempUri = ( URI.from({
|
|
582
|
-
scheme: "temp",
|
|
583
|
-
path: `/temp-${Date.now()}.txt`
|
|
584
|
-
}));
|
|
585
|
-
const model = makeModel(tempUri, content);
|
|
578
|
+
const {
|
|
579
|
+
textBuffer,
|
|
580
|
+
disposable
|
|
581
|
+
} = createTextBuffer(content, DefaultEndOfLine.LF);
|
|
586
582
|
try {
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
startColumn: edit.range.startColumn,
|
|
591
|
-
endLineNumber: edit.range.endLineNumber,
|
|
592
|
-
endColumn: edit.range.endColumn
|
|
593
|
-
},
|
|
594
|
-
text: edit.text
|
|
595
|
-
}))));
|
|
596
|
-
return model.getValue();
|
|
583
|
+
textBuffer.applyEdits(( edits.map(edit => ( new ValidAnnotatedEditOperation(null, Range.lift(edit.range), edit.text, false, false, false)))), false, false);
|
|
584
|
+
const fullRange = textBuffer.getRangeAt(0, textBuffer.getLength());
|
|
585
|
+
return textBuffer.getValueInRange(fullRange, EndOfLinePreference.TextDefined);
|
|
597
586
|
} finally {
|
|
598
|
-
|
|
587
|
+
disposable.dispose();
|
|
599
588
|
}
|
|
600
589
|
}
|
|
601
590
|
getEntryDiffBetweenStops(uri, requestId, stopId) {
|
|
@@ -639,14 +628,18 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
639
628
|
}
|
|
640
629
|
_getEntryDiffBetweenEpochs(uri, cacheKey, epochs) {
|
|
641
630
|
const key = `${( uri.toString())}\0${cacheKey}`;
|
|
631
|
+
const cached = this._finalizedDiffCache.get(key);
|
|
632
|
+
if (cached) {
|
|
633
|
+
return constObservable(cached);
|
|
634
|
+
}
|
|
642
635
|
let obs = this._refCountedDiffs.get(key);
|
|
643
636
|
if (!obs) {
|
|
644
|
-
obs = this._getEntryDiffBetweenEpochsInner(uri, epochs, () => this._refCountedDiffs.delete(key));
|
|
637
|
+
obs = this._getEntryDiffBetweenEpochsInner(uri, key, epochs, () => this._refCountedDiffs.delete(key));
|
|
645
638
|
this._refCountedDiffs.set(key, obs);
|
|
646
639
|
}
|
|
647
640
|
return obs;
|
|
648
641
|
}
|
|
649
|
-
_getEntryDiffBetweenEpochsInner(uri, epochs, onLastObserverRemoved) {
|
|
642
|
+
_getEntryDiffBetweenEpochsInner(uri, cacheKey, epochs, onLastObserverRemoved) {
|
|
650
643
|
const modelRefsPromise = derived(this, reader => {
|
|
651
644
|
const {
|
|
652
645
|
start,
|
|
@@ -744,6 +737,9 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
744
737
|
}
|
|
745
738
|
const promised = result.promise?.promiseResult.read(reader);
|
|
746
739
|
if (promised?.data) {
|
|
740
|
+
if (promised.data.isFinal) {
|
|
741
|
+
this._finalizedDiffCache.set(cacheKey, promised.data);
|
|
742
|
+
}
|
|
747
743
|
return promised.data;
|
|
748
744
|
}
|
|
749
745
|
if (promised?.error) {
|
|
@@ -887,6 +883,6 @@ let ChatEditingCheckpointTimelineImpl = class ChatEditingCheckpointTimelineImpl
|
|
|
887
883
|
});
|
|
888
884
|
}
|
|
889
885
|
};
|
|
890
|
-
ChatEditingCheckpointTimelineImpl = ( __decorate([( __param(2, INotebookEditorModelResolverService)), ( __param(3, INotebookService)), ( __param(4,
|
|
886
|
+
ChatEditingCheckpointTimelineImpl = ( __decorate([( __param(2, INotebookEditorModelResolverService)), ( __param(3, INotebookService)), ( __param(4, ITextModelService)), ( __param(5, IEditorWorkerService)), ( __param(6, IConfigurationService))], ChatEditingCheckpointTimelineImpl));
|
|
891
887
|
|
|
892
888
|
export { ChatEditingCheckpointTimelineImpl };
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js
CHANGED
|
@@ -620,7 +620,7 @@ let ChatEditingCodeEditorIntegration = class ChatEditingCodeEditorIntegration {
|
|
|
620
620
|
options: {
|
|
621
621
|
selection
|
|
622
622
|
},
|
|
623
|
-
label: ( localize(
|
|
623
|
+
label: ( localize(5822, "{0} (changes from chat)", basename(this._entry.modifiedURI)))
|
|
624
624
|
});
|
|
625
625
|
if (diffEditor && diffEditor.input) {
|
|
626
626
|
diffEditor.getControl()?.setSelection(selection);
|
|
@@ -8,7 +8,6 @@ import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/res
|
|
|
8
8
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
9
9
|
import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
10
10
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
11
|
-
import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
|
|
12
11
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
13
12
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
14
13
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
@@ -130,7 +129,7 @@ let ChatEditingExplanationModelManager = class ChatEditingExplanationModelManage
|
|
|
130
129
|
this._updateUriStatePartial(fileData.uri, {
|
|
131
130
|
progress: "error",
|
|
132
131
|
explanations: [],
|
|
133
|
-
errorMessage: ( localize(
|
|
132
|
+
errorMessage: ( localize(5858, "No language model available"))
|
|
134
133
|
});
|
|
135
134
|
}
|
|
136
135
|
return;
|
|
@@ -163,7 +162,7 @@ Be specific about the actual code changes. Return ONLY valid JSON, no markdown.
|
|
|
163
162
|
|
|
164
163
|
Example response format:
|
|
165
164
|
[{"explanation": "Added null check to prevent crash"}, {"explanation": "Renamed variable for clarity"}]`;
|
|
166
|
-
const response = await this._languageModelsService.sendChatRequest(models[0],
|
|
165
|
+
const response = await this._languageModelsService.sendChatRequest(models[0], undefined, [{
|
|
167
166
|
role: ChatMessageRole.User,
|
|
168
167
|
content: [{
|
|
169
168
|
type: "text",
|
|
@@ -201,7 +200,7 @@ Example response format:
|
|
|
201
200
|
for (const fileData of fileChanges) {
|
|
202
201
|
const explanations = [];
|
|
203
202
|
for (const data of fileData.changes) {
|
|
204
|
-
const parsedExplanation = parsed[parsedIndex]?.explanation?.trim() || ( localize(
|
|
203
|
+
const parsedExplanation = parsed[parsedIndex]?.explanation?.trim() || ( localize(5859, "Code was modified."));
|
|
205
204
|
explanations.push({
|
|
206
205
|
uri: fileData.uri,
|
|
207
206
|
startLineNumber: data.startLineNumber,
|
|
@@ -219,7 +218,7 @@ Example response format:
|
|
|
219
218
|
}
|
|
220
219
|
} catch (e) {
|
|
221
220
|
if (!cancellationToken.isCancellationRequested) {
|
|
222
|
-
const errorMessage = e instanceof Error ? e.message : ( localize(
|
|
221
|
+
const errorMessage = e instanceof Error ? e.message : ( localize(5860, "Failed to generate explanations"));
|
|
223
222
|
for (const fileData of fileChanges) {
|
|
224
223
|
this._updateUriStatePartial(fileData.uri, {
|
|
225
224
|
progress: "error",
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js
CHANGED
|
@@ -141,7 +141,7 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
|
|
|
141
141
|
if (inProgress) {
|
|
142
142
|
const res = this._lastModifyingResponseObs.read(r);
|
|
143
143
|
const req = res && res.session.getRequests().find(value => value.id === res.requestId);
|
|
144
|
-
resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(
|
|
144
|
+
resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(5873, "Chat Edits")));
|
|
145
145
|
} else {
|
|
146
146
|
resourceFilter.clear();
|
|
147
147
|
}
|
|
@@ -183,7 +183,7 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
|
|
|
183
183
|
}
|
|
184
184
|
_createUndoRedoElement(response) {
|
|
185
185
|
const request = response.session.getRequests().find(req => req.id === response.requestId);
|
|
186
|
-
const label = request?.message.text ? ( localize(
|
|
186
|
+
const label = request?.message.text ? ( localize(5874, "Chat Edit: '{0}'", request.message.text)) : ( localize(5875, "Chat Edit"));
|
|
187
187
|
return ( new SingleModelEditStackElement(label, "chat.edit", this.modifiedModel, null));
|
|
188
188
|
}
|
|
189
189
|
async acceptAgentEdits(resource, textEdits, isLastEdits, responseModel) {
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js
CHANGED
|
@@ -42,7 +42,7 @@ class AutoAcceptControl {
|
|
|
42
42
|
this.cancel = cancel;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
const pendingRewriteMinimap = registerColor("minimap.chatEditHighlight", ( transparent(editorBackground, 0.6)), ( localize(
|
|
45
|
+
const pendingRewriteMinimap = registerColor("minimap.chatEditHighlight", ( transparent(editorBackground, 0.6)), ( localize(5876, "Color of pending edit regions in the minimap")));
|
|
46
46
|
let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFileEntry extends Disposable {
|
|
47
47
|
static {
|
|
48
48
|
AbstractChatEditingModifiedFileEntry_1 = this;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js
CHANGED
|
@@ -485,7 +485,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
|
|
|
485
485
|
}
|
|
486
486
|
_createUndoRedoElement(response) {
|
|
487
487
|
const request = response.session.getRequests().find(req => req.id === response.requestId);
|
|
488
|
-
const label = request?.message.text ? ( localize(
|
|
488
|
+
const label = request?.message.text ? ( localize(5877, "Chat Edit: '{0}'", request.message.text)) : ( localize(5878, "Chat Edit"));
|
|
489
489
|
const transientOptions = this.transientOptions;
|
|
490
490
|
const outputSizeLimit = this.configurationService.getValue(NotebookSetting.outputBackupSizeLimit) * 1024;
|
|
491
491
|
let initial = createSnapshot(this.modifiedModel, transientOptions, outputSizeLimit);
|
|
@@ -124,7 +124,7 @@ let ChatEditingService = class ChatEditingService extends Disposable {
|
|
|
124
124
|
}
|
|
125
125
|
e.join(storageTask, {
|
|
126
126
|
id: "join.chatEditingSession",
|
|
127
|
-
label: ( localize(
|
|
127
|
+
label: ( localize(5879, "Saving chat edits history"))
|
|
128
128
|
});
|
|
129
129
|
}));
|
|
130
130
|
}
|
|
@@ -346,7 +346,7 @@ class ChatDecorationsProvider extends Disposable {
|
|
|
346
346
|
constructor(_sessions) {
|
|
347
347
|
super();
|
|
348
348
|
this._sessions = _sessions;
|
|
349
|
-
this.label = ( localize(
|
|
349
|
+
this.label = ( localize(5880, "Chat Editing"));
|
|
350
350
|
this._currentEntries = derived(this, r => {
|
|
351
351
|
const sessions = this._sessions.read(r);
|
|
352
352
|
if (!sessions) {
|
|
@@ -390,7 +390,7 @@ class ChatDecorationsProvider extends Disposable {
|
|
|
390
390
|
return {
|
|
391
391
|
weight: 1000,
|
|
392
392
|
letter: Codicon.diffModified,
|
|
393
|
-
tooltip: ( localize(
|
|
393
|
+
tooltip: ( localize(5881, "Pending changes from chat")),
|
|
394
394
|
bubble: true
|
|
395
395
|
};
|
|
396
396
|
}
|
|
@@ -399,7 +399,7 @@ let ChatEditingSession = ChatEditingSession_1 = class ChatEditingSession extends
|
|
|
399
399
|
}
|
|
400
400
|
const input = MultiDiffEditorInput.fromResourceMultiDiffEditorInput({
|
|
401
401
|
multiDiffSource: getMultiDiffSourceUri(this, previousChanges),
|
|
402
|
-
label: ( localize(
|
|
402
|
+
label: ( localize(5882, "Suggested Edits"))
|
|
403
403
|
}, this._instantiationService);
|
|
404
404
|
this._editorPane = await this._editorService.openEditor(input, {
|
|
405
405
|
pinned: true,
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
opacity: 0;
|
|
8
8
|
transition: opacity 0.2s ease-in-out;
|
|
9
9
|
display: flex;
|
|
10
|
-
box-shadow:
|
|
10
|
+
box-shadow: var(--vscode-shadow-md);
|
|
11
11
|
border-radius: 6px;
|
|
12
12
|
overflow: hidden;
|
|
13
13
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
border-radius: 6px;
|
|
22
22
|
background-color: var(--vscode-editorWidget-background);
|
|
23
23
|
color: var(--vscode-foreground);
|
|
24
|
-
border: 1px solid var(--vscode-
|
|
24
|
+
border: 1px solid var(--vscode-editorWidget-border);
|
|
25
25
|
overflow: hidden;
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -630,7 +630,7 @@ let ChatEditingNotebookEditorWidgetIntegration = class ChatEditingNotebookEditor
|
|
|
630
630
|
modified: {
|
|
631
631
|
resource: this._entry.modifiedURI
|
|
632
632
|
},
|
|
633
|
-
label: ( localize(
|
|
633
|
+
label: ( localize(5883, "{0} (changes from chat)", basename(this._entry.modifiedURI)))
|
|
634
634
|
};
|
|
635
635
|
await this._editorService.openEditor(diffInput);
|
|
636
636
|
}
|