import type { PageContextServer } from "vike/types"; import { createCaller } from "../trpc.js"; export type Data = Awaited>; export const data = async (pageContext: PageContextServer) => { const { id } = pageContext.routeParams; const caller = createCaller({}); const conversation = await caller.conversations.fetchOne({ id, }); const messages = await caller.conversations.fetchMessages({ conversationId: id, }); const facts = await caller.facts.fetchByConversationId({ conversationId: id, }); // Fetch all fact triggers for the conversation's facts const factTriggerPromises = facts.map(fact => caller.factTriggers.fetchByFactId({ factId: fact.id }) ); const factTriggersArrays = await Promise.all(factTriggerPromises); const factTriggers = factTriggersArrays.flat(); return { conversation, messages, facts, factTriggers }; };