@codingame/monaco-vscode-chat-service-override 33.0.8 → 34.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +19 -5
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
- package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
- package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
- package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
- package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
- package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
- package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
- package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
- 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 +106 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
- 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 +21 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
- 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 +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -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 +70 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
- 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 +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -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/aiCustomization/aiCustomizationDebugPanel.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
- 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/chatEditingEditorAccessibility.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 +3 -3
- 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/chatGoalSummaryService.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +126 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
- 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/githubRepoFetcher.js +1 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
- 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 +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
- 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.d.ts +1 -1
- 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/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.js +24 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- 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/chatInputCompletions.js +22 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
- 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.d.ts +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- 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 +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- 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 +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
- 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 +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
- package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
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(7148, "without approval"));
|
|
19
|
+
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(7149, "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(7150, "{0} in this Session", combinationLabel)),
|
|
279
279
|
detail: ( localize(
|
|
280
|
-
|
|
280
|
+
7151,
|
|
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(7152, "{0} in this Workspace", combinationLabel)),
|
|
291
291
|
detail: ( localize(
|
|
292
|
-
|
|
292
|
+
7153,
|
|
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(7154, "Always {0}", combinationLabel)),
|
|
302
302
|
detail: ( localize(
|
|
303
|
-
|
|
303
|
+
7155,
|
|
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(7156, "Allow in this Session")),
|
|
315
|
+
detail: ( localize(7157, "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(7158, "Allow in this Workspace")),
|
|
324
|
+
detail: ( localize(7159, "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(7160, "Always Allow")),
|
|
332
|
+
detail: ( localize(7161, "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(7162, "Allow Tools from {0} in this Session", serverLabel)),
|
|
346
346
|
detail: ( localize(
|
|
347
|
-
|
|
347
|
+
7163,
|
|
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(7164, "Allow Tools from {0} in this Workspace", serverLabel)),
|
|
358
358
|
detail: ( localize(
|
|
359
|
-
|
|
359
|
+
7165,
|
|
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(7166, "Always Allow Tools from {0}", serverLabel)),
|
|
369
369
|
detail: ( localize(
|
|
370
|
-
|
|
370
|
+
7167,
|
|
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(7168, "Allow Without Review in this Session")),
|
|
393
393
|
detail: ( localize(
|
|
394
|
-
|
|
394
|
+
7169,
|
|
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(7170, "Allow Without Review in this Workspace")),
|
|
405
405
|
detail: ( localize(
|
|
406
|
-
|
|
406
|
+
7171,
|
|
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(7172, "Always Allow Without Review")),
|
|
416
416
|
detail: ( localize(
|
|
417
|
-
|
|
417
|
+
7173,
|
|
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(7174, "Allow Tools from {0} Without Review in this Session", serverLabel)),
|
|
433
433
|
detail: ( localize(
|
|
434
|
-
|
|
434
|
+
7175,
|
|
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(7176, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
|
|
445
445
|
detail: ( localize(
|
|
446
|
-
|
|
446
|
+
7177,
|
|
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(7178, "Always Allow Tools from {0} Without Review", serverLabel)),
|
|
456
456
|
detail: ( localize(
|
|
457
|
-
|
|
457
|
+
7179,
|
|
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(7180, "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(7181, "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(7182, "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(7183, "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(7184, "Configure session tool approvals"));
|
|
800
800
|
} else {
|
|
801
|
-
quickTree.placeholder = currentScope === "workspace" ? ( localize(
|
|
801
|
+
quickTree.placeholder = currentScope === "workspace" ? ( localize(7185, "Configure workspace tool approvals")) : ( localize(7186, "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(7187, "Arguments")),
|
|
853
853
|
buttons: [],
|
|
854
854
|
custom: {
|
|
855
855
|
markdownDetails: [{
|
|
@@ -69,7 +69,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
|
|
|
69
69
|
"vscode_get_modified_files_confirmation"
|
|
70
70
|
]));
|
|
71
71
|
const globalAutoApproveDescription = ( localize2(
|
|
72
|
-
|
|
72
|
+
7188,
|
|
73
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."
|
|
74
74
|
));
|
|
75
75
|
let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
|
|
@@ -174,25 +174,25 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
174
174
|
this.vscodeToolSet = this._register(
|
|
175
175
|
this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
|
|
176
176
|
icon: ThemeIcon.fromId(Codicon.vscode.id),
|
|
177
|
-
description: ( localize(
|
|
177
|
+
description: ( localize(7189, "Use VS Code features"))
|
|
178
178
|
})
|
|
179
179
|
);
|
|
180
180
|
this.executeToolSet = this._register(
|
|
181
181
|
this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
|
|
182
182
|
icon: ThemeIcon.fromId(Codicon.terminal.id),
|
|
183
|
-
description: ( localize(
|
|
183
|
+
description: ( localize(7190, "Execute code and applications on your machine"))
|
|
184
184
|
})
|
|
185
185
|
);
|
|
186
186
|
this.readToolSet = this._register(
|
|
187
187
|
this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
|
|
188
188
|
icon: ThemeIcon.fromId(Codicon.book.id),
|
|
189
|
-
description: ( localize(
|
|
189
|
+
description: ( localize(7191, "Read files in your workspace"))
|
|
190
190
|
})
|
|
191
191
|
);
|
|
192
192
|
this.agentToolSet = this._register(
|
|
193
193
|
this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
|
|
194
194
|
icon: ThemeIcon.fromId(Codicon.agent.id),
|
|
195
|
-
description: ( localize(
|
|
195
|
+
description: ( localize(7192, "Delegate tasks to other agents"))
|
|
196
196
|
})
|
|
197
197
|
);
|
|
198
198
|
}
|
|
@@ -355,8 +355,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
355
355
|
return undefined;
|
|
356
356
|
}
|
|
357
357
|
_handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
|
|
358
|
-
const hookReason = hookResult.permissionDecisionReason ?? ( localize(
|
|
359
|
-
const reason = ( localize(
|
|
358
|
+
const hookReason = hookResult.permissionDecisionReason ?? ( localize(7193, "Hook denied tool execution"));
|
|
359
|
+
const reason = ( localize(7194, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
|
|
360
360
|
this._logService.debug(
|
|
361
361
|
`[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
|
|
362
362
|
);
|
|
@@ -694,7 +694,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
694
694
|
async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
|
|
695
695
|
let forceConfirmationReason;
|
|
696
696
|
if (hookResult?.permissionDecision === "ask") {
|
|
697
|
-
const hookMessage = ( localize(
|
|
697
|
+
const hookMessage = ( localize(7195, "{0} required confirmation", HookType.PreToolUse));
|
|
698
698
|
forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
|
|
699
699
|
}
|
|
700
700
|
return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
|
|
@@ -717,6 +717,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
717
717
|
const terminalData = dto.toolSpecificData?.kind === "terminal" ? dto.toolSpecificData : undefined;
|
|
718
718
|
this._telemetryService.publicLog2("chat.toolApproval", {
|
|
719
719
|
confirmKind: confirmKindNames[reason.type],
|
|
720
|
+
requestId: dto.chatRequestId,
|
|
720
721
|
settingId: reason.type === ToolConfirmKind.Setting ? reason.id : undefined,
|
|
721
722
|
lmServiceScope: reason.type === ToolConfirmKind.LmServicePerTool ? reason.scope : undefined,
|
|
722
723
|
customButtonKind: reason.type === ToolConfirmKind.UserAction ? reason.selectedButtonKind : undefined,
|
|
@@ -737,7 +738,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
737
738
|
return {
|
|
738
739
|
autoConfirmed: {
|
|
739
740
|
type: ToolConfirmKind.ConfirmationNotNeeded,
|
|
740
|
-
reason: ( localize(
|
|
741
|
+
reason: ( localize(7196, "Allowed by hook"))
|
|
741
742
|
},
|
|
742
743
|
preparedInvocation
|
|
743
744
|
};
|
|
@@ -753,14 +754,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
753
754
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
754
755
|
const hookReason = hookResult.permissionDecisionReason;
|
|
755
756
|
const hookNote = hookReason ? ( localize(
|
|
756
|
-
|
|
757
|
+
7197,
|
|
757
758
|
"{0} hook required confirmation: {1}",
|
|
758
759
|
HookType.PreToolUse,
|
|
759
760
|
hookReason
|
|
760
|
-
)) : ( localize(
|
|
761
|
+
)) : ( localize(7198, "{0} hook required confirmation", HookType.PreToolUse));
|
|
761
762
|
preparedInvocation.confirmationMessages = {
|
|
762
763
|
...preparedInvocation.confirmationMessages,
|
|
763
|
-
title: ( localize(
|
|
764
|
+
title: ( localize(7199, "Use the '{0}' tool?", fullReferenceName)),
|
|
764
765
|
message: ( new MarkdownString(`_${hookNote}_`)),
|
|
765
766
|
allowAutoConfirm: false
|
|
766
767
|
};
|
|
@@ -771,11 +772,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
771
772
|
} else {
|
|
772
773
|
const hookReason = hookResult.permissionDecisionReason;
|
|
773
774
|
const hookNote = hookReason ? ( localize(
|
|
774
|
-
|
|
775
|
+
7200,
|
|
775
776
|
"{0} hook required confirmation: {1}",
|
|
776
777
|
HookType.PreToolUse,
|
|
777
778
|
hookReason
|
|
778
|
-
)) : ( localize(
|
|
779
|
+
)) : ( localize(7201, "{0} hook required confirmation", HookType.PreToolUse));
|
|
779
780
|
const existing = preparedInvocation.confirmationMessages;
|
|
780
781
|
if (preparedInvocation.toolSpecificData?.kind === "terminal") {
|
|
781
782
|
const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
|
|
@@ -852,17 +853,17 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
852
853
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
853
854
|
prepared.confirmationMessages = {
|
|
854
855
|
...prepared.confirmationMessages,
|
|
855
|
-
title: ( localize(
|
|
856
|
-
message: ( localize(
|
|
856
|
+
title: ( localize(7202, "Confirm tool execution")),
|
|
857
|
+
message: ( localize(7203, "Run the '{0}' tool?", fullReferenceName)),
|
|
857
858
|
disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
858
|
-
|
|
859
|
+
7204,
|
|
859
860
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
860
861
|
getToolFullReferenceName(tool.data),
|
|
861
862
|
createMarkdownCommandLink({
|
|
862
863
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
863
864
|
id: "workbench.action.openSettings",
|
|
864
865
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
865
|
-
tooltip: ( localize(
|
|
866
|
+
tooltip: ( localize(7205, "Open settings to configure auto-approval"))
|
|
866
867
|
}, false)
|
|
867
868
|
)), {
|
|
868
869
|
isTrusted: true
|
|
@@ -872,14 +873,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
872
873
|
}
|
|
873
874
|
if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
|
|
874
875
|
prepared.confirmationMessages.disclaimer = ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
875
|
-
|
|
876
|
+
7204,
|
|
876
877
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
877
878
|
getToolFullReferenceName(tool.data),
|
|
878
879
|
createMarkdownCommandLink({
|
|
879
880
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
880
881
|
id: "workbench.action.openSettings",
|
|
881
882
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
882
|
-
tooltip: ( localize(
|
|
883
|
+
tooltip: ( localize(7205, "Open settings to configure auto-approval"))
|
|
883
884
|
}, false)
|
|
884
885
|
)), {
|
|
885
886
|
isTrusted: true
|
|
@@ -1231,12 +1232,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1231
1232
|
}));
|
|
1232
1233
|
const promptResult = await this._dialogService.prompt({
|
|
1233
1234
|
type: Severity.Warning,
|
|
1234
|
-
message: ( localize(
|
|
1235
|
+
message: ( localize(7206, "Enable global auto approve?")),
|
|
1235
1236
|
buttons: [{
|
|
1236
|
-
label: ( localize(
|
|
1237
|
+
label: ( localize(7207, "Enable")),
|
|
1237
1238
|
run: () => true
|
|
1238
1239
|
}, {
|
|
1239
|
-
label: ( localize(
|
|
1240
|
+
label: ( localize(7208, "Disable")),
|
|
1240
1241
|
run: () => false
|
|
1241
1242
|
}],
|
|
1242
1243
|
custom: {
|
|
@@ -52,7 +52,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
52
52
|
this._bulkEditService = _bulkEditService;
|
|
53
53
|
}
|
|
54
54
|
getToolData() {
|
|
55
|
-
return this._buildToolData(StaticModelDescription, ( localize(
|
|
55
|
+
return this._buildToolData(StaticModelDescription, ( localize(7209, "Rename a symbol across the workspace")));
|
|
56
56
|
}
|
|
57
57
|
_buildToolData(modelDescription, userDescription) {
|
|
58
58
|
return {
|
|
@@ -60,7 +60,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
60
60
|
toolReferenceName: "rename",
|
|
61
61
|
canBeReferencedInPrompt: false,
|
|
62
62
|
icon: ThemeIcon.fromId(Codicon.rename.id),
|
|
63
|
-
displayName: ( localize(
|
|
63
|
+
displayName: ( localize(7210, "Rename Symbol")),
|
|
64
64
|
userDescription,
|
|
65
65
|
modelDescription,
|
|
66
66
|
source: ToolDataSource.Internal,
|
|
@@ -95,7 +95,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
95
95
|
async prepareToolInvocation(context, _token) {
|
|
96
96
|
const input = context.parameters;
|
|
97
97
|
return {
|
|
98
|
-
invocationMessage: ( localize(
|
|
98
|
+
invocationMessage: ( localize(7211, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -183,13 +183,13 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
183
183
|
}
|
|
184
184
|
_successResult(input, fileCount, editCount) {
|
|
185
185
|
const text = editCount === 1 ? ( localize(
|
|
186
|
-
|
|
186
|
+
7212,
|
|
187
187
|
"Renamed `{0}` to `{1}` - 1 edit in {2} file.",
|
|
188
188
|
input.symbol,
|
|
189
189
|
input.newName,
|
|
190
190
|
fileCount
|
|
191
191
|
)) : ( localize(
|
|
192
|
-
|
|
192
|
+
7213,
|
|
193
193
|
"Renamed `{0}` to `{1}` - {2} edits across {3} files.",
|
|
194
194
|
input.symbol,
|
|
195
195
|
input.newName,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
2
|
import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
|
|
3
|
+
import type { ITerminalSandboxPrecheckInputs } from "../../../../../platform/sandbox/common/terminalSandboxService.js";
|
|
3
4
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
5
|
+
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
6
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
7
|
+
import { ChatPermissionLevel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
|
|
4
8
|
import { IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
|
|
5
9
|
export interface ISymbolToolInput {
|
|
6
10
|
symbol: string;
|
|
@@ -14,6 +18,20 @@ export interface ISymbolToolInput {
|
|
|
14
18
|
* (agents window), relative paths are resolved against it first.
|
|
15
19
|
*/
|
|
16
20
|
export declare function resolveToolUri(input: ISymbolToolInput, workspaceContextService: IWorkspaceContextService, workingDirectory?: URI): URI | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Gets the chat permission level that should apply to a tool invocation.
|
|
23
|
+
*
|
|
24
|
+
* When a request id is available, the request-stamped permission level is the
|
|
25
|
+
* source of truth for that invocation. If the request cannot be resolved (for
|
|
26
|
+
* example during early streaming), fall back to the live session widget and then
|
|
27
|
+
* the latest request in the chat model.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getChatPermissionLevelForToolInvocation(chatSessionResource: URI | undefined, chatRequestId: string | undefined, chatWidgetService: IChatWidgetService, chatService: IChatService): ChatPermissionLevel | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Translates the chat permission level for a tool invocation into the
|
|
32
|
+
* platform-neutral sandbox precheck inputs.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getSandboxPrecheckInputsForToolInvocation(chatSessionResource: URI | undefined, chatRequestId: string | undefined, chatWidgetService: IChatWidgetService, chatService: IChatService): ITerminalSandboxPrecheckInputs | undefined;
|
|
17
35
|
/**
|
|
18
36
|
* Finds the line number in the model that matches the given line content.
|
|
19
37
|
* Whitespace is normalized so that extra spaces in the input still match.
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
3
3
|
import { escapeRegExpCharacters } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
4
4
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
5
|
+
import { ChatPermissionLevel, isAutoApproveLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
5
6
|
import { createToolSimpleTextResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers';
|
|
6
7
|
import { WorkingDirectory } from '../../common/workingDirectory.js';
|
|
7
8
|
|
|
@@ -15,6 +16,27 @@ function resolveToolUri(input, workspaceContextService, workingDirectory) {
|
|
|
15
16
|
}
|
|
16
17
|
return undefined;
|
|
17
18
|
}
|
|
19
|
+
function getChatPermissionLevelForToolInvocation(chatSessionResource, chatRequestId, chatWidgetService, chatService) {
|
|
20
|
+
if (!chatSessionResource) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
const model = chatService.getSession(chatSessionResource);
|
|
24
|
+
const request = chatRequestId ? model?.getRequests().find(request => request.id === chatRequestId) : undefined;
|
|
25
|
+
if (request) {
|
|
26
|
+
return request.modeInfo?.permissionLevel ?? ChatPermissionLevel.Default;
|
|
27
|
+
}
|
|
28
|
+
const widget = chatWidgetService.getWidgetBySessionResource(chatSessionResource);
|
|
29
|
+
if (widget) {
|
|
30
|
+
return widget.input.currentModeInfo.permissionLevel ?? ChatPermissionLevel.Default;
|
|
31
|
+
}
|
|
32
|
+
return model?.getRequests().at(-1)?.modeInfo?.permissionLevel ?? ChatPermissionLevel.Default;
|
|
33
|
+
}
|
|
34
|
+
function getSandboxPrecheckInputsForToolInvocation(chatSessionResource, chatRequestId, chatWidgetService, chatService) {
|
|
35
|
+
const chatPermissionLevel = getChatPermissionLevelForToolInvocation(chatSessionResource, chatRequestId, chatWidgetService, chatService);
|
|
36
|
+
return chatPermissionLevel === undefined ? undefined : {
|
|
37
|
+
isDefaultApprovalPermissionEnabled: !isAutoApproveLevel(chatPermissionLevel)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
18
40
|
function findLineNumber(model, lineContent) {
|
|
19
41
|
const parts = lineContent.trim().split(/\s+/);
|
|
20
42
|
const pattern = ( parts.map(escapeRegExpCharacters)).join("\\s+");
|
|
@@ -38,4 +60,4 @@ function errorResult(message) {
|
|
|
38
60
|
return result;
|
|
39
61
|
}
|
|
40
62
|
|
|
41
|
-
export { errorResult, findLineNumber, findSymbolColumn, resolveToolUri };
|
|
63
|
+
export { errorResult, findLineNumber, findSymbolColumn, getChatPermissionLevelForToolInvocation, getSandboxPrecheckInputsForToolInvocation, resolveToolUri };
|
|
@@ -54,7 +54,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
54
54
|
this._workspaceContextService = _workspaceContextService;
|
|
55
55
|
}
|
|
56
56
|
getToolData() {
|
|
57
|
-
return this._buildToolData(StaticModelDescription, ( localize(
|
|
57
|
+
return this._buildToolData(StaticModelDescription, ( localize(7227, "Find references, definitions, and implementations of a symbol")));
|
|
58
58
|
}
|
|
59
59
|
_buildToolData(modelDescription, userDescription) {
|
|
60
60
|
return {
|
|
@@ -62,7 +62,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
62
62
|
toolReferenceName: "usages",
|
|
63
63
|
canBeReferencedInPrompt: false,
|
|
64
64
|
icon: ThemeIcon.fromId(Codicon.references.id),
|
|
65
|
-
displayName: ( localize(
|
|
65
|
+
displayName: ( localize(7228, "List Code Usages")),
|
|
66
66
|
userDescription,
|
|
67
67
|
modelDescription,
|
|
68
68
|
source: ToolDataSource.Internal,
|
|
@@ -93,7 +93,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
93
93
|
async prepareToolInvocation(context, _token) {
|
|
94
94
|
const input = context.parameters;
|
|
95
95
|
return {
|
|
96
|
-
invocationMessage: ( localize(
|
|
96
|
+
invocationMessage: ( localize(7229, "Analyzing usages of `{0}`", input.symbol))
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -146,7 +146,7 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
146
146
|
)]);
|
|
147
147
|
if (references.length === 0) {
|
|
148
148
|
const result = createToolSimpleTextResult(`No usages found for \`${input.symbol}\`.`);
|
|
149
|
-
result.toolResultMessage = ( new MarkdownString(( localize(
|
|
149
|
+
result.toolResultMessage = ( new MarkdownString(( localize(7230, "Analyzed usages of `{0}`, no results", input.symbol))));
|
|
150
150
|
return result;
|
|
151
151
|
}
|
|
152
152
|
const previews = await this._getLinePreviews(input.symbol, references, token);
|
|
@@ -167,8 +167,8 @@ let UsagesTool = class UsagesTool extends Disposable {
|
|
|
167
167
|
}
|
|
168
168
|
const text = lines.join("\n");
|
|
169
169
|
const result = createToolSimpleTextResult(text);
|
|
170
|
-
result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(
|
|
171
|
-
|
|
170
|
+
result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(7231, "Analyzed usages of `{0}`, 1 result", input.symbol)))) : ( new MarkdownString(( localize(
|
|
171
|
+
7232,
|
|
172
172
|
"Analyzed usages of `{0}`, {1} results",
|
|
173
173
|
input.symbol,
|
|
174
174
|
references.length
|
|
@@ -4,11 +4,12 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
|
|
|
4
4
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
5
|
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
6
6
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
7
|
+
import { COPILOT_VENDOR_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
7
8
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
8
9
|
import { createDefaultModelArrays, DefaultModelContribution } from './defaultModelContribution.js';
|
|
9
10
|
|
|
10
|
-
const defaultEntryLabel = ( localize(
|
|
11
|
-
const defaultEntryDescription = ( localize(
|
|
11
|
+
const defaultEntryLabel = ( localize(7233, "Default"));
|
|
12
|
+
const defaultEntryDescription = ( localize(7234, "Use the built-in default utility model"));
|
|
12
13
|
const utilityArrays = createDefaultModelArrays(defaultEntryLabel, defaultEntryDescription);
|
|
13
14
|
const utilitySmallArrays = createDefaultModelArrays(defaultEntryLabel, defaultEntryDescription);
|
|
14
15
|
let UtilityModelContribution = class UtilityModelContribution extends DefaultModelContribution {
|
|
@@ -29,6 +30,7 @@ let UtilityModelContribution = class UtilityModelContribution extends DefaultMod
|
|
|
29
30
|
configKey: ChatConfiguration.UtilityModel,
|
|
30
31
|
configSectionId: "chatSidebar",
|
|
31
32
|
logPrefix: "[UtilityModel]",
|
|
33
|
+
filter: metadata => metadata.vendor !== COPILOT_VENDOR_ID,
|
|
32
34
|
storageFormat: "vendorAndId",
|
|
33
35
|
defaultEntryLabel,
|
|
34
36
|
defaultEntryDescription
|
|
@@ -54,6 +56,7 @@ let UtilitySmallModelContribution = class UtilitySmallModelContribution extends
|
|
|
54
56
|
configKey: ChatConfiguration.UtilitySmallModel,
|
|
55
57
|
configSectionId: "chatSidebar",
|
|
56
58
|
logPrefix: "[UtilitySmallModel]",
|
|
59
|
+
filter: metadata => metadata.vendor !== COPILOT_VENDOR_ID,
|
|
57
60
|
storageFormat: "vendorAndId",
|
|
58
61
|
defaultEntryLabel,
|
|
59
62
|
defaultEntryDescription
|
package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js
CHANGED
|
@@ -17,29 +17,29 @@ const chatViewsWelcomeJsonSchema = {
|
|
|
17
17
|
properties: {
|
|
18
18
|
icon: {
|
|
19
19
|
type: "string",
|
|
20
|
-
description: ( localize(
|
|
20
|
+
description: ( localize(7235, "The icon for the welcome message."))
|
|
21
21
|
},
|
|
22
22
|
title: {
|
|
23
23
|
type: "string",
|
|
24
|
-
description: ( localize(
|
|
24
|
+
description: ( localize(7236, "The title of the welcome message."))
|
|
25
25
|
},
|
|
26
26
|
content: {
|
|
27
27
|
type: "string",
|
|
28
28
|
description: ( localize(
|
|
29
|
-
|
|
29
|
+
7237,
|
|
30
30
|
"The content of the welcome message. The first command link will be rendered as a button."
|
|
31
31
|
))
|
|
32
32
|
},
|
|
33
33
|
when: {
|
|
34
34
|
type: "string",
|
|
35
|
-
description: ( localize(
|
|
35
|
+
description: ( localize(7238, "Condition when the welcome message is shown."))
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
40
40
|
extensionPoint: "chatViewsWelcome",
|
|
41
41
|
jsonSchema: {
|
|
42
|
-
description: ( localize(
|
|
42
|
+
description: ( localize(7239, "Contributes a welcome message to a chat view")),
|
|
43
43
|
type: "array",
|
|
44
44
|
items: chatViewsWelcomeJsonSchema
|
|
45
45
|
}
|