@codingame/monaco-vscode-chat-service-override 32.0.1 → 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
package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js
CHANGED
|
@@ -15,8 +15,8 @@ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform
|
|
|
15
15
|
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
16
16
|
import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
17
17
|
|
|
18
|
-
const RUN_WITHOUT_APPROVAL = ( localize(
|
|
19
|
-
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(
|
|
18
|
+
const RUN_WITHOUT_APPROVAL = ( localize(7028, "without approval"));
|
|
19
|
+
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(7029, "without reviewing result"));
|
|
20
20
|
class GenericConfirmStore extends Disposable {
|
|
21
21
|
constructor(_storageKey, _instantiationService) {
|
|
22
22
|
super();
|
|
@@ -275,9 +275,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
275
275
|
arguments: combinationArgs
|
|
276
276
|
} = ref.combination;
|
|
277
277
|
actions.push({
|
|
278
|
-
label: ( localize(
|
|
278
|
+
label: ( localize(7030, "{0} in this Session", combinationLabel)),
|
|
279
279
|
detail: ( localize(
|
|
280
|
-
|
|
280
|
+
7031,
|
|
281
281
|
"Allow this particular combination of tool and arguments in this session without confirmation."
|
|
282
282
|
)),
|
|
283
283
|
divider: !!actions.length,
|
|
@@ -287,9 +287,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
287
287
|
return true;
|
|
288
288
|
}
|
|
289
289
|
}, {
|
|
290
|
-
label: ( localize(
|
|
290
|
+
label: ( localize(7032, "{0} in this Workspace", combinationLabel)),
|
|
291
291
|
detail: ( localize(
|
|
292
|
-
|
|
292
|
+
7033,
|
|
293
293
|
"Allow this particular combination of tool and arguments in this workspace without confirmation."
|
|
294
294
|
)),
|
|
295
295
|
scope: "workspace",
|
|
@@ -298,9 +298,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
298
298
|
return true;
|
|
299
299
|
}
|
|
300
300
|
}, {
|
|
301
|
-
label: ( localize(
|
|
301
|
+
label: ( localize(7034, "Always {0}", combinationLabel)),
|
|
302
302
|
detail: ( localize(
|
|
303
|
-
|
|
303
|
+
7035,
|
|
304
304
|
"Always allow this particular combination of tool and arguments without confirmation."
|
|
305
305
|
)),
|
|
306
306
|
scope: "profile",
|
|
@@ -311,8 +311,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
311
311
|
});
|
|
312
312
|
}
|
|
313
313
|
actions.push({
|
|
314
|
-
label: ( localize(
|
|
315
|
-
detail: ( localize(
|
|
314
|
+
label: ( localize(7036, "Allow in this Session")),
|
|
315
|
+
detail: ( localize(7037, "Allow this tool to run in this session without confirmation.")),
|
|
316
316
|
divider: !!actions.length,
|
|
317
317
|
scope: "session",
|
|
318
318
|
select: async () => {
|
|
@@ -320,16 +320,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
320
320
|
return true;
|
|
321
321
|
}
|
|
322
322
|
}, {
|
|
323
|
-
label: ( localize(
|
|
324
|
-
detail: ( localize(
|
|
323
|
+
label: ( localize(7038, "Allow in this Workspace")),
|
|
324
|
+
detail: ( localize(7039, "Allow this tool to run in this workspace without confirmation.")),
|
|
325
325
|
scope: "workspace",
|
|
326
326
|
select: async () => {
|
|
327
327
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
|
|
328
328
|
return true;
|
|
329
329
|
}
|
|
330
330
|
}, {
|
|
331
|
-
label: ( localize(
|
|
332
|
-
detail: ( localize(
|
|
331
|
+
label: ( localize(7040, "Always Allow")),
|
|
332
|
+
detail: ( localize(7041, "Always allow this tool to run without confirmation.")),
|
|
333
333
|
scope: "profile",
|
|
334
334
|
select: async () => {
|
|
335
335
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
|
|
@@ -342,9 +342,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
342
342
|
definitionId
|
|
343
343
|
} = ref.source;
|
|
344
344
|
actions.push({
|
|
345
|
-
label: ( localize(
|
|
345
|
+
label: ( localize(7042, "Allow Tools from {0} in this Session", serverLabel)),
|
|
346
346
|
detail: ( localize(
|
|
347
|
-
|
|
347
|
+
7043,
|
|
348
348
|
"Allow all tools from this server to run in this session without confirmation."
|
|
349
349
|
)),
|
|
350
350
|
divider: true,
|
|
@@ -354,9 +354,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
354
354
|
return true;
|
|
355
355
|
}
|
|
356
356
|
}, {
|
|
357
|
-
label: ( localize(
|
|
357
|
+
label: ( localize(7044, "Allow Tools from {0} in this Workspace", serverLabel)),
|
|
358
358
|
detail: ( localize(
|
|
359
|
-
|
|
359
|
+
7045,
|
|
360
360
|
"Allow all tools from this server to run in this workspace without confirmation."
|
|
361
361
|
)),
|
|
362
362
|
scope: "workspace",
|
|
@@ -365,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
365
365
|
return true;
|
|
366
366
|
}
|
|
367
367
|
}, {
|
|
368
|
-
label: ( localize(
|
|
368
|
+
label: ( localize(7046, "Always Allow Tools from {0}", serverLabel)),
|
|
369
369
|
detail: ( localize(
|
|
370
|
-
|
|
370
|
+
7047,
|
|
371
371
|
"Always allow all tools from this server to run without confirmation."
|
|
372
372
|
)),
|
|
373
373
|
scope: "profile",
|
|
@@ -389,9 +389,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
389
389
|
return actions;
|
|
390
390
|
}
|
|
391
391
|
actions.push({
|
|
392
|
-
label: ( localize(
|
|
392
|
+
label: ( localize(7048, "Allow Without Review in this Session")),
|
|
393
393
|
detail: ( localize(
|
|
394
|
-
|
|
394
|
+
7049,
|
|
395
395
|
"Allow results from this tool to be sent without confirmation in this session."
|
|
396
396
|
)),
|
|
397
397
|
divider: !!actions.length,
|
|
@@ -401,9 +401,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
401
401
|
return true;
|
|
402
402
|
}
|
|
403
403
|
}, {
|
|
404
|
-
label: ( localize(
|
|
404
|
+
label: ( localize(7050, "Allow Without Review in this Workspace")),
|
|
405
405
|
detail: ( localize(
|
|
406
|
-
|
|
406
|
+
7051,
|
|
407
407
|
"Allow results from this tool to be sent without confirmation in this workspace."
|
|
408
408
|
)),
|
|
409
409
|
scope: "workspace",
|
|
@@ -412,9 +412,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
412
412
|
return true;
|
|
413
413
|
}
|
|
414
414
|
}, {
|
|
415
|
-
label: ( localize(
|
|
415
|
+
label: ( localize(7052, "Always Allow Without Review")),
|
|
416
416
|
detail: ( localize(
|
|
417
|
-
|
|
417
|
+
7053,
|
|
418
418
|
"Always allow results from this tool to be sent without confirmation."
|
|
419
419
|
)),
|
|
420
420
|
scope: "profile",
|
|
@@ -429,9 +429,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
429
429
|
definitionId
|
|
430
430
|
} = ref.source;
|
|
431
431
|
actions.push({
|
|
432
|
-
label: ( localize(
|
|
432
|
+
label: ( localize(7054, "Allow Tools from {0} Without Review in this Session", serverLabel)),
|
|
433
433
|
detail: ( localize(
|
|
434
|
-
|
|
434
|
+
7055,
|
|
435
435
|
"Allow results from all tools from this server to be sent without confirmation in this session."
|
|
436
436
|
)),
|
|
437
437
|
divider: true,
|
|
@@ -441,9 +441,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
441
441
|
return true;
|
|
442
442
|
}
|
|
443
443
|
}, {
|
|
444
|
-
label: ( localize(
|
|
444
|
+
label: ( localize(7056, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
|
|
445
445
|
detail: ( localize(
|
|
446
|
-
|
|
446
|
+
7057,
|
|
447
447
|
"Allow results from all tools from this server to be sent without confirmation in this workspace."
|
|
448
448
|
)),
|
|
449
449
|
scope: "workspace",
|
|
@@ -452,9 +452,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
452
452
|
return true;
|
|
453
453
|
}
|
|
454
454
|
}, {
|
|
455
|
-
label: ( localize(
|
|
455
|
+
label: ( localize(7058, "Always Allow Tools from {0} Without Review", serverLabel)),
|
|
456
456
|
detail: ( localize(
|
|
457
|
-
|
|
457
|
+
7059,
|
|
458
458
|
"Always allow results from all tools from this server to be sent without confirmation."
|
|
459
459
|
)),
|
|
460
460
|
scope: "profile",
|
|
@@ -505,7 +505,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
505
505
|
manageConfirmationPreferences(tools, options) {
|
|
506
506
|
const viewArgsButton = {
|
|
507
507
|
iconClass: ThemeIcon.asClassName(Codicon.info),
|
|
508
|
-
tooltip: ( localize(
|
|
508
|
+
tooltip: ( localize(7060, "View Arguments"))
|
|
509
509
|
};
|
|
510
510
|
const trackServerTool = (serverId, label, toolId, serversWithTools) => {
|
|
511
511
|
if (!( serversWithTools.has(serverId))) {
|
|
@@ -652,7 +652,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
652
652
|
type: "server-post",
|
|
653
653
|
serverId,
|
|
654
654
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
655
|
-
label: ( localize(
|
|
655
|
+
label: ( localize(7061, "Continue without reviewing any tool results")),
|
|
656
656
|
checked: serverPostConfirmed
|
|
657
657
|
});
|
|
658
658
|
}
|
|
@@ -661,7 +661,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
661
661
|
type: "server-pre",
|
|
662
662
|
serverId,
|
|
663
663
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
664
|
-
label: ( localize(
|
|
664
|
+
label: ( localize(7062, "Run any tool without approval")),
|
|
665
665
|
checked: serverPreConfirmed
|
|
666
666
|
});
|
|
667
667
|
}
|
|
@@ -779,7 +779,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
779
779
|
if (currentScope !== "session") {
|
|
780
780
|
const scopeButton = {
|
|
781
781
|
iconClass: ThemeIcon.asClassName(Codicon.folder),
|
|
782
|
-
tooltip: ( localize(
|
|
782
|
+
tooltip: ( localize(7063, "Configure for this workspace only")),
|
|
783
783
|
toggle: {
|
|
784
784
|
checked: currentScope === "workspace"
|
|
785
785
|
},
|
|
@@ -796,9 +796,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
796
796
|
}
|
|
797
797
|
const updatePlaceholder = () => {
|
|
798
798
|
if (currentScope === "session") {
|
|
799
|
-
quickTree.placeholder = ( localize(
|
|
799
|
+
quickTree.placeholder = ( localize(7064, "Configure session tool approvals"));
|
|
800
800
|
} else {
|
|
801
|
-
quickTree.placeholder = currentScope === "workspace" ? ( localize(
|
|
801
|
+
quickTree.placeholder = currentScope === "workspace" ? ( localize(7065, "Configure workspace tool approvals")) : ( localize(7066, "Configure global tool approvals"));
|
|
802
802
|
}
|
|
803
803
|
};
|
|
804
804
|
updatePlaceholder();
|
|
@@ -849,7 +849,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
849
849
|
i.item.onDidTriggerItemButton?.(i.button);
|
|
850
850
|
} else if (i.item.type === "combination" && i.button === viewArgsButton && i.item.combinationArgs) {
|
|
851
851
|
this._dialogService.prompt({
|
|
852
|
-
message: ( localize(
|
|
852
|
+
message: ( localize(7067, "Arguments")),
|
|
853
853
|
buttons: [],
|
|
854
854
|
custom: {
|
|
855
855
|
markdownDetails: [{
|
|
@@ -71,6 +71,7 @@ export declare class LanguageModelToolsService extends Disposable implements ILa
|
|
|
71
71
|
private _pendingGlobalAutoApproveCheck;
|
|
72
72
|
private readonly _isAgentModeEnabled;
|
|
73
73
|
constructor(_instantiationService: IInstantiationService, _extensionService: IExtensionService, _contextKeyService: IContextKeyService, _chatService: IChatService, _dialogService: IDialogService, _telemetryService: ITelemetryService, _logService: ILogService, _configurationService: IConfigurationService, _accessibilityService: IAccessibilityService, _accessibilitySignalService: IAccessibilitySignalService, _storageService: IStorageService, _confirmationService: ILanguageModelToolsConfirmationService, _commandService: ICommandService, _chatWidgetService: IChatWidgetService, _toolResultCompressor: IToolResultCompressor);
|
|
74
|
+
private isToolEnabledForModel;
|
|
74
75
|
/**
|
|
75
76
|
* Returns if the given tool or toolset is permitted in the current context.
|
|
76
77
|
* When agent mode is enabled, all tools are permitted (no restriction)
|
|
@@ -45,8 +45,9 @@ import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/wor
|
|
|
45
45
|
import { ChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation';
|
|
46
46
|
import { chatSessionResourceToId, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
47
47
|
import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
|
|
48
|
+
import { CopilotChatSettingId, CopilotToolId } from '../../common/tools/copilotToolIds.js';
|
|
48
49
|
import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
|
|
49
|
-
import { ToolDataSource, VSCodeToolReference, SpecedToolAliases, isToolSet, createToolSchemaUri,
|
|
50
|
+
import { ToolDataSource, VSCodeToolReference, SpecedToolAliases, toolMatchesModel, isToolSet, createToolSchemaUri, ToolInvocationPresentation, stringifyPromptTsxPart, ToolSetForModel, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
50
51
|
import { IToolResultCompressor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service';
|
|
51
52
|
import { getToolConfirmationAlert } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider';
|
|
52
53
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
@@ -68,7 +69,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
|
|
|
68
69
|
"vscode_get_modified_files_confirmation"
|
|
69
70
|
]));
|
|
70
71
|
const globalAutoApproveDescription = ( localize2(
|
|
71
|
-
|
|
72
|
+
7068,
|
|
72
73
|
"Global auto approve also known as \"YOLO mode\" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine.**\n\nNote: This setting only controls tool approval and does not prevent the agent from asking questions. To automatically answer agent questions, use the [`chat.autoReply`](command:workbench.action.openSettings?%5B%22chat.autoReply%22%5D) setting."
|
|
73
74
|
));
|
|
74
75
|
let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
|
|
@@ -156,7 +157,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
156
157
|
}
|
|
157
158
|
}));
|
|
158
159
|
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
159
|
-
if (e.affectsConfiguration(ChatConfiguration.ExtensionToolsEnabled) || e.affectsConfiguration(ChatConfiguration.AgentEnabled)) {
|
|
160
|
+
if (e.affectsConfiguration(ChatConfiguration.ExtensionToolsEnabled) || e.affectsConfiguration(ChatConfiguration.AgentEnabled) || e.affectsConfiguration(CopilotChatSettingId.Gpt55ReadFileToolEnabled)) {
|
|
160
161
|
this._onDidChangeToolsScheduler.schedule();
|
|
161
162
|
}
|
|
162
163
|
}));
|
|
@@ -173,28 +174,37 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
173
174
|
this.vscodeToolSet = this._register(
|
|
174
175
|
this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
|
|
175
176
|
icon: ThemeIcon.fromId(Codicon.vscode.id),
|
|
176
|
-
description: ( localize(
|
|
177
|
+
description: ( localize(7069, "Use VS Code features"))
|
|
177
178
|
})
|
|
178
179
|
);
|
|
179
180
|
this.executeToolSet = this._register(
|
|
180
181
|
this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
|
|
181
182
|
icon: ThemeIcon.fromId(Codicon.terminal.id),
|
|
182
|
-
description: ( localize(
|
|
183
|
+
description: ( localize(7070, "Execute code and applications on your machine"))
|
|
183
184
|
})
|
|
184
185
|
);
|
|
185
186
|
this.readToolSet = this._register(
|
|
186
187
|
this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
|
|
187
188
|
icon: ThemeIcon.fromId(Codicon.book.id),
|
|
188
|
-
description: ( localize(
|
|
189
|
+
description: ( localize(7071, "Read files in your workspace"))
|
|
189
190
|
})
|
|
190
191
|
);
|
|
191
192
|
this.agentToolSet = this._register(
|
|
192
193
|
this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
|
|
193
194
|
icon: ThemeIcon.fromId(Codicon.agent.id),
|
|
194
|
-
description: ( localize(
|
|
195
|
+
description: ( localize(7072, "Delegate tasks to other agents"))
|
|
195
196
|
})
|
|
196
197
|
);
|
|
197
198
|
}
|
|
199
|
+
isToolEnabledForModel(toolData, model) {
|
|
200
|
+
if (!toolMatchesModel(toolData, model)) {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
if (toolData.id === CopilotToolId.ReadFile && model?.family.startsWith("gpt-5.5") && this._configurationService.getValue(CopilotChatSettingId.Gpt55ReadFileToolEnabled) === false) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
198
208
|
isPermitted(toolOrToolSet, reader) {
|
|
199
209
|
const agentModeEnabled = this._isAgentModeEnabled.read(reader);
|
|
200
210
|
if (agentModeEnabled !== false) {
|
|
@@ -306,7 +316,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
306
316
|
const satisfiesWhenClause = !toolData.when || this._contextKeyService.contextMatchesRules(toolData.when);
|
|
307
317
|
const satisfiesExternalToolCheck = toolData.source.type !== "extension" || !!extensionToolsEnabled;
|
|
308
318
|
const satisfiesPermittedCheck = this.isPermitted(toolData);
|
|
309
|
-
const satisfiesModelFilter =
|
|
319
|
+
const satisfiesModelFilter = this.isToolEnabledForModel(toolData, model);
|
|
310
320
|
return satisfiesWhenClause && satisfiesExternalToolCheck && satisfiesPermittedCheck && satisfiesModelFilter;
|
|
311
321
|
});
|
|
312
322
|
}
|
|
@@ -345,8 +355,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
345
355
|
return undefined;
|
|
346
356
|
}
|
|
347
357
|
_handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
|
|
348
|
-
const hookReason = hookResult.permissionDecisionReason ?? ( localize(
|
|
349
|
-
const reason = ( localize(
|
|
358
|
+
const hookReason = hookResult.permissionDecisionReason ?? ( localize(7073, "Hook denied tool execution"));
|
|
359
|
+
const reason = ( localize(7074, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
|
|
350
360
|
this._logService.debug(
|
|
351
361
|
`[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
|
|
352
362
|
);
|
|
@@ -684,7 +694,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
684
694
|
async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
|
|
685
695
|
let forceConfirmationReason;
|
|
686
696
|
if (hookResult?.permissionDecision === "ask") {
|
|
687
|
-
const hookMessage = ( localize(
|
|
697
|
+
const hookMessage = ( localize(7075, "{0} required confirmation", HookType.PreToolUse));
|
|
688
698
|
forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
|
|
689
699
|
}
|
|
690
700
|
return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
|
|
@@ -727,7 +737,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
727
737
|
return {
|
|
728
738
|
autoConfirmed: {
|
|
729
739
|
type: ToolConfirmKind.ConfirmationNotNeeded,
|
|
730
|
-
reason: ( localize(
|
|
740
|
+
reason: ( localize(7076, "Allowed by hook"))
|
|
731
741
|
},
|
|
732
742
|
preparedInvocation
|
|
733
743
|
};
|
|
@@ -743,14 +753,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
743
753
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
744
754
|
const hookReason = hookResult.permissionDecisionReason;
|
|
745
755
|
const hookNote = hookReason ? ( localize(
|
|
746
|
-
|
|
756
|
+
7077,
|
|
747
757
|
"{0} hook required confirmation: {1}",
|
|
748
758
|
HookType.PreToolUse,
|
|
749
759
|
hookReason
|
|
750
|
-
)) : ( localize(
|
|
760
|
+
)) : ( localize(7078, "{0} hook required confirmation", HookType.PreToolUse));
|
|
751
761
|
preparedInvocation.confirmationMessages = {
|
|
752
762
|
...preparedInvocation.confirmationMessages,
|
|
753
|
-
title: ( localize(
|
|
763
|
+
title: ( localize(7079, "Use the '{0}' tool?", fullReferenceName)),
|
|
754
764
|
message: ( new MarkdownString(`_${hookNote}_`)),
|
|
755
765
|
allowAutoConfirm: false
|
|
756
766
|
};
|
|
@@ -761,11 +771,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
761
771
|
} else {
|
|
762
772
|
const hookReason = hookResult.permissionDecisionReason;
|
|
763
773
|
const hookNote = hookReason ? ( localize(
|
|
764
|
-
|
|
774
|
+
7080,
|
|
765
775
|
"{0} hook required confirmation: {1}",
|
|
766
776
|
HookType.PreToolUse,
|
|
767
777
|
hookReason
|
|
768
|
-
)) : ( localize(
|
|
778
|
+
)) : ( localize(7081, "{0} hook required confirmation", HookType.PreToolUse));
|
|
769
779
|
const existing = preparedInvocation.confirmationMessages;
|
|
770
780
|
if (preparedInvocation.toolSpecificData?.kind === "terminal") {
|
|
771
781
|
const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
|
|
@@ -842,17 +852,17 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
842
852
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
843
853
|
prepared.confirmationMessages = {
|
|
844
854
|
...prepared.confirmationMessages,
|
|
845
|
-
title: ( localize(
|
|
846
|
-
message: ( localize(
|
|
855
|
+
title: ( localize(7082, "Confirm tool execution")),
|
|
856
|
+
message: ( localize(7083, "Run the '{0}' tool?", fullReferenceName)),
|
|
847
857
|
disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
848
|
-
|
|
858
|
+
7084,
|
|
849
859
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
850
860
|
getToolFullReferenceName(tool.data),
|
|
851
861
|
createMarkdownCommandLink({
|
|
852
862
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
853
863
|
id: "workbench.action.openSettings",
|
|
854
864
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
855
|
-
tooltip: ( localize(
|
|
865
|
+
tooltip: ( localize(7085, "Open settings to configure auto-approval"))
|
|
856
866
|
}, false)
|
|
857
867
|
)), {
|
|
858
868
|
isTrusted: true
|
|
@@ -862,14 +872,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
862
872
|
}
|
|
863
873
|
if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
|
|
864
874
|
prepared.confirmationMessages.disclaimer = ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
865
|
-
|
|
875
|
+
7084,
|
|
866
876
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
867
877
|
getToolFullReferenceName(tool.data),
|
|
868
878
|
createMarkdownCommandLink({
|
|
869
879
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
870
880
|
id: "workbench.action.openSettings",
|
|
871
881
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
872
|
-
tooltip: ( localize(
|
|
882
|
+
tooltip: ( localize(7085, "Open settings to configure auto-approval"))
|
|
873
883
|
}, false)
|
|
874
884
|
)), {
|
|
875
885
|
isTrusted: true
|
|
@@ -1221,12 +1231,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1221
1231
|
}));
|
|
1222
1232
|
const promptResult = await this._dialogService.prompt({
|
|
1223
1233
|
type: Severity.Warning,
|
|
1224
|
-
message: ( localize(
|
|
1234
|
+
message: ( localize(7086, "Enable global auto approve?")),
|
|
1225
1235
|
buttons: [{
|
|
1226
|
-
label: ( localize(
|
|
1236
|
+
label: ( localize(7087, "Enable")),
|
|
1227
1237
|
run: () => true
|
|
1228
1238
|
}, {
|
|
1229
|
-
label: ( localize(
|
|
1239
|
+
label: ( localize(7088, "Disable")),
|
|
1230
1240
|
run: () => false
|
|
1231
1241
|
}],
|
|
1232
1242
|
custom: {
|
|
@@ -1369,7 +1379,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1369
1379
|
}
|
|
1370
1380
|
}
|
|
1371
1381
|
} else {
|
|
1372
|
-
if (
|
|
1382
|
+
if (!this.isToolEnabledForModel(tool, model)) {
|
|
1373
1383
|
continue;
|
|
1374
1384
|
}
|
|
1375
1385
|
if (!( result.has(tool))) {
|
|
@@ -1430,7 +1440,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1430
1440
|
if (!model) {
|
|
1431
1441
|
return this.toolSets.read(reader);
|
|
1432
1442
|
}
|
|
1433
|
-
return ( Iterable.map(this.toolSets.read(reader), ts => ( new ToolSetForModel(ts, model))));
|
|
1443
|
+
return ( Iterable.map(this.toolSets.read(reader), ts => ( new ToolSetForModel(ts, model, toolData => this.isToolEnabledForModel(toolData, model)))));
|
|
1434
1444
|
}
|
|
1435
1445
|
getToolSet(id) {
|
|
1436
1446
|
for (const toolSet of this._toolSets) {
|
|
@@ -12,7 +12,6 @@ import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs
|
|
|
12
12
|
import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
|
|
13
13
|
import { rename } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/rename/browser/rename';
|
|
14
14
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
15
|
-
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
16
15
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
17
16
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
18
17
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
@@ -53,7 +52,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
53
52
|
this._bulkEditService = _bulkEditService;
|
|
54
53
|
}
|
|
55
54
|
getToolData() {
|
|
56
|
-
return this._buildToolData(StaticModelDescription, ( localize(
|
|
55
|
+
return this._buildToolData(StaticModelDescription, ( localize(7089, "Rename a symbol across the workspace")));
|
|
57
56
|
}
|
|
58
57
|
_buildToolData(modelDescription, userDescription) {
|
|
59
58
|
return {
|
|
@@ -61,11 +60,10 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
61
60
|
toolReferenceName: "rename",
|
|
62
61
|
canBeReferencedInPrompt: false,
|
|
63
62
|
icon: ThemeIcon.fromId(Codicon.rename.id),
|
|
64
|
-
displayName: ( localize(
|
|
63
|
+
displayName: ( localize(7090, "Rename Symbol")),
|
|
65
64
|
userDescription,
|
|
66
65
|
modelDescription,
|
|
67
66
|
source: ToolDataSource.Internal,
|
|
68
|
-
when: ( ContextKeyExpr.has("config.chat.tools.renameTool.enabled")),
|
|
69
67
|
inputSchema: {
|
|
70
68
|
type: "object",
|
|
71
69
|
properties: {
|
|
@@ -97,7 +95,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
97
95
|
async prepareToolInvocation(context, _token) {
|
|
98
96
|
const input = context.parameters;
|
|
99
97
|
return {
|
|
100
|
-
invocationMessage: ( localize(
|
|
98
|
+
invocationMessage: ( localize(7091, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
|
|
101
99
|
};
|
|
102
100
|
}
|
|
103
101
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -185,13 +183,13 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
185
183
|
}
|
|
186
184
|
_successResult(input, fileCount, editCount) {
|
|
187
185
|
const text = editCount === 1 ? ( localize(
|
|
188
|
-
|
|
186
|
+
7092,
|
|
189
187
|
"Renamed `{0}` to `{1}` - 1 edit in {2} file.",
|
|
190
188
|
input.symbol,
|
|
191
189
|
input.newName,
|
|
192
190
|
fileCount
|
|
193
191
|
)) : ( localize(
|
|
194
|
-
|
|
192
|
+
7093,
|
|
195
193
|
"Renamed `{0}` to `{1}` - {2} edits across {3} files.",
|
|
196
194
|
input.symbol,
|
|
197
195
|
input.newName,
|
|
@@ -3,7 +3,7 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
3
3
|
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
4
4
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
5
5
|
import { IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
|
|
6
|
-
import { IToolResultFilter } from "
|
|
6
|
+
import { IToolResultCache, IToolResultFilter } from "../../common/tools/toolResultCompressor.js";
|
|
7
7
|
import { IToolResultCompressor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service";
|
|
8
8
|
export declare class ToolResultCompressorService extends Disposable implements IToolResultCompressor {
|
|
9
9
|
private readonly _configurationService;
|
|
@@ -11,8 +11,12 @@ export declare class ToolResultCompressorService extends Disposable implements I
|
|
|
11
11
|
private readonly _logService;
|
|
12
12
|
readonly _serviceBrand: undefined;
|
|
13
13
|
private readonly _filters;
|
|
14
|
+
private readonly _caches;
|
|
14
15
|
constructor(_configurationService: IConfigurationService, _telemetryService: ITelemetryService, _logService: ILogService);
|
|
15
16
|
registerFilter(filter: IToolResultFilter): void;
|
|
17
|
+
registerCache(cache: IToolResultCache): void;
|
|
16
18
|
maybeCompress(toolId: string, input: unknown, result: IToolResult): IToolResult | undefined;
|
|
19
|
+
private _buildCacheHitResult;
|
|
20
|
+
private _recordInCaches;
|
|
17
21
|
private _sendTelemetry;
|
|
18
22
|
}
|