import { assert } from "~~/utils/assert"; export default defineNuxtPlugin({ name: 'better-auth-fetch-plugin', enforce: 'pre', async setup(nuxtApp) { const triplit = useTriplitClient(); // Flag if request is cached nuxtApp.payload.isCached = Boolean(useRequestEvent()?.context.cache); if (nuxtApp.payload.serverRendered && !nuxtApp.payload.prerenderedAt && !nuxtApp.payload.isCached) { const { session, fetchSession } = useAuth(); if (!session.value) { const result = await fetchSession(); if (!result.ok) { console.error('Failed to fetch session:', result.error); return; } } if (!session.value) return; assert('updateOptions' in triplit); triplit.updateOptions({ serverUrl: process.env.NUXT_LOCAL_TRIPLIT_URL || process.env.NUXT_PUBLIC_TRIPLIT_URL, token: session.value.token, }); } }, });