superlocalmemory 2.8.6 → 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 (431) hide show
  1. package/LICENSE +9 -1
  2. package/NOTICE +63 -0
  3. package/README.md +165 -480
  4. package/bin/slm +17 -449
  5. package/bin/slm-npm +1 -1
  6. package/conftest.py +5 -0
  7. package/docs/api-reference.md +284 -0
  8. package/docs/architecture.md +149 -0
  9. package/docs/auto-memory.md +150 -0
  10. package/docs/cli-reference.md +276 -0
  11. package/docs/compliance.md +191 -0
  12. package/docs/configuration.md +182 -0
  13. package/docs/getting-started.md +102 -0
  14. package/docs/ide-setup.md +261 -0
  15. package/docs/mcp-tools.md +220 -0
  16. package/docs/migration-from-v2.md +170 -0
  17. package/docs/profiles.md +173 -0
  18. package/docs/troubleshooting.md +310 -0
  19. package/{configs → ide/configs}/antigravity-mcp.json +3 -3
  20. package/ide/configs/chatgpt-desktop-mcp.json +16 -0
  21. package/{configs → ide/configs}/claude-desktop-mcp.json +3 -3
  22. package/{configs → ide/configs}/codex-mcp.toml +4 -4
  23. package/{configs → ide/configs}/continue-mcp.yaml +4 -3
  24. package/{configs → ide/configs}/continue-skills.yaml +6 -6
  25. package/ide/configs/cursor-mcp.json +15 -0
  26. package/{configs → ide/configs}/gemini-cli-mcp.json +2 -2
  27. package/{configs → ide/configs}/jetbrains-mcp.json +2 -2
  28. package/{configs → ide/configs}/opencode-mcp.json +2 -2
  29. package/{configs → ide/configs}/perplexity-mcp.json +2 -2
  30. package/{configs → ide/configs}/vscode-copilot-mcp.json +2 -2
  31. package/{configs → ide/configs}/windsurf-mcp.json +3 -3
  32. package/{configs → ide/configs}/zed-mcp.json +2 -2
  33. package/{hooks → ide/hooks}/context-hook.js +9 -20
  34. package/ide/hooks/memory-list-skill.js +70 -0
  35. package/ide/hooks/memory-profile-skill.js +101 -0
  36. package/ide/hooks/memory-recall-skill.js +62 -0
  37. package/ide/hooks/memory-remember-skill.js +68 -0
  38. package/ide/hooks/memory-reset-skill.js +160 -0
  39. package/{hooks → ide/hooks}/post-recall-hook.js +2 -2
  40. package/ide/integrations/langchain/README.md +106 -0
  41. package/ide/integrations/langchain/langchain_superlocalmemory/__init__.py +9 -0
  42. package/ide/integrations/langchain/langchain_superlocalmemory/chat_message_history.py +201 -0
  43. package/ide/integrations/langchain/pyproject.toml +38 -0
  44. package/{src/learning → ide/integrations/langchain}/tests/__init__.py +1 -0
  45. package/ide/integrations/langchain/tests/test_chat_message_history.py +215 -0
  46. package/ide/integrations/langchain/tests/test_security.py +117 -0
  47. package/ide/integrations/llamaindex/README.md +81 -0
  48. package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/__init__.py +9 -0
  49. package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/base.py +316 -0
  50. package/ide/integrations/llamaindex/pyproject.toml +43 -0
  51. package/{src/lifecycle → ide/integrations/llamaindex}/tests/__init__.py +1 -2
  52. package/ide/integrations/llamaindex/tests/test_chat_store.py +294 -0
  53. package/ide/integrations/llamaindex/tests/test_security.py +241 -0
  54. package/{skills → ide/skills}/slm-build-graph/SKILL.md +6 -6
  55. package/{skills → ide/skills}/slm-list-recent/SKILL.md +5 -5
  56. package/{skills → ide/skills}/slm-recall/SKILL.md +5 -5
  57. package/{skills → ide/skills}/slm-remember/SKILL.md +6 -6
  58. package/{skills → ide/skills}/slm-show-patterns/SKILL.md +7 -7
  59. package/{skills → ide/skills}/slm-status/SKILL.md +9 -9
  60. package/{skills → ide/skills}/slm-switch-profile/SKILL.md +9 -9
  61. package/package.json +13 -22
  62. package/pyproject.toml +85 -0
  63. package/scripts/build-dmg.sh +417 -0
  64. package/scripts/install-skills.ps1 +334 -0
  65. package/scripts/postinstall.js +2 -2
  66. package/scripts/start-dashboard.ps1 +52 -0
  67. package/scripts/start-dashboard.sh +41 -0
  68. package/scripts/sync-wiki.ps1 +127 -0
  69. package/scripts/sync-wiki.sh +82 -0
  70. package/scripts/test-dmg.sh +161 -0
  71. package/scripts/test-npm-package.ps1 +252 -0
  72. package/scripts/test-npm-package.sh +207 -0
  73. package/scripts/verify-install.ps1 +294 -0
  74. package/scripts/verify-install.sh +266 -0
  75. package/src/superlocalmemory/__init__.py +0 -0
  76. package/src/superlocalmemory/attribution/__init__.py +9 -0
  77. package/src/superlocalmemory/attribution/mathematical_dna.py +235 -0
  78. package/src/superlocalmemory/attribution/signer.py +153 -0
  79. package/src/superlocalmemory/attribution/watermark.py +189 -0
  80. package/src/superlocalmemory/cli/__init__.py +5 -0
  81. package/src/superlocalmemory/cli/commands.py +245 -0
  82. package/src/superlocalmemory/cli/main.py +89 -0
  83. package/src/superlocalmemory/cli/migrate_cmd.py +55 -0
  84. package/src/superlocalmemory/cli/post_install.py +99 -0
  85. package/src/superlocalmemory/cli/setup_wizard.py +129 -0
  86. package/src/superlocalmemory/compliance/__init__.py +0 -0
  87. package/src/superlocalmemory/compliance/abac.py +204 -0
  88. package/src/superlocalmemory/compliance/audit.py +314 -0
  89. package/src/superlocalmemory/compliance/eu_ai_act.py +131 -0
  90. package/src/superlocalmemory/compliance/gdpr.py +294 -0
  91. package/src/superlocalmemory/compliance/lifecycle.py +158 -0
  92. package/src/superlocalmemory/compliance/retention.py +232 -0
  93. package/src/superlocalmemory/compliance/scheduler.py +148 -0
  94. package/src/superlocalmemory/core/__init__.py +0 -0
  95. package/src/superlocalmemory/core/config.py +391 -0
  96. package/src/superlocalmemory/core/embeddings.py +293 -0
  97. package/src/superlocalmemory/core/engine.py +701 -0
  98. package/src/superlocalmemory/core/hooks.py +65 -0
  99. package/src/superlocalmemory/core/maintenance.py +172 -0
  100. package/src/superlocalmemory/core/modes.py +140 -0
  101. package/src/superlocalmemory/core/profiles.py +234 -0
  102. package/src/superlocalmemory/core/registry.py +117 -0
  103. package/src/superlocalmemory/dynamics/__init__.py +0 -0
  104. package/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +223 -0
  105. package/src/superlocalmemory/encoding/__init__.py +0 -0
  106. package/src/superlocalmemory/encoding/consolidator.py +485 -0
  107. package/src/superlocalmemory/encoding/emotional.py +125 -0
  108. package/src/superlocalmemory/encoding/entity_resolver.py +525 -0
  109. package/src/superlocalmemory/encoding/entropy_gate.py +104 -0
  110. package/src/superlocalmemory/encoding/fact_extractor.py +775 -0
  111. package/src/superlocalmemory/encoding/foresight.py +91 -0
  112. package/src/superlocalmemory/encoding/graph_builder.py +302 -0
  113. package/src/superlocalmemory/encoding/observation_builder.py +160 -0
  114. package/src/superlocalmemory/encoding/scene_builder.py +183 -0
  115. package/src/superlocalmemory/encoding/signal_inference.py +90 -0
  116. package/src/superlocalmemory/encoding/temporal_parser.py +426 -0
  117. package/src/superlocalmemory/encoding/type_router.py +235 -0
  118. package/src/superlocalmemory/hooks/__init__.py +3 -0
  119. package/src/superlocalmemory/hooks/auto_capture.py +111 -0
  120. package/src/superlocalmemory/hooks/auto_recall.py +93 -0
  121. package/src/superlocalmemory/hooks/ide_connector.py +204 -0
  122. package/src/superlocalmemory/hooks/rules_engine.py +99 -0
  123. package/src/superlocalmemory/infra/__init__.py +3 -0
  124. package/src/superlocalmemory/infra/auth_middleware.py +82 -0
  125. package/src/superlocalmemory/infra/backup.py +317 -0
  126. package/src/superlocalmemory/infra/cache_manager.py +267 -0
  127. package/src/superlocalmemory/infra/event_bus.py +381 -0
  128. package/src/superlocalmemory/infra/rate_limiter.py +135 -0
  129. package/src/{webhook_dispatcher.py → superlocalmemory/infra/webhook_dispatcher.py} +104 -101
  130. package/src/superlocalmemory/learning/__init__.py +0 -0
  131. package/src/superlocalmemory/learning/adaptive.py +172 -0
  132. package/src/superlocalmemory/learning/behavioral.py +490 -0
  133. package/src/superlocalmemory/learning/behavioral_listener.py +94 -0
  134. package/src/superlocalmemory/learning/bootstrap.py +298 -0
  135. package/src/superlocalmemory/learning/cross_project.py +399 -0
  136. package/src/superlocalmemory/learning/database.py +376 -0
  137. package/src/superlocalmemory/learning/engagement.py +323 -0
  138. package/src/superlocalmemory/learning/features.py +138 -0
  139. package/src/superlocalmemory/learning/feedback.py +316 -0
  140. package/src/superlocalmemory/learning/outcomes.py +255 -0
  141. package/src/superlocalmemory/learning/project_context.py +366 -0
  142. package/src/superlocalmemory/learning/ranker.py +155 -0
  143. package/src/superlocalmemory/learning/source_quality.py +303 -0
  144. package/src/superlocalmemory/learning/workflows.py +309 -0
  145. package/src/superlocalmemory/llm/__init__.py +0 -0
  146. package/src/superlocalmemory/llm/backbone.py +316 -0
  147. package/src/superlocalmemory/math/__init__.py +0 -0
  148. package/src/superlocalmemory/math/fisher.py +356 -0
  149. package/src/superlocalmemory/math/langevin.py +398 -0
  150. package/src/superlocalmemory/math/sheaf.py +257 -0
  151. package/src/superlocalmemory/mcp/__init__.py +0 -0
  152. package/src/superlocalmemory/mcp/resources.py +245 -0
  153. package/src/superlocalmemory/mcp/server.py +61 -0
  154. package/src/superlocalmemory/mcp/tools.py +18 -0
  155. package/src/superlocalmemory/mcp/tools_core.py +305 -0
  156. package/src/superlocalmemory/mcp/tools_v28.py +223 -0
  157. package/src/superlocalmemory/mcp/tools_v3.py +286 -0
  158. package/src/superlocalmemory/retrieval/__init__.py +0 -0
  159. package/src/superlocalmemory/retrieval/agentic.py +295 -0
  160. package/src/superlocalmemory/retrieval/ann_index.py +223 -0
  161. package/src/superlocalmemory/retrieval/bm25_channel.py +185 -0
  162. package/src/superlocalmemory/retrieval/bridge_discovery.py +170 -0
  163. package/src/superlocalmemory/retrieval/engine.py +390 -0
  164. package/src/superlocalmemory/retrieval/entity_channel.py +179 -0
  165. package/src/superlocalmemory/retrieval/fusion.py +78 -0
  166. package/src/superlocalmemory/retrieval/profile_channel.py +105 -0
  167. package/src/superlocalmemory/retrieval/reranker.py +154 -0
  168. package/src/superlocalmemory/retrieval/semantic_channel.py +232 -0
  169. package/src/superlocalmemory/retrieval/strategy.py +96 -0
  170. package/src/superlocalmemory/retrieval/temporal_channel.py +175 -0
  171. package/src/superlocalmemory/server/__init__.py +1 -0
  172. package/src/superlocalmemory/server/api.py +248 -0
  173. package/src/superlocalmemory/server/routes/__init__.py +4 -0
  174. package/src/superlocalmemory/server/routes/agents.py +107 -0
  175. package/src/superlocalmemory/server/routes/backup.py +91 -0
  176. package/src/superlocalmemory/server/routes/behavioral.py +127 -0
  177. package/src/superlocalmemory/server/routes/compliance.py +160 -0
  178. package/src/superlocalmemory/server/routes/data_io.py +188 -0
  179. package/src/superlocalmemory/server/routes/events.py +183 -0
  180. package/src/superlocalmemory/server/routes/helpers.py +85 -0
  181. package/src/superlocalmemory/server/routes/learning.py +273 -0
  182. package/src/superlocalmemory/server/routes/lifecycle.py +116 -0
  183. package/src/superlocalmemory/server/routes/memories.py +399 -0
  184. package/src/superlocalmemory/server/routes/profiles.py +219 -0
  185. package/src/superlocalmemory/server/routes/stats.py +346 -0
  186. package/src/superlocalmemory/server/routes/v3_api.py +365 -0
  187. package/src/superlocalmemory/server/routes/ws.py +82 -0
  188. package/src/superlocalmemory/server/security_middleware.py +57 -0
  189. package/src/superlocalmemory/server/ui.py +245 -0
  190. package/src/superlocalmemory/storage/__init__.py +0 -0
  191. package/src/superlocalmemory/storage/access_control.py +182 -0
  192. package/src/superlocalmemory/storage/database.py +594 -0
  193. package/src/superlocalmemory/storage/migrations.py +303 -0
  194. package/src/superlocalmemory/storage/models.py +406 -0
  195. package/src/superlocalmemory/storage/schema.py +726 -0
  196. package/src/superlocalmemory/storage/v2_migrator.py +317 -0
  197. package/src/superlocalmemory/trust/__init__.py +0 -0
  198. package/src/superlocalmemory/trust/gate.py +130 -0
  199. package/src/superlocalmemory/trust/provenance.py +124 -0
  200. package/src/superlocalmemory/trust/scorer.py +347 -0
  201. package/src/superlocalmemory/trust/signals.py +153 -0
  202. package/ui/index.html +278 -5
  203. package/ui/js/auto-settings.js +70 -0
  204. package/ui/js/dashboard.js +90 -0
  205. package/ui/js/fact-detail.js +92 -0
  206. package/ui/js/feedback.js +2 -2
  207. package/ui/js/ide-status.js +102 -0
  208. package/ui/js/math-health.js +98 -0
  209. package/ui/js/recall-lab.js +127 -0
  210. package/ui/js/settings.js +2 -2
  211. package/ui/js/trust-dashboard.js +73 -0
  212. package/api_server.py +0 -724
  213. package/bin/aider-smart +0 -72
  214. package/bin/superlocalmemoryv2-learning +0 -4
  215. package/bin/superlocalmemoryv2-list +0 -3
  216. package/bin/superlocalmemoryv2-patterns +0 -4
  217. package/bin/superlocalmemoryv2-profile +0 -3
  218. package/bin/superlocalmemoryv2-recall +0 -3
  219. package/bin/superlocalmemoryv2-remember +0 -3
  220. package/bin/superlocalmemoryv2-reset +0 -3
  221. package/bin/superlocalmemoryv2-status +0 -3
  222. package/configs/chatgpt-desktop-mcp.json +0 -16
  223. package/configs/cursor-mcp.json +0 -15
  224. package/hooks/memory-list-skill.js +0 -139
  225. package/hooks/memory-profile-skill.js +0 -273
  226. package/hooks/memory-recall-skill.js +0 -114
  227. package/hooks/memory-remember-skill.js +0 -127
  228. package/hooks/memory-reset-skill.js +0 -274
  229. package/mcp_server.py +0 -1808
  230. package/requirements-core.txt +0 -22
  231. package/requirements-learning.txt +0 -12
  232. package/requirements.txt +0 -12
  233. package/src/agent_registry.py +0 -411
  234. package/src/auth_middleware.py +0 -61
  235. package/src/auto_backup.py +0 -459
  236. package/src/behavioral/__init__.py +0 -49
  237. package/src/behavioral/behavioral_listener.py +0 -203
  238. package/src/behavioral/behavioral_patterns.py +0 -275
  239. package/src/behavioral/cross_project_transfer.py +0 -206
  240. package/src/behavioral/outcome_inference.py +0 -194
  241. package/src/behavioral/outcome_tracker.py +0 -193
  242. package/src/behavioral/tests/__init__.py +0 -4
  243. package/src/behavioral/tests/test_behavioral_integration.py +0 -108
  244. package/src/behavioral/tests/test_behavioral_patterns.py +0 -150
  245. package/src/behavioral/tests/test_cross_project_transfer.py +0 -142
  246. package/src/behavioral/tests/test_mcp_behavioral.py +0 -139
  247. package/src/behavioral/tests/test_mcp_report_outcome.py +0 -117
  248. package/src/behavioral/tests/test_outcome_inference.py +0 -107
  249. package/src/behavioral/tests/test_outcome_tracker.py +0 -96
  250. package/src/cache_manager.py +0 -518
  251. package/src/compliance/__init__.py +0 -48
  252. package/src/compliance/abac_engine.py +0 -149
  253. package/src/compliance/abac_middleware.py +0 -116
  254. package/src/compliance/audit_db.py +0 -215
  255. package/src/compliance/audit_logger.py +0 -148
  256. package/src/compliance/retention_manager.py +0 -289
  257. package/src/compliance/retention_scheduler.py +0 -186
  258. package/src/compliance/tests/__init__.py +0 -4
  259. package/src/compliance/tests/test_abac_enforcement.py +0 -95
  260. package/src/compliance/tests/test_abac_engine.py +0 -124
  261. package/src/compliance/tests/test_abac_mcp_integration.py +0 -118
  262. package/src/compliance/tests/test_audit_db.py +0 -123
  263. package/src/compliance/tests/test_audit_logger.py +0 -98
  264. package/src/compliance/tests/test_mcp_audit.py +0 -128
  265. package/src/compliance/tests/test_mcp_retention_policy.py +0 -125
  266. package/src/compliance/tests/test_retention_manager.py +0 -131
  267. package/src/compliance/tests/test_retention_scheduler.py +0 -99
  268. package/src/compression/__init__.py +0 -25
  269. package/src/compression/cli.py +0 -150
  270. package/src/compression/cold_storage.py +0 -217
  271. package/src/compression/config.py +0 -72
  272. package/src/compression/orchestrator.py +0 -133
  273. package/src/compression/tier2_compressor.py +0 -228
  274. package/src/compression/tier3_compressor.py +0 -153
  275. package/src/compression/tier_classifier.py +0 -148
  276. package/src/db_connection_manager.py +0 -536
  277. package/src/embedding_engine.py +0 -63
  278. package/src/embeddings/__init__.py +0 -47
  279. package/src/embeddings/cache.py +0 -70
  280. package/src/embeddings/cli.py +0 -113
  281. package/src/embeddings/constants.py +0 -47
  282. package/src/embeddings/database.py +0 -91
  283. package/src/embeddings/engine.py +0 -247
  284. package/src/embeddings/model_loader.py +0 -145
  285. package/src/event_bus.py +0 -562
  286. package/src/graph/__init__.py +0 -36
  287. package/src/graph/build_helpers.py +0 -74
  288. package/src/graph/cli.py +0 -87
  289. package/src/graph/cluster_builder.py +0 -188
  290. package/src/graph/cluster_summary.py +0 -148
  291. package/src/graph/constants.py +0 -47
  292. package/src/graph/edge_builder.py +0 -162
  293. package/src/graph/entity_extractor.py +0 -95
  294. package/src/graph/graph_core.py +0 -226
  295. package/src/graph/graph_search.py +0 -231
  296. package/src/graph/hierarchical.py +0 -207
  297. package/src/graph/schema.py +0 -99
  298. package/src/graph_engine.py +0 -52
  299. package/src/hnsw_index.py +0 -628
  300. package/src/hybrid_search.py +0 -46
  301. package/src/learning/__init__.py +0 -217
  302. package/src/learning/adaptive_ranker.py +0 -682
  303. package/src/learning/bootstrap/__init__.py +0 -69
  304. package/src/learning/bootstrap/constants.py +0 -93
  305. package/src/learning/bootstrap/db_queries.py +0 -316
  306. package/src/learning/bootstrap/sampling.py +0 -82
  307. package/src/learning/bootstrap/text_utils.py +0 -71
  308. package/src/learning/cross_project_aggregator.py +0 -857
  309. package/src/learning/db/__init__.py +0 -40
  310. package/src/learning/db/constants.py +0 -44
  311. package/src/learning/db/schema.py +0 -279
  312. package/src/learning/engagement_tracker.py +0 -628
  313. package/src/learning/feature_extractor.py +0 -708
  314. package/src/learning/feedback_collector.py +0 -806
  315. package/src/learning/learning_db.py +0 -915
  316. package/src/learning/project_context_manager.py +0 -572
  317. package/src/learning/ranking/__init__.py +0 -33
  318. package/src/learning/ranking/constants.py +0 -84
  319. package/src/learning/ranking/helpers.py +0 -278
  320. package/src/learning/source_quality_scorer.py +0 -676
  321. package/src/learning/synthetic_bootstrap.py +0 -755
  322. package/src/learning/tests/test_adaptive_ranker.py +0 -325
  323. package/src/learning/tests/test_adaptive_ranker_v28.py +0 -60
  324. package/src/learning/tests/test_aggregator.py +0 -306
  325. package/src/learning/tests/test_auto_retrain_v28.py +0 -35
  326. package/src/learning/tests/test_e2e_ranking_v28.py +0 -82
  327. package/src/learning/tests/test_feature_extractor_v28.py +0 -93
  328. package/src/learning/tests/test_feedback_collector.py +0 -294
  329. package/src/learning/tests/test_learning_db.py +0 -602
  330. package/src/learning/tests/test_learning_db_v28.py +0 -110
  331. package/src/learning/tests/test_learning_init_v28.py +0 -48
  332. package/src/learning/tests/test_outcome_signals.py +0 -48
  333. package/src/learning/tests/test_project_context.py +0 -292
  334. package/src/learning/tests/test_schema_migration.py +0 -319
  335. package/src/learning/tests/test_signal_inference.py +0 -397
  336. package/src/learning/tests/test_source_quality.py +0 -351
  337. package/src/learning/tests/test_synthetic_bootstrap.py +0 -429
  338. package/src/learning/tests/test_workflow_miner.py +0 -318
  339. package/src/learning/workflow_pattern_miner.py +0 -655
  340. package/src/lifecycle/__init__.py +0 -54
  341. package/src/lifecycle/bounded_growth.py +0 -239
  342. package/src/lifecycle/compaction_engine.py +0 -226
  343. package/src/lifecycle/lifecycle_engine.py +0 -355
  344. package/src/lifecycle/lifecycle_evaluator.py +0 -257
  345. package/src/lifecycle/lifecycle_scheduler.py +0 -130
  346. package/src/lifecycle/retention_policy.py +0 -285
  347. package/src/lifecycle/tests/test_bounded_growth.py +0 -193
  348. package/src/lifecycle/tests/test_compaction.py +0 -179
  349. package/src/lifecycle/tests/test_lifecycle_engine.py +0 -137
  350. package/src/lifecycle/tests/test_lifecycle_evaluation.py +0 -177
  351. package/src/lifecycle/tests/test_lifecycle_scheduler.py +0 -127
  352. package/src/lifecycle/tests/test_lifecycle_search.py +0 -109
  353. package/src/lifecycle/tests/test_mcp_compact.py +0 -149
  354. package/src/lifecycle/tests/test_mcp_lifecycle_status.py +0 -114
  355. package/src/lifecycle/tests/test_retention_policy.py +0 -162
  356. package/src/mcp_tools_v28.py +0 -281
  357. package/src/memory/__init__.py +0 -36
  358. package/src/memory/cli.py +0 -205
  359. package/src/memory/constants.py +0 -39
  360. package/src/memory/helpers.py +0 -28
  361. package/src/memory/schema.py +0 -166
  362. package/src/memory-profiles.py +0 -595
  363. package/src/memory-reset.py +0 -491
  364. package/src/memory_compression.py +0 -989
  365. package/src/memory_store_v2.py +0 -1155
  366. package/src/migrate_v1_to_v2.py +0 -629
  367. package/src/pattern_learner.py +0 -34
  368. package/src/patterns/__init__.py +0 -24
  369. package/src/patterns/analyzers.py +0 -251
  370. package/src/patterns/learner.py +0 -271
  371. package/src/patterns/scoring.py +0 -171
  372. package/src/patterns/store.py +0 -225
  373. package/src/patterns/terminology.py +0 -140
  374. package/src/provenance_tracker.py +0 -312
  375. package/src/qualixar_attribution.py +0 -139
  376. package/src/qualixar_watermark.py +0 -78
  377. package/src/query_optimizer.py +0 -511
  378. package/src/rate_limiter.py +0 -83
  379. package/src/search/__init__.py +0 -20
  380. package/src/search/cli.py +0 -77
  381. package/src/search/constants.py +0 -26
  382. package/src/search/engine.py +0 -241
  383. package/src/search/fusion.py +0 -122
  384. package/src/search/index_loader.py +0 -114
  385. package/src/search/methods.py +0 -162
  386. package/src/search_engine_v2.py +0 -401
  387. package/src/setup_validator.py +0 -482
  388. package/src/subscription_manager.py +0 -391
  389. package/src/tree/__init__.py +0 -59
  390. package/src/tree/builder.py +0 -185
  391. package/src/tree/nodes.py +0 -202
  392. package/src/tree/queries.py +0 -257
  393. package/src/tree/schema.py +0 -80
  394. package/src/tree_manager.py +0 -19
  395. package/src/trust/__init__.py +0 -45
  396. package/src/trust/constants.py +0 -66
  397. package/src/trust/queries.py +0 -157
  398. package/src/trust/schema.py +0 -95
  399. package/src/trust/scorer.py +0 -299
  400. package/src/trust/signals.py +0 -95
  401. package/src/trust_scorer.py +0 -44
  402. package/ui/app.js +0 -1588
  403. package/ui/js/graph-cytoscape-monolithic-backup.js +0 -1168
  404. package/ui/js/graph-cytoscape.js +0 -1168
  405. package/ui/js/graph-d3-backup.js +0 -32
  406. package/ui/js/graph.js +0 -32
  407. package/ui_server.py +0 -286
  408. /package/docs/{ACCESSIBILITY.md → v2-archive/ACCESSIBILITY.md} +0 -0
  409. /package/docs/{ARCHITECTURE.md → v2-archive/ARCHITECTURE.md} +0 -0
  410. /package/docs/{CLI-COMMANDS-REFERENCE.md → v2-archive/CLI-COMMANDS-REFERENCE.md} +0 -0
  411. /package/docs/{COMPRESSION-README.md → v2-archive/COMPRESSION-README.md} +0 -0
  412. /package/docs/{FRAMEWORK-INTEGRATIONS.md → v2-archive/FRAMEWORK-INTEGRATIONS.md} +0 -0
  413. /package/docs/{MCP-MANUAL-SETUP.md → v2-archive/MCP-MANUAL-SETUP.md} +0 -0
  414. /package/docs/{MCP-TROUBLESHOOTING.md → v2-archive/MCP-TROUBLESHOOTING.md} +0 -0
  415. /package/docs/{PATTERN-LEARNING.md → v2-archive/PATTERN-LEARNING.md} +0 -0
  416. /package/docs/{PROFILES-GUIDE.md → v2-archive/PROFILES-GUIDE.md} +0 -0
  417. /package/docs/{RESET-GUIDE.md → v2-archive/RESET-GUIDE.md} +0 -0
  418. /package/docs/{SEARCH-ENGINE-V2.2.0.md → v2-archive/SEARCH-ENGINE-V2.2.0.md} +0 -0
  419. /package/docs/{SEARCH-INTEGRATION-GUIDE.md → v2-archive/SEARCH-INTEGRATION-GUIDE.md} +0 -0
  420. /package/docs/{UI-SERVER.md → v2-archive/UI-SERVER.md} +0 -0
  421. /package/docs/{UNIVERSAL-INTEGRATION.md → v2-archive/UNIVERSAL-INTEGRATION.md} +0 -0
  422. /package/docs/{V2.2.0-OPTIONAL-SEARCH.md → v2-archive/V2.2.0-OPTIONAL-SEARCH.md} +0 -0
  423. /package/docs/{WINDOWS-INSTALL-README.txt → v2-archive/WINDOWS-INSTALL-README.txt} +0 -0
  424. /package/docs/{WINDOWS-POST-INSTALL.txt → v2-archive/WINDOWS-POST-INSTALL.txt} +0 -0
  425. /package/docs/{example_graph_usage.py → v2-archive/example_graph_usage.py} +0 -0
  426. /package/{completions → ide/completions}/slm.bash +0 -0
  427. /package/{completions → ide/completions}/slm.zsh +0 -0
  428. /package/{configs → ide/configs}/cody-commands.json +0 -0
  429. /package/{install-skills.sh → scripts/install-skills.sh} +0 -0
  430. /package/{install.ps1 → scripts/install.ps1} +0 -0
  431. /package/{install.sh → scripts/install.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 "$@"