@discreted/vue-browser-tabs
Version:
A browser-like tabs component for Vue3
68 lines (65 loc) • 1.54 kB
TypeScript
/**
* MCP代理客户端,允许iframe通过postMessage使用父应用的MCP服务
*/
export declare class McpProxyClient {
private parentWindow;
private targetOrigin;
private requestId;
private pendingRequests;
private tools;
private isConnected;
constructor();
/**
* 发送请求到父应用的MCP服务
* @param method 方法名
* @param params 参数
* @returns Promise
*/
private sendRequest;
/**
* 处理来自父应用的响应
* @param event 消息事件
*/
private handleMessage;
/**
* 处理工具调用请求
* @param id 调用ID
* @param toolName 工具名称
* @param args 工具参数
*/
private handleToolCall;
/**
* 注册工具
* @param name 工具名称
* @param toolDefinition 工具定义
*/
registerTool(name: string, toolDefinition: any): Promise<void>;
/**
* 调用工具
* @param name 工具名称
* @param args 工具参数
* @returns 工具执行结果
*/
callTool(name: string, args?: any): Promise<any>;
/**
* 获取工具列表
* @returns 工具列表
*/
listTools(): Promise<any>;
/**
* 设置目标源
* @param origin 目标源
*/
setTargetOrigin(origin: string): void;
/**
* 检查连接状态
* @returns 连接状态
*/
get connected(): boolean;
}
declare module 'vue' {
interface GlobalComponents {
}
interface GlobalDirectives {
}
}