feat(cluster): implement cluster detection and bridge notes discovery

Add automatic note clustering using density-based algorithm (DBSCAN variant)
and bridge notes detection for connecting different thematic clusters.

Features:
- NoteCluster, ClusterMember, BridgeNote, BridgeSuggestion models
- Clustering service with pgvector cosine similarity
- Bridge notes detection (notes connecting >=2 clusters)
- AI-powered suggestions for missing cluster connections
- /insights page with React Flow visualization
- Cron endpoint for automatic recalculation

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Antigravity
2026-05-23 20:26:25 +00:00
parent 2aed148dc2
commit 077e665dfc
13 changed files with 2882 additions and 12 deletions

View File

@@ -99,6 +99,7 @@
"isomorphic-dompurify": "^3.12.0",
"jalaali-js": "^1.2.8",
"jsdom": "^29.0.2",
"jszip": "^3.10.1",
"katex": "^0.16.27",
"lucide-react": "^0.562.0",
"marked": "^18.0.3",
@@ -116,6 +117,7 @@
"react-force-graph-2d": "^1.29.1",
"react-icons": "^5.6.0",
"react-markdown": "^10.1.0",
"reactflow": "^11.11.4",
"recharts": "^3.8.1",
"rehype-katex": "^7.0.1",
"rehype-raw": "^7.0.0",
@@ -141,6 +143,7 @@
"@types/dagre": "^0.7.54",
"@types/diff": "^7.0.2",
"@types/ioredis": "^4.28.10",
"@types/jszip": "^3.4.0",
"@types/node": "^20",
"@types/nodemailer": "^7.0.4",
"@types/pdf-parse": "^1.1.5",