UNPKG

openai-cli-unofficial

Version:

A powerful OpenAI CLI Coding Agent built with TypeScript

114 lines 4.59 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MCPServiceManager = exports.TodosService = exports.FileSystemService = exports.GlobalMCPManager = exports.BaseMCPService = exports.BuiltInMCPAPI = void 0; // MCP模块主导出文件 __exportStar(require("./api"), exports); __exportStar(require("./base-service"), exports); __exportStar(require("./manager"), exports); __exportStar(require("./services"), exports); __exportStar(require("./types"), exports); // 导入主要服务和工具 var api_1 = require("./api"); Object.defineProperty(exports, "BuiltInMCPAPI", { enumerable: true, get: function () { return api_1.BuiltInMCPAPI; } }); var base_service_1 = require("./base-service"); Object.defineProperty(exports, "BaseMCPService", { enumerable: true, get: function () { return base_service_1.BaseMCPService; } }); var manager_1 = require("./manager"); Object.defineProperty(exports, "GlobalMCPManager", { enumerable: true, get: function () { return manager_1.GlobalMCPManager; } }); var file_system_1 = require("./services/file-system"); Object.defineProperty(exports, "FileSystemService", { enumerable: true, get: function () { return file_system_1.FileSystemService; } }); var todos_service_1 = require("./services/todos-service"); Object.defineProperty(exports, "TodosService", { enumerable: true, get: function () { return todos_service_1.TodosService; } }); const services_1 = require("./services"); class MCPServiceManager { constructor() { this.services = new Map(); this.initializeServices(); } // 初始化所有服务 initializeServices() { const availableServices = (0, services_1.getServices)(); for (const service of availableServices) { try { const serviceName = service.getServiceInfo().name; this.services.set(serviceName, service); console.log(`MCP服务已初始化: ${serviceName}`); } catch (error) { console.error(`初始化MCP服务失败:`, error); } } } // 获取所有服务信息 getServicesInfo() { const servicesInfo = []; for (const [serviceName, service] of this.services) { servicesInfo.push({ serviceName, ...service.getServiceInfo() }); } return servicesInfo; } // 处理MCP请求 async handleRequest(serviceName, request) { const service = this.services.get(serviceName); if (!service) { return { id: request.id, error: { code: -32601, message: `未找到MCP服务: ${serviceName}` } }; } try { return await service.handleRequest(request); } catch (error) { return { id: request.id, error: { code: -32603, message: '服务处理请求时发生错误', data: error instanceof Error ? error.message : String(error) } }; } } // 获取指定服务的工具列表 getServiceTools(serviceName) { const service = this.services.get(serviceName); if (!service) { throw new Error(`未找到MCP服务: ${serviceName}`); } return service.getTools(); } // 获取所有服务的工具列表 getAllTools() { const allTools = []; for (const [serviceName, service] of this.services) { const tools = service.getTools().map(tool => ({ ...tool, serviceName })); allTools.push(...tools); } return allTools; } } exports.MCPServiceManager = MCPServiceManager; //# sourceMappingURL=index.js.map