import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; 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 { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service"; import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service"; import { IMcpServerSamplingConfiguration } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration"; import { IMcpServer, ISamplingOptions, ISamplingResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes"; import { IMcpSamplingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service"; export declare class McpSamplingService extends Disposable implements IMcpSamplingService { private readonly _languageModelsService; private readonly _configurationService; private readonly _dialogService; private readonly _notificationService; private readonly _commandService; readonly _serviceBrand: undefined; private readonly _sessionSets; private readonly _logs; private readonly _modelSequencer; constructor(_languageModelsService: ILanguageModelsService, _configurationService: IConfigurationService, _dialogService: IDialogService, _notificationService: INotificationService, _commandService: ICommandService, instaService: IInstantiationService); sample(opts: ISamplingOptions, token?: Readonly): Promise; hasLogs(server: IMcpServer): boolean; getLogText(server: IMcpServer): string; private _getMatchingModel; private allowButtons; private _showContextual; private _notify; /** * Gets the matching model for the MCP server in this context, or * a reason why no model could be selected. */ private _getMatchingModelInner; private _getDefaultModels; private _configKey; getConfig(server: IMcpServer): IMcpServerSamplingConfiguration; /** * _getConfig reads the sampling config reads the `{ server: data }` mapping * from the appropriate config. We read from the most specific possible * config up to the default configuration location that the MCP server itself * is defined in. We don't go further because then workspace-specific servers * would get in the user settings which is not meaningful and could lead * to confusion. * * todo@connor4312: generalize this for other esttings when we have them */ private _getConfig; updateConfig(server: IMcpServer, mutate: (r: IMcpServerSamplingConfiguration) => unknown): Promise<{ allowedDuringChat?: boolean; allowedOutsideChat?: boolean; allowedModels?: string[]; }>; }