multica/apps/gateway/main.ts
Naiyuan Qing 6ef58a0cab refactor: restructure to monorepo architecture
- Move core agent engine to packages/core/
- Add packages/types/ for shared TypeScript types
- Add packages/utils/ for utility functions
- Add apps/cli/ for command-line interface
- Add apps/gateway/ for NestJS WebSocket gateway
- Add apps/server/ for REST API server
- Restructure desktop app (electron/ → src/main/, src/preload/)
- Update pnpm workspace configuration
- Remove legacy src/ directory

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 18:00:23 +08:00

32 lines
996 B
TypeScript

import "reflect-metadata";
import { NestFactory } from "@nestjs/core";
import { Logger } from "nestjs-pino";
import { AppModule } from "./app.module.js";
console.log("[Gateway] Starting bootstrap...");
async function bootstrap(): Promise<void> {
console.log("[Gateway] Creating NestFactory...");
try {
const app = await NestFactory.create(AppModule, { bufferLogs: true, abortOnError: false });
console.log("[Gateway] NestFactory created");
app.useLogger(app.get(Logger));
const port = process.env["PORT"] ?? 3000;
console.log(`[Gateway] Listening on port ${port}...`);
await app.listen(port);
const logger = app.get(Logger);
logger.log(`Gateway is running on http://localhost:${port}`);
logger.log(`WebSocket endpoint: ws://localhost:${port}/ws`);
} catch (err) {
console.error("[Gateway] Error during bootstrap:", err);
throw err;
}
}
bootstrap().catch((err) => {
console.error("Failed to start gateway:", err);
process.exit(1);
});