You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
9.8 KiB

2 weeks ago
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// @ts-ignore
const package_json_1 = __importDefault(require("../../../../package.json"));
/** MCP 服务:配置弹窗 / 启停 / 端口修改 / 配置复制。 */
exports.default = {
openMcpDialog() {
this.showMcpDialog = true;
this.mcpPort = this.mcp.port || 33010;
},
closeMcpDialog() {
this.showMcpDialog = false;
},
async toggleMcp() {
if (this.mcpBusy) {
return;
}
this.mcpBusy = true;
try {
if (this.mcp.running) {
await Editor.Message.request(package_json_1.default.name, 'stop-mcp');
}
else {
await Editor.Message.request(package_json_1.default.name, 'start-mcp', this.mcpPort);
}
await this.loadMcpState();
}
finally {
this.mcpBusy = false;
}
},
/** 保存弹窗中修改的端口并重启 MCP 服务(端口变化时)。 */
async applyMcpPort() {
const port = Math.max(1, Math.min(65535, Math.floor(Number(this.mcpPort) || 33010)));
this.mcpPort = port;
if (this.mcp.running && this.mcp.port !== port) {
this.mcpBusy = true;
try {
await Editor.Message.request(package_json_1.default.name, 'stop-mcp');
await Editor.Message.request(package_json_1.default.name, 'start-mcp', port);
await this.loadMcpState();
}
finally {
this.mcpBusy = false;
}
}
else if (!this.mcp.running) {
// 未运行则仅保存端口,供后续启动使用
this.mcpPort = port;
}
},
async loadMcpState() {
try {
const st = await Editor.Message.request(package_json_1.default.name, 'get-mcp-state');
if (st && typeof st === 'object') {
this.mcp = {
running: !!st.running,
port: Number(st.port) || 0,
url: String(st.url || ''),
token: String(st.token || ''),
};
}
}
catch (_a) {
/* 忽略 */
}
},
async copyMcpConfig() {
const text = `{\n "mcpServers": {\n "yyka-runtime-inspector": {\n "url": "${this.mcp.url}",\n "headers": { "Authorization": "Bearer ${this.mcp.token}" }\n }\n }\n}`;
await this.writeClipboard(text);
this.mcpCopied = true;
window.clearTimeout(this.mcpCopyTimer);
this.mcpCopyTimer = window.setTimeout(() => {
this.mcpCopied = false;
}, 1600);
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWNwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc291cmNlL3BhbmVscy9kZWZhdWx0L21ldGhvZHMvbWNwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsYUFBYTtBQUNiLDRFQUFtRDtBQUVuRCxzQ0FBc0M7QUFDdEMsa0JBQWU7SUFDWCxhQUFhO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUNELGNBQWM7UUFDVixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuQixNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFXLENBQUMsSUFBVyxFQUFFLFVBQWlCLENBQUMsQ0FBQztZQUM3RSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBVyxDQUFDLElBQVcsRUFBRSxXQUFrQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RixDQUFDO1lBQ0QsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDOUIsQ0FBQztnQkFBUyxDQUFDO1lBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFDRCxtQ0FBbUM7SUFDbkMsS0FBSyxDQUFDLFlBQVk7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDO2dCQUNELE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsc0JBQVcsQ0FBQyxJQUFXLEVBQUUsVUFBaUIsQ0FBQyxDQUFDO2dCQUN6RSxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFXLENBQUMsSUFBVyxFQUFFLFdBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hGLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlCLENBQUM7b0JBQVMsQ0FBQztnQkFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZO1FBQ2QsSUFBSSxDQUFDO1lBQ0QsTUFBTSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBVyxDQUFDLElBQVcsRUFBRSxlQUFzQixDQUFDLENBQUM7WUFDekYsSUFBSSxFQUFFLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxHQUFHLEdBQUc7b0JBQ1AsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTztvQkFDckIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDMUIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDekIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztpQkFDaEMsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO1FBQUMsV0FBTSxDQUFDO1lBQ0wsUUFBUTtRQUNaLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGFBQWE7UUFDZixNQUFNLElBQUksR0FBRyx3RUFBd0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLG1EQUFtRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssb0JBQW9CLENBQUM7UUFDdkwsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgcGFja2FnZUpTT04gZnJvbSAnLi4vLi4vLi4vLi4vcGFja2FnZS5qc29uJztcblxuLyoqIE1DUCDmnI3liqHvvJrphY3nva7lvLnnqpcgLyDlkK/lgZwgLyDnq6/lj6Pkv67mlLkgLyDphY3nva7lpI3liLbjgIIgKi9cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBvcGVuTWNwRGlhbG9nKHRoaXM6IGFueSkge1xuICAgICAgICB0aGlzLnNob3dNY3BEaWFsb2cgPSB0cnVlO1xuICAgICAgICB0aGlzLm1jcFBvcnQgPSB0aGlzLm1jcC5wb3J0IHx8IDMzMDEwO1xuICAgIH0sXG4gICAgY2xvc2VNY3BEaWFsb2codGhpczogYW55KSB7XG4gICAgICAgIHRoaXMuc2hvd01jcERpYWxvZyA9IGZhbHNlO1xuICAgIH0sXG4gICAgYXN5bmMgdG9nZ2xlTWNwKHRoaXM6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5tY3BCdXN5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tY3BCdXN5ID0gdHJ1ZTtcbiAgICAgICAgdHJ5I