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
package/pyproject.toml ADDED
@@ -0,0 +1,85 @@
1
+ [project]
2
+ name = "superlocalmemory"
3
+ version = "3.0.0"
4
+ description = "Information-geometric agent memory with mathematical guarantees"
5
+ readme = "README.md"
6
+ license = {text = "MIT"}
7
+ requires-python = ">=3.11"
8
+ authors = [
9
+ {name = "Varun Pratap Bhardwaj", email = "admin@superlocalmemory.com"},
10
+ ]
11
+ keywords = [
12
+ "ai-memory", "mcp-server", "local-first", "agent-memory",
13
+ "information-geometry", "privacy-first", "eu-ai-act",
14
+ ]
15
+
16
+ dependencies = [
17
+ "httpx>=0.24.0",
18
+ "numpy>=1.26.0,<3.0.0",
19
+ "scipy>=1.12.0,<2.0.0",
20
+ "networkx>=3.0",
21
+ "mcp>=1.0.0",
22
+ "python-dateutil>=2.9.0.post0",
23
+ "rank-bm25>=0.2.2",
24
+ "vadersentiment>=3.3.2",
25
+ ]
26
+
27
+ [project.optional-dependencies]
28
+ search = [
29
+ "sentence-transformers>=2.5.0,<4.0.0",
30
+ "torch>=2.2.0",
31
+ "scikit-learn>=1.3.0,<2.0.0",
32
+ "geoopt>=0.5.0",
33
+ ]
34
+ ui = [
35
+ "fastapi>=0.109.0,<1.0.0",
36
+ "uvicorn[standard]>=0.27.0,<1.0.0",
37
+ "python-multipart>=0.0.6,<1.0.0",
38
+ ]
39
+ learning = [
40
+ "lightgbm>=4.0.0,<5.0.0",
41
+ ]
42
+ performance = [
43
+ "diskcache>=5.6.0,<6.0.0",
44
+ "orjson>=3.9.0,<4.0.0",
45
+ ]
46
+ full = [
47
+ "superlocalmemory[search,ui,learning,performance]",
48
+ ]
49
+ dev = [
50
+ "pytest>=8.0",
51
+ "pytest-cov>=4.1",
52
+ ]
53
+
54
+ [project.urls]
55
+ Homepage = "https://superlocalmemory.com"
56
+ Repository = "https://github.com/qualixar/superlocalmemory"
57
+ Documentation = "https://github.com/qualixar/superlocalmemory/wiki"
58
+ Issues = "https://github.com/qualixar/superlocalmemory/issues"
59
+
60
+ [project.scripts]
61
+ slm = "superlocalmemory.cli.main:main"
62
+
63
+ [build-system]
64
+ requires = ["setuptools>=68.0", "wheel"]
65
+ build-backend = "setuptools.build_meta"
66
+
67
+ [tool.setuptools.packages.find]
68
+ where = ["src"]
69
+
70
+ [tool.pytest.ini_options]
71
+ testpaths = ["tests"]
72
+ pythonpath = ["src"]
73
+
74
+ [tool.ruff]
75
+ target-version = "py311"
76
+ line-length = 100
77
+ src = ["src"]
78
+
79
+ [tool.ruff.lint]
80
+ select = ["E", "F", "I", "W"]
81
+
82
+ [dependency-groups]
83
+ dev = [
84
+ "pytest>=9.0.2",
85
+ ]
@@ -0,0 +1,417 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # SuperLocalMemory V2 - DMG Installer Build Script
4
+ #
5
+ # Copyright (c) 2026 Varun Pratap Bhardwaj
6
+ # Solution Architect & Original Creator
7
+ #
8
+ # Licensed under MIT License (see LICENSE file)
9
+ # Repository: https://github.com/varun369/SuperLocalMemoryV2
10
+ #
11
+ # ATTRIBUTION REQUIRED: This notice must be preserved in all copies.
12
+ #
13
+
14
+ set -e # Exit on any error
15
+
16
+ # ============================================================================
17
+ # CONFIGURATION
18
+ # ============================================================================
19
+
20
+ VERSION="2.7.4"
21
+ APP_NAME="SuperLocalMemory"
22
+ DMG_NAME="SuperLocalMemory-v${VERSION}-macos"
23
+ BUILD_DIR="build/dmg"
24
+ INSTALLER_DIR="${BUILD_DIR}/${APP_NAME}"
25
+ TEMP_DMG="${BUILD_DIR}/temp.dmg"
26
+ FINAL_DMG="${DMG_NAME}.dmg"
27
+
28
+ # Colors for output
29
+ RED='\033[0;31m'
30
+ GREEN='\033[0;32m'
31
+ YELLOW='\033[1;33m'
32
+ BLUE='\033[0;34m'
33
+ NC='\033[0m' # No Color
34
+
35
+ # ============================================================================
36
+ # FUNCTIONS
37
+ # ============================================================================
38
+
39
+ log_info() {
40
+ echo -e "${BLUE}[INFO]${NC} $1"
41
+ }
42
+
43
+ log_success() {
44
+ echo -e "${GREEN}[SUCCESS]${NC} $1"
45
+ }
46
+
47
+ log_warning() {
48
+ echo -e "${YELLOW}[WARNING]${NC} $1"
49
+ }
50
+
51
+ log_error() {
52
+ echo -e "${RED}[ERROR]${NC} $1"
53
+ }
54
+
55
+ cleanup_build() {
56
+ log_info "Cleaning up previous build artifacts..."
57
+ rm -rf "${BUILD_DIR}"
58
+ rm -f "${FINAL_DMG}"
59
+ }
60
+
61
+ create_directory_structure() {
62
+ log_info "Creating directory structure..."
63
+ mkdir -p "${INSTALLER_DIR}"
64
+ }
65
+
66
+ copy_installer_files() {
67
+ log_info "Copying installer files..."
68
+
69
+ # Core installation script
70
+ cp install.sh "${INSTALLER_DIR}/"
71
+
72
+ # Source files
73
+ log_info " → Copying src/ directory..."
74
+ cp -r src "${INSTALLER_DIR}/"
75
+
76
+ # Binary files
77
+ log_info " → Copying bin/ directory..."
78
+ cp -r bin "${INSTALLER_DIR}/"
79
+
80
+ # MCP configurations
81
+ log_info " → Copying configs/ directory..."
82
+ cp -r configs "${INSTALLER_DIR}/"
83
+
84
+ # Universal skills
85
+ log_info " → Copying skills/ directory..."
86
+ cp -r skills "${INSTALLER_DIR}/"
87
+
88
+ # MCP server
89
+ log_info " → Copying mcp_server.py..."
90
+ cp mcp_server.py "${INSTALLER_DIR}/"
91
+
92
+ # Skills installer
93
+ log_info " → Copying install-skills.sh..."
94
+ cp install-skills.sh "${INSTALLER_DIR}/"
95
+
96
+ # Requirements files
97
+ log_info " → Copying requirements files..."
98
+ cp requirements.txt "${INSTALLER_DIR}/"
99
+ cp requirements-core.txt "${INSTALLER_DIR}/"
100
+ cp requirements-full.txt "${INSTALLER_DIR}/"
101
+ cp requirements-search.txt "${INSTALLER_DIR}/"
102
+ cp requirements-ui.txt "${INSTALLER_DIR}/"
103
+ cp requirements-learning.txt "${INSTALLER_DIR}/" 2>/dev/null || true
104
+
105
+ # UI server
106
+ log_info " → Copying ui_server.py..."
107
+ cp ui_server.py "${INSTALLER_DIR}/"
108
+
109
+ # Start scripts
110
+ log_info " → Copying start scripts..."
111
+ cp start-dashboard.sh "${INSTALLER_DIR}/"
112
+
113
+ # Verification script
114
+ log_info " → Copying verify-install.sh..."
115
+ cp verify-install.sh "${INSTALLER_DIR}/"
116
+
117
+ # Documentation
118
+ log_info " → Copying documentation..."
119
+ cp README.md "${INSTALLER_DIR}/" 2>/dev/null || true
120
+ cp LICENSE "${INSTALLER_DIR}/" 2>/dev/null || true
121
+ cp ATTRIBUTION.md "${INSTALLER_DIR}/" 2>/dev/null || true
122
+ cp CHANGELOG.md "${INSTALLER_DIR}/" 2>/dev/null || true
123
+ if [ -d "docs" ]; then
124
+ cp -r docs "${INSTALLER_DIR}/"
125
+ fi
126
+
127
+ # Shell completions
128
+ if [ -d "completions" ]; then
129
+ log_info " → Copying shell completions..."
130
+ cp -r completions "${INSTALLER_DIR}/"
131
+ fi
132
+ }
133
+
134
+ create_readme() {
135
+ log_info "Creating README-INSTALLATION.txt..."
136
+
137
+ cat > "${INSTALLER_DIR}/README-INSTALLATION.txt" << 'READMEEOF'
138
+ ================================================================================
139
+ SuperLocalMemory V2.7.0 - macOS Installation
140
+ ================================================================================
141
+
142
+ Thank you for downloading SuperLocalMemory V2!
143
+
144
+ QUICK START (2 minutes):
145
+ ------------------------
146
+
147
+ 1. Open Terminal (Applications → Utilities → Terminal)
148
+
149
+ 2. Navigate to this folder:
150
+ cd /Volumes/SuperLocalMemory
151
+
152
+ 3. Run the installer:
153
+ ./install.sh
154
+
155
+ 4. Follow the on-screen prompts
156
+
157
+ 5. Restart your AI tools (Claude Desktop, Cursor, etc.)
158
+
159
+ WHAT GETS INSTALLED:
160
+ -------------------
161
+ • Core memory system → ~/.claude-memory/
162
+ • MCP server auto-configured for 11+ IDEs
163
+ • 6 universal skills (Claude Code, Continue.dev, Cody, etc.)
164
+ • CLI command: slm
165
+ • Dashboard server: start-dashboard.sh
166
+
167
+ VERIFICATION:
168
+ ------------
169
+ After installation, verify by running:
170
+ slm status
171
+
172
+ NEED HELP?
173
+ ---------
174
+ • Documentation: README.md
175
+ • Quick Start: docs/CLI-COMMANDS-REFERENCE.md
176
+ • GitHub Wiki: https://github.com/varun369/SuperLocalMemoryV2/wiki
177
+ • Issues: https://github.com/varun369/SuperLocalMemoryV2/issues
178
+
179
+ UNINSTALL:
180
+ ---------
181
+ To uninstall:
182
+ rm -rf ~/.claude-memory
183
+ rm -f /usr/local/bin/slm
184
+
185
+ ================================================================================
186
+ Created by: Varun Pratap Bhardwaj
187
+ License: MIT (Attribution Required)
188
+ Repository: https://github.com/varun369/SuperLocalMemoryV2
189
+ ================================================================================
190
+ READMEEOF
191
+ }
192
+
193
+ create_installer_wrapper() {
194
+ log_info "Creating installer wrapper script..."
195
+
196
+ cat > "${INSTALLER_DIR}/INSTALL" << 'WRAPPEREOF'
197
+ #!/usr/bin/env bash
198
+ #
199
+ # SuperLocalMemory V2 - Installer Wrapper
200
+ # Double-click this file to install, or run from Terminal
201
+ #
202
+
203
+ # Detect if running from Finder (double-click)
204
+ if [ -t 0 ]; then
205
+ # Running in terminal
206
+ TERMINAL_MODE=true
207
+ else
208
+ # Running from Finder
209
+ TERMINAL_MODE=false
210
+ # Open Terminal and run installer
211
+ osascript <<APPLESCRIPT
212
+ tell application "Terminal"
213
+ activate
214
+ do script "cd \"$(dirname \"$0\")\" && ./install.sh && echo '\\n\\nPress Enter to close...' && read"
215
+ end tell
216
+ APPLESCRIPT
217
+ exit 0
218
+ fi
219
+
220
+ # If in terminal mode, just run installer
221
+ cd "$(dirname "$0")"
222
+ ./install.sh
223
+
224
+ echo ""
225
+ echo "Installation complete!"
226
+ echo "Press Enter to close..."
227
+ read
228
+ WRAPPEREOF
229
+
230
+ chmod +x "${INSTALLER_DIR}/INSTALL"
231
+ }
232
+
233
+ create_dmg_background() {
234
+ log_info "Creating DMG background image..."
235
+
236
+ # Create a simple background with instructions
237
+ # (This uses ImageMagick if available, otherwise creates a simple text file)
238
+
239
+ if command -v convert &> /dev/null; then
240
+ log_info " → Using ImageMagick to create background..."
241
+ convert -size 640x480 xc:white \
242
+ -font Helvetica -pointsize 20 \
243
+ -fill black -gravity north \
244
+ -annotate +0+50 "SuperLocalMemory" \
245
+ -pointsize 14 -gravity center \
246
+ -annotate +0+0 "Drag to Applications folder\nor double-click INSTALL to begin" \
247
+ "${BUILD_DIR}/.background.png" 2>/dev/null || true
248
+ else
249
+ log_warning " → ImageMagick not found, skipping background image"
250
+ fi
251
+ }
252
+
253
+ create_symlink() {
254
+ log_info "Creating Applications folder symlink..."
255
+ ln -s /Applications "${BUILD_DIR}/Applications"
256
+ }
257
+
258
+ create_dmg() {
259
+ log_info "Creating temporary DMG..."
260
+
261
+ # Calculate size needed (add 50MB buffer)
262
+ SIZE=$(du -sm "${INSTALLER_DIR}" | awk '{print $1}')
263
+ SIZE=$((SIZE + 50))
264
+
265
+ log_info " → Allocating ${SIZE}MB for DMG..."
266
+
267
+ # Create writable DMG
268
+ hdiutil create \
269
+ -volname "${APP_NAME}" \
270
+ -srcfolder "${BUILD_DIR}" \
271
+ -ov \
272
+ -format UDRW \
273
+ -size ${SIZE}m \
274
+ "${TEMP_DMG}"
275
+
276
+ log_info "Mounting temporary DMG..."
277
+ DEVICE=$(hdiutil attach -readwrite -noverify -noautoopen "${TEMP_DMG}" | \
278
+ grep -E '^/dev/' | sed 1q | awk '{print $1}')
279
+
280
+ log_info " → Mounted at: ${DEVICE}"
281
+
282
+ # Wait for mount
283
+ sleep 2
284
+
285
+ MOUNT_POINT="/Volumes/${APP_NAME}"
286
+
287
+ # Set custom icon positions (if possible)
288
+ log_info "Configuring Finder view settings..."
289
+
290
+ osascript <<APPLESCRIPT || log_warning "Could not set Finder view settings"
291
+ tell application "Finder"
292
+ tell disk "${APP_NAME}"
293
+ open
294
+ set current view of container window to icon view
295
+ set toolbar visible of container window to false
296
+ set statusbar visible of container window to false
297
+ set the bounds of container window to {100, 100, 740, 580}
298
+ set theViewOptions to the icon view options of container window
299
+ set arrangement of theViewOptions to not arranged
300
+ set icon size of theViewOptions to 128
301
+ set background picture of theViewOptions to file ".background.png"
302
+
303
+ -- Position installer folder
304
+ set position of item "${APP_NAME}" of container window to {160, 240}
305
+
306
+ -- Position Applications symlink
307
+ set position of item "Applications" of container window to {480, 240}
308
+
309
+ -- Position README
310
+ if exists item "README-INSTALLATION.txt" then
311
+ set position of item "README-INSTALLATION.txt" of container window to {320, 400}
312
+ end if
313
+
314
+ update without registering applications
315
+ delay 2
316
+ close
317
+ end tell
318
+ end tell
319
+ APPLESCRIPT
320
+
321
+ # Ensure everything is written
322
+ sync
323
+ sleep 2
324
+
325
+ log_info "Unmounting temporary DMG..."
326
+ hdiutil detach "${DEVICE}" -quiet || {
327
+ log_warning "Normal unmount failed, forcing..."
328
+ hdiutil detach "${DEVICE}" -force -quiet
329
+ }
330
+
331
+ log_info "Converting to compressed read-only DMG..."
332
+ hdiutil convert "${TEMP_DMG}" \
333
+ -format UDZO \
334
+ -imagekey zlib-level=9 \
335
+ -o "${FINAL_DMG}"
336
+
337
+ # Clean up temp DMG
338
+ rm -f "${TEMP_DMG}"
339
+ }
340
+
341
+ verify_dmg() {
342
+ log_info "Verifying DMG..."
343
+
344
+ if [ ! -f "${FINAL_DMG}" ]; then
345
+ log_error "DMG file not found: ${FINAL_DMG}"
346
+ return 1
347
+ fi
348
+
349
+ # Check DMG integrity
350
+ hdiutil verify "${FINAL_DMG}" && log_success "DMG verification passed"
351
+
352
+ # Show file size
353
+ SIZE=$(du -h "${FINAL_DMG}" | awk '{print $1}')
354
+ log_info "DMG size: ${SIZE}"
355
+ }
356
+
357
+ show_summary() {
358
+ echo ""
359
+ echo "============================================================================"
360
+ log_success "DMG BUILD COMPLETE!"
361
+ echo "============================================================================"
362
+ echo ""
363
+ echo " Output file: ${FINAL_DMG}"
364
+ echo " Size: $(du -h "${FINAL_DMG}" | awk '{print $1}')"
365
+ echo ""
366
+ echo "NEXT STEPS:"
367
+ echo " 1. Test the DMG:"
368
+ echo " open ${FINAL_DMG}"
369
+ echo ""
370
+ echo " 2. Upload to GitHub Releases:"
371
+ echo " gh release create v${VERSION} ${FINAL_DMG} \\"
372
+ echo " --title \"SuperLocalMemory v${VERSION}\" \\"
373
+ echo " --notes \"See CHANGELOG.md for details\""
374
+ echo ""
375
+ echo " 3. Or upload manually:"
376
+ echo " https://github.com/varun369/SuperLocalMemoryV2/releases/new"
377
+ echo ""
378
+ echo "============================================================================"
379
+ }
380
+
381
+ # ============================================================================
382
+ # MAIN EXECUTION
383
+ # ============================================================================
384
+
385
+ main() {
386
+ log_info "Starting DMG build for SuperLocalMemory v${VERSION}..."
387
+ echo ""
388
+
389
+ # Check we're in the right directory
390
+ if [ ! -f "install.sh" ]; then
391
+ log_error "Must run from SuperLocalMemoryV2 repository root"
392
+ exit 1
393
+ fi
394
+
395
+ # Check required tools
396
+ if ! command -v hdiutil &> /dev/null; then
397
+ log_error "hdiutil not found (required for macOS DMG creation)"
398
+ exit 1
399
+ fi
400
+
401
+ # Build process
402
+ cleanup_build
403
+ create_directory_structure
404
+ copy_installer_files
405
+ create_readme
406
+ create_installer_wrapper
407
+ create_dmg_background
408
+ create_symlink
409
+ create_dmg
410
+ verify_dmg
411
+ show_summary
412
+
413
+ log_success "Build complete!"
414
+ }
415
+
416
+ # Run main function
417
+ main "$@"