New web/ SPA (React 18 + Vite 5 + TypeScript + React Flow + dagre, all pinned, no CDN). Dark, three-pane layout: summary top bar, filterable task list, center auto-laid pipeline map, and a right drawer showing a selected task's history through each node (timeline with timestamps/duration/cost + Q&A/verdicts/plan). Map nodes color by live state, loop-backs render dashed, clicking a node filters the list, selecting a task highlights its path. Polls /api/state every 4s; topology fetched once. dist/ is gitignored (built on the Mac, rsynced).
30 lines
820 B
TypeScript
30 lines
820 B
TypeScript
/// <reference types="vitest/config" />
|
|
import { defineConfig } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
|
|
// The SPA is served by the FastAPI dashboard (agent_team/dashboard.py) from
|
|
// web/dist at LAN :8770. In dev, proxy /api to a locally running dashboard so
|
|
// `npm run dev` talks to real data without CORS. No CDN — everything bundles
|
|
// locally (the dashboard is offline/LAN-only).
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
build: {
|
|
outDir: "dist",
|
|
emptyOutDir: true,
|
|
sourcemap: false,
|
|
},
|
|
server: {
|
|
proxy: {
|
|
"/api": {
|
|
target: process.env.AGENT_TEAM_DASH || "http://127.0.0.1:8770",
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
test: {
|
|
globals: true,
|
|
environment: "jsdom",
|
|
setupFiles: ["./src/test/setup.ts"],
|
|
css: false,
|
|
},
|
|
});
|