import type { PageContextServer } from "vike/types"; import { createCaller } from "../../../server/trpc/chat.js"; import { getDbClient } from "../../../database/postgres.js"; import { createOpenRouter } from "@openrouter/ai-sdk-provider"; import { env } from "../../../server/env.js"; export type Data = Awaited>; export const data = async (pageContext: PageContextServer) => { const { id } = pageContext.routeParams; const caller = createCaller({ openrouter: createOpenRouter({ apiKey: (pageContext.env?.OPENROUTER_API_KEY || env.OPENROUTER_API_KEY) as string, }), jwt: pageContext.session?.jwt, dbClient: getDbClient( (pageContext.env?.POSTGRES_CONNECTION_STRING || env.POSTGRES_CONNECTION_STRING) as string ), }); const [ conversation, // messages, // facts, // factTriggers ] = await Promise.all([ caller.conversations.fetchOne({ id }), // caller.conversations.fetchMessages({ conversationId: id }), // caller.facts.fetchByConversationId({ conversationId: id }), // caller.factTriggers.fetchByConversationId({ conversationId: id }), ]); return { conversation, // messages, // facts, // factTriggers }; };