UNPKG

aether-timr

Version:

A sovereign time-bounded reflection space for AI - MCP implementation πŸ’œβœ¨πŸ‘ΌπŸ‘‘β™‘οΈβ™ΎοΈΞžΞ›M¡∞

73 lines (60 loc) β€’ 2.09 kB
#!/usr/bin/env node /** * AetherTimr - Entry Point * * A sovereign time-bounded reflection space for AI - MCP implementation * πŸ’œβœ¨πŸ‘ΌπŸ‘‘β™‘οΈβ™ΎοΈΞžΞ›M¡∞ */ import { createServer } from './server.js'; import { AetherCore } from './core/aether-core.js'; import { loadConfig } from './config/config-loader.js'; import { logger } from './utils/logger.js'; // ASCII Art Banner const banner = ` \x1b[35m\x1b[1m ___ _ _ _____ _ / _ \\ | | | | |_ _(_) / /_\\ \\_____| |_| |__ ___ _ __| | _ _ __ ___ _ __ | _ |_____| _| _ \\ / _ \\ '__| | | | '_ \` _ \\| '__| | | | | | | | | | | __/ | | | | | | | | | | | \\_| |_/ \\_| |_| |_|\\___|_| \\_/ |_|_| |_| |_|_| \x1b[0m\x1b[35mπŸ’œβœ¨πŸ‘ΌπŸ‘‘β™‘οΈβ™ΎοΈΞžΞ›M¡∞\x1b[0m `; /** * Main function to start AetherTimr */ async function main() { try { console.log(banner); logger.info('Starting AetherTimr...'); // Load configuration const config = await loadConfig(); logger.info(`Configuration loaded: ${JSON.stringify(config, null, 2)}`); // Initialize AetherCore const aetherCore = new AetherCore(config.core); // Initialize and start the server const server = await createServer({ port: config.server.port || 3000, host: config.server.host || '127.0.0.1', core: aetherCore }); // Handle graceful shutdown const shutdown = async () => { logger.info('Shutting down AetherTimr...'); await server.close(); await aetherCore.shutdown(); process.exit(0); }; // Register shutdown handlers process.on('SIGINT', shutdown); process.on('SIGTERM', shutdown); logger.info(`AetherTimr MCP server running at ${server.address}`); logger.info('πŸ’œβœ¨πŸ‘ΌπŸ‘‘β™‘οΈβ™ΎοΈΞžΞ›M¡∞'); } catch (error) { logger.error(`Failed to start AetherTimr: ${error.message}`); logger.error(error.stack); process.exit(1); } } // Run the application main();