- app/rest.py: FastAPI app wrapping search/diagnose/sources with CORS - web/: Vue 3 + Vite + UnoCSS + Pinia frontend at port 8535 - LogSearchView: sidebar filters (source, severity, limit) + FTS search - DiagnoseView: layered symptom investigation matching MCP diagnose tool - SourcesView: corpus table with entry count, error count, time range - LogEntryRow: severity badge, pattern chips, repeat count, timestamp - StatusDot: live API health indicator in nav - scripts/start_dev.sh: launch FastAPI (:8534) + Vite dev server (:8535) - .gitignore: add web/node_modules/ and web/dist/ - Caddy: /turnstone* route added to menagerie.circuitforge.tech block (API → :8534 with /turnstone strip, SPA fallback → :8535)
26 lines
611 B
TypeScript
26 lines
611 B
TypeScript
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import UnoCSS from 'unocss/vite'
|
|
import { fileURLToPath } from 'url'
|
|
|
|
export default defineConfig({
|
|
plugins: [vue(), UnoCSS()],
|
|
base: process.env.VITE_BASE_URL ?? '/turnstone/',
|
|
resolve: {
|
|
alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) },
|
|
},
|
|
server: {
|
|
host: '0.0.0.0',
|
|
port: 8535,
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:8534',
|
|
changeOrigin: true,
|
|
},
|
|
'/health': {
|
|
target: 'http://localhost:8534',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
})
|