UNPKG

dynamic-interaction

Version:

Dynamic interaction 动态交互mcp,用于cursor、windsurf、trae 等 AI 智能编辑器 Agent 运行时交互使用

55 lines (54 loc) 1.76 kB
"use strict"; /** * 应用程序主入口 * 统一管理服务器的启动和停止 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.stopServer = exports.startServer = exports.app = exports.Application = void 0; const lifecycle_1 = require("./lifecycle"); const logger_1 = require("../../logger"); class Application { static instance; constructor() { } static getInstance() { if (!Application.instance) { Application.instance = new Application(); } return Application.instance; } async start() { try { logger_1.logger.info('启动应用程序...'); await lifecycle_1.lifecycleManager.startServer(); logger_1.logger.info('应用程序启动完成'); } catch (error) { logger_1.logger.error('应用程序启动失败:', error); throw error; } } async stop(immediate = false) { try { logger_1.logger.info('停止应用程序...'); await lifecycle_1.lifecycleManager.stopServer(immediate); logger_1.logger.info('应用程序已停止'); } catch (error) { logger_1.logger.error('应用程序停止失败:', error); throw error; } } getStatus() { return { state: lifecycle_1.lifecycleManager.state, stats: lifecycle_1.lifecycleManager.getServerStats() }; } } exports.Application = Application; exports.app = Application.getInstance(); // 导出便捷函数 const startServer = () => exports.app.start(); exports.startServer = startServer; const stopServer = (immediate) => exports.app.stop(immediate); exports.stopServer = stopServer;