@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.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 +24 -3
- package/package.json +5 -5
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
- package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
- package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
|
@@ -56,6 +56,7 @@ function registerChatContextActions() {
|
|
|
56
56
|
registerAction2(AttachFolderToChatAction);
|
|
57
57
|
registerAction2(AttachSelectionToChatAction);
|
|
58
58
|
registerAction2(AttachSearchResultAction);
|
|
59
|
+
registerAction2(AttachPinnedEditorsToChatAction);
|
|
59
60
|
registerPromptActions();
|
|
60
61
|
}
|
|
61
62
|
async function withChatView(accessor) {
|
|
@@ -83,15 +84,14 @@ class AttachResourceAction extends Action2 {
|
|
|
83
84
|
let uri;
|
|
84
85
|
if (URI.isUri(context)) {
|
|
85
86
|
uri = context;
|
|
86
|
-
}
|
|
87
|
-
else if (isSearchTreeFileMatch(context)) {
|
|
87
|
+
} else if (isSearchTreeFileMatch(context)) {
|
|
88
88
|
uri = context.resource;
|
|
89
|
-
}
|
|
90
|
-
else if (isSearchTreeMatch(context)) {
|
|
89
|
+
} else if (isSearchTreeMatch(context)) {
|
|
91
90
|
uri = context.parent().resource;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
} else if (!context && editorService.activeTextEditorControl) {
|
|
92
|
+
uri = EditorResourceAccessor.getCanonicalUri(editorService.activeEditor, {
|
|
93
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
94
|
+
});
|
|
95
95
|
}
|
|
96
96
|
if (uri && [Schemas.file, Schemas.vscodeRemote, Schemas.untitled].includes(uri.scheme)) {
|
|
97
97
|
files.push(uri);
|
|
@@ -100,49 +100,58 @@ class AttachResourceAction extends Action2 {
|
|
|
100
100
|
return files;
|
|
101
101
|
}
|
|
102
102
|
_getEditorResources(accessor, ...args) {
|
|
103
|
-
const resolvedContext = resolveCommandsContext(
|
|
104
|
-
|
|
105
|
-
.
|
|
106
|
-
.
|
|
107
|
-
|
|
108
|
-
)
|
|
109
|
-
|
|
103
|
+
const resolvedContext = resolveCommandsContext(
|
|
104
|
+
args,
|
|
105
|
+
accessor.get(IEditorService),
|
|
106
|
+
accessor.get(IEditorGroupsService),
|
|
107
|
+
accessor.get(IListService)
|
|
108
|
+
);
|
|
109
|
+
return ( resolvedContext.groupedEditors.flatMap(groupedEditor => groupedEditor.editors).map(editor => EditorResourceAccessor.getCanonicalUri(editor, {
|
|
110
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
111
|
+
}))).filter(uri => uri !== undefined);
|
|
110
112
|
}
|
|
111
113
|
}
|
|
112
114
|
class AttachFileToChatAction extends AttachResourceAction {
|
|
113
|
-
static {
|
|
115
|
+
static {
|
|
116
|
+
this.ID = "workbench.action.chat.attachFile";
|
|
117
|
+
}
|
|
114
118
|
constructor() {
|
|
115
119
|
super({
|
|
116
120
|
id: AttachFileToChatAction.ID,
|
|
117
|
-
title: ( localize2(
|
|
121
|
+
title: ( localize2(4727, "Add File to Chat")),
|
|
118
122
|
category: CHAT_CATEGORY,
|
|
119
123
|
precondition: ChatContextKeys.enabled,
|
|
120
124
|
f1: true,
|
|
121
125
|
menu: [{
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
126
|
+
id: MenuId.SearchContext,
|
|
127
|
+
group: "z_chat",
|
|
128
|
+
order: 1,
|
|
129
|
+
when: ( ContextKeyExpr.and(
|
|
130
|
+
ChatContextKeys.enabled,
|
|
131
|
+
SearchContext.FileMatchOrMatchFocusKey,
|
|
132
|
+
( SearchContext.SearchResultHeaderFocused.negate())
|
|
133
|
+
))
|
|
134
|
+
}, {
|
|
135
|
+
id: MenuId.ExplorerContext,
|
|
136
|
+
group: "5_chat",
|
|
137
|
+
order: 1,
|
|
138
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ExplorerFolderContext.negate()), ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote))))))
|
|
139
|
+
}, {
|
|
140
|
+
id: MenuId.EditorTitleContext,
|
|
141
|
+
group: "2_chat",
|
|
142
|
+
order: 1,
|
|
143
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote))))))
|
|
144
|
+
}, {
|
|
145
|
+
id: MenuId.EditorContext,
|
|
146
|
+
group: "1_chat",
|
|
147
|
+
order: 2,
|
|
148
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.untitled)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData))))))
|
|
149
|
+
}, {
|
|
150
|
+
id: MenuId.ChatEditorInlineGutter,
|
|
151
|
+
group: "2_chat",
|
|
152
|
+
order: 2,
|
|
153
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( EditorContextKeys.hasNonEmptySelection.negate())))
|
|
154
|
+
}]
|
|
146
155
|
});
|
|
147
156
|
}
|
|
148
157
|
async runWithWidget(accessor, widget, ...args) {
|
|
@@ -159,16 +168,18 @@ class AttachFileToChatAction extends AttachResourceAction {
|
|
|
159
168
|
}
|
|
160
169
|
}
|
|
161
170
|
class AttachFolderToChatAction extends AttachResourceAction {
|
|
162
|
-
static {
|
|
171
|
+
static {
|
|
172
|
+
this.ID = "workbench.action.chat.attachFolder";
|
|
173
|
+
}
|
|
163
174
|
constructor() {
|
|
164
175
|
super({
|
|
165
176
|
id: AttachFolderToChatAction.ID,
|
|
166
|
-
title: ( localize2(
|
|
177
|
+
title: ( localize2(4728, "Add Folder to Chat")),
|
|
167
178
|
category: CHAT_CATEGORY,
|
|
168
179
|
f1: false,
|
|
169
180
|
menu: {
|
|
170
181
|
id: MenuId.ExplorerContext,
|
|
171
|
-
group:
|
|
182
|
+
group: "5_chat",
|
|
172
183
|
order: 1,
|
|
173
184
|
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ExplorerFolderContext, ( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote))))))
|
|
174
185
|
}
|
|
@@ -187,25 +198,74 @@ class AttachFolderToChatAction extends AttachResourceAction {
|
|
|
187
198
|
}
|
|
188
199
|
}
|
|
189
200
|
}
|
|
201
|
+
class AttachPinnedEditorsToChatAction extends Action2 {
|
|
202
|
+
static {
|
|
203
|
+
this.ID = "workbench.action.chat.attachPinnedEditors";
|
|
204
|
+
}
|
|
205
|
+
constructor() {
|
|
206
|
+
super({
|
|
207
|
+
id: AttachPinnedEditorsToChatAction.ID,
|
|
208
|
+
title: ( localize2(4729, "Add Pinned Editors to Chat")),
|
|
209
|
+
category: CHAT_CATEGORY,
|
|
210
|
+
precondition: ChatContextKeys.enabled,
|
|
211
|
+
f1: true
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
async run(accessor) {
|
|
215
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
216
|
+
const instaService = accessor.get(IInstantiationService);
|
|
217
|
+
const widget = await instaService.invokeFunction(withChatView);
|
|
218
|
+
if (!widget) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
const files = [];
|
|
222
|
+
for (const group of editorGroupsService.groups) {
|
|
223
|
+
for (const editor of group.editors) {
|
|
224
|
+
if (group.isPinned(editor)) {
|
|
225
|
+
const uri = EditorResourceAccessor.getCanonicalUri(editor, {
|
|
226
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
227
|
+
});
|
|
228
|
+
if (uri && [Schemas.file, Schemas.vscodeRemote, Schemas.untitled].includes(uri.scheme)) {
|
|
229
|
+
files.push(uri);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
if (!files.length) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
widget.focusInput();
|
|
238
|
+
for (const file of files) {
|
|
239
|
+
widget.attachmentModel.addFile(file);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
190
243
|
class AttachSelectionToChatAction extends Action2 {
|
|
191
|
-
static {
|
|
244
|
+
static {
|
|
245
|
+
this.ID = "workbench.action.chat.attachSelection";
|
|
246
|
+
}
|
|
192
247
|
constructor() {
|
|
193
248
|
super({
|
|
194
249
|
id: AttachSelectionToChatAction.ID,
|
|
195
|
-
title: ( localize2(
|
|
250
|
+
title: ( localize2(4730, "Add Selection to Chat")),
|
|
196
251
|
category: CHAT_CATEGORY,
|
|
197
252
|
f1: true,
|
|
198
253
|
precondition: ChatContextKeys.enabled,
|
|
199
|
-
menu: {
|
|
254
|
+
menu: [{
|
|
200
255
|
id: MenuId.EditorContext,
|
|
201
|
-
group:
|
|
256
|
+
group: "1_chat",
|
|
202
257
|
order: 1,
|
|
203
258
|
when: ( ContextKeyExpr.and(
|
|
204
259
|
ChatContextKeys.enabled,
|
|
205
260
|
EditorContextKeys.hasNonEmptySelection,
|
|
206
261
|
( ContextKeyExpr.or(( ResourceContextKey.Scheme.isEqualTo(Schemas.file)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeRemote)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.untitled)), ( ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData))))
|
|
207
262
|
))
|
|
208
|
-
}
|
|
263
|
+
}, {
|
|
264
|
+
id: MenuId.ChatEditorInlineGutter,
|
|
265
|
+
group: "2_chat",
|
|
266
|
+
order: 1,
|
|
267
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, EditorContextKeys.hasNonEmptySelection))
|
|
268
|
+
}]
|
|
209
269
|
});
|
|
210
270
|
}
|
|
211
271
|
async run(accessor, ...args) {
|
|
@@ -220,12 +280,13 @@ class AttachSelectionToChatAction extends Action2 {
|
|
|
220
280
|
for (const match of matches) {
|
|
221
281
|
if (isSearchTreeFileMatch(match)) {
|
|
222
282
|
uris.set(match.resource, undefined);
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
283
|
+
} else {
|
|
284
|
+
const context = {
|
|
285
|
+
uri: match._parent.resource,
|
|
286
|
+
range: match._range
|
|
287
|
+
};
|
|
226
288
|
const range = uris.get(context.uri);
|
|
227
|
-
if (!range ||
|
|
228
|
-
range.startLineNumber !== context.range.startLineNumber && range.endLineNumber !== context.range.endLineNumber) {
|
|
289
|
+
if (!range || range.startLineNumber !== context.range.startLineNumber && range.endLineNumber !== context.range.endLineNumber) {
|
|
229
290
|
uris.set(context.uri, context.range);
|
|
230
291
|
widget.attachmentModel.addFile(context.uri, context.range);
|
|
231
292
|
}
|
|
@@ -237,10 +298,11 @@ class AttachSelectionToChatAction extends Action2 {
|
|
|
237
298
|
widget.attachmentModel.addFile(resource);
|
|
238
299
|
}
|
|
239
300
|
}
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
301
|
+
} else {
|
|
242
302
|
const activeEditor = editorService.activeTextEditorControl;
|
|
243
|
-
const activeUri = EditorResourceAccessor.getCanonicalUri(editorService.activeEditor, {
|
|
303
|
+
const activeUri = EditorResourceAccessor.getCanonicalUri(editorService.activeEditor, {
|
|
304
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
305
|
+
});
|
|
244
306
|
if (activeEditor && activeUri && [Schemas.file, Schemas.vscodeRemote, Schemas.untitled].includes(activeUri.scheme)) {
|
|
245
307
|
const selection = activeEditor.getSelection();
|
|
246
308
|
if (selection) {
|
|
@@ -253,32 +315,34 @@ class AttachSelectionToChatAction extends Action2 {
|
|
|
253
315
|
}
|
|
254
316
|
}
|
|
255
317
|
class AttachSearchResultAction extends Action2 {
|
|
256
|
-
static {
|
|
318
|
+
static {
|
|
319
|
+
this.Name = "searchResults";
|
|
320
|
+
}
|
|
257
321
|
constructor() {
|
|
258
322
|
super({
|
|
259
|
-
id:
|
|
260
|
-
title: ( localize2(
|
|
323
|
+
id: "workbench.action.chat.insertSearchResults",
|
|
324
|
+
title: ( localize2(4731, "Add Search Results to Chat")),
|
|
261
325
|
category: CHAT_CATEGORY,
|
|
262
326
|
f1: false,
|
|
263
327
|
menu: [{
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
328
|
+
id: MenuId.SearchContext,
|
|
329
|
+
group: "z_chat",
|
|
330
|
+
order: 3,
|
|
331
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, SearchContext.SearchResultHeaderFocused))
|
|
332
|
+
}]
|
|
269
333
|
});
|
|
270
334
|
}
|
|
271
335
|
async run(accessor) {
|
|
272
336
|
const logService = accessor.get(ILogService);
|
|
273
337
|
const widget = await accessor.get(IInstantiationService).invokeFunction(withChatView);
|
|
274
338
|
if (!widget) {
|
|
275
|
-
logService.trace(
|
|
339
|
+
logService.trace("InsertSearchResultAction: no chat view available");
|
|
276
340
|
return;
|
|
277
341
|
}
|
|
278
342
|
const editor = widget.inputEditor;
|
|
279
343
|
const originalRange = editor.getSelection() ?? editor.getModel()?.getFullModelRange().collapseToEnd();
|
|
280
344
|
if (!originalRange) {
|
|
281
|
-
logService.trace(
|
|
345
|
+
logService.trace("InsertSearchResultAction: no selection");
|
|
282
346
|
return;
|
|
283
347
|
}
|
|
284
348
|
let insertText = `#${AttachSearchResultAction.Name}`;
|
|
@@ -294,10 +358,13 @@ class AttachSearchResultAction extends Action2 {
|
|
|
294
358
|
originalRange.startColumn - 1,
|
|
295
359
|
originalRange.startLineNumber,
|
|
296
360
|
originalRange.startColumn
|
|
297
|
-
))) !==
|
|
298
|
-
insertText =
|
|
361
|
+
))) !== " ") {
|
|
362
|
+
insertText = " " + insertText;
|
|
299
363
|
}
|
|
300
|
-
const success = editor.executeEdits(
|
|
364
|
+
const success = editor.executeEdits("chatInsertSearch", [{
|
|
365
|
+
range: varRange,
|
|
366
|
+
text: insertText + " "
|
|
367
|
+
}]);
|
|
301
368
|
if (!success) {
|
|
302
369
|
logService.trace(`InsertSearchResultAction: failed to insert "${insertText}"`);
|
|
303
370
|
return;
|
|
@@ -305,25 +372,19 @@ class AttachSearchResultAction extends Action2 {
|
|
|
305
372
|
}
|
|
306
373
|
}
|
|
307
374
|
function isIContextPickItemItem(obj) {
|
|
308
|
-
return (isObject(obj)
|
|
309
|
-
&& typeof obj.kind === 'string'
|
|
310
|
-
&& obj.kind === 'contextPick');
|
|
375
|
+
return (isObject(obj) && typeof obj.kind === "string" && obj.kind === "contextPick");
|
|
311
376
|
}
|
|
312
377
|
function isIGotoSymbolQuickPickItem(obj) {
|
|
313
|
-
return (isObject(obj)
|
|
314
|
-
&& typeof obj.symbolName === 'string'
|
|
315
|
-
&& !!obj.uri
|
|
316
|
-
&& !!obj.range);
|
|
378
|
+
return (isObject(obj) && typeof obj.symbolName === "string" && !!obj.uri && !!obj.range);
|
|
317
379
|
}
|
|
318
380
|
function isIQuickPickItemWithResource(obj) {
|
|
319
|
-
return (isObject(obj)
|
|
320
|
-
&& URI.isUri(obj.resource));
|
|
381
|
+
return (isObject(obj) && URI.isUri(obj.resource));
|
|
321
382
|
}
|
|
322
383
|
class AttachContextAction extends Action2 {
|
|
323
384
|
constructor() {
|
|
324
385
|
super({
|
|
325
|
-
id:
|
|
326
|
-
title: ( localize2(
|
|
386
|
+
id: "workbench.action.chat.attachContext",
|
|
387
|
+
title: ( localize2(4732, "Add Context...")),
|
|
327
388
|
icon: Codicon.attach,
|
|
328
389
|
category: CHAT_CATEGORY,
|
|
329
390
|
keybinding: {
|
|
@@ -334,9 +395,9 @@ class AttachContextAction extends Action2 {
|
|
|
334
395
|
menu: {
|
|
335
396
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(( ChatContextKeys.location.isEqualTo(ChatAgentLocation.Chat)), ( ContextKeyExpr.and(( ChatContextKeys.location.isEqualTo(ChatAgentLocation.EditorInline)), CTX_INLINE_CHAT_V2_ENABLED)))), ( ContextKeyExpr.or(( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeys.agentSupportsAttachments)))),
|
|
336
397
|
id: MenuId.ChatInputAttachmentToolbar,
|
|
337
|
-
group:
|
|
398
|
+
group: "navigation",
|
|
338
399
|
order: 3
|
|
339
|
-
}
|
|
400
|
+
}
|
|
340
401
|
});
|
|
341
402
|
}
|
|
342
403
|
async run(accessor, ...args) {
|
|
@@ -356,11 +417,11 @@ class AttachContextAction extends Action2 {
|
|
|
356
417
|
continue;
|
|
357
418
|
}
|
|
358
419
|
quickPickItems.push({
|
|
359
|
-
kind:
|
|
420
|
+
kind: "contextPick",
|
|
360
421
|
item,
|
|
361
422
|
label: item.label,
|
|
362
423
|
iconClass: ThemeIcon.asClassName(item.icon),
|
|
363
|
-
keybinding: item.commandId ? keybindingService.lookupKeybinding(item.commandId, contextKeyService) : undefined
|
|
424
|
+
keybinding: item.commandId ? keybindingService.lookupKeybinding(item.commandId, contextKeyService) : undefined
|
|
364
425
|
});
|
|
365
426
|
}
|
|
366
427
|
instantiationService.invokeFunction(this._show.bind(this), widget, quickPickItems, context?.placeholder);
|
|
@@ -371,7 +432,7 @@ class AttachContextAction extends Action2 {
|
|
|
371
432
|
const instantiationService = accessor.get(IInstantiationService);
|
|
372
433
|
const commandService = accessor.get(ICommandService);
|
|
373
434
|
const providerOptions = {
|
|
374
|
-
filter:
|
|
435
|
+
filter: pick => {
|
|
375
436
|
if (isIQuickPickItemWithResource(pick) && pick.resource) {
|
|
376
437
|
return instantiationService.invokeFunction(accessor => isSupportedChatFileScheme(accessor, pick.resource.scheme));
|
|
377
438
|
}
|
|
@@ -381,18 +442,16 @@ class AttachContextAction extends Action2 {
|
|
|
381
442
|
handleAccept: async (item, isBackgroundAccept) => {
|
|
382
443
|
if (isIContextPickItemItem(item)) {
|
|
383
444
|
let isDone = true;
|
|
384
|
-
if (item.item.type ===
|
|
445
|
+
if (item.item.type === "valuePick") {
|
|
385
446
|
this._handleContextPick(item.item, widget);
|
|
386
|
-
}
|
|
387
|
-
else if (item.item.type === 'pickerPick') {
|
|
447
|
+
} else if (item.item.type === "pickerPick") {
|
|
388
448
|
isDone = await this._handleContextPickerItem(quickInputService, commandService, item.item, widget);
|
|
389
449
|
}
|
|
390
450
|
if (!isDone) {
|
|
391
451
|
instantiationService.invokeFunction(this._show.bind(this), widget, additionPicks, placeholder);
|
|
392
452
|
return;
|
|
393
453
|
}
|
|
394
|
-
}
|
|
395
|
-
else {
|
|
454
|
+
} else {
|
|
396
455
|
instantiationService.invokeFunction(this._handleQPPick.bind(this), widget, isBackgroundAccept, item);
|
|
397
456
|
}
|
|
398
457
|
if (isQuickChat(widget)) {
|
|
@@ -400,14 +459,14 @@ class AttachContextAction extends Action2 {
|
|
|
400
459
|
}
|
|
401
460
|
}
|
|
402
461
|
};
|
|
403
|
-
quickInputService.quickAccess.show(
|
|
462
|
+
quickInputService.quickAccess.show("", {
|
|
404
463
|
enabledProviderPrefixes: [
|
|
405
464
|
AnythingQuickAccessProvider.PREFIX,
|
|
406
465
|
SymbolsQuickAccessProvider.PREFIX,
|
|
407
466
|
AbstractGotoSymbolQuickAccessProvider.PREFIX
|
|
408
467
|
],
|
|
409
|
-
placeholder: placeholder ?? ( localize(
|
|
410
|
-
providerOptions
|
|
468
|
+
placeholder: placeholder ?? ( localize(4733, "Search attachments")),
|
|
469
|
+
providerOptions
|
|
411
470
|
});
|
|
412
471
|
}
|
|
413
472
|
async _handleQPPick(accessor, widget, isInBackground, pick) {
|
|
@@ -424,36 +483,42 @@ class AttachContextAction extends Action2 {
|
|
|
424
483
|
name: pick.label,
|
|
425
484
|
fullName: pick.label,
|
|
426
485
|
value: resizedImage,
|
|
427
|
-
kind:
|
|
428
|
-
references: [{
|
|
486
|
+
kind: "image",
|
|
487
|
+
references: [{
|
|
488
|
+
reference: pick.resource,
|
|
489
|
+
kind: "reference"
|
|
490
|
+
}]
|
|
429
491
|
});
|
|
430
492
|
}
|
|
431
|
-
}
|
|
432
|
-
else {
|
|
493
|
+
} else {
|
|
433
494
|
let omittedState = OmittedState.NotOmitted;
|
|
434
495
|
try {
|
|
435
496
|
const createdModel = await textModelService.createModelReference(pick.resource);
|
|
436
497
|
createdModel.dispose();
|
|
437
|
-
}
|
|
438
|
-
catch {
|
|
498
|
+
} catch {
|
|
439
499
|
omittedState = OmittedState.Full;
|
|
440
500
|
}
|
|
441
501
|
toAttach.push({
|
|
442
|
-
kind:
|
|
502
|
+
kind: "file",
|
|
443
503
|
id: ( pick.resource.toString()),
|
|
444
504
|
value: pick.resource,
|
|
445
505
|
name: pick.label,
|
|
446
506
|
omittedState
|
|
447
507
|
});
|
|
448
508
|
}
|
|
449
|
-
}
|
|
450
|
-
else if (isIGotoSymbolQuickPickItem(pick) && pick.uri && pick.range) {
|
|
509
|
+
} else if (isIGotoSymbolQuickPickItem(pick) && pick.uri && pick.range) {
|
|
451
510
|
toAttach.push({
|
|
452
|
-
kind:
|
|
453
|
-
id: JSON.stringify({
|
|
454
|
-
|
|
511
|
+
kind: "generic",
|
|
512
|
+
id: JSON.stringify({
|
|
513
|
+
uri: pick.uri,
|
|
514
|
+
range: pick.range.decoration
|
|
515
|
+
}),
|
|
516
|
+
value: {
|
|
517
|
+
uri: pick.uri,
|
|
518
|
+
range: pick.range.decoration
|
|
519
|
+
},
|
|
455
520
|
fullName: pick.label,
|
|
456
|
-
name: pick.symbolName
|
|
521
|
+
name: pick.symbolName
|
|
457
522
|
});
|
|
458
523
|
}
|
|
459
524
|
widget.attachmentModel.addContext(...toAttach);
|
|
@@ -465,8 +530,7 @@ class AttachContextAction extends Action2 {
|
|
|
465
530
|
const value = await item.asAttachment(widget);
|
|
466
531
|
if (Array.isArray(value)) {
|
|
467
532
|
widget.attachmentModel.addContext(...value);
|
|
468
|
-
}
|
|
469
|
-
else if (value) {
|
|
533
|
+
} else if (value) {
|
|
470
534
|
widget.attachmentModel.addContext(value);
|
|
471
535
|
}
|
|
472
536
|
}
|
|
@@ -474,7 +538,7 @@ class AttachContextAction extends Action2 {
|
|
|
474
538
|
const pickerConfig = item.asPicker(widget);
|
|
475
539
|
const store = ( new DisposableStore());
|
|
476
540
|
const goBackItem = {
|
|
477
|
-
label: ( localize(
|
|
541
|
+
label: ( localize(4734, "Go back ↩")),
|
|
478
542
|
alwaysShow: true
|
|
479
543
|
};
|
|
480
544
|
const configureItem = pickerConfig.configure ? {
|
|
@@ -482,12 +546,16 @@ class AttachContextAction extends Action2 {
|
|
|
482
546
|
commandId: pickerConfig.configure.commandId,
|
|
483
547
|
alwaysShow: true
|
|
484
548
|
} : undefined;
|
|
485
|
-
const extraPicks = [{
|
|
549
|
+
const extraPicks = [{
|
|
550
|
+
type: "separator"
|
|
551
|
+
}];
|
|
486
552
|
if (configureItem) {
|
|
487
553
|
extraPicks.push(configureItem);
|
|
488
554
|
}
|
|
489
555
|
extraPicks.push(goBackItem);
|
|
490
|
-
const qp = store.add(quickInputService.createQuickPick({
|
|
556
|
+
const qp = store.add(quickInputService.createQuickPick({
|
|
557
|
+
useSeparators: true
|
|
558
|
+
}));
|
|
491
559
|
const cts = ( new CancellationTokenSource());
|
|
492
560
|
store.add(qp.onDidHide(() => cts.cancel()));
|
|
493
561
|
store.add(toDisposable(() => cts.dispose(true)));
|
|
@@ -503,13 +571,15 @@ class AttachContextAction extends Action2 {
|
|
|
503
571
|
}));
|
|
504
572
|
qp.items = items;
|
|
505
573
|
qp.busy = false;
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
const query = observableValue('attachContext.query', qp.value);
|
|
574
|
+
} else {
|
|
575
|
+
const query = observableValue("attachContext.query", qp.value);
|
|
509
576
|
store.add(qp.onDidChangeValue(() => query.set(qp.value, undefined)));
|
|
510
577
|
const picksObservable = pickerConfig.picks(query, cts.token);
|
|
511
578
|
store.add(autorun(reader => {
|
|
512
|
-
const {
|
|
579
|
+
const {
|
|
580
|
+
busy,
|
|
581
|
+
picks
|
|
582
|
+
} = picksObservable.read(reader);
|
|
513
583
|
qp.items = [].concat(picks, extraPicks);
|
|
514
584
|
qp.busy = busy;
|
|
515
585
|
}));
|
|
@@ -520,8 +590,8 @@ class AttachContextAction extends Action2 {
|
|
|
520
590
|
}
|
|
521
591
|
const defer = ( new DeferredPromise());
|
|
522
592
|
const addPromises = [];
|
|
523
|
-
store.add(qp.onDidAccept(async
|
|
524
|
-
const noop =
|
|
593
|
+
store.add(qp.onDidAccept(async e => {
|
|
594
|
+
const noop = "noop";
|
|
525
595
|
const [selected] = qp.selectedItems;
|
|
526
596
|
if (isChatContextPickerPickItem(selected)) {
|
|
527
597
|
const attachment = selected.asAttachment();
|
|
@@ -534,8 +604,7 @@ class AttachContextAction extends Action2 {
|
|
|
534
604
|
widget.attachmentModel.addContext(...asArray(v));
|
|
535
605
|
}
|
|
536
606
|
}));
|
|
537
|
-
}
|
|
538
|
-
else {
|
|
607
|
+
} else {
|
|
539
608
|
widget.attachmentModel.addContext(...asArray(attachment));
|
|
540
609
|
}
|
|
541
610
|
}
|
|
@@ -562,8 +631,7 @@ class AttachContextAction extends Action2 {
|
|
|
562
631
|
qp.busy = true;
|
|
563
632
|
await Promise.all(addPromises);
|
|
564
633
|
return result;
|
|
565
|
-
}
|
|
566
|
-
finally {
|
|
634
|
+
} finally {
|
|
567
635
|
store.dispose();
|
|
568
636
|
}
|
|
569
637
|
}
|
|
@@ -13,14 +13,14 @@ function registerChatCopyActions() {
|
|
|
13
13
|
registerAction2(class CopyAllAction extends Action2 {
|
|
14
14
|
constructor() {
|
|
15
15
|
super({
|
|
16
|
-
id:
|
|
17
|
-
title: ( localize2(
|
|
16
|
+
id: "workbench.action.chat.copyAll",
|
|
17
|
+
title: ( localize2(4740, "Copy All")),
|
|
18
18
|
f1: false,
|
|
19
19
|
category: CHAT_CATEGORY,
|
|
20
20
|
menu: {
|
|
21
21
|
id: MenuId.ChatContext,
|
|
22
22
|
when: ( ChatContextKeys.responseIsFiltered.negate()),
|
|
23
|
-
group:
|
|
23
|
+
group: "copy"
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
}
|
|
@@ -30,10 +30,9 @@ function registerChatCopyActions() {
|
|
|
30
30
|
const widget = (context?.sessionResource && chatWidgetService.getWidgetBySessionResource(context.sessionResource)) || chatWidgetService.lastFocusedWidget;
|
|
31
31
|
if (widget) {
|
|
32
32
|
const viewModel = widget.viewModel;
|
|
33
|
-
const sessionAsText = viewModel?.getItems()
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
.join('\n\n');
|
|
33
|
+
const sessionAsText = viewModel?.getItems().filter(
|
|
34
|
+
item => isRequestVM(item) || (isResponseVM(item) && !item.errorDetails?.responseIsFiltered)
|
|
35
|
+
).map(item => stringifyItem(item)).join("\n\n");
|
|
37
36
|
if (sessionAsText) {
|
|
38
37
|
clipboardService.writeText(sessionAsText);
|
|
39
38
|
}
|
|
@@ -43,14 +42,14 @@ function registerChatCopyActions() {
|
|
|
43
42
|
registerAction2(class CopyItemAction extends Action2 {
|
|
44
43
|
constructor() {
|
|
45
44
|
super({
|
|
46
|
-
id:
|
|
47
|
-
title: ( localize2(
|
|
45
|
+
id: "workbench.action.chat.copyItem",
|
|
46
|
+
title: ( localize2(4741, "Copy")),
|
|
48
47
|
f1: false,
|
|
49
48
|
category: CHAT_CATEGORY,
|
|
50
49
|
menu: {
|
|
51
50
|
id: MenuId.ChatContext,
|
|
52
51
|
when: ( ChatContextKeys.responseIsFiltered.negate()),
|
|
53
|
-
group:
|
|
52
|
+
group: "copy"
|
|
54
53
|
}
|
|
55
54
|
});
|
|
56
55
|
}
|
|
@@ -78,14 +77,14 @@ function registerChatCopyActions() {
|
|
|
78
77
|
registerAction2(class CopyKatexMathSourceAction extends Action2 {
|
|
79
78
|
constructor() {
|
|
80
79
|
super({
|
|
81
|
-
id:
|
|
82
|
-
title: ( localize2(
|
|
80
|
+
id: "workbench.action.chat.copyKatexMathSource",
|
|
81
|
+
title: ( localize2(4742, "Copy Math Source")),
|
|
83
82
|
f1: false,
|
|
84
83
|
category: CHAT_CATEGORY,
|
|
85
84
|
menu: {
|
|
86
85
|
id: MenuId.ChatContext,
|
|
87
|
-
group:
|
|
88
|
-
when: ChatContextKeys.isKatexMathElement
|
|
86
|
+
group: "copy",
|
|
87
|
+
when: ChatContextKeys.isKatexMathElement
|
|
89
88
|
}
|
|
90
89
|
});
|
|
91
90
|
}
|
|
@@ -114,7 +113,7 @@ function registerChatCopyActions() {
|
|
|
114
113
|
selectedElement = activeElement?.querySelector(`.${katexContainerClassName}`) ?? null;
|
|
115
114
|
}
|
|
116
115
|
const katexElement = isHTMLElement(selectedElement) ? selectedElement.closest(`.${katexContainerClassName}`) : null;
|
|
117
|
-
const latexSource = katexElement?.getAttribute(katexContainerLatexAttributeName) ||
|
|
116
|
+
const latexSource = katexElement?.getAttribute(katexContainerLatexAttributeName) || "";
|
|
118
117
|
if (latexSource) {
|
|
119
118
|
await clipboardService.writeText(latexSource);
|
|
120
119
|
}
|