import * as z from "zod"; import { messageSchema } from "@turbostarter/ai/pdf/schema"; import { handle } from "@turbostarter/api/utils"; import { api } from "~/lib/api/server"; import { getMetadata } from "~/lib/metadata"; import { ChatComposer } from "~/modules/pdf/composer"; import { Chat } from "~/modules/pdf/thread"; export const generateMetadata = async ({ params, }: { params: Promise<{ id: string; locale: string }>; }) => { const id = (await params).id; const chat = await handle(api.ai.pdf.chats[":id"].$get)({ param: { id }, }); return getMetadata({ ...(chat?.name && { title: chat.name }), })({ params }); }; const PdfChat = async ({ params }: { params: Promise<{ id: string }> }) => { const id = (await params).id; const messages = await handle(api.ai.pdf.chats[":id"].messages.$get, { schema: z.array(messageSchema), })({ param: { id }, }); const initialMessages = messages.map((message) => ({ ...message, parts: [ { type: "text" as const, text: message.content, }, ], })); return ( <>
); }; export default PdfChat;