UNPKG

mira-app-server

Version:

Mira Server - standalone server application using mira-app-core

82 lines 3.18 kB
"use strict"; /** * plugins 模块工具 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.registerPluginTools = registerPluginTools; const zod_1 = require("zod"); const helpers_1 = require("../helpers"); function registerPluginTools(mcp, ctx) { mcp.registerTool('plugins_list', { description: '获取所有插件列表(可按素材库/分类/状态筛选)', inputSchema: { libraryId: zod_1.z.string().optional(), category: zod_1.z.string().optional(), status: zod_1.z.enum(['active', 'inactive']).optional(), }, }, async (args) => { return (0, helpers_1.run)(async () => { const client = ctx.getClient(); let list = await client.plugins().getAll(); if (args.libraryId) list = list.filter(p => p.libraryId === args.libraryId); if (args.category) list = list.filter(p => p.category === args.category); if (args.status) list = list.filter(p => p.status === args.status); return list; }); }); mcp.registerTool('plugins_install', { description: '安装插件到指定素材库', inputSchema: { name: zod_1.z.string().describe('插件名'), libraryId: zod_1.z.string(), version: zod_1.z.string().optional().describe('版本(默认 latest)'), }, }, async (args) => { return (0, helpers_1.run)(async () => { const client = ctx.getClient(); return args.version ? await client.plugins().installVersion(args.name, args.version, args.libraryId) : await client.plugins().installLatest(args.name, args.libraryId); }); }); mcp.registerTool('plugins_enable', { description: '启用插件', inputSchema: { id: zod_1.z.string() }, }, async (args) => { return (0, helpers_1.run)(async () => { const client = ctx.getClient(); return await client.plugins().enable(args.id); }); }); mcp.registerTool('plugins_disable', { description: '禁用插件', inputSchema: { id: zod_1.z.string() }, }, async (args) => { return (0, helpers_1.run)(async () => { const client = ctx.getClient(); return await client.plugins().disable(args.id); }); }); mcp.registerTool('plugins_uninstall', { description: '卸载插件', inputSchema: { id: zod_1.z.string() }, }, async (args) => { return (0, helpers_1.run)(async () => { const client = ctx.getClient(); return await client.plugins().uninstall(args.id); }); }); mcp.registerTool('plugins_search', { description: '按关键词搜索插件(匹配名称/描述/作者/标签)', inputSchema: { query: zod_1.z.string() }, }, async (args) => { return (0, helpers_1.run)(async () => { const client = ctx.getClient(); return await client.plugins().search(args.query); }); }); } //# sourceMappingURL=plugins.js.map