graph-mind-memory 0.5.1__tar.gz → 0.5.2__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.
Files changed (33) hide show
  1. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/PKG-INFO +10 -4
  2. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/README.md +8 -3
  3. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/conversation_memory.py +9 -0
  4. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/graph_mind_memory.egg-info/PKG-INFO +10 -4
  5. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/pyproject.toml +2 -1
  6. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/LICENSE +0 -0
  7. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/associative_memory.py +0 -0
  8. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/automatic_capture.py +0 -0
  9. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/automatic_capture_cli.py +0 -0
  10. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/brain_log.py +0 -0
  11. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/clock.py +0 -0
  12. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/coding_memory.py +0 -0
  13. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/development_memory.py +0 -0
  14. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/development_paths.py +0 -0
  15. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/embedding_warmup.py +0 -0
  16. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/entity_timeline.py +0 -0
  17. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/forget.py +0 -0
  18. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/graph_mind_mcp_server.py +0 -0
  19. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/graph_mind_memory.egg-info/SOURCES.txt +0 -0
  20. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/graph_mind_memory.egg-info/dependency_links.txt +0 -0
  21. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/graph_mind_memory.egg-info/entry_points.txt +0 -0
  22. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/graph_mind_memory.egg-info/requires.txt +0 -0
  23. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/graph_mind_memory.egg-info/top_level.txt +0 -0
  24. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/install.py +0 -0
  25. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/local_brain.py +0 -0
  26. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/local_embedder.py +0 -0
  27. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/semantic_llm_extractor.py +0 -0
  28. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/semantic_memory.py +0 -0
  29. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/semantic_recall.py +0 -0
  30. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/setup.cfg +0 -0
  31. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/temporal_resolver.py +0 -0
  32. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/universal_personal_memory.py +0 -0
  33. {graph_mind_memory-0.5.1 → graph_mind_memory-0.5.2}/vector_cache.py +0 -0
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graph-mind-memory
3
- Version: 0.5.1
3
+ Version: 0.5.2
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
7
7
  Project-URL: Homepage, https://github.com/goyohan0611-png/graph-mind
8
8
  Project-URL: Issues, https://github.com/goyohan0611-png/graph-mind/issues
9
+ Project-URL: Changelog, https://github.com/goyohan0611-png/graph-mind/blob/main/CHANGELOG.md
9
10
  Keywords: mcp,memory,claude,codex,llm,longmemeval,local-first
10
11
  Classifier: Development Status :: 3 - Alpha
11
12
  Classifier: Programming Language :: Python :: 3
@@ -120,6 +121,8 @@ Requires Python 3.10+ (64-bit). Windows, macOS or Linux. Hosting a brain that ot
120
121
  needs Python 3.12 or older on that one PC (its Postgres helper, pgserver, has no newer build yet);
121
122
  everything else, joining included, works on 3.13 and 3.14 too.
122
123
 
124
+ What changed in each release: [CHANGELOG.md](CHANGELOG.md).
125
+
123
126
  ```bash
124
127
  pip install graph-mind-memory
125
128
  graph-mind-install
@@ -180,9 +183,12 @@ random 20-64 character tokens caught; in 246,750 ordinary chat turns it fired 92
180
183
  all on real ids and tokens). Commit ids, hashes and UUIDs are kept, since you recall those on
181
184
  purpose.
182
185
 
183
- There is no switch to keep keys: a recalled memory goes to your model's provider with the question,
184
- so a stored key would leave your PC the first time it is useful. To have Graph-MIND remember a key,
185
- tell it **where the key is**, not the key: *"my OpenAI key is in 1Password, under Dev"*.
186
+ Keep masking on if you use a cloud model: a recalled memory goes to your model's provider with the
187
+ question, so a stored key would leave your PC the first time it is useful. To have Graph-MIND
188
+ remember a key, tell it **where the key is**, not the key: *"my OpenAI key is in 1Password, under
189
+ Dev"*. If your model runs on your own machines and you want keys remembered as typed, add
190
+ `"mask_secrets": false` to `~/.graph-mind/config.json` (applies from the next message; already
191
+ masked text stays masked).
186
192
 
187
193
  Only what you actually send is captured: the service reads each app's transcript, which is written
188
194
  after you press Enter, so a paste you delete before sending never reaches it. A plain password
@@ -93,6 +93,8 @@ Requires Python 3.10+ (64-bit). Windows, macOS or Linux. Hosting a brain that ot
93
93
  needs Python 3.12 or older on that one PC (its Postgres helper, pgserver, has no newer build yet);
94
94
  everything else, joining included, works on 3.13 and 3.14 too.
95
95
 
96
+ What changed in each release: [CHANGELOG.md](CHANGELOG.md).
97
+
96
98
  ```bash
97
99
  pip install graph-mind-memory
98
100
  graph-mind-install
@@ -153,9 +155,12 @@ random 20-64 character tokens caught; in 246,750 ordinary chat turns it fired 92
153
155
  all on real ids and tokens). Commit ids, hashes and UUIDs are kept, since you recall those on
154
156
  purpose.
155
157
 
156
- There is no switch to keep keys: a recalled memory goes to your model's provider with the question,
157
- so a stored key would leave your PC the first time it is useful. To have Graph-MIND remember a key,
158
- tell it **where the key is**, not the key: *"my OpenAI key is in 1Password, under Dev"*.
158
+ Keep masking on if you use a cloud model: a recalled memory goes to your model's provider with the
159
+ question, so a stored key would leave your PC the first time it is useful. To have Graph-MIND
160
+ remember a key, tell it **where the key is**, not the key: *"my OpenAI key is in 1Password, under
161
+ Dev"*. If your model runs on your own machines and you want keys remembered as typed, add
162
+ `"mask_secrets": false` to `~/.graph-mind/config.json` (applies from the next message; already
163
+ masked text stays masked).
159
164
 
160
165
  Only what you actually send is captured: the service reads each app's transcript, which is written
161
166
  after you press Enter, so a paste you delete before sending never reaches it. A plain password
@@ -79,8 +79,17 @@ AGENT_INSTRUCTIONS = re.compile(
79
79
  r"(?:#\s*AGENTS\.md instructions[^\n]*\s*)?<INSTRUCTIONS>.*?</INSTRUCTIONS>", flags=re.DOTALL)
80
80
 
81
81
 
82
+ def masking_on():
83
+ """On unless ~/.graph-mind/config.json says "mask_secrets": false: someone running a model on
84
+ their own machines may want keys kept in memory verbatim."""
85
+ from brain_log import _config
86
+ return _config().get("mask_secrets", True) is not False
87
+
88
+
82
89
  def _redact(value):
83
90
  cleaned = AGENT_INSTRUCTIONS.sub("", AUTOMATIC_BLOCKS.sub("", value))
91
+ if not masking_on():
92
+ return cleaned.strip(), 0
84
93
  count = 0
85
94
  for pattern, replacement in SECRET_PATTERNS:
86
95
  cleaned, replacements = pattern.subn(replacement, cleaned)
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graph-mind-memory
3
- Version: 0.5.1
3
+ Version: 0.5.2
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
7
7
  Project-URL: Homepage, https://github.com/goyohan0611-png/graph-mind
8
8
  Project-URL: Issues, https://github.com/goyohan0611-png/graph-mind/issues
9
+ Project-URL: Changelog, https://github.com/goyohan0611-png/graph-mind/blob/main/CHANGELOG.md
9
10
  Keywords: mcp,memory,claude,codex,llm,longmemeval,local-first
10
11
  Classifier: Development Status :: 3 - Alpha
11
12
  Classifier: Programming Language :: Python :: 3
@@ -120,6 +121,8 @@ Requires Python 3.10+ (64-bit). Windows, macOS or Linux. Hosting a brain that ot
120
121
  needs Python 3.12 or older on that one PC (its Postgres helper, pgserver, has no newer build yet);
121
122
  everything else, joining included, works on 3.13 and 3.14 too.
122
123
 
124
+ What changed in each release: [CHANGELOG.md](CHANGELOG.md).
125
+
123
126
  ```bash
124
127
  pip install graph-mind-memory
125
128
  graph-mind-install
@@ -180,9 +183,12 @@ random 20-64 character tokens caught; in 246,750 ordinary chat turns it fired 92
180
183
  all on real ids and tokens). Commit ids, hashes and UUIDs are kept, since you recall those on
181
184
  purpose.
182
185
 
183
- There is no switch to keep keys: a recalled memory goes to your model's provider with the question,
184
- so a stored key would leave your PC the first time it is useful. To have Graph-MIND remember a key,
185
- tell it **where the key is**, not the key: *"my OpenAI key is in 1Password, under Dev"*.
186
+ Keep masking on if you use a cloud model: a recalled memory goes to your model's provider with the
187
+ question, so a stored key would leave your PC the first time it is useful. To have Graph-MIND
188
+ remember a key, tell it **where the key is**, not the key: *"my OpenAI key is in 1Password, under
189
+ Dev"*. If your model runs on your own machines and you want keys remembered as typed, add
190
+ `"mask_secrets": false` to `~/.graph-mind/config.json` (applies from the next message; already
191
+ masked text stays masked).
186
192
 
187
193
  Only what you actually send is captured: the service reads each app's transcript, which is written
188
194
  after you press Enter, so a paste you delete before sending never reaches it. A plain password
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "graph-mind-memory"
7
- version = "0.5.1"
7
+ version = "0.5.2"
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"
@@ -35,6 +35,7 @@ dependencies = [
35
35
  [project.urls]
36
36
  Homepage = "https://github.com/goyohan0611-png/graph-mind"
37
37
  Issues = "https://github.com/goyohan0611-png/graph-mind/issues"
38
+ Changelog = "https://github.com/goyohan0611-png/graph-mind/blob/main/CHANGELOG.md"
38
39
 
39
40
  [project.scripts]
40
41
  graph-mind = "graph_mind_mcp_server:main"