export * from './00_commitinfo_data.js'; // Re-export smartmta (excluding commitinfo to avoid naming conflict) export { UnifiedEmailServer } from '@push.rocks/smartmta'; export type { IUnifiedEmailServerOptions, IEmailRoute, IEmailDomainConfig } from '@push.rocks/smartmta'; // DcRouter import { DcRouter } from './classes.dcrouter.js'; export * from './classes.dcrouter.js'; // RADIUS module export * from './radius/index.js'; // Remote Ingress module export * from './remoteingress/index.js'; // HTTP/3 module export type { IHttp3Config } from './http3/index.js'; export const runCli = async () => { let options: import('./classes.dcrouter.js').IDcRouterOptions = {}; if (process.env.DCROUTER_MODE === 'OCI_CONTAINER') { const { getOciContainerConfig } = await import('../ts_oci_container/index.js'); options = getOciContainerConfig(); console.log('[DCRouter] Starting in OCI Container mode...'); } const dcRouter = new DcRouter(options); await dcRouter.start(); console.log('[DCRouter] Running. Send SIGTERM or SIGINT to stop.'); const shutdown = async () => { console.log('[DCRouter] Shutting down...'); await dcRouter.stop(); process.exit(0); }; process.on('SIGINT', shutdown); process.on('SIGTERM', shutdown); };