multica/apps/server/app.module.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

48 lines
1.2 KiB
TypeScript

import { Module } from "@nestjs/common";
import { ServeStaticModule } from "@nestjs/serve-static";
import { LoggerModule } from "nestjs-pino";
import { join } from "node:path";
import { fileURLToPath } from "node:url";
import { AppController } from "./app.controller.js";
import { Hub } from "@multica/core";
const __dirname = fileURLToPath(new URL(".", import.meta.url));
const isDev = process.env["NODE_ENV"] !== "production";
@Module({
imports: [
ServeStaticModule.forRoot({
rootPath: join(__dirname, "public"),
serveRoot: "/",
exclude: ["/api/(.*)"],
}),
LoggerModule.forRoot({
pinoHttp: isDev
? {
transport: {
target: "pino-pretty",
options: {
colorize: true,
singleLine: true,
},
},
level: process.env["LOG_LEVEL"] ?? "debug",
}
: {
level: process.env["LOG_LEVEL"] ?? "info",
},
}),
],
controllers: [AppController],
providers: [
{
provide: "HUB",
useFactory: () => {
const gatewayUrl =
process.env["GATEWAY_URL"] ?? "http://localhost:3000";
return new Hub(gatewayUrl);
},
},
],
})
export class AppModule {}