@codingame/monaco-vscode-chat-service-override 32.0.2 → 33.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1 -1
- package/index.js +15 -5
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
- package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +53 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +58 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +18 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
- package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
- package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
- package/vscode/src/vs/base/common/defaultAccount.js +0 -12
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
|
@@ -1,32 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import { TerminalToolId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/terminalToolIds';
|
|
3
|
+
import { parseCommand, segmentHead, segmentHasFlag } from './terminalCommandParser.js';
|
|
4
|
+
import { TerminalOutputCache } from './terminalOutputCache.js';
|
|
3
5
|
|
|
4
|
-
function parseCommandHead(command) {
|
|
5
|
-
if (!command) {
|
|
6
|
-
return undefined;
|
|
7
|
-
}
|
|
8
|
-
const firstSegment = command.split(/[|;&]/)[0].trim();
|
|
9
|
-
if (!firstSegment) {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
const tokens = firstSegment.split(/\s+/).filter(t => !/^[A-Z_][A-Z0-9_]*=/.test(t));
|
|
13
|
-
const head = tokens[0];
|
|
14
|
-
if (!head) {
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
let sub;
|
|
18
|
-
for (let i = 1; i < tokens.length; i++) {
|
|
19
|
-
if (tokens[i].startsWith("--")) {
|
|
20
|
-
continue;
|
|
21
|
-
}
|
|
22
|
-
sub = tokens[i];
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
return {
|
|
26
|
-
head,
|
|
27
|
-
sub
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
6
|
function isTerminalInput(input) {
|
|
31
7
|
if (typeof input !== "object" || input === null) {
|
|
32
8
|
return false;
|
|
@@ -34,16 +10,45 @@ function isTerminalInput(input) {
|
|
|
34
10
|
const terminalInput = input;
|
|
35
11
|
return terminalInput.command === undefined || typeof terminalInput.command === "string";
|
|
36
12
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
matches(_toolId, input) {
|
|
13
|
+
function makeMatcher(opts) {
|
|
14
|
+
const allowedSubs = opts.sub === "*" || opts.sub === undefined ? undefined : opts.sub === null ? null : typeof opts.sub === "string" ? ( new Set([opts.sub])) : ( new Set(opts.sub));
|
|
15
|
+
return input => {
|
|
41
16
|
if (!isTerminalInput(input)) {
|
|
42
17
|
return false;
|
|
43
18
|
}
|
|
44
|
-
const parsed =
|
|
45
|
-
|
|
46
|
-
|
|
19
|
+
const parsed = parseCommand(input.command);
|
|
20
|
+
if (!parsed) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
for (const seg of parsed.segments) {
|
|
24
|
+
const head = segmentHead(seg);
|
|
25
|
+
if (!head || head.head !== opts.head) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (allowedSubs === null) {
|
|
29
|
+
if (head.sub !== undefined) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
} else if (allowedSubs !== undefined) {
|
|
33
|
+
if (head.sub === undefined || !( allowedSubs.has(head.sub))) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (opts.flag && !opts.flag(seg)) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const gitDiffFilter = {
|
|
46
|
+
id: "terminal.git-diff",
|
|
47
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
48
|
+
matches: (_toolId, input) => makeMatcher({
|
|
49
|
+
head: "git",
|
|
50
|
+
sub: ["diff", "show"]
|
|
51
|
+
})(input),
|
|
47
52
|
apply(text) {
|
|
48
53
|
const lines = text.split("\n");
|
|
49
54
|
const out = [];
|
|
@@ -142,6 +147,68 @@ const gitDiffFilter = {
|
|
|
142
147
|
};
|
|
143
148
|
}
|
|
144
149
|
};
|
|
150
|
+
const gitLogFilter = {
|
|
151
|
+
id: "terminal.git-log",
|
|
152
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
153
|
+
matches: (_toolId, input) => makeMatcher({
|
|
154
|
+
head: "git",
|
|
155
|
+
sub: ["log", "reflog", "shortlog"]
|
|
156
|
+
})(input),
|
|
157
|
+
apply(text) {
|
|
158
|
+
const lines = text.split("\n");
|
|
159
|
+
const out = [];
|
|
160
|
+
let blankRun = 0;
|
|
161
|
+
for (const line of lines) {
|
|
162
|
+
if (line.trim() === "") {
|
|
163
|
+
blankRun++;
|
|
164
|
+
if (blankRun <= 1) {
|
|
165
|
+
out.push(line);
|
|
166
|
+
}
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
blankRun = 0;
|
|
170
|
+
out.push(line);
|
|
171
|
+
}
|
|
172
|
+
while (out.length > 0 && out[out.length - 1].trim() === "") {
|
|
173
|
+
out.pop();
|
|
174
|
+
}
|
|
175
|
+
const result = out.join("\n");
|
|
176
|
+
return {
|
|
177
|
+
text: result,
|
|
178
|
+
compressed: result.length < text.length
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
const gitStatusFilter = {
|
|
183
|
+
id: "terminal.git-status",
|
|
184
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
185
|
+
matches: (_toolId, input) => makeMatcher({
|
|
186
|
+
head: "git",
|
|
187
|
+
sub: "status"
|
|
188
|
+
})(input),
|
|
189
|
+
apply(text) {
|
|
190
|
+
const HINT_PATTERNS = [
|
|
191
|
+
/^\s*\(use "git add.*"\s+to.*\)\s*$/,
|
|
192
|
+
/^\s*\(use "git restore.*"\s+to.*\)\s*$/,
|
|
193
|
+
/^\s*\(use "git rm --cached.*"\s+to.*\)\s*$/,
|
|
194
|
+
/^\s*\(use "git push" to publish.*\)\s*$/,
|
|
195
|
+
/^\s*\(commit or discard.*\)\s*$/
|
|
196
|
+
];
|
|
197
|
+
const lines = text.split("\n");
|
|
198
|
+
const out = [];
|
|
199
|
+
for (const line of lines) {
|
|
200
|
+
if (( HINT_PATTERNS.some(re => re.test(line)))) {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
out.push(line);
|
|
204
|
+
}
|
|
205
|
+
const result = out.join("\n");
|
|
206
|
+
return {
|
|
207
|
+
text: result,
|
|
208
|
+
compressed: result.length < text.length
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
};
|
|
145
212
|
const lsFilter = {
|
|
146
213
|
id: "terminal.ls",
|
|
147
214
|
toolIds: [TerminalToolId.RunInTerminal],
|
|
@@ -149,11 +216,20 @@ const lsFilter = {
|
|
|
149
216
|
if (!isTerminalInput(input)) {
|
|
150
217
|
return false;
|
|
151
218
|
}
|
|
152
|
-
const parsed =
|
|
153
|
-
if (parsed
|
|
219
|
+
const parsed = parseCommand(input.command);
|
|
220
|
+
if (!parsed) {
|
|
154
221
|
return false;
|
|
155
222
|
}
|
|
156
|
-
|
|
223
|
+
for (const seg of parsed.segments) {
|
|
224
|
+
const head = segmentHead(seg);
|
|
225
|
+
if (head?.head !== "ls") {
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
if (segmentHasFlag(seg, ["l"])) {
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return false;
|
|
157
233
|
},
|
|
158
234
|
apply(text) {
|
|
159
235
|
const lines = text.split("\n");
|
|
@@ -181,6 +257,241 @@ const lsFilter = {
|
|
|
181
257
|
};
|
|
182
258
|
}
|
|
183
259
|
};
|
|
260
|
+
const MAX_LIST_LINES = 200;
|
|
261
|
+
function capLines(text, max, label) {
|
|
262
|
+
const lines = text.split("\n");
|
|
263
|
+
if (lines.length <= max + 1) {
|
|
264
|
+
return {
|
|
265
|
+
text,
|
|
266
|
+
compressed: false
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
const kept = lines.slice(0, max);
|
|
270
|
+
const omitted = lines.length - max;
|
|
271
|
+
kept.push(`... ${omitted} ${label} lines omitted ...`);
|
|
272
|
+
const result = kept.join("\n");
|
|
273
|
+
return {
|
|
274
|
+
text: result,
|
|
275
|
+
compressed: result.length < text.length
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
const findFilter = {
|
|
279
|
+
id: "terminal.find",
|
|
280
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
281
|
+
matches(_toolId, input) {
|
|
282
|
+
if (!isTerminalInput(input)) {
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
const parsed = parseCommand(input.command);
|
|
286
|
+
if (!parsed) {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
return ( parsed.segments.some(seg => segmentHead(seg)?.head === "find"));
|
|
290
|
+
},
|
|
291
|
+
apply: text => capLines(text, MAX_LIST_LINES, "find result")
|
|
292
|
+
};
|
|
293
|
+
const grepFilter = {
|
|
294
|
+
id: "terminal.grep",
|
|
295
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
296
|
+
matches(_toolId, input) {
|
|
297
|
+
if (!isTerminalInput(input)) {
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
const parsed = parseCommand(input.command);
|
|
301
|
+
if (!parsed) {
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
return ( parsed.segments.some(seg => {
|
|
305
|
+
const head = segmentHead(seg);
|
|
306
|
+
return head !== undefined && (head.head === "grep" || head.head === "rg" || head.head === "ack" || head.head === "ag");
|
|
307
|
+
}));
|
|
308
|
+
},
|
|
309
|
+
apply: text => capLines(text, MAX_LIST_LINES, "matching")
|
|
310
|
+
};
|
|
311
|
+
const treeFilter = {
|
|
312
|
+
id: "terminal.tree",
|
|
313
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
314
|
+
matches(_toolId, input) {
|
|
315
|
+
if (!isTerminalInput(input)) {
|
|
316
|
+
return false;
|
|
317
|
+
}
|
|
318
|
+
const parsed = parseCommand(input.command);
|
|
319
|
+
if (!parsed) {
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
return ( parsed.segments.some(seg => segmentHead(seg)?.head === "tree"));
|
|
323
|
+
},
|
|
324
|
+
apply: text => capLines(text, MAX_LIST_LINES, "tree")
|
|
325
|
+
};
|
|
326
|
+
function compressTestRunnerOutput(text) {
|
|
327
|
+
const lines = text.split("\n");
|
|
328
|
+
const dropPatterns = [
|
|
329
|
+
/^\s*PASS\s+\S+/,
|
|
330
|
+
/^\s*ok\s+\d+\s+/,
|
|
331
|
+
/^\s*\u2713\s/,
|
|
332
|
+
/^\s*[.sSEFx]{10,}\s*$/,
|
|
333
|
+
/^test\s.+ \.\.\. ok\s*$/,
|
|
334
|
+
/^running \d+ tests?$/i
|
|
335
|
+
];
|
|
336
|
+
const out = [];
|
|
337
|
+
for (const line of lines) {
|
|
338
|
+
if (( dropPatterns.some(re => re.test(line)))) {
|
|
339
|
+
continue;
|
|
340
|
+
}
|
|
341
|
+
out.push(line);
|
|
342
|
+
}
|
|
343
|
+
const result = out.join("\n");
|
|
344
|
+
return {
|
|
345
|
+
text: result,
|
|
346
|
+
compressed: result.length < text.length
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
const testRunnerFilter = {
|
|
350
|
+
id: "terminal.test-runner",
|
|
351
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
352
|
+
matches(_toolId, input) {
|
|
353
|
+
if (!isTerminalInput(input)) {
|
|
354
|
+
return false;
|
|
355
|
+
}
|
|
356
|
+
const parsed = parseCommand(input.command);
|
|
357
|
+
if (!parsed) {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
for (const seg of parsed.segments) {
|
|
361
|
+
const head = segmentHead(seg);
|
|
362
|
+
if (!head) {
|
|
363
|
+
continue;
|
|
364
|
+
}
|
|
365
|
+
if (head.head === "pytest" || head.head === "jest" || head.head === "vitest" || head.head === "playwright" || head.head === "mocha") {
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
368
|
+
if (head.head === "cargo" && head.sub && /^(test|nextest)$/.test(head.sub)) {
|
|
369
|
+
return true;
|
|
370
|
+
}
|
|
371
|
+
if (head.head === "go" && head.sub === "test") {
|
|
372
|
+
return true;
|
|
373
|
+
}
|
|
374
|
+
if ((head.head === "npm" || head.head === "pnpm" || head.head === "yarn") && head.sub === "test") {
|
|
375
|
+
return true;
|
|
376
|
+
}
|
|
377
|
+
if (head.head === "npx" && head.sub && /^(jest|vitest|playwright|mocha)$/.test(head.sub)) {
|
|
378
|
+
return true;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
return false;
|
|
382
|
+
},
|
|
383
|
+
apply: text => compressTestRunnerOutput(text)
|
|
384
|
+
};
|
|
385
|
+
function compressBuildOutput(text) {
|
|
386
|
+
const dropPatterns = [
|
|
387
|
+
/^\s*Compiling\s+\S+\s+v\S+/,
|
|
388
|
+
/^\s*Downloading\s+\S+/,
|
|
389
|
+
/^\s*Downloaded\s+\S+/,
|
|
390
|
+
/^\s*Updating\s+crates\.io\s+index/,
|
|
391
|
+
/^\s*Finished\s+(dev|release|test)/,
|
|
392
|
+
/^make\[\d+\]: (Entering|Leaving) directory/,
|
|
393
|
+
/^Download(ed|ing) https?:/,
|
|
394
|
+
/^\[INFO\] Downloading from /,
|
|
395
|
+
/^\[INFO\] Downloaded from /,
|
|
396
|
+
/^> Task :/
|
|
397
|
+
];
|
|
398
|
+
const lines = text.split("\n");
|
|
399
|
+
const out = [];
|
|
400
|
+
for (const line of lines) {
|
|
401
|
+
if (( dropPatterns.some(re => re.test(line)))) {
|
|
402
|
+
continue;
|
|
403
|
+
}
|
|
404
|
+
out.push(line);
|
|
405
|
+
}
|
|
406
|
+
const result = out.join("\n");
|
|
407
|
+
return {
|
|
408
|
+
text: result,
|
|
409
|
+
compressed: result.length < text.length
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
const buildToolFilter = {
|
|
413
|
+
id: "terminal.build-tool",
|
|
414
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
415
|
+
matches(_toolId, input) {
|
|
416
|
+
if (!isTerminalInput(input)) {
|
|
417
|
+
return false;
|
|
418
|
+
}
|
|
419
|
+
const parsed = parseCommand(input.command);
|
|
420
|
+
if (!parsed) {
|
|
421
|
+
return false;
|
|
422
|
+
}
|
|
423
|
+
for (const seg of parsed.segments) {
|
|
424
|
+
const head = segmentHead(seg);
|
|
425
|
+
if (!head) {
|
|
426
|
+
continue;
|
|
427
|
+
}
|
|
428
|
+
if (head.head === "cargo" && head.sub && /^(build|check|clippy)$/.test(head.sub)) {
|
|
429
|
+
return true;
|
|
430
|
+
}
|
|
431
|
+
if (head.head === "go" && (head.sub === "build" || head.sub === "vet")) {
|
|
432
|
+
return true;
|
|
433
|
+
}
|
|
434
|
+
if (head.head === "make" || head.head === "tsc" || head.head === "gradle" || head.head === "mvn") {
|
|
435
|
+
return true;
|
|
436
|
+
}
|
|
437
|
+
if (head.head === "dotnet" && head.sub === "build") {
|
|
438
|
+
return true;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
return false;
|
|
442
|
+
},
|
|
443
|
+
apply: text => compressBuildOutput(text)
|
|
444
|
+
};
|
|
445
|
+
function compressLinterOutput(text) {
|
|
446
|
+
const lines = text.split("\n");
|
|
447
|
+
const dropPatterns = [
|
|
448
|
+
/^\s*Success: no issues found\s*$/i,
|
|
449
|
+
/^\s*All checks passed\.?\s*$/i,
|
|
450
|
+
/^\s*Success:\s*0 errors/i
|
|
451
|
+
];
|
|
452
|
+
const out = [];
|
|
453
|
+
for (const line of lines) {
|
|
454
|
+
if (( dropPatterns.some(re => re.test(line)))) {
|
|
455
|
+
continue;
|
|
456
|
+
}
|
|
457
|
+
out.push(line);
|
|
458
|
+
}
|
|
459
|
+
const result = out.join("\n");
|
|
460
|
+
return {
|
|
461
|
+
text: result,
|
|
462
|
+
compressed: result.length < text.length
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
const linterFilter = {
|
|
466
|
+
id: "terminal.linter",
|
|
467
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
468
|
+
matches(_toolId, input) {
|
|
469
|
+
if (!isTerminalInput(input)) {
|
|
470
|
+
return false;
|
|
471
|
+
}
|
|
472
|
+
const parsed = parseCommand(input.command);
|
|
473
|
+
if (!parsed) {
|
|
474
|
+
return false;
|
|
475
|
+
}
|
|
476
|
+
for (const seg of parsed.segments) {
|
|
477
|
+
const head = segmentHead(seg);
|
|
478
|
+
if (!head) {
|
|
479
|
+
continue;
|
|
480
|
+
}
|
|
481
|
+
if (head.head === "eslint" || head.head === "ruff" || head.head === "mypy" || head.head === "prettier" || head.head === "rubocop" || head.head === "golangci-lint") {
|
|
482
|
+
return true;
|
|
483
|
+
}
|
|
484
|
+
if (head.head === "cargo" && head.sub === "clippy") {
|
|
485
|
+
return true;
|
|
486
|
+
}
|
|
487
|
+
if (head.head === "npx" && head.sub && /^(eslint|prettier|tsc)$/.test(head.sub)) {
|
|
488
|
+
return true;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
return false;
|
|
492
|
+
},
|
|
493
|
+
apply: text => compressLinterOutput(text)
|
|
494
|
+
};
|
|
184
495
|
const npmInstallFilter = {
|
|
185
496
|
id: "terminal.npm-install",
|
|
186
497
|
toolIds: [TerminalToolId.RunInTerminal],
|
|
@@ -188,27 +499,42 @@ const npmInstallFilter = {
|
|
|
188
499
|
if (!isTerminalInput(input)) {
|
|
189
500
|
return false;
|
|
190
501
|
}
|
|
191
|
-
const parsed =
|
|
502
|
+
const parsed = parseCommand(input.command);
|
|
192
503
|
if (!parsed) {
|
|
193
504
|
return false;
|
|
194
505
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
506
|
+
for (const seg of parsed.segments) {
|
|
507
|
+
const head = segmentHead(seg);
|
|
508
|
+
if (!head) {
|
|
509
|
+
continue;
|
|
510
|
+
}
|
|
511
|
+
if (head.head === "npm" && head.sub && /^(install|i|ci|add)$/.test(head.sub)) {
|
|
200
512
|
return true;
|
|
201
513
|
}
|
|
202
|
-
if (
|
|
203
|
-
|
|
514
|
+
if (head.head === "yarn" || head.head === "pnpm") {
|
|
515
|
+
if (head.sub === "install" || head.sub === "add" || head.sub === "i") {
|
|
516
|
+
return true;
|
|
517
|
+
}
|
|
518
|
+
if (head.sub === undefined) {
|
|
519
|
+
return true;
|
|
520
|
+
}
|
|
204
521
|
}
|
|
205
522
|
}
|
|
206
523
|
return false;
|
|
207
524
|
},
|
|
208
525
|
apply(text) {
|
|
209
526
|
const lines = text.split("\n");
|
|
210
|
-
const dropPatterns = [
|
|
211
|
-
|
|
527
|
+
const dropPatterns = [
|
|
528
|
+
/^npm warn deprecated /i,
|
|
529
|
+
/^\s*\[#+>?\s*\] /,
|
|
530
|
+
/^npm http /i,
|
|
531
|
+
/^npm timing /i,
|
|
532
|
+
/^npm sill /i,
|
|
533
|
+
/^npm verb /i,
|
|
534
|
+
/^\s*\d+ packages? are looking for funding/i,
|
|
535
|
+
/run `npm fund`/i,
|
|
536
|
+
/^Run `npm audit/i
|
|
537
|
+
];
|
|
212
538
|
const out = [];
|
|
213
539
|
for (const line of lines) {
|
|
214
540
|
if (( dropPatterns.some(re => re.test(line)))) {
|
|
@@ -223,10 +549,52 @@ const npmInstallFilter = {
|
|
|
223
549
|
};
|
|
224
550
|
}
|
|
225
551
|
};
|
|
552
|
+
const envFilter = {
|
|
553
|
+
id: "terminal.env",
|
|
554
|
+
toolIds: [TerminalToolId.RunInTerminal],
|
|
555
|
+
matches(_toolId, input) {
|
|
556
|
+
if (!isTerminalInput(input)) {
|
|
557
|
+
return false;
|
|
558
|
+
}
|
|
559
|
+
const parsed = parseCommand(input.command);
|
|
560
|
+
if (!parsed) {
|
|
561
|
+
return false;
|
|
562
|
+
}
|
|
563
|
+
for (const seg of parsed.segments) {
|
|
564
|
+
const head = segmentHead(seg);
|
|
565
|
+
if (head?.head === "printenv") {
|
|
566
|
+
return true;
|
|
567
|
+
}
|
|
568
|
+
if (head === undefined && seg.wrappers.length > 0 && seg.wrappers[seg.wrappers.length - 1] === "env" && seg.tokens.length === 0) {
|
|
569
|
+
return true;
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
return false;
|
|
573
|
+
},
|
|
574
|
+
apply(text) {
|
|
575
|
+
const lines = text.split("\n").filter(l => l.trim() !== "");
|
|
576
|
+
const unique = Array.from(( new Set(lines))).sort();
|
|
577
|
+
const result = unique.join("\n");
|
|
578
|
+
return {
|
|
579
|
+
text: result,
|
|
580
|
+
compressed: result.length < text.length
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
};
|
|
226
584
|
function registerTerminalCompressors(compressor) {
|
|
227
585
|
compressor.registerFilter(gitDiffFilter);
|
|
586
|
+
compressor.registerFilter(gitLogFilter);
|
|
587
|
+
compressor.registerFilter(gitStatusFilter);
|
|
228
588
|
compressor.registerFilter(lsFilter);
|
|
589
|
+
compressor.registerFilter(findFilter);
|
|
590
|
+
compressor.registerFilter(grepFilter);
|
|
591
|
+
compressor.registerFilter(treeFilter);
|
|
592
|
+
compressor.registerFilter(testRunnerFilter);
|
|
593
|
+
compressor.registerFilter(buildToolFilter);
|
|
594
|
+
compressor.registerFilter(linterFilter);
|
|
229
595
|
compressor.registerFilter(npmInstallFilter);
|
|
596
|
+
compressor.registerFilter(envFilter);
|
|
597
|
+
compressor.registerCache(( new TerminalOutputCache()));
|
|
230
598
|
}
|
|
231
599
|
|
|
232
|
-
export { gitDiffFilter, lsFilter, npmInstallFilter,
|
|
600
|
+
export { buildToolFilter, envFilter, findFilter, gitDiffFilter, gitLogFilter, gitStatusFilter, grepFilter, linterFilter, lsFilter, npmInstallFilter, registerTerminalCompressors, testRunnerFilter, treeFilter };
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
2
|
import { type IRemoteFilesystemConnection } from "../../../../platform/agentHost/common/agentHostFileSystemProvider.js";
|
|
3
|
+
import { SYNCED_CUSTOMIZATION_SCHEME } from "../../../../platform/agentHost/common/agentHostFileSystemService.js";
|
|
3
4
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
4
5
|
import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
|
|
5
6
|
import { IAgentHostFileSystemService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/agentHost/common/agentHostFileSystemService.service";
|
|
6
|
-
|
|
7
|
-
* Scheme used for the in-memory plugin filesystem backing synced customizations.
|
|
8
|
-
*
|
|
9
|
-
* URIs under this scheme are served by a registered {@link InMemoryFileSystemProvider}
|
|
10
|
-
* and are reachable by the agent host via `fetchContent`.
|
|
11
|
-
*/
|
|
12
|
-
export declare const SYNCED_CUSTOMIZATION_SCHEME = "vscode-synced-customization";
|
|
7
|
+
export { SYNCED_CUSTOMIZATION_SCHEME };
|
|
13
8
|
export declare class AgentHostFileSystemService extends Disposable implements IAgentHostFileSystemService {
|
|
14
9
|
private readonly _fileService;
|
|
15
10
|
readonly _serviceBrand: undefined;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
4
|
import { AgentHostFileSystemProvider } from '../../../../platform/agentHost/common/agentHostFileSystemProvider.js';
|
|
5
|
+
import { SYNCED_CUSTOMIZATION_SCHEME } from '../../../../platform/agentHost/common/agentHostFileSystemService.js';
|
|
5
6
|
import { AGENT_HOST_SCHEME, AGENT_HOST_LABEL_FORMATTER } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
|
|
6
7
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
7
8
|
import { InMemoryFileSystemProvider } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/inMemoryFilesystemProvider';
|
|
@@ -9,7 +10,6 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/ext
|
|
|
9
10
|
import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
|
|
10
11
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
11
12
|
|
|
12
|
-
const SYNCED_CUSTOMIZATION_SCHEME = "vscode-synced-customization";
|
|
13
13
|
let AgentHostFileSystemService = class AgentHostFileSystemService extends Disposable {
|
|
14
14
|
constructor(_fileService, labelService) {
|
|
15
15
|
super();
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
export interface IQuotaSnapshotData {
|
|
2
|
-
readonly overage_count: number;
|
|
3
|
-
readonly overage_permitted: boolean;
|
|
4
|
-
readonly percent_remaining: number;
|
|
5
|
-
readonly unlimited: boolean;
|
|
6
|
-
readonly quota_reset_at?: number;
|
|
7
|
-
readonly token_based_billing?: boolean;
|
|
8
|
-
readonly entitlement?: string;
|
|
9
|
-
readonly has_quota?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface ILegacyQuotaSnapshotData {
|
|
12
|
-
readonly limited_user_quotas?: {
|
|
13
|
-
readonly chat: number;
|
|
14
|
-
readonly completions: number;
|
|
15
|
-
};
|
|
16
|
-
readonly monthly_quotas?: {
|
|
17
|
-
readonly chat: number;
|
|
18
|
-
readonly completions: number;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
export interface IEntitlementsData extends ILegacyQuotaSnapshotData {
|
|
22
|
-
readonly access_type_sku: string;
|
|
23
|
-
readonly chat_enabled: boolean;
|
|
24
|
-
readonly assigned_date: string;
|
|
25
|
-
readonly can_signup_for_limited: boolean;
|
|
26
|
-
readonly copilot_plan: string;
|
|
27
|
-
readonly organization_login_list: string[];
|
|
28
|
-
readonly analytics_tracking_id: string;
|
|
29
|
-
readonly limited_user_reset_date?: string;
|
|
30
|
-
readonly quota_reset_date?: string;
|
|
31
|
-
readonly quota_reset_date_utc?: string;
|
|
32
|
-
readonly token_based_billing?: boolean;
|
|
33
|
-
readonly quota_snapshots?: {
|
|
34
|
-
chat?: IQuotaSnapshotData;
|
|
35
|
-
completions?: IQuotaSnapshotData;
|
|
36
|
-
premium_interactions?: IQuotaSnapshotData;
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
export declare enum CopilotSessionSearchPolicy {
|
|
40
|
-
Unknown = 0,
|
|
41
|
-
Enabled = 1,
|
|
42
|
-
Disabled = 2,
|
|
43
|
-
Unconfigured = 3,
|
|
44
|
-
NoPolicy = 4
|
|
45
|
-
}
|
|
46
|
-
export interface IPolicyData {
|
|
47
|
-
readonly mcp?: boolean;
|
|
48
|
-
readonly chat_preview_features_enabled?: boolean;
|
|
49
|
-
readonly chat_agent_enabled?: boolean;
|
|
50
|
-
readonly session_search?: CopilotSessionSearchPolicy;
|
|
51
|
-
readonly mcpRegistryUrl?: string;
|
|
52
|
-
readonly mcpAccess?: "allow_all" | "registry_only";
|
|
53
|
-
}
|
|
54
|
-
export interface ICopilotTokenInfo {
|
|
55
|
-
readonly sn?: string;
|
|
56
|
-
readonly fcv1?: string;
|
|
57
|
-
}
|
|
58
|
-
export interface IDefaultAccountAuthenticationProvider {
|
|
59
|
-
readonly id: string;
|
|
60
|
-
readonly name: string;
|
|
61
|
-
readonly enterprise: boolean;
|
|
62
|
-
}
|
|
63
|
-
export interface IDefaultAccount {
|
|
64
|
-
readonly authenticationProvider: IDefaultAccountAuthenticationProvider;
|
|
65
|
-
readonly accountName: string;
|
|
66
|
-
readonly sessionId: string;
|
|
67
|
-
readonly enterprise: boolean;
|
|
68
|
-
readonly entitlementsData?: IEntitlementsData | null;
|
|
69
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var CopilotSessionSearchPolicy;
|
|
4
|
-
(function (CopilotSessionSearchPolicy) {
|
|
5
|
-
CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Unknown"] = 0] = "Unknown";
|
|
6
|
-
CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Enabled"] = 1] = "Enabled";
|
|
7
|
-
CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Disabled"] = 2] = "Disabled";
|
|
8
|
-
CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["Unconfigured"] = 3] = "Unconfigured";
|
|
9
|
-
CopilotSessionSearchPolicy[CopilotSessionSearchPolicy["NoPolicy"] = 4] = "NoPolicy";
|
|
10
|
-
})(CopilotSessionSearchPolicy || (CopilotSessionSearchPolicy = {}));
|
|
11
|
-
|
|
12
|
-
export { CopilotSessionSearchPolicy };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { EditSuggestionId } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource";
|
|
2
|
-
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
3
|
-
import { IEditTelemetryCodeAcceptedData, IEditTelemetryCodeRejectedData, IEditTelemetryCodeSuggestedData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService";
|
|
4
|
-
import { IAiEditTelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service";
|
|
5
|
-
import { IRandomService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/randomService.service";
|
|
6
|
-
export declare class AiEditTelemetryServiceImpl implements IAiEditTelemetryService {
|
|
7
|
-
private readonly instantiationService;
|
|
8
|
-
private readonly _randomService;
|
|
9
|
-
readonly _serviceBrand: undefined;
|
|
10
|
-
private readonly _telemetryService;
|
|
11
|
-
constructor(instantiationService: IInstantiationService, _randomService: IRandomService);
|
|
12
|
-
createSuggestionId(data: Omit<IEditTelemetryCodeSuggestedData, "suggestionId">): EditSuggestionId;
|
|
13
|
-
handleCodeAccepted(data: IEditTelemetryCodeAcceptedData): void;
|
|
14
|
-
handleCodeRejected(data: IEditTelemetryCodeRejectedData): void;
|
|
15
|
-
}
|