superlocalmemory 2.8.5 → 3.0.0

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 (434) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +9 -1
  3. package/NOTICE +63 -0
  4. package/README.md +165 -480
  5. package/bin/slm +17 -449
  6. package/bin/slm-npm +2 -2
  7. package/bin/slm.bat +4 -2
  8. package/conftest.py +5 -0
  9. package/docs/api-reference.md +284 -0
  10. package/docs/architecture.md +149 -0
  11. package/docs/auto-memory.md +150 -0
  12. package/docs/cli-reference.md +276 -0
  13. package/docs/compliance.md +191 -0
  14. package/docs/configuration.md +182 -0
  15. package/docs/getting-started.md +102 -0
  16. package/docs/ide-setup.md +261 -0
  17. package/docs/mcp-tools.md +220 -0
  18. package/docs/migration-from-v2.md +170 -0
  19. package/docs/profiles.md +173 -0
  20. package/docs/troubleshooting.md +310 -0
  21. package/{configs → ide/configs}/antigravity-mcp.json +3 -3
  22. package/ide/configs/chatgpt-desktop-mcp.json +16 -0
  23. package/{configs → ide/configs}/claude-desktop-mcp.json +3 -3
  24. package/{configs → ide/configs}/codex-mcp.toml +4 -4
  25. package/{configs → ide/configs}/continue-mcp.yaml +4 -3
  26. package/{configs → ide/configs}/continue-skills.yaml +6 -6
  27. package/ide/configs/cursor-mcp.json +15 -0
  28. package/{configs → ide/configs}/gemini-cli-mcp.json +2 -2
  29. package/{configs → ide/configs}/jetbrains-mcp.json +2 -2
  30. package/{configs → ide/configs}/opencode-mcp.json +2 -2
  31. package/{configs → ide/configs}/perplexity-mcp.json +2 -2
  32. package/{configs → ide/configs}/vscode-copilot-mcp.json +2 -2
  33. package/{configs → ide/configs}/windsurf-mcp.json +3 -3
  34. package/{configs → ide/configs}/zed-mcp.json +2 -2
  35. package/{hooks → ide/hooks}/context-hook.js +9 -20
  36. package/ide/hooks/memory-list-skill.js +70 -0
  37. package/ide/hooks/memory-profile-skill.js +101 -0
  38. package/ide/hooks/memory-recall-skill.js +62 -0
  39. package/ide/hooks/memory-remember-skill.js +68 -0
  40. package/ide/hooks/memory-reset-skill.js +160 -0
  41. package/{hooks → ide/hooks}/post-recall-hook.js +2 -2
  42. package/ide/integrations/langchain/README.md +106 -0
  43. package/ide/integrations/langchain/langchain_superlocalmemory/__init__.py +9 -0
  44. package/ide/integrations/langchain/langchain_superlocalmemory/chat_message_history.py +201 -0
  45. package/ide/integrations/langchain/pyproject.toml +38 -0
  46. package/{src/learning → ide/integrations/langchain}/tests/__init__.py +1 -0
  47. package/ide/integrations/langchain/tests/test_chat_message_history.py +215 -0
  48. package/ide/integrations/langchain/tests/test_security.py +117 -0
  49. package/ide/integrations/llamaindex/README.md +81 -0
  50. package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/__init__.py +9 -0
  51. package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/base.py +316 -0
  52. package/ide/integrations/llamaindex/pyproject.toml +43 -0
  53. package/{src/lifecycle → ide/integrations/llamaindex}/tests/__init__.py +1 -2
  54. package/ide/integrations/llamaindex/tests/test_chat_store.py +294 -0
  55. package/ide/integrations/llamaindex/tests/test_security.py +241 -0
  56. package/{skills → ide/skills}/slm-build-graph/SKILL.md +6 -6
  57. package/{skills → ide/skills}/slm-list-recent/SKILL.md +5 -5
  58. package/{skills → ide/skills}/slm-recall/SKILL.md +5 -5
  59. package/{skills → ide/skills}/slm-remember/SKILL.md +6 -6
  60. package/{skills → ide/skills}/slm-show-patterns/SKILL.md +7 -7
  61. package/{skills → ide/skills}/slm-status/SKILL.md +9 -9
  62. package/{skills → ide/skills}/slm-switch-profile/SKILL.md +9 -9
  63. package/package.json +13 -22
  64. package/pyproject.toml +85 -0
  65. package/scripts/build-dmg.sh +417 -0
  66. package/scripts/install-skills.ps1 +334 -0
  67. package/{install.ps1 → scripts/install.ps1} +36 -4
  68. package/{install.sh → scripts/install.sh} +14 -13
  69. package/scripts/postinstall.js +2 -2
  70. package/scripts/start-dashboard.ps1 +52 -0
  71. package/scripts/start-dashboard.sh +41 -0
  72. package/scripts/sync-wiki.ps1 +127 -0
  73. package/scripts/sync-wiki.sh +82 -0
  74. package/scripts/test-dmg.sh +161 -0
  75. package/scripts/test-npm-package.ps1 +252 -0
  76. package/scripts/test-npm-package.sh +207 -0
  77. package/scripts/verify-install.ps1 +294 -0
  78. package/scripts/verify-install.sh +266 -0
  79. package/src/superlocalmemory/__init__.py +0 -0
  80. package/src/superlocalmemory/attribution/__init__.py +9 -0
  81. package/src/superlocalmemory/attribution/mathematical_dna.py +235 -0
  82. package/src/superlocalmemory/attribution/signer.py +153 -0
  83. package/src/superlocalmemory/attribution/watermark.py +189 -0
  84. package/src/superlocalmemory/cli/__init__.py +5 -0
  85. package/src/superlocalmemory/cli/commands.py +245 -0
  86. package/src/superlocalmemory/cli/main.py +89 -0
  87. package/src/superlocalmemory/cli/migrate_cmd.py +55 -0
  88. package/src/superlocalmemory/cli/post_install.py +99 -0
  89. package/src/superlocalmemory/cli/setup_wizard.py +129 -0
  90. package/src/superlocalmemory/compliance/__init__.py +0 -0
  91. package/src/superlocalmemory/compliance/abac.py +204 -0
  92. package/src/superlocalmemory/compliance/audit.py +314 -0
  93. package/src/superlocalmemory/compliance/eu_ai_act.py +131 -0
  94. package/src/superlocalmemory/compliance/gdpr.py +294 -0
  95. package/src/superlocalmemory/compliance/lifecycle.py +158 -0
  96. package/src/superlocalmemory/compliance/retention.py +232 -0
  97. package/src/superlocalmemory/compliance/scheduler.py +148 -0
  98. package/src/superlocalmemory/core/__init__.py +0 -0
  99. package/src/superlocalmemory/core/config.py +391 -0
  100. package/src/superlocalmemory/core/embeddings.py +293 -0
  101. package/src/superlocalmemory/core/engine.py +701 -0
  102. package/src/superlocalmemory/core/hooks.py +65 -0
  103. package/src/superlocalmemory/core/maintenance.py +172 -0
  104. package/src/superlocalmemory/core/modes.py +140 -0
  105. package/src/superlocalmemory/core/profiles.py +234 -0
  106. package/src/superlocalmemory/core/registry.py +117 -0
  107. package/src/superlocalmemory/dynamics/__init__.py +0 -0
  108. package/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +223 -0
  109. package/src/superlocalmemory/encoding/__init__.py +0 -0
  110. package/src/superlocalmemory/encoding/consolidator.py +485 -0
  111. package/src/superlocalmemory/encoding/emotional.py +125 -0
  112. package/src/superlocalmemory/encoding/entity_resolver.py +525 -0
  113. package/src/superlocalmemory/encoding/entropy_gate.py +104 -0
  114. package/src/superlocalmemory/encoding/fact_extractor.py +775 -0
  115. package/src/superlocalmemory/encoding/foresight.py +91 -0
  116. package/src/superlocalmemory/encoding/graph_builder.py +302 -0
  117. package/src/superlocalmemory/encoding/observation_builder.py +160 -0
  118. package/src/superlocalmemory/encoding/scene_builder.py +183 -0
  119. package/src/superlocalmemory/encoding/signal_inference.py +90 -0
  120. package/src/superlocalmemory/encoding/temporal_parser.py +426 -0
  121. package/src/superlocalmemory/encoding/type_router.py +235 -0
  122. package/src/superlocalmemory/hooks/__init__.py +3 -0
  123. package/src/superlocalmemory/hooks/auto_capture.py +111 -0
  124. package/src/superlocalmemory/hooks/auto_recall.py +93 -0
  125. package/src/superlocalmemory/hooks/ide_connector.py +204 -0
  126. package/src/superlocalmemory/hooks/rules_engine.py +99 -0
  127. package/src/superlocalmemory/infra/__init__.py +3 -0
  128. package/src/superlocalmemory/infra/auth_middleware.py +82 -0
  129. package/src/superlocalmemory/infra/backup.py +317 -0
  130. package/src/superlocalmemory/infra/cache_manager.py +267 -0
  131. package/src/superlocalmemory/infra/event_bus.py +381 -0
  132. package/src/superlocalmemory/infra/rate_limiter.py +135 -0
  133. package/src/{webhook_dispatcher.py → superlocalmemory/infra/webhook_dispatcher.py} +104 -101
  134. package/src/superlocalmemory/learning/__init__.py +0 -0
  135. package/src/superlocalmemory/learning/adaptive.py +172 -0
  136. package/src/superlocalmemory/learning/behavioral.py +490 -0
  137. package/src/superlocalmemory/learning/behavioral_listener.py +94 -0
  138. package/src/superlocalmemory/learning/bootstrap.py +298 -0
  139. package/src/superlocalmemory/learning/cross_project.py +399 -0
  140. package/src/superlocalmemory/learning/database.py +376 -0
  141. package/src/superlocalmemory/learning/engagement.py +323 -0
  142. package/src/superlocalmemory/learning/features.py +138 -0
  143. package/src/superlocalmemory/learning/feedback.py +316 -0
  144. package/src/superlocalmemory/learning/outcomes.py +255 -0
  145. package/src/superlocalmemory/learning/project_context.py +366 -0
  146. package/src/superlocalmemory/learning/ranker.py +155 -0
  147. package/src/superlocalmemory/learning/source_quality.py +303 -0
  148. package/src/superlocalmemory/learning/workflows.py +309 -0
  149. package/src/superlocalmemory/llm/__init__.py +0 -0
  150. package/src/superlocalmemory/llm/backbone.py +316 -0
  151. package/src/superlocalmemory/math/__init__.py +0 -0
  152. package/src/superlocalmemory/math/fisher.py +356 -0
  153. package/src/superlocalmemory/math/langevin.py +398 -0
  154. package/src/superlocalmemory/math/sheaf.py +257 -0
  155. package/src/superlocalmemory/mcp/__init__.py +0 -0
  156. package/src/superlocalmemory/mcp/resources.py +245 -0
  157. package/src/superlocalmemory/mcp/server.py +61 -0
  158. package/src/superlocalmemory/mcp/tools.py +18 -0
  159. package/src/superlocalmemory/mcp/tools_core.py +305 -0
  160. package/src/superlocalmemory/mcp/tools_v28.py +223 -0
  161. package/src/superlocalmemory/mcp/tools_v3.py +286 -0
  162. package/src/superlocalmemory/retrieval/__init__.py +0 -0
  163. package/src/superlocalmemory/retrieval/agentic.py +295 -0
  164. package/src/superlocalmemory/retrieval/ann_index.py +223 -0
  165. package/src/superlocalmemory/retrieval/bm25_channel.py +185 -0
  166. package/src/superlocalmemory/retrieval/bridge_discovery.py +170 -0
  167. package/src/superlocalmemory/retrieval/engine.py +390 -0
  168. package/src/superlocalmemory/retrieval/entity_channel.py +179 -0
  169. package/src/superlocalmemory/retrieval/fusion.py +78 -0
  170. package/src/superlocalmemory/retrieval/profile_channel.py +105 -0
  171. package/src/superlocalmemory/retrieval/reranker.py +154 -0
  172. package/src/superlocalmemory/retrieval/semantic_channel.py +232 -0
  173. package/src/superlocalmemory/retrieval/strategy.py +96 -0
  174. package/src/superlocalmemory/retrieval/temporal_channel.py +175 -0
  175. package/src/superlocalmemory/server/__init__.py +1 -0
  176. package/src/superlocalmemory/server/api.py +248 -0
  177. package/src/superlocalmemory/server/routes/__init__.py +4 -0
  178. package/src/superlocalmemory/server/routes/agents.py +107 -0
  179. package/src/superlocalmemory/server/routes/backup.py +91 -0
  180. package/src/superlocalmemory/server/routes/behavioral.py +127 -0
  181. package/src/superlocalmemory/server/routes/compliance.py +160 -0
  182. package/src/superlocalmemory/server/routes/data_io.py +188 -0
  183. package/src/superlocalmemory/server/routes/events.py +183 -0
  184. package/src/superlocalmemory/server/routes/helpers.py +85 -0
  185. package/src/superlocalmemory/server/routes/learning.py +273 -0
  186. package/src/superlocalmemory/server/routes/lifecycle.py +116 -0
  187. package/src/superlocalmemory/server/routes/memories.py +399 -0
  188. package/src/superlocalmemory/server/routes/profiles.py +219 -0
  189. package/src/superlocalmemory/server/routes/stats.py +346 -0
  190. package/src/superlocalmemory/server/routes/v3_api.py +365 -0
  191. package/src/superlocalmemory/server/routes/ws.py +82 -0
  192. package/src/superlocalmemory/server/security_middleware.py +57 -0
  193. package/src/superlocalmemory/server/ui.py +245 -0
  194. package/src/superlocalmemory/storage/__init__.py +0 -0
  195. package/src/superlocalmemory/storage/access_control.py +182 -0
  196. package/src/superlocalmemory/storage/database.py +594 -0
  197. package/src/superlocalmemory/storage/migrations.py +303 -0
  198. package/src/superlocalmemory/storage/models.py +406 -0
  199. package/src/superlocalmemory/storage/schema.py +726 -0
  200. package/src/superlocalmemory/storage/v2_migrator.py +317 -0
  201. package/src/superlocalmemory/trust/__init__.py +0 -0
  202. package/src/superlocalmemory/trust/gate.py +130 -0
  203. package/src/superlocalmemory/trust/provenance.py +124 -0
  204. package/src/superlocalmemory/trust/scorer.py +347 -0
  205. package/src/superlocalmemory/trust/signals.py +153 -0
  206. package/ui/index.html +278 -5
  207. package/ui/js/auto-settings.js +70 -0
  208. package/ui/js/dashboard.js +90 -0
  209. package/ui/js/fact-detail.js +92 -0
  210. package/ui/js/feedback.js +2 -2
  211. package/ui/js/ide-status.js +102 -0
  212. package/ui/js/math-health.js +98 -0
  213. package/ui/js/recall-lab.js +127 -0
  214. package/ui/js/settings.js +2 -2
  215. package/ui/js/trust-dashboard.js +73 -0
  216. package/api_server.py +0 -724
  217. package/bin/aider-smart +0 -72
  218. package/bin/superlocalmemoryv2-learning +0 -4
  219. package/bin/superlocalmemoryv2-list +0 -3
  220. package/bin/superlocalmemoryv2-patterns +0 -4
  221. package/bin/superlocalmemoryv2-profile +0 -3
  222. package/bin/superlocalmemoryv2-recall +0 -3
  223. package/bin/superlocalmemoryv2-remember +0 -3
  224. package/bin/superlocalmemoryv2-reset +0 -3
  225. package/bin/superlocalmemoryv2-status +0 -3
  226. package/configs/chatgpt-desktop-mcp.json +0 -16
  227. package/configs/cursor-mcp.json +0 -15
  228. package/docs/SECURITY-QUICK-REFERENCE.md +0 -214
  229. package/hooks/memory-list-skill.js +0 -139
  230. package/hooks/memory-profile-skill.js +0 -273
  231. package/hooks/memory-recall-skill.js +0 -114
  232. package/hooks/memory-remember-skill.js +0 -127
  233. package/hooks/memory-reset-skill.js +0 -274
  234. package/mcp_server.py +0 -1800
  235. package/requirements-core.txt +0 -22
  236. package/requirements-learning.txt +0 -12
  237. package/requirements.txt +0 -12
  238. package/src/agent_registry.py +0 -411
  239. package/src/auth_middleware.py +0 -61
  240. package/src/auto_backup.py +0 -459
  241. package/src/behavioral/__init__.py +0 -49
  242. package/src/behavioral/behavioral_listener.py +0 -203
  243. package/src/behavioral/behavioral_patterns.py +0 -275
  244. package/src/behavioral/cross_project_transfer.py +0 -206
  245. package/src/behavioral/outcome_inference.py +0 -194
  246. package/src/behavioral/outcome_tracker.py +0 -193
  247. package/src/behavioral/tests/__init__.py +0 -4
  248. package/src/behavioral/tests/test_behavioral_integration.py +0 -108
  249. package/src/behavioral/tests/test_behavioral_patterns.py +0 -150
  250. package/src/behavioral/tests/test_cross_project_transfer.py +0 -142
  251. package/src/behavioral/tests/test_mcp_behavioral.py +0 -139
  252. package/src/behavioral/tests/test_mcp_report_outcome.py +0 -117
  253. package/src/behavioral/tests/test_outcome_inference.py +0 -107
  254. package/src/behavioral/tests/test_outcome_tracker.py +0 -96
  255. package/src/cache_manager.py +0 -518
  256. package/src/compliance/__init__.py +0 -48
  257. package/src/compliance/abac_engine.py +0 -149
  258. package/src/compliance/abac_middleware.py +0 -116
  259. package/src/compliance/audit_db.py +0 -215
  260. package/src/compliance/audit_logger.py +0 -148
  261. package/src/compliance/retention_manager.py +0 -289
  262. package/src/compliance/retention_scheduler.py +0 -186
  263. package/src/compliance/tests/__init__.py +0 -4
  264. package/src/compliance/tests/test_abac_enforcement.py +0 -95
  265. package/src/compliance/tests/test_abac_engine.py +0 -124
  266. package/src/compliance/tests/test_abac_mcp_integration.py +0 -118
  267. package/src/compliance/tests/test_audit_db.py +0 -123
  268. package/src/compliance/tests/test_audit_logger.py +0 -98
  269. package/src/compliance/tests/test_mcp_audit.py +0 -128
  270. package/src/compliance/tests/test_mcp_retention_policy.py +0 -125
  271. package/src/compliance/tests/test_retention_manager.py +0 -131
  272. package/src/compliance/tests/test_retention_scheduler.py +0 -99
  273. package/src/compression/__init__.py +0 -25
  274. package/src/compression/cli.py +0 -150
  275. package/src/compression/cold_storage.py +0 -217
  276. package/src/compression/config.py +0 -72
  277. package/src/compression/orchestrator.py +0 -133
  278. package/src/compression/tier2_compressor.py +0 -228
  279. package/src/compression/tier3_compressor.py +0 -153
  280. package/src/compression/tier_classifier.py +0 -148
  281. package/src/db_connection_manager.py +0 -536
  282. package/src/embedding_engine.py +0 -63
  283. package/src/embeddings/__init__.py +0 -47
  284. package/src/embeddings/cache.py +0 -70
  285. package/src/embeddings/cli.py +0 -113
  286. package/src/embeddings/constants.py +0 -47
  287. package/src/embeddings/database.py +0 -91
  288. package/src/embeddings/engine.py +0 -247
  289. package/src/embeddings/model_loader.py +0 -145
  290. package/src/event_bus.py +0 -562
  291. package/src/graph/__init__.py +0 -36
  292. package/src/graph/build_helpers.py +0 -74
  293. package/src/graph/cli.py +0 -87
  294. package/src/graph/cluster_builder.py +0 -188
  295. package/src/graph/cluster_summary.py +0 -148
  296. package/src/graph/constants.py +0 -47
  297. package/src/graph/edge_builder.py +0 -162
  298. package/src/graph/entity_extractor.py +0 -95
  299. package/src/graph/graph_core.py +0 -226
  300. package/src/graph/graph_search.py +0 -231
  301. package/src/graph/hierarchical.py +0 -207
  302. package/src/graph/schema.py +0 -99
  303. package/src/graph_engine.py +0 -52
  304. package/src/hnsw_index.py +0 -628
  305. package/src/hybrid_search.py +0 -46
  306. package/src/learning/__init__.py +0 -217
  307. package/src/learning/adaptive_ranker.py +0 -682
  308. package/src/learning/bootstrap/__init__.py +0 -69
  309. package/src/learning/bootstrap/constants.py +0 -93
  310. package/src/learning/bootstrap/db_queries.py +0 -316
  311. package/src/learning/bootstrap/sampling.py +0 -82
  312. package/src/learning/bootstrap/text_utils.py +0 -71
  313. package/src/learning/cross_project_aggregator.py +0 -857
  314. package/src/learning/db/__init__.py +0 -40
  315. package/src/learning/db/constants.py +0 -44
  316. package/src/learning/db/schema.py +0 -279
  317. package/src/learning/engagement_tracker.py +0 -628
  318. package/src/learning/feature_extractor.py +0 -708
  319. package/src/learning/feedback_collector.py +0 -806
  320. package/src/learning/learning_db.py +0 -915
  321. package/src/learning/project_context_manager.py +0 -572
  322. package/src/learning/ranking/__init__.py +0 -33
  323. package/src/learning/ranking/constants.py +0 -84
  324. package/src/learning/ranking/helpers.py +0 -278
  325. package/src/learning/source_quality_scorer.py +0 -676
  326. package/src/learning/synthetic_bootstrap.py +0 -755
  327. package/src/learning/tests/test_adaptive_ranker.py +0 -325
  328. package/src/learning/tests/test_adaptive_ranker_v28.py +0 -60
  329. package/src/learning/tests/test_aggregator.py +0 -306
  330. package/src/learning/tests/test_auto_retrain_v28.py +0 -35
  331. package/src/learning/tests/test_e2e_ranking_v28.py +0 -82
  332. package/src/learning/tests/test_feature_extractor_v28.py +0 -93
  333. package/src/learning/tests/test_feedback_collector.py +0 -294
  334. package/src/learning/tests/test_learning_db.py +0 -602
  335. package/src/learning/tests/test_learning_db_v28.py +0 -110
  336. package/src/learning/tests/test_learning_init_v28.py +0 -48
  337. package/src/learning/tests/test_outcome_signals.py +0 -48
  338. package/src/learning/tests/test_project_context.py +0 -292
  339. package/src/learning/tests/test_schema_migration.py +0 -319
  340. package/src/learning/tests/test_signal_inference.py +0 -397
  341. package/src/learning/tests/test_source_quality.py +0 -351
  342. package/src/learning/tests/test_synthetic_bootstrap.py +0 -429
  343. package/src/learning/tests/test_workflow_miner.py +0 -318
  344. package/src/learning/workflow_pattern_miner.py +0 -655
  345. package/src/lifecycle/__init__.py +0 -54
  346. package/src/lifecycle/bounded_growth.py +0 -239
  347. package/src/lifecycle/compaction_engine.py +0 -226
  348. package/src/lifecycle/lifecycle_engine.py +0 -355
  349. package/src/lifecycle/lifecycle_evaluator.py +0 -257
  350. package/src/lifecycle/lifecycle_scheduler.py +0 -130
  351. package/src/lifecycle/retention_policy.py +0 -285
  352. package/src/lifecycle/tests/test_bounded_growth.py +0 -193
  353. package/src/lifecycle/tests/test_compaction.py +0 -179
  354. package/src/lifecycle/tests/test_lifecycle_engine.py +0 -137
  355. package/src/lifecycle/tests/test_lifecycle_evaluation.py +0 -177
  356. package/src/lifecycle/tests/test_lifecycle_scheduler.py +0 -127
  357. package/src/lifecycle/tests/test_lifecycle_search.py +0 -109
  358. package/src/lifecycle/tests/test_mcp_compact.py +0 -149
  359. package/src/lifecycle/tests/test_mcp_lifecycle_status.py +0 -114
  360. package/src/lifecycle/tests/test_retention_policy.py +0 -162
  361. package/src/mcp_tools_v28.py +0 -281
  362. package/src/memory/__init__.py +0 -36
  363. package/src/memory/cli.py +0 -205
  364. package/src/memory/constants.py +0 -39
  365. package/src/memory/helpers.py +0 -28
  366. package/src/memory/schema.py +0 -166
  367. package/src/memory-profiles.py +0 -595
  368. package/src/memory-reset.py +0 -491
  369. package/src/memory_compression.py +0 -989
  370. package/src/memory_store_v2.py +0 -1155
  371. package/src/migrate_v1_to_v2.py +0 -629
  372. package/src/pattern_learner.py +0 -34
  373. package/src/patterns/__init__.py +0 -24
  374. package/src/patterns/analyzers.py +0 -251
  375. package/src/patterns/learner.py +0 -271
  376. package/src/patterns/scoring.py +0 -171
  377. package/src/patterns/store.py +0 -225
  378. package/src/patterns/terminology.py +0 -140
  379. package/src/provenance_tracker.py +0 -312
  380. package/src/qualixar_attribution.py +0 -139
  381. package/src/qualixar_watermark.py +0 -78
  382. package/src/query_optimizer.py +0 -511
  383. package/src/rate_limiter.py +0 -83
  384. package/src/search/__init__.py +0 -20
  385. package/src/search/cli.py +0 -77
  386. package/src/search/constants.py +0 -26
  387. package/src/search/engine.py +0 -241
  388. package/src/search/fusion.py +0 -122
  389. package/src/search/index_loader.py +0 -114
  390. package/src/search/methods.py +0 -162
  391. package/src/search_engine_v2.py +0 -401
  392. package/src/setup_validator.py +0 -482
  393. package/src/subscription_manager.py +0 -391
  394. package/src/tree/__init__.py +0 -59
  395. package/src/tree/builder.py +0 -185
  396. package/src/tree/nodes.py +0 -202
  397. package/src/tree/queries.py +0 -257
  398. package/src/tree/schema.py +0 -80
  399. package/src/tree_manager.py +0 -19
  400. package/src/trust/__init__.py +0 -45
  401. package/src/trust/constants.py +0 -66
  402. package/src/trust/queries.py +0 -157
  403. package/src/trust/schema.py +0 -95
  404. package/src/trust/scorer.py +0 -299
  405. package/src/trust/signals.py +0 -95
  406. package/src/trust_scorer.py +0 -44
  407. package/ui/app.js +0 -1588
  408. package/ui/js/graph-cytoscape-monolithic-backup.js +0 -1168
  409. package/ui/js/graph-cytoscape.js +0 -1168
  410. package/ui/js/graph-d3-backup.js +0 -32
  411. package/ui/js/graph.js +0 -32
  412. package/ui_server.py +0 -266
  413. /package/docs/{ACCESSIBILITY.md → v2-archive/ACCESSIBILITY.md} +0 -0
  414. /package/docs/{ARCHITECTURE.md → v2-archive/ARCHITECTURE.md} +0 -0
  415. /package/docs/{CLI-COMMANDS-REFERENCE.md → v2-archive/CLI-COMMANDS-REFERENCE.md} +0 -0
  416. /package/docs/{COMPRESSION-README.md → v2-archive/COMPRESSION-README.md} +0 -0
  417. /package/docs/{FRAMEWORK-INTEGRATIONS.md → v2-archive/FRAMEWORK-INTEGRATIONS.md} +0 -0
  418. /package/docs/{MCP-MANUAL-SETUP.md → v2-archive/MCP-MANUAL-SETUP.md} +0 -0
  419. /package/docs/{MCP-TROUBLESHOOTING.md → v2-archive/MCP-TROUBLESHOOTING.md} +0 -0
  420. /package/docs/{PATTERN-LEARNING.md → v2-archive/PATTERN-LEARNING.md} +0 -0
  421. /package/docs/{PROFILES-GUIDE.md → v2-archive/PROFILES-GUIDE.md} +0 -0
  422. /package/docs/{RESET-GUIDE.md → v2-archive/RESET-GUIDE.md} +0 -0
  423. /package/docs/{SEARCH-ENGINE-V2.2.0.md → v2-archive/SEARCH-ENGINE-V2.2.0.md} +0 -0
  424. /package/docs/{SEARCH-INTEGRATION-GUIDE.md → v2-archive/SEARCH-INTEGRATION-GUIDE.md} +0 -0
  425. /package/docs/{UI-SERVER.md → v2-archive/UI-SERVER.md} +0 -0
  426. /package/docs/{UNIVERSAL-INTEGRATION.md → v2-archive/UNIVERSAL-INTEGRATION.md} +0 -0
  427. /package/docs/{V2.2.0-OPTIONAL-SEARCH.md → v2-archive/V2.2.0-OPTIONAL-SEARCH.md} +0 -0
  428. /package/docs/{WINDOWS-INSTALL-README.txt → v2-archive/WINDOWS-INSTALL-README.txt} +0 -0
  429. /package/docs/{WINDOWS-POST-INSTALL.txt → v2-archive/WINDOWS-POST-INSTALL.txt} +0 -0
  430. /package/docs/{example_graph_usage.py → v2-archive/example_graph_usage.py} +0 -0
  431. /package/{completions → ide/completions}/slm.bash +0 -0
  432. /package/{completions → ide/completions}/slm.zsh +0 -0
  433. /package/{configs → ide/configs}/cody-commands.json +0 -0
  434. /package/{install-skills.sh → scripts/install-skills.sh} +0 -0
@@ -0,0 +1,241 @@
1
+ #!/usr/bin/env python3
2
+ # SPDX-License-Identifier: MIT
3
+ # Copyright (c) 2026 SuperLocalMemory (superlocalmemory.com)
4
+ """SuperLocalMemory V2 - LlamaIndex Chat Store Security Tests
5
+
6
+ Security-focused tests: SQL injection, XSS, oversized payloads, null bytes,
7
+ and other adversarial inputs that a production chat store must handle safely.
8
+ """
9
+ import os
10
+ import sys
11
+ import tempfile
12
+
13
+ import pytest
14
+
15
+ # Ensure the SLM source tree is importable for tests
16
+ _SLM_SRC = os.path.join(
17
+ os.path.dirname(__file__), os.pardir, os.pardir, os.pardir, "src"
18
+ )
19
+ _SLM_SRC = os.path.abspath(_SLM_SRC)
20
+ if _SLM_SRC not in sys.path:
21
+ sys.path.insert(0, _SLM_SRC)
22
+
23
+ from llama_index.core.base.llms.types import ChatMessage, MessageRole
24
+ from llama_index.storage.chat_store.superlocalmemory import SuperLocalMemoryChatStore
25
+
26
+
27
+ # ---------------------------------------------------------------------------
28
+ # Fixtures
29
+ # ---------------------------------------------------------------------------
30
+
31
+
32
+ @pytest.fixture
33
+ def tmp_db():
34
+ with tempfile.TemporaryDirectory() as d:
35
+ yield os.path.join(d, "test_security.db")
36
+
37
+
38
+ @pytest.fixture
39
+ def store(tmp_db):
40
+ return SuperLocalMemoryChatStore(db_path=tmp_db)
41
+
42
+
43
+ # ---------------------------------------------------------------------------
44
+ # SQL Injection Tests
45
+ # ---------------------------------------------------------------------------
46
+
47
+
48
+ class TestSQLInjection:
49
+ """Verify that SQL injection attempts in keys and content are harmless."""
50
+
51
+ SQL_PAYLOADS = [
52
+ "'; DROP TABLE memories; --",
53
+ "' OR '1'='1",
54
+ "'; DELETE FROM memories WHERE '1'='1",
55
+ "1; SELECT * FROM memories --",
56
+ "Robert'); DROP TABLE memories;--",
57
+ "' UNION SELECT * FROM memories --",
58
+ ]
59
+
60
+ def test_sql_injection_in_key(self, store):
61
+ """SQL injection attempts in the session key must not corrupt the store."""
62
+ for payload in self.SQL_PAYLOADS:
63
+ msg = ChatMessage(role=MessageRole.USER, content="safe content")
64
+ store.add_message(payload, msg)
65
+
66
+ # The store should still function — retrieve the message back
67
+ msgs = store.get_messages(payload)
68
+ assert len(msgs) == 1
69
+ assert msgs[0].content == "safe content"
70
+
71
+ # Clean up
72
+ store.delete_messages(payload)
73
+
74
+ def test_sql_injection_in_content(self, store):
75
+ """SQL injection attempts in message content must be stored literally."""
76
+ for payload in self.SQL_PAYLOADS:
77
+ msg = ChatMessage(role=MessageRole.USER, content=payload)
78
+ store.add_message("safe-key", msg)
79
+
80
+ msgs = store.get_messages("safe-key")
81
+ assert len(msgs) == len(self.SQL_PAYLOADS)
82
+
83
+ # Verify content is stored literally, not executed
84
+ for i, payload in enumerate(self.SQL_PAYLOADS):
85
+ assert msgs[i].content == payload
86
+
87
+ # Clean up
88
+ store.delete_messages("safe-key")
89
+
90
+
91
+ # ---------------------------------------------------------------------------
92
+ # XSS Tests
93
+ # ---------------------------------------------------------------------------
94
+
95
+
96
+ class TestXSS:
97
+ """Verify that XSS payloads in content are stored literally (not executed)."""
98
+
99
+ XSS_PAYLOADS = [
100
+ "<script>alert('xss')</script>",
101
+ '<img src=x onerror=alert(1)>',
102
+ "javascript:alert(document.cookie)",
103
+ "<svg/onload=alert('xss')>",
104
+ '"><script>alert(String.fromCharCode(88,83,83))</script>',
105
+ ]
106
+
107
+ def test_xss_in_content(self, store):
108
+ """XSS payloads must be stored and retrieved as literal strings."""
109
+ for payload in self.XSS_PAYLOADS:
110
+ msg = ChatMessage(role=MessageRole.USER, content=payload)
111
+ store.add_message("xss-key", msg)
112
+
113
+ msgs = store.get_messages("xss-key")
114
+ assert len(msgs) == len(self.XSS_PAYLOADS)
115
+
116
+ for i, payload in enumerate(self.XSS_PAYLOADS):
117
+ assert msgs[i].content == payload
118
+
119
+ store.delete_messages("xss-key")
120
+
121
+
122
+ # ---------------------------------------------------------------------------
123
+ # Oversized Content Tests
124
+ # ---------------------------------------------------------------------------
125
+
126
+
127
+ class TestOversizedContent:
128
+ """Verify that oversized payloads are handled without crashing."""
129
+
130
+ def test_oversized_content_1mb(self, store):
131
+ """A 1MB message should be rejected by MemoryStoreV2's validation."""
132
+ huge = "A" * 1_000_001 # Just over the 1MB limit
133
+ msg = ChatMessage(role=MessageRole.USER, content=huge)
134
+
135
+ # MemoryStoreV2 raises ValueError for content > 1MB
136
+ with pytest.raises((ValueError, Exception)):
137
+ store.add_message("huge-key", msg)
138
+
139
+ def test_large_but_valid_content(self, store):
140
+ """A 500KB message should be stored successfully (under 1MB limit)."""
141
+ large = "B" * 500_000
142
+ msg = ChatMessage(role=MessageRole.USER, content=large)
143
+ store.add_message("large-key", msg)
144
+
145
+ msgs = store.get_messages("large-key")
146
+ assert len(msgs) == 1
147
+ assert len(msgs[0].content) == 500_000
148
+
149
+ store.delete_messages("large-key")
150
+
151
+
152
+ # ---------------------------------------------------------------------------
153
+ # Edge Case Key Tests
154
+ # ---------------------------------------------------------------------------
155
+
156
+
157
+ class TestEdgeCaseKeys:
158
+ """Verify safe handling of unusual session key values."""
159
+
160
+ def test_empty_key(self, store):
161
+ """An empty string key should still work (tags allow empty strings)."""
162
+ msg = ChatMessage(role=MessageRole.USER, content="empty key test")
163
+ store.add_message("", msg)
164
+
165
+ msgs = store.get_messages("")
166
+ assert len(msgs) == 1
167
+ assert msgs[0].content == "empty key test"
168
+
169
+ store.delete_messages("")
170
+
171
+ def test_null_bytes_in_key(self, store):
172
+ """Null bytes in a key should be handled without crash."""
173
+ key_with_null = "key\x00with\x00nulls"
174
+ msg = ChatMessage(role=MessageRole.USER, content="null byte key")
175
+ store.add_message(key_with_null, msg)
176
+
177
+ msgs = store.get_messages(key_with_null)
178
+ assert len(msgs) == 1
179
+ assert msgs[0].content == "null byte key"
180
+
181
+ store.delete_messages(key_with_null)
182
+
183
+ def test_very_long_key(self, store):
184
+ """A very long key (1000 chars) should work."""
185
+ long_key = "k" * 1000
186
+ msg = ChatMessage(role=MessageRole.USER, content="long key test")
187
+ store.add_message(long_key, msg)
188
+
189
+ msgs = store.get_messages(long_key)
190
+ assert len(msgs) == 1
191
+
192
+ store.delete_messages(long_key)
193
+
194
+ def test_special_characters_in_key(self, store):
195
+ """Keys with special characters should work."""
196
+ special_keys = [
197
+ "user@example.com",
198
+ "path/to/session",
199
+ "key with spaces",
200
+ "key-with-dashes_and_underscores",
201
+ "unicode-key",
202
+ ]
203
+ for key in special_keys:
204
+ store.add_message(
205
+ key, ChatMessage(role=MessageRole.USER, content=f"test {key}")
206
+ )
207
+
208
+ for key in special_keys:
209
+ msgs = store.get_messages(key)
210
+ assert len(msgs) == 1, f"Failed for key: {key}"
211
+
212
+ # Verify all keys are discoverable
213
+ all_keys = store.get_keys()
214
+ for key in special_keys:
215
+ assert key in all_keys, f"Key '{key}' not found in get_keys()"
216
+
217
+ for key in special_keys:
218
+ store.delete_messages(key)
219
+
220
+
221
+ # ---------------------------------------------------------------------------
222
+ # Null / None Content Tests
223
+ # ---------------------------------------------------------------------------
224
+
225
+
226
+ class TestNullContent:
227
+ """Verify that null bytes and None-like content are handled safely."""
228
+
229
+ def test_null_bytes_in_content(self, store):
230
+ """Null bytes in content should be stored and retrieved literally."""
231
+ content_with_null = "before\x00after"
232
+ msg = ChatMessage(role=MessageRole.USER, content=content_with_null)
233
+ store.add_message("null-content-key", msg)
234
+
235
+ msgs = store.get_messages("null-content-key")
236
+ assert len(msgs) == 1
237
+ # The content may or may not preserve null bytes depending on SQLite/JSON
238
+ # The key requirement is that it doesn't crash
239
+ assert msgs[0].content is not None
240
+
241
+ store.delete_messages("null-content-key")
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slm-build-graph
3
3
  description: Build or rebuild the knowledge graph from existing memories using TF-IDF entity extraction and Leiden clustering. Use when search results seem poor, after bulk imports, or to optimize performance. Automatically discovers relationships between memories and creates topic clusters.
4
- version: "2.1.0"
4
+ version: "3.0.0"
5
5
  license: MIT
6
- compatibility: "Requires SuperLocalMemory V2 installed at ~/.claude-memory/, optional dependencies: python-igraph, leidenalg"
6
+ compatibility: "Requires SuperLocalMemory V3 installed at ~/.superlocalmemory/, optional dependencies: python-igraph, leidenalg"
7
7
  attribution:
8
8
  creator: Varun Pratap Bhardwaj
9
9
  role: Solution Architect & Original Creator
10
- project: SuperLocalMemory V2
10
+ project: SuperLocalMemory V3
11
11
  ---
12
12
 
13
13
  # SuperLocalMemory: Build Knowledge Graph
@@ -315,7 +315,7 @@ slm build-graph --verbose
315
315
  slm build-graph # No --clustering flag
316
316
 
317
317
  # Check disk space
318
- df -h ~/.claude-memory/
318
+ df -h ~/.superlocalmemory/
319
319
  ```
320
320
 
321
321
  ### "Edges seem wrong"
@@ -416,8 +416,8 @@ Each profile has separate graph
416
416
  ---
417
417
 
418
418
  **Created by:** [Varun Pratap Bhardwaj](https://github.com/varun369) (Solution Architect)
419
- **Project:** SuperLocalMemory V2
419
+ **Project:** SuperLocalMemory V3
420
420
  **License:** MIT (see [LICENSE](../../LICENSE))
421
- **Repository:** https://github.com/varun369/SuperLocalMemoryV2
421
+ **Repository:** https://github.com/qualixar/superlocalmemory
422
422
 
423
423
  *Open source doesn't mean removing credit. Attribution must be preserved per MIT License terms.*
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slm-list-recent
3
3
  description: List most recent memories in chronological order. Use when the user wants to see what was recently saved, review recent conversations, check what they worked on today, or browse memory history. Shows memories sorted by creation time (newest first).
4
- version: "2.1.0"
4
+ version: "3.0.0"
5
5
  license: MIT
6
- compatibility: "Requires SuperLocalMemory V2 installed at ~/.claude-memory/"
6
+ compatibility: "Requires SuperLocalMemory V3 installed at ~/.superlocalmemory/"
7
7
  attribution:
8
8
  creator: Varun Pratap Bhardwaj
9
9
  role: Solution Architect & Original Creator
10
- project: SuperLocalMemory V2
10
+ project: SuperLocalMemory V3
11
11
  ---
12
12
 
13
13
  # SuperLocalMemory: List Recent
@@ -341,8 +341,8 @@ date
341
341
  ---
342
342
 
343
343
  **Created by:** [Varun Pratap Bhardwaj](https://github.com/varun369) (Solution Architect)
344
- **Project:** SuperLocalMemory V2
344
+ **Project:** SuperLocalMemory V3
345
345
  **License:** MIT (see [LICENSE](../../LICENSE))
346
- **Repository:** https://github.com/varun369/SuperLocalMemoryV2
346
+ **Repository:** https://github.com/qualixar/superlocalmemory
347
347
 
348
348
  *Open source doesn't mean removing credit. Attribution must be preserved per MIT License terms.*
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slm-recall
3
3
  description: Search and retrieve memories using semantic similarity, knowledge graph relationships, and full-text search. Use when the user asks to recall information, search memories, find past decisions, or query stored knowledge. Returns ranked results with relevance scores.
4
- version: "2.1.0"
4
+ version: "3.0.0"
5
5
  license: MIT
6
- compatibility: "Requires SuperLocalMemory V2 installed at ~/.claude-memory/"
6
+ compatibility: "Requires SuperLocalMemory V3 installed at ~/.superlocalmemory/"
7
7
  attribution:
8
8
  creator: Varun Pratap Bhardwaj
9
9
  role: Solution Architect & Original Creator
10
- project: SuperLocalMemory V2
10
+ project: SuperLocalMemory V3
11
11
  ---
12
12
 
13
13
  # SuperLocalMemory: Recall
@@ -319,8 +319,8 @@ slm recall "query" --format csv
319
319
  ---
320
320
 
321
321
  **Created by:** [Varun Pratap Bhardwaj](https://github.com/varun369) (Solution Architect)
322
- **Project:** SuperLocalMemory V2
322
+ **Project:** SuperLocalMemory V3
323
323
  **License:** MIT (see [LICENSE](../../LICENSE))
324
- **Repository:** https://github.com/varun369/SuperLocalMemoryV2
324
+ **Repository:** https://github.com/qualixar/superlocalmemory
325
325
 
326
326
  *Open source doesn't mean removing credit. Attribution must be preserved per MIT License terms.*
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slm-remember
3
3
  description: Save content to SuperLocalMemory with intelligent indexing and knowledge graph integration. Use when the user wants to remember information, save context, store coding decisions, or persist knowledge for future sessions. Automatically indexes, graphs, and learns patterns.
4
- version: "2.1.0"
4
+ version: "3.0.0"
5
5
  license: MIT
6
- compatibility: "Requires SuperLocalMemory V2 installed at ~/.claude-memory/"
6
+ compatibility: "Requires SuperLocalMemory V3 installed at ~/.superlocalmemory/"
7
7
  attribution:
8
8
  creator: Varun Pratap Bhardwaj
9
9
  role: Solution Architect & Original Creator
10
- project: SuperLocalMemory V2
10
+ project: SuperLocalMemory V3
11
11
  ---
12
12
 
13
13
  # SuperLocalMemory: Remember
@@ -88,7 +88,7 @@ Next steps:
88
88
 
89
89
  ## What Happens Behind the Scenes
90
90
 
91
- 1. **Content Storage:** Saved to SQLite (`~/.claude-memory/memory.db`)
91
+ 1. **Content Storage:** Saved to SQLite (`~/.superlocalmemory/memory.db`)
92
92
  2. **Semantic Indexing:** TF-IDF vectors generated for similarity search
93
93
  3. **Knowledge Graph:** Entities extracted and nodes/edges created
94
94
  4. **Pattern Learning:** Analyzes content for coding preferences (frameworks, style, testing)
@@ -187,8 +187,8 @@ slm remember "Commit: $commit_msg (${commit_hash:0:7})" \
187
187
  ---
188
188
 
189
189
  **Created by:** [Varun Pratap Bhardwaj](https://github.com/varun369) (Solution Architect)
190
- **Project:** SuperLocalMemory V2
190
+ **Project:** SuperLocalMemory V3
191
191
  **License:** MIT (see [LICENSE](../../LICENSE))
192
- **Repository:** https://github.com/varun369/SuperLocalMemoryV2
192
+ **Repository:** https://github.com/qualixar/superlocalmemory
193
193
 
194
194
  *Open source doesn't mean removing credit. Attribution must be preserved per MIT License terms.*
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slm-show-patterns
3
3
  description: Show what SuperLocalMemory has learned about your preferences, workflow patterns, and project context. Use when the user asks "what have you learned about me?" or wants to see their coding identity patterns. Shows tech preferences, workflow sequences, and engagement health.
4
- version: "2.7.0"
4
+ version: "3.0.0"
5
5
  license: MIT
6
- compatibility: "Requires SuperLocalMemory V2.7+ with learning features"
6
+ compatibility: "Requires SuperLocalMemory V3 with learning features"
7
7
  attribution:
8
8
  creator: Varun Pratap Bhardwaj
9
9
  role: Solution Architect & Original Creator
10
- project: SuperLocalMemory V2
10
+ project: SuperLocalMemory V3
11
11
  ---
12
12
 
13
13
  # SuperLocalMemory: Show Patterns
@@ -60,7 +60,7 @@ $ slm learning status
60
60
 
61
61
  **Output:**
62
62
  ```
63
- SuperLocalMemory v2.7 -- Learning System Status
63
+ SuperLocalMemory V3 -- Learning System Status
64
64
  ==================================================
65
65
  LightGBM: installed (4.5.0)
66
66
  SciPy: installed (1.14.1)
@@ -196,7 +196,7 @@ slm engagement
196
196
 
197
197
  ## Requirements
198
198
 
199
- - SuperLocalMemory V2.7+
199
+ - SuperLocalMemory V3.7+
200
200
  - Optional: `lightgbm` and `scipy` for ML-powered ranking
201
201
  - Works without optional deps (uses rule-based ranking as fallback)
202
202
 
@@ -217,8 +217,8 @@ slm engagement
217
217
  ---
218
218
 
219
219
  **Created by:** [Varun Pratap Bhardwaj](https://github.com/varun369) (Solution Architect)
220
- **Project:** SuperLocalMemory V2
220
+ **Project:** SuperLocalMemory V3
221
221
  **License:** MIT (see [LICENSE](../../LICENSE))
222
- **Repository:** https://github.com/varun369/SuperLocalMemoryV2
222
+ **Repository:** https://github.com/qualixar/superlocalmemory
223
223
 
224
224
  *Open source doesn't mean removing credit. Attribution must be preserved per MIT License terms.*
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slm-status
3
3
  description: Check SuperLocalMemory system status, health, and statistics. Use when the user wants to know memory count, graph stats, patterns learned, database health, or system diagnostics. Shows comprehensive system health dashboard.
4
- version: "2.1.0"
4
+ version: "3.0.0"
5
5
  license: MIT
6
- compatibility: "Requires SuperLocalMemory V2 installed at ~/.claude-memory/"
6
+ compatibility: "Requires SuperLocalMemory V3 installed at ~/.superlocalmemory/"
7
7
  attribution:
8
8
  creator: Varun Pratap Bhardwaj
9
9
  role: Solution Architect & Original Creator
10
- project: SuperLocalMemory V2
10
+ project: SuperLocalMemory V3
11
11
  ---
12
12
 
13
13
  # SuperLocalMemory: Status
@@ -30,7 +30,7 @@ $ slm status
30
30
  **Output:**
31
31
  ```
32
32
  ╔══════════════════════════════════════════════════════╗
33
- ║ SuperLocalMemory V2 - System Status ║
33
+ ║ SuperLocalMemory V3 - System Status ║
34
34
  ╚══════════════════════════════════════════════════════╝
35
35
 
36
36
  📊 Memory Statistics
@@ -63,7 +63,7 @@ $ slm status
63
63
  Last Used: 2026-02-07 14:23
64
64
 
65
65
  ⚙️ System Info
66
- Install Path: ~/.claude-memory
66
+ Install Path: ~/.superlocalmemory
67
67
  Database: memory.db
68
68
  Python Version: 3.11.7
69
69
  SQLite Version: 3.43.2
@@ -264,7 +264,7 @@ slm status --format json > status.json
264
264
  **Solution:**
265
265
  ```bash
266
266
  # Check for locks
267
- lsof ~/.claude-memory/memory.db
267
+ lsof ~/.superlocalmemory/memory.db
268
268
 
269
269
  # Kill hanging processes
270
270
  killall python3
@@ -279,7 +279,7 @@ slm status
279
279
  **Solution:**
280
280
  ```bash
281
281
  # Restore from backup
282
- cp ~/.claude-memory/backups/memory.db.backup.* ~/.claude-memory/memory.db
282
+ cp ~/.superlocalmemory/backups/memory.db.backup.* ~/.superlocalmemory/memory.db
283
283
 
284
284
  # Verify
285
285
  slm status --check-integrity
@@ -356,8 +356,8 @@ slm build-graph
356
356
  ---
357
357
 
358
358
  **Created by:** [Varun Pratap Bhardwaj](https://github.com/varun369) (Solution Architect)
359
- **Project:** SuperLocalMemory V2
359
+ **Project:** SuperLocalMemory V3
360
360
  **License:** MIT (see [LICENSE](../../LICENSE))
361
- **Repository:** https://github.com/varun369/SuperLocalMemoryV2
361
+ **Repository:** https://github.com/qualixar/superlocalmemory
362
362
 
363
363
  *Open source doesn't mean removing credit. Attribution must be preserved per MIT License terms.*
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slm-switch-profile
3
3
  description: Switch between memory profiles for context isolation and management. Use when the user wants to change profile context, separate work/personal memories, or manage multiple independent memory spaces. Each profile has its own database, graph, and patterns.
4
- version: "2.1.0"
4
+ version: "3.0.0"
5
5
  license: MIT
6
- compatibility: "Requires SuperLocalMemory V2 installed at ~/.claude-memory/"
6
+ compatibility: "Requires SuperLocalMemory V3 installed at ~/.superlocalmemory/"
7
7
  attribution:
8
8
  creator: Varun Pratap Bhardwaj
9
9
  role: Solution Architect & Original Creator
10
- project: SuperLocalMemory V2
10
+ project: SuperLocalMemory V3
11
11
  ---
12
12
 
13
13
  # SuperLocalMemory: Switch Profile
@@ -69,7 +69,7 @@ $ slm switch-profile client-acme --create
69
69
  🆕 Creating new profile: client-acme
70
70
 
71
71
  Profile created successfully!
72
- Location: ~/.claude-memory/profiles/client-acme/
72
+ Location: ~/.superlocalmemory/profiles/client-acme/
73
73
  Database: memory.db (empty)
74
74
  Status: Active
75
75
 
@@ -216,7 +216,7 @@ slm import-profile team-shared/work-profile.db --name work
216
216
 
217
217
  **1. Profile Structure:**
218
218
  ```
219
- ~/.claude-memory/
219
+ ~/.superlocalmemory/
220
220
  ├── memory.db ← Current active profile (symlink)
221
221
  ├── profiles/
222
222
  │ ├── default/
@@ -239,7 +239,7 @@ $ slm switch-profile work
239
239
  - **Step 4:** Notify user to restart AI tools
240
240
 
241
241
  **3. AI Tools Read:**
242
- - MCP server reads `~/.claude-memory/memory.db`
242
+ - MCP server reads `~/.superlocalmemory/memory.db`
243
243
  - Symlink automatically points to active profile
244
244
  - Transparent to AI tools
245
245
 
@@ -280,7 +280,7 @@ slm switch-profile client-a --create
280
280
 
281
281
  **Backup profile:**
282
282
  ```bash
283
- cp -r ~/.claude-memory/profiles/work ~/.claude-memory/backups/work-2026-02-07
283
+ cp -r ~/.superlocalmemory/profiles/work ~/.superlocalmemory/backups/work-2026-02-07
284
284
  ```
285
285
 
286
286
  **Delete profile:**
@@ -435,8 +435,8 @@ slm list-profiles
435
435
  ---
436
436
 
437
437
  **Created by:** [Varun Pratap Bhardwaj](https://github.com/varun369) (Solution Architect)
438
- **Project:** SuperLocalMemory V2
438
+ **Project:** SuperLocalMemory V3
439
439
  **License:** MIT (see [LICENSE](../../LICENSE))
440
- **Repository:** https://github.com/varun369/SuperLocalMemoryV2
440
+ **Repository:** https://github.com/qualixar/superlocalmemory
441
441
 
442
442
  *Open source doesn't mean removing credit. Attribution must be preserved per MIT License terms.*
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "superlocalmemory",
3
- "version": "2.8.5",
4
- "description": "Your AI Finally Remembers You - Local-first intelligent memory system for AI assistants. Works with Claude, Cursor, Windsurf, VS Code/Copilot, Codex, and 17+ AI tools. 100% local, zero cloud dependencies.",
3
+ "version": "3.0.0",
4
+ "description": "Information-geometric agent memory with mathematical guarantees. 4-channel retrieval, Fisher-Rao similarity, zero-LLM mode, EU AI Act compliant. Works with Claude, Cursor, Windsurf, and 17+ AI tools.",
5
5
  "keywords": [
6
6
  "ai-memory",
7
7
  "claude-ai",
@@ -29,17 +29,17 @@
29
29
  "author": {
30
30
  "name": "Varun Pratap Bhardwaj",
31
31
  "email": "admin@superlocalmemory.com",
32
- "url": "https://github.com/varun369"
32
+ "url": "https://varunpratap.com"
33
33
  },
34
34
  "license": "MIT",
35
35
  "repository": {
36
36
  "type": "git",
37
- "url": "https://github.com/varun369/SuperLocalMemoryV2.git"
37
+ "url": "https://github.com/qualixar/superlocalmemory.git"
38
38
  },
39
39
  "homepage": "https://superlocalmemory.com",
40
- "mcpName": "io.github.varun369/superlocalmemory",
40
+ "mcpName": "io.github.qualixar/superlocalmemory",
41
41
  "bugs": {
42
- "url": "https://github.com/varun369/SuperLocalMemoryV2/issues"
42
+ "url": "https://github.com/qualixar/superlocalmemory/issues"
43
43
  },
44
44
  "bin": {
45
45
  "slm": "./bin/slm-npm",
@@ -63,26 +63,17 @@
63
63
  "files": [
64
64
  "bin/",
65
65
  "src/",
66
- "hooks/",
67
- "configs/",
68
- "skills/",
69
- "completions/",
66
+ "ide/",
70
67
  "scripts/",
71
- "mcp_server.py",
72
- "install.sh",
73
- "install.ps1",
74
- "install-skills.sh",
68
+ "ui/",
69
+ "docs/",
70
+ "pyproject.toml",
71
+ "conftest.py",
75
72
  "README.md",
76
73
  "LICENSE",
74
+ "NOTICE",
77
75
  "ATTRIBUTION.md",
78
- "CHANGELOG.md",
79
- "docs/",
80
- "requirements.txt",
81
- "requirements-core.txt",
82
- "requirements-learning.txt",
83
- "ui/",
84
- "ui_server.py",
85
- "api_server.py"
76
+ "CHANGELOG.md"
86
77
  ],
87
78
  "preferGlobal": true,
88
79
  "funding": {