import pino from 'pino' import { createApp } from './app' import { config } from './config' import { buildServer } from './http/server' const logger = pino({ level: config.logLevel, transport: config.isDev ? { target: 'pino-pretty', options: { translateTime: 'HH:MM:ss', ignore: 'pid,hostname' } } : undefined, }) const app = createApp(logger) const server = await buildServer(app, { logger }) const shutdown = async (signal: string) => { logger.info({ signal }, 'shutting down') await server.close() app.db.$client.close() process.exit(0) } process.on('SIGINT', () => void shutdown('SIGINT')) process.on('SIGTERM', () => void shutdown('SIGTERM')) await server.listen({ host: config.host, port: config.port }) logger.info({ dataDir: config.dataDir }, `AgentServer 已启动:http://${config.host}:${config.port}`)