superlocalmemory 4.0.5 → 4.0.7
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.
- package/CHANGELOG.md +108 -0
- package/README.md +8 -9
- package/package.json +3 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/CLAUDE.md +3 -3
- package/plugin/agents/slm-governance-advisor.md +1 -1
- package/plugin/agents/slm-loop-runner.md +1 -1
- package/plugin/agents/slm-memory-advisor.md +1 -1
- package/plugin/agents/slm-optimize-advisor.md +1 -1
- package/plugin/requirements.txt +1 -1
- package/plugin/skills/slm-cache/SKILL.md +1 -1
- package/plugin/skills/slm-compress/SKILL.md +1 -1
- package/plugin/skills/slm-governance/SKILL.md +1 -1
- package/plugin/skills/slm-graph/SKILL.md +1 -1
- package/plugin/skills/slm-loop/SKILL.md +1 -1
- package/plugin/skills/slm-mesh/SKILL.md +1 -1
- package/plugin/skills/slm-profile/SKILL.md +1 -1
- package/plugin/skills/slm-recall/SKILL.md +1 -1
- package/plugin/skills/slm-remember/SKILL.md +1 -1
- package/plugin/skills/slm-scope/SKILL.md +1 -1
- package/plugin/skills/slm-session/SKILL.md +1 -1
- package/plugin/skills/slm-status/SKILL.md +1 -1
- package/plugin-src/rules/AGENTS.md +1 -1
- package/pyproject.toml +1 -1
- package/src/superlocalmemory/__init__.py +1 -1
- package/src/superlocalmemory/access/rbac.py +106 -0
- package/src/superlocalmemory/brain/truth.py +80 -10
- package/src/superlocalmemory/cli/__main__.py +17 -0
- package/src/superlocalmemory/cli/commands.py +28 -3
- package/src/superlocalmemory/cli/gdpr_cmd.py +779 -0
- package/src/superlocalmemory/cli/gdpr_io.py +109 -0
- package/src/superlocalmemory/cli/main.py +85 -0
- package/src/superlocalmemory/cli/summary_cmd.py +195 -0
- package/src/superlocalmemory/code_graph/bridge/entity_resolver.py +26 -0
- package/src/superlocalmemory/code_graph/bridge/event_listeners.py +14 -3
- package/src/superlocalmemory/code_graph/bridge/maintenance.py +206 -0
- package/src/superlocalmemory/code_graph/config.py +65 -1
- package/src/superlocalmemory/code_graph/extractors/__init__.py +17 -0
- package/src/superlocalmemory/code_graph/graph_store.py +180 -3
- package/src/superlocalmemory/code_graph/parser.py +280 -100
- package/src/superlocalmemory/compliance/gdpr.py +358 -0
- package/src/superlocalmemory/core/config.py +44 -1
- package/src/superlocalmemory/core/engine_wiring.py +5 -1
- package/src/superlocalmemory/core/fact_consolidator.py +24 -1
- package/src/superlocalmemory/core/maintenance.py +93 -1
- package/src/superlocalmemory/core/recall_worker.py +33 -12
- package/src/superlocalmemory/infra/backup.py +138 -0
- package/src/superlocalmemory/infra/backup_obligations.py +423 -0
- package/src/superlocalmemory/learning/engagement.py +165 -0
- package/src/superlocalmemory/mcp/tools_code_graph.py +78 -7
- package/src/superlocalmemory/mcp/tools_v3.py +20 -6
- package/src/superlocalmemory/retrieval/engine.py +21 -0
- package/src/superlocalmemory/retrieval/remote_reranker.py +108 -11
- package/src/superlocalmemory/server/routes/brain.py +283 -15
- package/src/superlocalmemory/server/routes/learning.py +13 -25
- package/src/superlocalmemory/server/routes/memories.py +61 -0
- package/src/superlocalmemory/server/routes/v3_api.py +171 -60
- package/src/superlocalmemory/storage/database.py +36 -0
- package/src/superlocalmemory/storage/models.py +12 -4
- package/src/superlocalmemory/storage/schema_code_graph.py +44 -1
- package/src/superlocalmemory/summaries/__init__.py +37 -0
- package/src/superlocalmemory/summaries/base.py +108 -0
- package/src/superlocalmemory/summaries/daily_reflection.py +293 -0
- package/src/superlocalmemory/summaries/project_work_log.py +424 -0
- package/src/superlocalmemory/summaries/session_summary.py +307 -0
- package/src/superlocalmemory/ui/css/design-system.css +76 -1
- package/src/superlocalmemory/ui/index.html +29 -12
- package/src/superlocalmemory/ui/js/fact-detail.js +61 -0
- package/src/superlocalmemory/ui/js/od-agents.js +49 -5
- package/src/superlocalmemory/ui/js/od-brain.js +257 -77
- package/src/superlocalmemory/ui/js/od-graph.js +147 -6
|
@@ -276,6 +276,18 @@ def _cmd_ops(args: Namespace) -> None:
|
|
|
276
276
|
cmd_ops(args)
|
|
277
277
|
|
|
278
278
|
|
|
279
|
+
def _cmd_gdpr_dispatch(args: Namespace) -> None:
|
|
280
|
+
"""V4.0.6: GDPR subject-rights CLI (Art.15/17/20)."""
|
|
281
|
+
from superlocalmemory.cli.gdpr_cmd import cmd_gdpr
|
|
282
|
+
cmd_gdpr(args)
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
def _cmd_summary_dispatch(args: Namespace) -> None:
|
|
286
|
+
"""V4.0.7: readable session/day/project summaries (issue #113)."""
|
|
287
|
+
from superlocalmemory.cli.summary_cmd import cmd_summary
|
|
288
|
+
cmd_summary(args)
|
|
289
|
+
|
|
290
|
+
|
|
279
291
|
# ---- end SLM v3.6 Optimize dispatch functions ----
|
|
280
292
|
|
|
281
293
|
|
|
@@ -406,6 +418,9 @@ def dispatch(args: Namespace) -> None:
|
|
|
406
418
|
"help": cmd_help,
|
|
407
419
|
# Wave-3: operational recovery & admin remediation
|
|
408
420
|
"ops": _cmd_ops,
|
|
421
|
+
# V4.0.6: GDPR subject-rights CLI (Art.15/17/20)
|
|
422
|
+
"gdpr": _cmd_gdpr_dispatch,
|
|
423
|
+
"summary": _cmd_summary_dispatch,
|
|
409
424
|
}
|
|
410
425
|
handler = handlers.get(args.command)
|
|
411
426
|
if handler:
|
|
@@ -2207,6 +2222,13 @@ _COMMAND_GROUPS: list[tuple[str, list[tuple[str, str]]]] = [
|
|
|
2207
2222
|
("forget", "Run the decay cycle (preview first)"),
|
|
2208
2223
|
("trace", "Recall with a per-channel score breakdown"),
|
|
2209
2224
|
("ingest", "Ingest external observations / documents"),
|
|
2225
|
+
("summary", "Readable summaries: session, day, or project"),
|
|
2226
|
+
]),
|
|
2227
|
+
("Privacy & compliance", [
|
|
2228
|
+
# gdpr shipped in 4.0.6 but was never listed here, so `slm help` did not
|
|
2229
|
+
# mention it at all. The drift test caught it; the omission is the thing
|
|
2230
|
+
# that test exists to prevent.
|
|
2231
|
+
("gdpr", "Subject rights: status, export, erase, verify"),
|
|
2210
2232
|
]),
|
|
2211
2233
|
("Run SLM (daemon & dashboard)", [
|
|
2212
2234
|
("serve", "Start/stop the background daemon"),
|
|
@@ -2273,9 +2295,12 @@ _COMMAND_GROUPS: list[tuple[str, list[tuple[str, str]]]] = [
|
|
|
2273
2295
|
_HELP_TOPICS: dict[str, str] = {
|
|
2274
2296
|
"modes": """\
|
|
2275
2297
|
Operating modes
|
|
2276
|
-
a
|
|
2277
|
-
|
|
2278
|
-
|
|
2298
|
+
a On-device only — no AI language model runs; all data stays on this
|
|
2299
|
+
device. Fastest and most private. (EU AI Act: full)
|
|
2300
|
+
b On-device + AI — uses a local Ollama model to improve recall quality;
|
|
2301
|
+
all data stays on this device. Requires Ollama running.
|
|
2302
|
+
c Cloud AI — uses a cloud provider (OpenAI, Anthropic, …) for best
|
|
2303
|
+
recall quality; queries leave this device. Needs a key.
|
|
2279
2304
|
|
|
2280
2305
|
Switch any time: slm mode a (or b / c)
|
|
2281
2306
|
""",
|