Compare commits
1 Commits
fix/chat-c
...
0b323ed537
| Author | SHA1 | Date | |
|---|---|---|---|
| 0b323ed537 |
@@ -1,7 +1,6 @@
|
|||||||
import { Body, Controller, HttpException, Logger, Post, Req, Res, UseGuards } from "@nestjs/common";
|
import { Body, Controller, HttpException, Logger, Post, Req, Res, UseGuards } from "@nestjs/common";
|
||||||
import type { Response } from "express";
|
import type { Response } from "express";
|
||||||
import { AuthGuard } from "../auth/guards/auth.guard";
|
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 type { MaybeAuthenticatedRequest } from "../auth/types/better-auth-request.interface";
|
||||||
import { ChatStreamDto } from "./chat-proxy.dto";
|
import { ChatStreamDto } from "./chat-proxy.dto";
|
||||||
import { ChatProxyService } from "./chat-proxy.service";
|
import { ChatProxyService } from "./chat-proxy.service";
|
||||||
@@ -15,7 +14,6 @@ export class ChatProxyController {
|
|||||||
// POST /api/chat/guest
|
// POST /api/chat/guest
|
||||||
// Guest chat endpoint - no authentication required
|
// Guest chat endpoint - no authentication required
|
||||||
// Uses a shared LLM configuration for unauthenticated users
|
// Uses a shared LLM configuration for unauthenticated users
|
||||||
@SkipCsrf()
|
|
||||||
@Post("guest")
|
@Post("guest")
|
||||||
async guestChat(
|
async guestChat(
|
||||||
@Body() body: ChatStreamDto,
|
@Body() body: ChatStreamDto,
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { Module } from "@nestjs/common";
|
import { Module } from "@nestjs/common";
|
||||||
import { ConfigModule } from "@nestjs/config";
|
|
||||||
import { AuthModule } from "../auth/auth.module";
|
import { AuthModule } from "../auth/auth.module";
|
||||||
import { AgentConfigModule } from "../agent-config/agent-config.module";
|
import { AgentConfigModule } from "../agent-config/agent-config.module";
|
||||||
import { ContainerLifecycleModule } from "../container-lifecycle/container-lifecycle.module";
|
import { ContainerLifecycleModule } from "../container-lifecycle/container-lifecycle.module";
|
||||||
@@ -8,7 +7,7 @@ import { ChatProxyController } from "./chat-proxy.controller";
|
|||||||
import { ChatProxyService } from "./chat-proxy.service";
|
import { ChatProxyService } from "./chat-proxy.service";
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [AuthModule, PrismaModule, ContainerLifecycleModule, AgentConfigModule, ConfigModule],
|
imports: [AuthModule, PrismaModule, ContainerLifecycleModule, AgentConfigModule],
|
||||||
controllers: [ChatProxyController],
|
controllers: [ChatProxyController],
|
||||||
providers: [ChatProxyService],
|
providers: [ChatProxyService],
|
||||||
exports: [ChatProxyService],
|
exports: [ChatProxyService],
|
||||||
|
|||||||
@@ -280,12 +280,9 @@ export function useChat(options: UseChatOptions = {}): UseChatReturn {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Streaming failed - check if auth error, try guest mode
|
// Streaming failed - check if auth error, try guest mode
|
||||||
const isAuthError =
|
const isAuthError = err instanceof Error &&
|
||||||
err instanceof Error &&
|
(err.message.includes("403") || err.message.includes("401") ||
|
||||||
(err.message.includes("403") ||
|
err.message.includes("auth") || err.message.includes("Forbidden"));
|
||||||
err.message.includes("401") ||
|
|
||||||
err.message.includes("auth") ||
|
|
||||||
err.message.includes("Forbidden"));
|
|
||||||
|
|
||||||
if (isAuthError) {
|
if (isAuthError) {
|
||||||
console.warn("Auth failed, trying guest chat mode");
|
console.warn("Auth failed, trying guest chat mode");
|
||||||
|
|||||||
Reference in New Issue
Block a user