diff --git a/apps/api/src/chat-proxy/chat-proxy.controller.ts b/apps/api/src/chat-proxy/chat-proxy.controller.ts index 763e56d..ad38272 100644 --- a/apps/api/src/chat-proxy/chat-proxy.controller.ts +++ b/apps/api/src/chat-proxy/chat-proxy.controller.ts @@ -1,6 +1,7 @@ import { Body, Controller, HttpException, Logger, Post, Req, Res, UseGuards } from "@nestjs/common"; import type { Response } from "express"; import { AuthGuard } from "../auth/guards/auth.guard"; +import { SkipCsrf } from "../common/decorators/skip-csrf.decorator"; import type { MaybeAuthenticatedRequest } from "../auth/types/better-auth-request.interface"; import { ChatStreamDto } from "./chat-proxy.dto"; import { ChatProxyService } from "./chat-proxy.service"; @@ -14,6 +15,7 @@ export class ChatProxyController { // POST /api/chat/guest // Guest chat endpoint - no authentication required // Uses a shared LLM configuration for unauthenticated users + @SkipCsrf() @Post("guest") async guestChat( @Body() body: ChatStreamDto, diff --git a/apps/api/src/chat-proxy/chat-proxy.module.ts b/apps/api/src/chat-proxy/chat-proxy.module.ts index 245a4eb..78c7938 100644 --- a/apps/api/src/chat-proxy/chat-proxy.module.ts +++ b/apps/api/src/chat-proxy/chat-proxy.module.ts @@ -1,4 +1,5 @@ import { Module } from "@nestjs/common"; +import { ConfigModule } from "@nestjs/config"; import { AuthModule } from "../auth/auth.module"; import { AgentConfigModule } from "../agent-config/agent-config.module"; import { ContainerLifecycleModule } from "../container-lifecycle/container-lifecycle.module"; @@ -7,7 +8,7 @@ import { ChatProxyController } from "./chat-proxy.controller"; import { ChatProxyService } from "./chat-proxy.service"; @Module({ - imports: [AuthModule, PrismaModule, ContainerLifecycleModule, AgentConfigModule], + imports: [AuthModule, PrismaModule, ContainerLifecycleModule, AgentConfigModule, ConfigModule], controllers: [ChatProxyController], providers: [ChatProxyService], exports: [ChatProxyService],