Unify the Agent history extension with the header acrylic surface, preserve the full conversation body, and consolidate shared control and status styling. Restore map flow and SCADA controller behavior, remove obsolete rendering paths, and extend regression coverage. Button press coverage now releases outside the target so state assertions cannot accidentally toggle the control.
93 lines
2.7 KiB
JSON
93 lines
2.7 KiB
JSON
{
|
|
"name": "next-tjwater-frontend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "pnpm@11.8.0",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc --noEmit && vite build && pnpm build:tts",
|
|
"build:tts": "esbuild server/edge-tts-server.ts --bundle --platform=node --format=cjs --outfile=dist-server/edge-tts-server.cjs",
|
|
"preview": "vite preview",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint .",
|
|
"format": "prettier --write .",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:browser": "playwright test"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/react": "^4.0.9",
|
|
"@fontsource-variable/noto-sans-sc": "5.3.0",
|
|
"@radix-ui/react-accordion": "^1.2.14",
|
|
"@radix-ui/react-collapsible": "^1.1.14",
|
|
"@radix-ui/react-dialog": "^1.1.17",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.18",
|
|
"@radix-ui/react-hover-card": "^1.1.17",
|
|
"@radix-ui/react-select": "^2.3.1",
|
|
"@radix-ui/react-separator": "^1.1.10",
|
|
"@radix-ui/react-slot": "^1.3.0",
|
|
"@radix-ui/react-tooltip": "^1.2.10",
|
|
"@rive-app/react-webgl2": "^4.29.3",
|
|
"@streamdown/cjk": "^1.0.3",
|
|
"@streamdown/code": "^1.1.1",
|
|
"@streamdown/math": "^1.0.2",
|
|
"@streamdown/mermaid": "^1.0.2",
|
|
"@types/geojson": "^7946.0.16",
|
|
"ai": "^7.0.8",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"echarts": "^6.0.0",
|
|
"echarts-for-react": "^3.0.2",
|
|
"edge-tts-ts": "^1.0.0",
|
|
"katex": "^0.17.0",
|
|
"lucide-react": "^0.468.0",
|
|
"maplibre-gl": "^4.7.1",
|
|
"motion": "^12.40.0",
|
|
"nanoid": "^5.1.14",
|
|
"react": "^19.2.7",
|
|
"react-dom": "^19.2.7",
|
|
"shiki": "^4.2.0",
|
|
"sonner": "^2.0.7",
|
|
"streamdown": "^2.5.0",
|
|
"swr": "^2.4.2",
|
|
"tailwind-merge": "^3.6.0",
|
|
"use-stick-to-bottom": "^1.1.6",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/eslint-parser": "^7.25.9",
|
|
"@babel/preset-react": "^7.25.9",
|
|
"@babel/preset-typescript": "^7.26.0",
|
|
"@eslint/js": "^9.17.0",
|
|
"@playwright/test": "^1.61.1",
|
|
"@tailwindcss/vite": "^4.1.17",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.1.0",
|
|
"@testing-library/user-event": "^14.5.2",
|
|
"@types/node": "^24.7.2",
|
|
"@types/react": "^19.0.2",
|
|
"@types/react-dom": "^19.0.2",
|
|
"@vitejs/plugin-react-swc": "^4.0.2",
|
|
"esbuild": "^0.28.0",
|
|
"eslint": "^9.17.0",
|
|
"eslint-plugin-react-hooks": "^5.1.0",
|
|
"eslint-plugin-react-refresh": "^0.4.16",
|
|
"globals": "^15.14.0",
|
|
"jsdom": "^25.0.1",
|
|
"msw": "^2.6.8",
|
|
"prettier": "^3.4.2",
|
|
"tailwindcss": "^4.1.17",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^7.0.0",
|
|
"vite": "^7.0.0",
|
|
"vitest": "^4.1.9"
|
|
},
|
|
"msw": {
|
|
"workerDirectory": [
|
|
"public"
|
|
]
|
|
}
|
|
}
|