import { svelte } from '@sveltejs/vite-plugin-svelte' import tailwindcss from '@tailwindcss/vite' import { defineConfig } from 'vite' // Injects OIKOS_API_TOKEN into proxied /api requests in dev — the API no // longer has a dev-open bypass (plans/2026-07-12-wails-desktop-app.md 0.4), // so `OIKOS_API_TOKEN=dev-token npm run dev` needs this to reach it. function authProxy(target: string, rewrite?: (path: string) => string) { return { target, ...(rewrite ? { rewrite } : {}), configure: (proxy: any) => { proxy.on('proxyReq', (proxyReq: any) => { const token = process.env.OIKOS_API_TOKEN if (token) proxyReq.setHeader('Authorization', `Bearer ${token}`) }) } } } export default defineConfig({ plugins: [tailwindcss(), svelte()], base: '/', resolve: { alias: { $lib: '/src/lib' } }, build: { outDir: 'dist', emptyOutDir: true }, server: { proxy: { '/api': authProxy('http://localhost:8090'), // Production Caddy strips /agent before forwarding to nomos // (compose/caddy/Caddyfile.oikos handle_path /agent/*); match that // here so dev and prod agree on nomos's actual route paths. '/agent': authProxy('http://localhost:8092', (path) => path.replace(/^\/agent/, '')) } } })