import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service"; import { IProgressService } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service"; import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service"; import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service"; import { IAgentPluginRepositoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service"; import { IInstallPluginFromSourceOptions, IInstallPluginFromSourceResult, IUpdateAllPluginsOptions, IUpdateAllPluginsResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService"; import { IPluginInstallService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service"; import { IMarketplacePlugin } from "../common/plugins/pluginMarketplaceService.js"; import { IPluginMarketplaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service"; export declare class PluginInstallService implements IPluginInstallService { private readonly _pluginRepositoryService; private readonly _pluginMarketplaceService; private readonly _fileService; private readonly _notificationService; private readonly _dialogService; private readonly _logService; private readonly _progressService; private readonly _commandService; private readonly _quickInputService; private readonly _configurationService; private readonly _pathService; readonly _serviceBrand: undefined; constructor(_pluginRepositoryService: IAgentPluginRepositoryService, _pluginMarketplaceService: IPluginMarketplaceService, _fileService: IFileService, _notificationService: INotificationService, _dialogService: IDialogService, _logService: ILogService, _progressService: IProgressService, _commandService: ICommandService, _quickInputService: IQuickInputService, _configurationService: IConfigurationService, _pathService: IPathService); installPlugin(plugin: IMarketplacePlugin): Promise; validatePluginSource(source: string): string | undefined; installPluginFromSource(source: string, options?: IInstallPluginFromSourceOptions): Promise; private _doInstallFromSource; /** * Installs a plugin from a local folder path (`file://` URI, absolute path, * or `~`-prefixed path). Inspects the directory to decide whether it is a * marketplace or a standalone plugin and writes to the appropriate setting: * - a marketplace is registered under `chat.plugins.marketplaces`, * - a standalone plugin path is registered under `chat.pluginLocations`. */ private _doInstallFromLocalSource; /** * Registers the marketplace and installs the discovered plugin(s): when a * specific plugin is targeted it installs that one, when there is exactly * one it installs it directly, and otherwise prompts the user to choose. */ private _installDiscoveredPlugins; private _addMarketplaceToConfig; private _addPluginLocationToConfig; /** * Returns `true` when the source string looks like a local folder path — * a `file://` URI, an absolute filesystem path, or a `~`-prefixed path. * This is a synchronous format check only; existence is verified later. */ private _isLocalPathSource; /** * Resolves a local folder source string to a {@link MarketplaceReferenceKind.LocalFileUri} * reference plus the path to persist in `chat.pluginLocations`. Tilde paths * are expanded against the user home. Returns `undefined` when the string * does not resolve to an absolute local folder. */ private _resolveLocalDirectorySource; updatePlugin(plugin: IMarketplacePlugin, silent?: boolean): Promise; updateAllPlugins(options: IUpdateAllPluginsOptions, token: CancellationToken): Promise; getPluginInstallUri(plugin: IMarketplacePlugin): URI; private _ensureMarketplaceTrusted; private _installRelativePathPlugin; private _installGitPlugin; private _installPackagePlugin; }