graph-mind-memory 0.6.1__tar.gz → 0.6.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/PKG-INFO +5 -1
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/README.md +4 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/pyproject.toml +1 -1
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/brain_view.py +11 -5
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/PKG-INFO +5 -1
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/LICENSE +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/setup.cfg +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/associative_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/automatic_capture.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/automatic_capture_cli.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/brain_log.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/clock.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/coding_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/conversation_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/development_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/development_paths.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/embedding_warmup.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/entity_timeline.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/forget.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_mcp_server.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/SOURCES.txt +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/dependency_links.txt +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/entry_points.txt +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/requires.txt +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/top_level.txt +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/install.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/local_brain.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/local_embedder.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/semantic_llm_extractor.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/semantic_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/semantic_recall.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/temporal_resolver.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/universal_personal_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/vector_cache.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_associative_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_automatic_capture.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_brain_view.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_capture_health.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_coding_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_cold_start.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_concurrent_use.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_conversation_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_executable_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_executable_plan_v2_diagnostic.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_forget.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_forget_conversation.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_graph_mind_mcp_server.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_ingestion_gate.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_ingestion_synonyms.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_install.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_llm_concept_planner.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_local_brain.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_adapter.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_calibration.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_preflight.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_v7.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_memory_algebra.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_piece_index.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_precondition_verifier.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_recent_recall.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_resume_retries.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_secret_masking.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_semantic_llm_extractor.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_semantic_memory.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_semantic_recall.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_shared_brain.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_temporal_state.py +0 -0
- {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_universal_personal_memory.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: graph-mind-memory
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.3
|
|
4
4
|
Summary: Local-first memory for AI coding assistants: verbatim, on your own PC, no LLM calls at write time.
|
|
5
5
|
Author-email: Yohan Ko <goyohan0611@gmail.com>
|
|
6
6
|
License-Expression: AGPL-3.0-only
|
|
@@ -246,6 +246,10 @@ tools get confused with each other. Version 0.1 had thirteen.
|
|
|
246
246
|
|
|
247
247
|
## See your memory
|
|
248
248
|
|
|
249
|
+
<div align="center">
|
|
250
|
+
<img src="demo/brain.gif" alt="Three weeks of real coding chats as a 3D graph: coloured regions of related memories, joined by links" width="760">
|
|
251
|
+
</div>
|
|
252
|
+
|
|
249
253
|
```bash
|
|
250
254
|
graph-mind-view # opens your memory as a 3D graph in the browser
|
|
251
255
|
graph-mind-view --no-text # the same picture with no conversation text in the file
|
|
@@ -218,6 +218,10 @@ tools get confused with each other. Version 0.1 had thirteen.
|
|
|
218
218
|
|
|
219
219
|
## See your memory
|
|
220
220
|
|
|
221
|
+
<div align="center">
|
|
222
|
+
<img src="demo/brain.gif" alt="Three weeks of real coding chats as a 3D graph: coloured regions of related memories, joined by links" width="760">
|
|
223
|
+
</div>
|
|
224
|
+
|
|
221
225
|
```bash
|
|
222
226
|
graph-mind-view # opens your memory as a 3D graph in the browser
|
|
223
227
|
graph-mind-view --no-text # the same picture with no conversation text in the file
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "graph-mind-memory"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.3"
|
|
8
8
|
description = "Local-first memory for AI coding assistants: verbatim, on your own PC, no LLM calls at write time."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -174,7 +174,6 @@ const info = document.getElementById("info");
|
|
|
174
174
|
const esc = s => String(s).replace(/[&<>]/g, c => ({"&":"&","<":"<",">":">"}[c]));
|
|
175
175
|
const graph = ForceGraph3D()(document.getElementById("graph"))
|
|
176
176
|
.backgroundColor("#05060a")
|
|
177
|
-
.graphData({nodes: DATA.nodes, links: DATA.links})
|
|
178
177
|
.nodeColor(color)
|
|
179
178
|
.nodeRelSize(2.2)
|
|
180
179
|
.nodeVal(n => 0.6 + Math.sqrt(n.degree) / 2)
|
|
@@ -198,16 +197,23 @@ const centers = regions.map((_, i) => {
|
|
|
198
197
|
const y = 1 - 2 * (i + 0.5) / regions.length, r = Math.sqrt(1 - y * y), t = i * 2.39996;
|
|
199
198
|
return {x: 380 * r * Math.cos(t), y: 380 * y, z: 380 * r * Math.sin(t)};
|
|
200
199
|
});
|
|
201
|
-
|
|
202
|
-
|
|
200
|
+
// start every node near its region's point, so the lobes show from the first frame instead of
|
|
201
|
+
// depending on how long the browser lets the layout run (a background tab barely runs it)
|
|
202
|
+
DATA.nodes.forEach(n => {
|
|
203
|
+
const c = n.region >= 0 ? centers[n.region] : {x: 0, y: 0, z: 0}, s = 70;
|
|
204
|
+
n.x = c.x + (Math.random() - 0.5) * s; n.y = c.y + (Math.random() - 0.5) * s;
|
|
205
|
+
n.z = c.z + (Math.random() - 0.5) * s;
|
|
206
|
+
});
|
|
207
|
+
const lobes = alpha => graph.graphData().nodes.forEach(n => {
|
|
203
208
|
const c = n.region >= 0 ? centers[n.region] : {x: 0, y: 0, z: 0}, k = n.region >= 0 ? 0.35 : 0.05;
|
|
204
209
|
n.vx += (c.x - n.x) * k * alpha; n.vy += (c.y - n.y) * k * alpha; n.vz += (c.z - n.z) * k * alpha;
|
|
205
210
|
});
|
|
206
|
-
lobes.initialize = ns => { simNodes = ns; };
|
|
207
211
|
graph.d3Force("lobes", lobes);
|
|
208
212
|
graph.d3Force("charge").strength(-12);
|
|
209
213
|
graph.d3Force("link").strength(l => l.kind === "SHARED_CUE" ? 0.05 : 0.01);
|
|
210
|
-
|
|
214
|
+
// data last, once every force is in place: reheating a layout that did not exist yet threw
|
|
215
|
+
// "reading 'tick'" on every frame and left the page black
|
|
216
|
+
graph.graphData({nodes: DATA.nodes, links: DATA.links});
|
|
211
217
|
let angle = 0, spinning = true;
|
|
212
218
|
setInterval(() => { if (!spinning) return; angle += 0.0025;
|
|
213
219
|
const r = 900; graph.cameraPosition({x: r * Math.sin(angle), z: r * Math.cos(angle)}); }, 30);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: graph-mind-memory
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.3
|
|
4
4
|
Summary: Local-first memory for AI coding assistants: verbatim, on your own PC, no LLM calls at write time.
|
|
5
5
|
Author-email: Yohan Ko <goyohan0611@gmail.com>
|
|
6
6
|
License-Expression: AGPL-3.0-only
|
|
@@ -246,6 +246,10 @@ tools get confused with each other. Version 0.1 had thirteen.
|
|
|
246
246
|
|
|
247
247
|
## See your memory
|
|
248
248
|
|
|
249
|
+
<div align="center">
|
|
250
|
+
<img src="demo/brain.gif" alt="Three weeks of real coding chats as a 3D graph: coloured regions of related memories, joined by links" width="760">
|
|
251
|
+
</div>
|
|
252
|
+
|
|
249
253
|
```bash
|
|
250
254
|
graph-mind-view # opens your memory as a 3D graph in the browser
|
|
251
255
|
graph-mind-view --no-text # the same picture with no conversation text in the file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/requires.txt
RENAMED
|
File without changes
|
{graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_executable_plan_v2_diagnostic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_calibration.py
RENAMED
|
File without changes
|
{graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_preflight.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|