feat: auth, persistence, and AI integration

- Cookie-based auth via backend proxy (httpOnly JWTs)
- Supabase Postgres persistence for sessions/messages/profiles + RLS
- Fix cross-user session leak (token cache keyed by full token, not 50-char prefix)
- Fix missing table grants (42501) via migration; auto-provision profiles on user creation
- Chat validation, ownership checks, rate limiting, /api/chat/sessions route ordering
- Frontend auth-state reset + credentials include
- OpenRouter AI provider (OpenAI-compatible base URL, reasoning disabled)
- Tests: chatValidation, appState
This commit is contained in:
2026-08-19 09:41:40 -04:00
parent 93a35a7343
commit ff9da4d324
43 changed files with 4174 additions and 249 deletions
+8 -2
View File
@@ -8,9 +8,15 @@
"start": "node src/index.js"
},
"dependencies": {
"@supabase/supabase-js": "^2.112.3",
"bcrypt": "^6.0.0",
"better-sqlite3": "^13.0.3",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"dotenv": "^16.6.0",
"express": "^5.1.0",
"openai": "^5.11.0",
"dotenv": "^16.6.0"
"express-rate-limit": "^8.6.2",
"jose": "^6.2.9",
"openai": "^5.11.0"
}
}