diff --git a/static/js/MODULE_SUMMARY.md b/static/js/MODULE_SUMMARY.md index df5b0cb33..92d3b9e55 100644 --- a/static/js/MODULE_SUMMARY.md +++ b/static/js/MODULE_SUMMARY.md @@ -106,6 +106,7 @@ The largest and most central subsystem. Chat submission → backend SSE → prog | Module | Responsibility | |---|---| | **`memory.js`** | AI memory CRUD, search/filter UI, memory extraction, count badge. | +| **`memoryGraph.js`** | Memory Graph View (beta): Cytoscape.js-based interactive graph over a user's memories and their derived (similarity/session) and manual relationships. Lazily vendors `static/lib/cytoscape.min.js`, follows `calendar.js`'s self-registering modal pattern. Node click + neighborhood highlight, arrow-key node navigation, `f`-to-focus search, category/similarity filtering, collapsible legend, connected-component isolation, link-mode manual relationship editing, detail panel (pin/edit/delete/link management), demo-data fallback. Backed by `GET /api/memory/graph` + `POST`/`DELETE /api/memory/{id}/links` (`routes/memory/memory_graph_routes.py`). | | **`rag.js`** | Personal document RAG: load documents, add directories/files, show included paths. | | **`group.js`** | Group-chat UI and model orchestration. | diff --git a/static/js/memoryGraph.js b/static/js/memoryGraph.js index 211862b77..7beb1bae2 100644 --- a/static/js/memoryGraph.js +++ b/static/js/memoryGraph.js @@ -67,7 +67,8 @@ let _minSimilarity = 0.75; let _linkMode = false; let _linkSourceId = null; let _selectedId = null; -let _escHandler = null; +let _isolateRootId = null; // set = only this node's connected component is shown +let _keyHandler = null; let _resizeWired = false; // ---- lazy-load Cytoscape, mirroring documentLibrary.js's ensureXLSX/ensureMammoth ---- @@ -117,10 +118,16 @@ function _getModal() {
+
-
similarity
-
same session
-
manual link
+
+ Legend +
+
+
similarity
+
same session
+
manual link
+