feat(chat-route): accept sources

This commit is contained in:
ItzCrazyKns
2025-12-15 23:46:46 +05:30
parent a3065d58ef
commit b90b92079b

View File

@@ -4,6 +4,7 @@ import { ModelWithProvider } from '@/lib/models/types';
import SearchAgent from '@/lib/agents/search'; import SearchAgent from '@/lib/agents/search';
import SessionManager from '@/lib/session'; import SessionManager from '@/lib/session';
import { ChatTurnMessage } from '@/lib/types'; import { ChatTurnMessage } from '@/lib/types';
import { SearchSources } from '@/lib/agents/search/types';
export const runtime = 'nodejs'; export const runtime = 'nodejs';
export const dynamic = 'force-dynamic'; export const dynamic = 'force-dynamic';
@@ -31,7 +32,7 @@ const bodySchema = z.object({
optimizationMode: z.enum(['speed', 'balanced', 'quality'], { optimizationMode: z.enum(['speed', 'balanced', 'quality'], {
message: 'Optimization mode must be one of: speed, balanced, quality', message: 'Optimization mode must be one of: speed, balanced, quality',
}), }),
focusMode: z.string().min(1, 'Focus mode is required'), sources: z.array(z.string()).optional().default([]),
history: z history: z
.array(z.tuple([z.string(), z.string()])) .array(z.tuple([z.string(), z.string()]))
.optional() .optional()
@@ -42,7 +43,6 @@ const bodySchema = z.object({
systemInstructions: z.string().nullable().optional().default(''), systemInstructions: z.string().nullable().optional().default(''),
}); });
type Message = z.infer<typeof messageSchema>;
type Body = z.infer<typeof bodySchema>; type Body = z.infer<typeof bodySchema>;
const safeValidateBody = (data: unknown) => { const safeValidateBody = (data: unknown) => {
@@ -203,7 +203,7 @@ export const POST = async (req: Request) => {
config: { config: {
llm, llm,
embedding: embedding, embedding: embedding,
sources: ['web'], sources: body.sources as SearchSources[],
mode: body.optimizationMode, mode: body.optimizationMode,
fileIds: body.files, fileIds: body.files,
}, },