dynamic-interaction
Version:
Dynamic interaction 动态交互mcp,用于cursor、windsurf、trae 等 AI 智能编辑器 Agent 运行时交互使用
55 lines (54 loc) • 1.76 kB
JavaScript
;
/**
* 应用程序主入口
* 统一管理服务器的启动和停止
*/
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;