// app/api/chat/route.ts
import { streamText } from 'ai'
import { anthropic } from '@ai-sdk/anthropic'
import { createClient } from '@/lib/supabase/server'
export async function POST(req: Request) {
const supabase = await createClient()
const { data: { user } } = await supabase.auth.getUser()
if (!user) return new Response('Unauthorized', { status: 401 })
const { messages, conversationId } = await req.json()
const result = streamText({
model: anthropic('claude-3-5-sonnet-20241022'),
system: 'Du är en hjälpsam svensk teknisk assistent.',
messages,
onFinish: async ({ text }) => {
// Persistera båda meddelandena i Supabase
const lastUser = messages.at(-1)
await supabase.from('messages').insert([
{ conversation_id: conversationId, role: 'user', content: lastUser.content },
{ conversation_id: conversationId, role: 'assistant', content: text },
])
},
})
return result.toDataStreamResponse()
}