superlocalmemory 3.5.9__tar.gz → 3.6.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {superlocalmemory-3.5.9/src/superlocalmemory.egg-info → superlocalmemory-3.6.2}/PKG-INFO +144 -36
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/README.md +142 -35
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/pyproject.toml +2 -1
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/__init__.py +1 -1
- superlocalmemory-3.6.2/src/superlocalmemory/cli/cache_cmd.py +198 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/commands.py +71 -0
- superlocalmemory-3.6.2/src/superlocalmemory/cli/compress_cmd.py +179 -0
- superlocalmemory-3.6.2/src/superlocalmemory/cli/help_cmd.py +197 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/main.py +118 -0
- superlocalmemory-3.6.2/src/superlocalmemory/cli/optimize_cmd.py +178 -0
- superlocalmemory-3.6.2/src/superlocalmemory/cli/optimize_constants.py +31 -0
- superlocalmemory-3.6.2/src/superlocalmemory/cli/proxy_cmd.py +104 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/adapters/__init__.py +68 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/adapters/_agent_registry.py +120 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/adapters/anthropic_adapter.py +115 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/adapters/openai_adapter.py +125 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/adapters/wrap.py +219 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/__init__.py +31 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/boundary_store.py +455 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/centroid_store.py +158 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/context_key.py +67 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/exact.py +85 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/invalidation.py +36 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/key_builder.py +98 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/manager.py +452 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/semantic.py +568 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/cache/stampede.py +50 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/compress/__init__.py +17 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/compress/align.py +153 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/compress/ccr.py +157 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/compress/extractive_code.py +311 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/compress/extractive_json.py +72 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/compress/prose_llmlingua.py +77 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/compress/router.py +548 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/config/__init__.py +35 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/config/defaults.py +48 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/config/schema.py +255 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/config/store.py +209 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/metrics/__init__.py +8 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/metrics/counters.py +138 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/metrics/estimator.py +90 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/metrics/exporters.py +77 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/metrics/persistence.py +115 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/proxy/__init__.py +28 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/proxy/_helpers.py +257 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/proxy/anthropic_surface.py +171 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/proxy/gemini_surface.py +121 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/proxy/lifecycle.py +126 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/proxy/openai_surface.py +125 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/proxy/server.py +151 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/storage/db.py +1016 -0
- superlocalmemory-3.6.2/src/superlocalmemory/optimize/storage/schema.py +184 -0
- superlocalmemory-3.6.2/src/superlocalmemory/server/routes/optimize.py +167 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/unified_daemon.py +105 -0
- superlocalmemory-3.6.2/src/superlocalmemory/storage/__init__.py +0 -0
- superlocalmemory-3.6.2/src/superlocalmemory/trust/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/index.html +98 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/ng-shell.js +5 -1
- superlocalmemory-3.6.2/src/superlocalmemory/ui/js/optimize.js +173 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2/src/superlocalmemory.egg-info}/PKG-INFO +144 -36
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory.egg-info/SOURCES.txt +51 -1
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory.egg-info/requires.txt +1 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/AUTHORS.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/LICENSE +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/NOTICE +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/setup.cfg +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/attribution/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/attribution/mathematical_dna.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/attribution/signer.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/attribution/watermark.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/context_commands.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/daemon.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/db_migrate.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/doctor_cmd.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/escape_hatch.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/ingest_cmd.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/json_output.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/pending_store.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/post_install.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/service_installer.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/setup_wizard.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/version_banner.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/changes.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/communities.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/config.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/database.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/flows.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/graph_store.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/incremental.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/models.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/parser.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/resolver.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/search.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/service.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/code_graph/watcher.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/abac.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/audit.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/gdpr.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/lifecycle.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/retention.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/compliance/scheduler.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/backend_orchestrator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/clock_monitor.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/config.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/consolidation_engine.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/context_cache.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/db_pool.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/embedding_worker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/embeddings.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/engine.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/engine_capabilities.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/engine_lock.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/engine_wiring.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/error_catalog.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/error_envelope.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/fact_consolidator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/file_lock.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/graph_analyzer.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/graph_pruner.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/health_monitor.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/hooks.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/injection.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/loop_watchdog.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/maintenance.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/maintenance_scheduler.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/mcp_embedder_proxy.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/modes.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/ollama_embedder.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/platform_utils.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/priority_queue.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/profiles.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/pruning_engine.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/queue_consumer.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/queue_dispatcher.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/ram_lock.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/rate_limit.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/recall_gate.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/recall_pipeline.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/recall_queue.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/recall_worker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/registry.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/reranker_worker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/safe_fs.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/security_primitives.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/shadow_router.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/slm_disabled.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/slmignore.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/store_pipeline.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/summarizer.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/tier_manager.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/topic_signature.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/core/worker_pool.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/dynamics/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/dynamics/activation_guided_quantization.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/dynamics/eap_scheduler.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/auto_linker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/cognitive_consolidator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/consolidator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/context_generator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/emotional.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/fact_extractor.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/foresight.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/graph_builder.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/observation_builder.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/scene_builder.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/signal_inference.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/temporal_parser.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/encoding/type_router.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/budget.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/evolution_store.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/skill_evolver.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/triggers.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/evolution/types.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/graph/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/graph/cozo_backend.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/_outcome_common.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/adapter_base.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/antigravity_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/auto_capture.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/auto_invoker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/auto_recall.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/auto_recall_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/before_web_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/claude_code_hooks.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/context_payload.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/copilot_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/cursor_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/hook_daemon.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/hook_handlers.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/ide_connector.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/post_tool_async_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/rules_engine.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/session_registry.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/stop_outcome_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/sync_loop.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/topic_shift_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/user_prompt_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/auth_middleware.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/backup.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/cache_manager.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/cloud_backup.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/event_bus.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/heartbeat_monitor.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/pid_manager.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/process_reaper.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/rate_limiter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/infra/webhook_dispatcher.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/adapter_manager.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/base_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/calendar_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/credentials.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/gmail_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/parsers.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ingestion/transcript_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/adaptive.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/arm_catalog.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/assertion_miner.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/bandit.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/bandit_cache.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/behavioral.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/behavioral_listener.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/bootstrap.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/consolidation_quantization_worker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/cross_project.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/database.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/engagement.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/ensemble.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/entity_compiler.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/features.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/feedback.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/forgetting_scheduler.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/labeler.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/legacy_migration.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/lightgbm_subprocess.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/memory_merge.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/model_cache.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/model_rollback.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/outcome_queue.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/outcomes.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/pattern_miner.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/project_context.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/quantization_scheduler.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/ranker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/ranker_common.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/reward.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/reward_archive.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/reward_boost.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/reward_proxy.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/shadow_test.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/signal_worker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/signals.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/source_quality.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/trigram_index.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/learning/workflows.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/llm/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/llm/backbone.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/ebbinghaus.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/fisher.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/fisher_quantized.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/hopfield.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/langevin.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/polar_quant.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/qjl.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/sheaf.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/math/turbo_quant.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/_daemon_proxy.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/_pool_adapter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/resources.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/server.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/shared.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_active.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_context.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_core.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_evolution.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_learning.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_mesh.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_v28.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_v3.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mcp/tools_v33.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mesh/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mesh/broker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/mesh/remote_sync.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/migrations/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
- {superlocalmemory-3.5.9/src/superlocalmemory/retrieval → superlocalmemory-3.6.2/src/superlocalmemory/optimize}/__init__.py +0 -0
- {superlocalmemory-3.5.9/src/superlocalmemory → superlocalmemory-3.6.2/src/superlocalmemory/optimize}/storage/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/parameterization/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
- {superlocalmemory-3.5.9/src/superlocalmemory/trust → superlocalmemory-3.6.2/src/superlocalmemory/retrieval}/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/agentic.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/ann_index.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/bm25_channel.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/bridge_discovery.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/engine.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/entity_channel.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/forgetting_filter.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/fusion.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/hopfield_channel.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/profile_channel.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/quantization_aware_search.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/reranker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/semantic_channel.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/spreading_activation.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/strategy.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/temporal_channel.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/retrieval/vector_store.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/api.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/bandit_loops.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/middleware/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/adapters.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/agents.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/backup.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/behavioral.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/brain.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/chat.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/compliance.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/data_io.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/entity.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/events.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/evolution.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/helpers.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/ingest.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/insights.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/learning.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/memories.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/mesh.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/prewarm.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/profiles.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/stats.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/tiers.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/timeline.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/token.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/v3_api.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/routes/ws.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/security_middleware.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/server/ui.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/skills/slm-build-graph/SKILL.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/skills/slm-list-recent/SKILL.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/skills/slm-recall/SKILL.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/skills/slm-remember/SKILL.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/skills/slm-show-patterns/SKILL.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/skills/slm-status/SKILL.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/skills/slm-switch-profile/SKILL.md +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/access_control.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/access_log.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/database.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migration_runner.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migration_v33.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/migrations.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/models.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/quantized_store.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema_v32.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema_v3410.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema_v3411.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema_v343.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema_v345.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/schema_v347.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/storage/v2_migrator.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/trust/gate.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/trust/provenance.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/trust/scorer.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/trust/signals.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/css/brain.css +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/agents.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/auto-settings.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/brain.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/clusters.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/compliance.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/core.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/dashboard.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/events.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/feedback.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/graph-filters.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/graph-ui.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/ide-status.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/init.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/knowledge-graph.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/lifecycle.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/math-health.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/memories.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/memory-chat.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/modal.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/ng-entities.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/ng-health.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/ng-mesh.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/profiles.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/recall-lab.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/search.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/settings.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/timeline.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/vector/__init__.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory/vector/lancedb_backend.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/src/superlocalmemory.egg-info/top_level.txt +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_auto_hooks.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_before_web_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_behavioral_full.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_claude_hooks.py +0 -0
- /superlocalmemory-3.5.9/tests/test_cli.py → /superlocalmemory-3.6.2/tests/test_cli_core.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_cli_json.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_cli_v33.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_compliance_full.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_config_system.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_engine_hooks.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_event_bus.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_features.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_final_locomo_mini.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_hook_handlers.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_ide_connector.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_infra.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_injection.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_learning_advanced.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_learning_collectors.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_llm_provider.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_mcp_server.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_migration.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_mode_switch_preservation.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_post_install.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_ranker.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_topic_shift_hook.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_trust_full.py +0 -0
- {superlocalmemory-3.5.9 → superlocalmemory-3.6.2}/tests/test_v3_api.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superlocalmemory
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.6.2
|
|
4
4
|
Summary: Information-geometric agent memory with mathematical guarantees
|
|
5
5
|
Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
|
|
6
6
|
License: AGPL-3.0-or-later
|
|
@@ -49,6 +49,7 @@ Requires-Dist: watchdog==5.0.3
|
|
|
49
49
|
Requires-Dist: psutil==7.2.2
|
|
50
50
|
Requires-Dist: structlog==25.5.0
|
|
51
51
|
Requires-Dist: portalocker==3.2.0
|
|
52
|
+
Requires-Dist: cryptography==45.0.2
|
|
52
53
|
Requires-Dist: sentence-transformers==5.3.0
|
|
53
54
|
Requires-Dist: optimum==2.1.0
|
|
54
55
|
Requires-Dist: onnxruntime==1.24.4
|
|
@@ -93,17 +94,18 @@ Dynamic: license-file
|
|
|
93
94
|
<img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
|
|
94
95
|
</p>
|
|
95
96
|
|
|
96
|
-
<h1 align="center">SuperLocalMemory V3.
|
|
97
|
-
<p align="center"><strong>
|
|
98
|
-
<p align="center"><code>v3.
|
|
97
|
+
<h1 align="center">SuperLocalMemory V3.6</h1>
|
|
98
|
+
<p align="center"><strong>Save up to 90% on every LLM API call. Cache. Compress. Remember.</strong><br/><em>The only local-first memory system that SKIPS repeat calls (100% saved), SHRINKS prompts 60-95%, and REMEMBERS everything — locally, for free. For Claude Code, Cursor, Windsurf, and any AI client.</em></p>
|
|
99
|
+
<p align="center"><code>v3.6.0 "Optimize"</code> — <strong>Cache & Compress & Align. Save up to 90% on every LLM API call — locally.</strong> One command: <code>slm wrap claude</code><br>Also includes v3.5 Scale-Ready: 6-channel recall <1s, CozoDB + LanceDB, Core Memory Block. Your database auto-migrates.</p>
|
|
99
100
|
<p align="center"><strong>Backed by 3 published research papers</strong> (arXiv preprints + Zenodo-archived) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
|
|
100
101
|
|
|
101
102
|
<p align="center">
|
|
102
|
-
<code>+10.6pp vs Mem0 zero-LLM</code> · <code>85% Open-Domain (best zero-LLM score)</code> · <code>EU AI Act Ready</code>
|
|
103
|
+
<code>Saves up to 90% on LLM API costs</code> · <code>+10.6pp vs Mem0 zero-LLM</code> · <code>85% Open-Domain (best zero-LLM score)</code> · <code>EU AI Act Ready</code>
|
|
103
104
|
</p>
|
|
104
105
|
|
|
105
106
|
<p align="center">
|
|
106
107
|
<a href="https://arxiv.org/abs/2603.14588"><img src="https://img.shields.io/badge/arXiv-2603.14588-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="arXiv Paper"/></a>
|
|
108
|
+
<a href="https://img.shields.io/badge/Saves_90%25_on_LLM_Costs-22c55e?style=for-the-badge"><img src="https://img.shields.io/badge/Saves_90%25_on_LLM_Costs-22c55e?style=for-the-badge" alt="Saves 90% on LLM Costs"/></a>
|
|
107
109
|
<a href="https://pypi.org/project/superlocalmemory/"><img src="https://img.shields.io/pypi/v/superlocalmemory?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"/></a>
|
|
108
110
|
<a href="https://www.npmjs.com/package/superlocalmemory"><img src="https://img.shields.io/npm/v/superlocalmemory?style=for-the-badge&logo=npm&logoColor=white" alt="npm"/></a>
|
|
109
111
|
<a href="https://www.gnu.org/licenses/agpl-3.0"><img src="https://img.shields.io/badge/License-AGPL_v3-blue.svg?style=for-the-badge" alt="AGPL v3"/></a>
|
|
@@ -120,31 +122,89 @@ Dynamic: license-file
|
|
|
120
122
|
|
|
121
123
|
---
|
|
122
124
|
|
|
123
|
-
|
|
125
|
+
<details>
|
|
126
|
+
<summary><strong>What's New in V3.6 — Optimize: SKIP, SHRINK, DISCOUNT, REMEMBER</strong> (click to expand)</summary>
|
|
124
127
|
|
|
125
|
-
|
|
128
|
+
> V3.6 is the only local-first layer that SKIPS repeat LLM calls (cache: 100% saved), SHRINKS prompts 60-95% (compress: extractive + LLMLingua-2), and DISCOUNTS prefix costs (align: native KV-cache) — and remembers everything — in one install. **Your first cache hit pays for the install time. Hours of coding on repeat, minimal API cost.**
|
|
126
129
|
|
|
127
|
-
|
|
130
|
+
### The Three Levers
|
|
128
131
|
|
|
129
|
-
|
|
132
|
+
| Lever | Mechanism | Saving | Off by default? |
|
|
133
|
+
|-------|-----------|:------:|:---------------:|
|
|
134
|
+
| **Cache** | Skip repeat calls — exact-match SQLite lookup, vCache-gated semantic (opt-in) | **100% on a hit** (input + output) | Cache ON, Semantic OFF |
|
|
135
|
+
| **Compress** | Shrink prompts — extractive JSON/code (lossless) + LLMLingua-2 prose (opt-in) | **60–95% on a miss** (input only) | Safe mode ON, Aggressive OFF |
|
|
136
|
+
| **Align** | Stabilize prefix — maximize provider prefix-cache discounts | **Lossless extra** | ON when compression is ON |
|
|
130
137
|
|
|
131
|
-
|
|
132
|
-
|:-------|:-----:|:-------|:-------------------:|:-----------:|:-------|
|
|
133
|
-
| EverMemOS | 93.05% | Cloud (proprietary) | Yes | Core only | [evermind.ai](https://evermind.ai/) (Feb 2026) |
|
|
134
|
-
| Hindsight (LoComo10) | 92.0% | Cloud | Yes | No | [benchmarks.hindsight.vectorize.io](https://benchmarks.hindsight.vectorize.io) (Apr 2026) |
|
|
135
|
-
| Mem0 (token-efficient) | 91.6% | Hybrid (Cohere/OpenAI) | Yes | Partial | [mem0.ai blog](https://mem0.ai/blog/mem0-the-token-efficient-memory-algorithm) (Apr 16 2026) |
|
|
136
|
-
| **SLM V3 Mode C** | **87.7%** | Local + optional LLM | Optional (Ollama OK) | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
137
|
-
| Zep v3 Cloud | 85.2% | Cloud | Yes | Community deprecated | [getzep.com](https://www.getzep.com/) |
|
|
138
|
-
| **SLM V3 Mode A** | **74.8%** | **Local, CPU-only, zero-LLM** | **No** | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
139
|
-
| Mem0 (zero-retrieval-LLM) | 64.2% | Local baseline | No | Partial | Mem0 paper, zero-LLM row |
|
|
138
|
+
**Memory** (v3.5's existing engine) runs in parallel — it shapes *what is in* the prompt (relevant facts); Optimize decides *whether and how* it is sent.
|
|
140
139
|
|
|
141
|
-
|
|
140
|
+
### Quick Start
|
|
142
141
|
|
|
143
|
-
|
|
142
|
+
```bash
|
|
143
|
+
# One command to start saving
|
|
144
|
+
slm wrap claude
|
|
145
|
+
# Your first repeat prompt → CACHE HIT → $0.00
|
|
146
|
+
# Your first long prompt → COMPRESSED 70% → $0.00 per token saved
|
|
147
|
+
```
|
|
144
148
|
|
|
145
|
-
|
|
149
|
+
### New CLI Commands (6 total)
|
|
146
150
|
|
|
147
|
-
|
|
151
|
+
| Command | What It Does |
|
|
152
|
+
|:--------|:-------------|
|
|
153
|
+
| `slm optimize status\|on\|off\|savings` | Master Optimize control + savings report (USD/INR/tokens) |
|
|
154
|
+
| `slm cache status\|clear\|invalidate\|ttl\|semantic` | Cache sub-control — exact + semantic tiers |
|
|
155
|
+
| `slm compress status\|mode\|code\|prose\|ccr\|align` | Compression control — per-channel toggles |
|
|
156
|
+
| `slm proxy [--port] [--provider]` | Start the interception proxy (port 8765) |
|
|
157
|
+
| `slm wrap <agent>` | Proxy-activate an agent — one command to start saving |
|
|
158
|
+
| `slm help-optimize [topic]` | Full developer reference + per-agent setup recipes |
|
|
159
|
+
|
|
160
|
+
### Savings Dashboard
|
|
161
|
+
|
|
162
|
+
All metrics tracked and displayed live — from the dashboard (Optimize tab) or CLI:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
slm optimize savings --since 7
|
|
166
|
+
# Savings (last 7 days):
|
|
167
|
+
# Exact cache hits: 43 (127,580 input tokens saved)
|
|
168
|
+
# Tokens saved (total): 153,096
|
|
169
|
+
# Estimated savings: ~$2.30 (at $3.00/M tokens — Anthropic rates)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Enable / Disable
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
slm optimize on # Enable cache + compress
|
|
176
|
+
slm optimize off # Disable (proxy passes through)
|
|
177
|
+
slm cache semantic on # Enable semantic cache (needs embedding model)
|
|
178
|
+
slm compress mode aggressive # Enable prose compression (with safety warning)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Safety defaults:** Optimize ON. Safe mode ON (extractive only — lossless, production-safe). Semantic OFF. Aggressive OFF. No behavior change until you explicitly enable features.
|
|
182
|
+
|
|
183
|
+
### How It Works
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
Your App → Proxy/SDK/Wrap → Cache Check → HIT → Return Cached (0 tokens)
|
|
187
|
+
|
|
|
188
|
+
MISS
|
|
189
|
+
|
|
|
190
|
+
Compress → Provider → Store in Cache
|
|
191
|
+
60-95% + Align
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
- **Fail-open** — any error passes through. Your calls never break.
|
|
195
|
+
- **Separate database** — `llmcache.db` never touches `memory.db`. AES-256-GCM at rest.
|
|
196
|
+
- **Hot-reload config** — UI/CLI writes `~/.superlocalmemory/optimize.json`, daemon reloads in 2s.
|
|
197
|
+
|
|
198
|
+
### Links
|
|
199
|
+
|
|
200
|
+
Full docs:
|
|
201
|
+
- [Optimize Product Overview](docs/optimize-overview.md)
|
|
202
|
+
- [Optimize CLI Reference](docs/optimize-cli.md)
|
|
203
|
+
- [Optimize Config Reference](docs/optimize-config.md)
|
|
204
|
+
- [Wiki: V3.6 Overview](https://github.com/qualixar/superlocalmemory/wiki/V3.6-Overview)
|
|
205
|
+
- [Website: v3.6 Optimize](https://superlocalmemory.com/optimize)
|
|
206
|
+
|
|
207
|
+
</details>
|
|
148
208
|
|
|
149
209
|
---
|
|
150
210
|
|
|
@@ -239,21 +299,31 @@ slm config set v33_features.all true
|
|
|
239
299
|
|
|
240
300
|
---
|
|
241
301
|
|
|
242
|
-
|
|
243
|
-
<summary><strong>What's New in V3.2 — The Living Brain</strong> (click to expand)</summary>
|
|
302
|
+
## Why SuperLocalMemory?
|
|
244
303
|
|
|
245
|
-
|
|
304
|
+
Every **hosted** AI memory platform — Mem0 Cloud, Zep Cloud, Letta Cloud, EverMemOS Cloud — sends your data to cloud LLMs by default. Their self-hosted variants exist (Mem0 OpenMemory, Letta self-hosted, Graphiti) but require Docker + a separate graph DB or Ollama config, and most still default to OpenAI until you flip env vars. After **August 2, 2026**, any of those cloud paths becomes a compliance problem under the EU AI Act.
|
|
246
305
|
|
|
247
|
-
|
|
248
|
-
|:-------|:----:|:----:|:------:|
|
|
249
|
-
| Recall latency (10K facts) | ~500ms | <10ms | **100x faster** |
|
|
250
|
-
| Retrieval channels | 4 | 5 | +spreading activation |
|
|
251
|
-
| MCP tools | 24 | 29 | +5 new |
|
|
252
|
-
| DB tables | 9 | 18 | +9 new |
|
|
306
|
+
SuperLocalMemory V3 takes a different approach: **mathematics instead of cloud compute.** Three techniques from differential geometry, algebraic topology, and stochastic analysis replace the work that other systems need LLMs to do — similarity scoring, contradiction detection, and lifecycle management. The result is an agent memory that ships local-first out of the box — no Docker, no graph DB, no API keys — on CPU.
|
|
253
307
|
|
|
254
|
-
|
|
308
|
+
**The numbers** (evaluated on [LoCoMo](https://arxiv.org/abs/2402.09714), the standard long-conversation memory benchmark). Published numbers as of April 2026:
|
|
255
309
|
|
|
256
|
-
|
|
310
|
+
| System | Score | Config | Cloud LLM required? | Open Source | Source |
|
|
311
|
+
|:-------|:-----:|:-------|:-------------------:|:-----------:|:-------|
|
|
312
|
+
| EverMemOS | 93.05% | Cloud (proprietary) | Yes | Core only | [evermind.ai](https://evermind.ai/) (Feb 2026) |
|
|
313
|
+
| Hindsight (LoComo10) | 92.0% | Cloud | Yes | No | [benchmarks.hindsight.vectorize.io](https://benchmarks.hindsight.vectorize.io) (Apr 2026) |
|
|
314
|
+
| Mem0 (token-efficient) | 91.6% | Hybrid (Cohere/OpenAI) | Yes | Partial | [mem0.ai blog](https://mem0.ai/blog/mem0-the-token-efficient-memory-algorithm) (Apr 16 2026) |
|
|
315
|
+
| **SLM V3 Mode C** | **87.7%** | Local + optional LLM | Optional (Ollama OK) | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
316
|
+
| Zep v3 Cloud | 85.2% | Cloud | Yes | Community deprecated | [getzep.com](https://www.getzep.com/) |
|
|
317
|
+
| **SLM V3 Mode A** | **74.8%** | **Local, CPU-only, zero-LLM** | **No** | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
318
|
+
| Mem0 (zero-retrieval-LLM) | 64.2% | Local baseline | No | Partial | Mem0 paper, zero-LLM row |
|
|
319
|
+
|
|
320
|
+
> **How to read this table.** Scores from different papers use different LoCoMo splits, judge models, and prompt variants. We do NOT claim these numbers are apples-to-apples across rows. The rows we re-ran in-house are marked "In-house"; cited rows link to the vendor's public source and date. Mode A is the only zero-LLM configuration in the list, so the comparison that is apples-to-apples is **Mode A 74.8% vs Mem0 zero-retrieval-LLM 64.2%** (+10.6pp). Mem0's 91.6% and EverMemOS's 93.05% use cloud LLMs; Mode C uses a local LLM (Ollama). BEAM-10M, the emerging successor benchmark, will be added in a future release.
|
|
321
|
+
|
|
322
|
+
**What Mode A is**: CPU-only, SQLite-only, zero-LLM retrieval pipeline on published LoCoMo questions. To the best of our knowledge it is the only publicly-released local-first memory that clears Mem0's zero-LLM baseline on this benchmark. If another fully-local system hits similar numbers, please open an issue so we can update the table.
|
|
323
|
+
|
|
324
|
+
Mathematical layers contribute **+12.7 percentage points** on average across 6 conversations (n=832 questions), with up to **+19.9pp on the most challenging dialogues**. This isn't more compute — it's better math.
|
|
325
|
+
|
|
326
|
+
> **Upgrading from V2 (2.8.6)?** V3 is a complete architectural reinvention — new mathematical engine, new retrieval pipeline, new storage schema. Your existing data is preserved but requires migration. After installing V3, run `slm migrate` to upgrade your data. Read the [Migration Guide](https://github.com/qualixar/superlocalmemory/wiki/Migration-from-V2) before upgrading. Backup is created automatically.
|
|
257
327
|
|
|
258
328
|
---
|
|
259
329
|
|
|
@@ -274,9 +344,18 @@ slm warmup # Pre-download embedding model (~500MB, optional)
|
|
|
274
344
|
pip install superlocalmemory
|
|
275
345
|
```
|
|
276
346
|
|
|
277
|
-
###
|
|
347
|
+
### Start Saving on LLM Costs (v3.6 Optimize)
|
|
278
348
|
|
|
279
|
-
|
|
349
|
+
```bash
|
|
350
|
+
# Wrap your agent — starts proxy + sets environment + launches agent
|
|
351
|
+
slm wrap claude
|
|
352
|
+
# Your first repeat prompt → CACHE HIT → $0.00 saved
|
|
353
|
+
# See savings: slm optimize savings --since 1
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Upgrading to v3.6 "Optimize" + v3.5.0 "Scale-Ready"
|
|
357
|
+
|
|
358
|
+
**Migration is automatic.** Upgrade the package, restart the daemon — all migrations run in the background.
|
|
280
359
|
|
|
281
360
|
```bash
|
|
282
361
|
pip install -U superlocalmemory
|
|
@@ -284,7 +363,13 @@ slm restart
|
|
|
284
363
|
slm doctor
|
|
285
364
|
```
|
|
286
365
|
|
|
287
|
-
No manual commands. No data loss.
|
|
366
|
+
No manual commands. No data loss. Zero downtime.
|
|
367
|
+
|
|
368
|
+
**What you get after upgrading to v3.6.0:**
|
|
369
|
+
- **Cache** — skip repeat LLM calls entirely. Exact-match + vCache-gated semantic. **100% cost saved on hit.**
|
|
370
|
+
- **Compress** — shrink prompts 60-95% before sending. Extractive JSON/code (lossless) + LLMLingua-2 prose (opt-in). CCR reversible.
|
|
371
|
+
- **Align** — stabilize prompt prefix for native provider KV-cache discounts (Anthropic 90%, OpenAI 50%).
|
|
372
|
+
- **Savings dashboard** — live USD/INR/tokens saved displayed in the Optimize tab.
|
|
288
373
|
|
|
289
374
|
**What you get after upgrading to v3.5.0:**
|
|
290
375
|
- **CozoDB on the recall path** — entity_graph channel routes through the CozoDB backend (auto-detected, no config needed). Millions of graph edges indexed and traversed in milliseconds.
|
|
@@ -299,6 +384,7 @@ No manual commands. No data loss. Your database upgrades in-place. The daemon ap
|
|
|
299
384
|
|
|
300
385
|
| Version | Codename | Key Features |
|
|
301
386
|
|---|---|---|
|
|
387
|
+
| **v3.6.0** | Optimize | **Cache** (skip repeat calls, 100% on hit) · **Compress** (shrink prompts 60-95%) · **Align** (KV-cache stabilization) · `slm optimize\|cache\|compress\|proxy\|wrap` CLI · Live savings dashboard (USD/INR/tokens) · Hot-reload config · Safe defaults · Links: [docs/optimize-overview.md](docs/optimize-overview.md) · [V3.6 Wiki](https://github.com/qualixar/superlocalmemory/wiki/V3.6-Overview) |
|
|
302
388
|
| **v3.5.0** | Scale-Ready + Context Injection v2 | CozoDB/LanceDB migration, 6-channel recall <1s, Core Memory Block, BM25→FTS5, context injection v2, score normalization |
|
|
303
389
|
| **v3.4.5** | Scale-Ready (foundation) | Tiered storage (active/warm/cold), graph pruning, BackendOrchestrator scaffolding, CozoDB + LanceDB init + migration code (read path wired in v3.5.0) |
|
|
304
390
|
| **v3.4.51** | Recency Intelligence | Ebbinghaus decay + FSRS stability, age gate, session context time-awareness |
|
|
@@ -618,6 +704,20 @@ All 8 mesh tools work seamlessly across machines:
|
|
|
618
704
|
|
|
619
705
|
## Features
|
|
620
706
|
|
|
707
|
+
### LLM Cost Optimization (v3.6 Optimize)
|
|
708
|
+
- **Exact Cache** — byte-identical repeat calls served from local SQLite. SHA-256 key derivation, stampede shield, tag-based invalidation. **100% cost saved on hit** (input + output tokens).
|
|
709
|
+
- **Semantic Cache** (opt-in) — vCache-powered learned thresholds with SAFE-CACHE centroid defense. Near-duplicate queries served within error bound. CacheAttack 86% hijack class blocked.
|
|
710
|
+
- **Extractive Compression** — structure-preserving compression for JSON, code (AST-aware: Python/JS/Go/Rust/Java/C++), and tool outputs. **60-95% fewer input tokens**, zero accuracy regression.
|
|
711
|
+
- **LLMLingua-2 Prose** (opt-in) — extractive prose summarization for open-ended chat. Safety-warned before enable.
|
|
712
|
+
- **CCR (Compressed Context Retrieval)** — pre-compression originals stored for byte-exact reversal under UUID. Every compressed block recoverable.
|
|
713
|
+
- **CacheAligner** — detects volatile tokens (UUIDs, timestamps, JWTs) in system prompts. Maximizes native provider prefix-cache discounts (Anthropic 90%, OpenAI 50%).
|
|
714
|
+
- **Interception Proxy** — HTTP proxy on port 8765 serving Anthropic, OpenAI, and Gemini surfaces. Zero-code integration — just set `base_url`.
|
|
715
|
+
- **Agent Wrapping** — `slm wrap claude` — one command starts proxy + sets environment + launches agent. 10 supported agents.
|
|
716
|
+
- **Savings Dashboard** — live USD/INR/tokens saved, hit rate, compression ratio, cache size. CLI + UI.
|
|
717
|
+
- **Hot-Reload Config** — UI/CLI writes `optimize.json`; daemon reloads in 2 seconds. No restart.
|
|
718
|
+
- **Fail-open** — any cache/compress/proxy error passes through. Your calls never break.
|
|
719
|
+
- **Data isolation** — separate `llmcache.db` with AES-256-GCM encryption. Never touches `memory.db`.
|
|
720
|
+
|
|
621
721
|
### Retrieval
|
|
622
722
|
- 5-channel hybrid: Semantic (Fisher-Rao) + BM25 + Entity Graph + Temporal + Hopfield (associative / partial-query completion)
|
|
623
723
|
- RRF fusion + cross-encoder reranking
|
|
@@ -670,6 +770,14 @@ All 8 mesh tools work seamlessly across machines:
|
|
|
670
770
|
|
|
671
771
|
| Command | What It Does |
|
|
672
772
|
|:--------|:-------------|
|
|
773
|
+
| `slm optimize status` | Show all Optimize settings (cache, compress, proxy, config version) |
|
|
774
|
+
| `slm optimize on\|off` | Enable/disable all Optimize features (hot-reload, no restart) |
|
|
775
|
+
| `slm optimize savings [--since N] [--provider P] [--json]` | Token/cost savings report — live USD/INR |
|
|
776
|
+
| `slm cache status\|clear\|invalidate\|ttl\|semantic` | Cache sub-control — exact + semantic tiers, TTL management |
|
|
777
|
+
| `slm compress status\|mode\|code\|prose\|ccr\|align` | Compression control — per-channel toggle, safe/aggressive mode |
|
|
778
|
+
| `slm proxy [--port] [--provider] [--no-compress] [--semantic]` | Start interception proxy (port 8765) |
|
|
779
|
+
| `slm wrap <agent> [options]` | Proxy-activate an agent — one command to start saving |
|
|
780
|
+
| `slm help-optimize [topic]` | Full developer reference + per-agent setup recipes |
|
|
673
781
|
| `slm remember "..."` | Store a memory |
|
|
674
782
|
| `slm recall "..."` | Search memories |
|
|
675
783
|
| `slm forget "..."` | Delete matching memories |
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
<img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">SuperLocalMemory V3.
|
|
6
|
-
<p align="center"><strong>
|
|
7
|
-
<p align="center"><code>v3.
|
|
5
|
+
<h1 align="center">SuperLocalMemory V3.6</h1>
|
|
6
|
+
<p align="center"><strong>Save up to 90% on every LLM API call. Cache. Compress. Remember.</strong><br/><em>The only local-first memory system that SKIPS repeat calls (100% saved), SHRINKS prompts 60-95%, and REMEMBERS everything — locally, for free. For Claude Code, Cursor, Windsurf, and any AI client.</em></p>
|
|
7
|
+
<p align="center"><code>v3.6.0 "Optimize"</code> — <strong>Cache & Compress & Align. Save up to 90% on every LLM API call — locally.</strong> One command: <code>slm wrap claude</code><br>Also includes v3.5 Scale-Ready: 6-channel recall <1s, CozoDB + LanceDB, Core Memory Block. Your database auto-migrates.</p>
|
|
8
8
|
<p align="center"><strong>Backed by 3 published research papers</strong> (arXiv preprints + Zenodo-archived) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<code>+10.6pp vs Mem0 zero-LLM</code> · <code>85% Open-Domain (best zero-LLM score)</code> · <code>EU AI Act Ready</code>
|
|
11
|
+
<code>Saves up to 90% on LLM API costs</code> · <code>+10.6pp vs Mem0 zero-LLM</code> · <code>85% Open-Domain (best zero-LLM score)</code> · <code>EU AI Act Ready</code>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
15
15
|
<a href="https://arxiv.org/abs/2603.14588"><img src="https://img.shields.io/badge/arXiv-2603.14588-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="arXiv Paper"/></a>
|
|
16
|
+
<a href="https://img.shields.io/badge/Saves_90%25_on_LLM_Costs-22c55e?style=for-the-badge"><img src="https://img.shields.io/badge/Saves_90%25_on_LLM_Costs-22c55e?style=for-the-badge" alt="Saves 90% on LLM Costs"/></a>
|
|
16
17
|
<a href="https://pypi.org/project/superlocalmemory/"><img src="https://img.shields.io/pypi/v/superlocalmemory?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"/></a>
|
|
17
18
|
<a href="https://www.npmjs.com/package/superlocalmemory"><img src="https://img.shields.io/npm/v/superlocalmemory?style=for-the-badge&logo=npm&logoColor=white" alt="npm"/></a>
|
|
18
19
|
<a href="https://www.gnu.org/licenses/agpl-3.0"><img src="https://img.shields.io/badge/License-AGPL_v3-blue.svg?style=for-the-badge" alt="AGPL v3"/></a>
|
|
@@ -29,31 +30,89 @@
|
|
|
29
30
|
|
|
30
31
|
---
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
<details>
|
|
34
|
+
<summary><strong>What's New in V3.6 — Optimize: SKIP, SHRINK, DISCOUNT, REMEMBER</strong> (click to expand)</summary>
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
> V3.6 is the only local-first layer that SKIPS repeat LLM calls (cache: 100% saved), SHRINKS prompts 60-95% (compress: extractive + LLMLingua-2), and DISCOUNTS prefix costs (align: native KV-cache) — and remembers everything — in one install. **Your first cache hit pays for the install time. Hours of coding on repeat, minimal API cost.**
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
### The Three Levers
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
| Lever | Mechanism | Saving | Off by default? |
|
|
41
|
+
|-------|-----------|:------:|:---------------:|
|
|
42
|
+
| **Cache** | Skip repeat calls — exact-match SQLite lookup, vCache-gated semantic (opt-in) | **100% on a hit** (input + output) | Cache ON, Semantic OFF |
|
|
43
|
+
| **Compress** | Shrink prompts — extractive JSON/code (lossless) + LLMLingua-2 prose (opt-in) | **60–95% on a miss** (input only) | Safe mode ON, Aggressive OFF |
|
|
44
|
+
| **Align** | Stabilize prefix — maximize provider prefix-cache discounts | **Lossless extra** | ON when compression is ON |
|
|
39
45
|
|
|
40
|
-
|
|
41
|
-
|:-------|:-----:|:-------|:-------------------:|:-----------:|:-------|
|
|
42
|
-
| EverMemOS | 93.05% | Cloud (proprietary) | Yes | Core only | [evermind.ai](https://evermind.ai/) (Feb 2026) |
|
|
43
|
-
| Hindsight (LoComo10) | 92.0% | Cloud | Yes | No | [benchmarks.hindsight.vectorize.io](https://benchmarks.hindsight.vectorize.io) (Apr 2026) |
|
|
44
|
-
| Mem0 (token-efficient) | 91.6% | Hybrid (Cohere/OpenAI) | Yes | Partial | [mem0.ai blog](https://mem0.ai/blog/mem0-the-token-efficient-memory-algorithm) (Apr 16 2026) |
|
|
45
|
-
| **SLM V3 Mode C** | **87.7%** | Local + optional LLM | Optional (Ollama OK) | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
46
|
-
| Zep v3 Cloud | 85.2% | Cloud | Yes | Community deprecated | [getzep.com](https://www.getzep.com/) |
|
|
47
|
-
| **SLM V3 Mode A** | **74.8%** | **Local, CPU-only, zero-LLM** | **No** | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
48
|
-
| Mem0 (zero-retrieval-LLM) | 64.2% | Local baseline | No | Partial | Mem0 paper, zero-LLM row |
|
|
46
|
+
**Memory** (v3.5's existing engine) runs in parallel — it shapes *what is in* the prompt (relevant facts); Optimize decides *whether and how* it is sent.
|
|
49
47
|
|
|
50
|
-
|
|
48
|
+
### Quick Start
|
|
51
49
|
|
|
52
|
-
|
|
50
|
+
```bash
|
|
51
|
+
# One command to start saving
|
|
52
|
+
slm wrap claude
|
|
53
|
+
# Your first repeat prompt → CACHE HIT → $0.00
|
|
54
|
+
# Your first long prompt → COMPRESSED 70% → $0.00 per token saved
|
|
55
|
+
```
|
|
53
56
|
|
|
54
|
-
|
|
57
|
+
### New CLI Commands (6 total)
|
|
55
58
|
|
|
56
|
-
|
|
59
|
+
| Command | What It Does |
|
|
60
|
+
|:--------|:-------------|
|
|
61
|
+
| `slm optimize status\|on\|off\|savings` | Master Optimize control + savings report (USD/INR/tokens) |
|
|
62
|
+
| `slm cache status\|clear\|invalidate\|ttl\|semantic` | Cache sub-control — exact + semantic tiers |
|
|
63
|
+
| `slm compress status\|mode\|code\|prose\|ccr\|align` | Compression control — per-channel toggles |
|
|
64
|
+
| `slm proxy [--port] [--provider]` | Start the interception proxy (port 8765) |
|
|
65
|
+
| `slm wrap <agent>` | Proxy-activate an agent — one command to start saving |
|
|
66
|
+
| `slm help-optimize [topic]` | Full developer reference + per-agent setup recipes |
|
|
67
|
+
|
|
68
|
+
### Savings Dashboard
|
|
69
|
+
|
|
70
|
+
All metrics tracked and displayed live — from the dashboard (Optimize tab) or CLI:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
slm optimize savings --since 7
|
|
74
|
+
# Savings (last 7 days):
|
|
75
|
+
# Exact cache hits: 43 (127,580 input tokens saved)
|
|
76
|
+
# Tokens saved (total): 153,096
|
|
77
|
+
# Estimated savings: ~$2.30 (at $3.00/M tokens — Anthropic rates)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Enable / Disable
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
slm optimize on # Enable cache + compress
|
|
84
|
+
slm optimize off # Disable (proxy passes through)
|
|
85
|
+
slm cache semantic on # Enable semantic cache (needs embedding model)
|
|
86
|
+
slm compress mode aggressive # Enable prose compression (with safety warning)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Safety defaults:** Optimize ON. Safe mode ON (extractive only — lossless, production-safe). Semantic OFF. Aggressive OFF. No behavior change until you explicitly enable features.
|
|
90
|
+
|
|
91
|
+
### How It Works
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Your App → Proxy/SDK/Wrap → Cache Check → HIT → Return Cached (0 tokens)
|
|
95
|
+
|
|
|
96
|
+
MISS
|
|
97
|
+
|
|
|
98
|
+
Compress → Provider → Store in Cache
|
|
99
|
+
60-95% + Align
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
- **Fail-open** — any error passes through. Your calls never break.
|
|
103
|
+
- **Separate database** — `llmcache.db` never touches `memory.db`. AES-256-GCM at rest.
|
|
104
|
+
- **Hot-reload config** — UI/CLI writes `~/.superlocalmemory/optimize.json`, daemon reloads in 2s.
|
|
105
|
+
|
|
106
|
+
### Links
|
|
107
|
+
|
|
108
|
+
Full docs:
|
|
109
|
+
- [Optimize Product Overview](docs/optimize-overview.md)
|
|
110
|
+
- [Optimize CLI Reference](docs/optimize-cli.md)
|
|
111
|
+
- [Optimize Config Reference](docs/optimize-config.md)
|
|
112
|
+
- [Wiki: V3.6 Overview](https://github.com/qualixar/superlocalmemory/wiki/V3.6-Overview)
|
|
113
|
+
- [Website: v3.6 Optimize](https://superlocalmemory.com/optimize)
|
|
114
|
+
|
|
115
|
+
</details>
|
|
57
116
|
|
|
58
117
|
---
|
|
59
118
|
|
|
@@ -148,21 +207,31 @@ slm config set v33_features.all true
|
|
|
148
207
|
|
|
149
208
|
---
|
|
150
209
|
|
|
151
|
-
|
|
152
|
-
<summary><strong>What's New in V3.2 — The Living Brain</strong> (click to expand)</summary>
|
|
210
|
+
## Why SuperLocalMemory?
|
|
153
211
|
|
|
154
|
-
|
|
212
|
+
Every **hosted** AI memory platform — Mem0 Cloud, Zep Cloud, Letta Cloud, EverMemOS Cloud — sends your data to cloud LLMs by default. Their self-hosted variants exist (Mem0 OpenMemory, Letta self-hosted, Graphiti) but require Docker + a separate graph DB or Ollama config, and most still default to OpenAI until you flip env vars. After **August 2, 2026**, any of those cloud paths becomes a compliance problem under the EU AI Act.
|
|
155
213
|
|
|
156
|
-
|
|
157
|
-
|:-------|:----:|:----:|:------:|
|
|
158
|
-
| Recall latency (10K facts) | ~500ms | <10ms | **100x faster** |
|
|
159
|
-
| Retrieval channels | 4 | 5 | +spreading activation |
|
|
160
|
-
| MCP tools | 24 | 29 | +5 new |
|
|
161
|
-
| DB tables | 9 | 18 | +9 new |
|
|
214
|
+
SuperLocalMemory V3 takes a different approach: **mathematics instead of cloud compute.** Three techniques from differential geometry, algebraic topology, and stochastic analysis replace the work that other systems need LLMs to do — similarity scoring, contradiction detection, and lifecycle management. The result is an agent memory that ships local-first out of the box — no Docker, no graph DB, no API keys — on CPU.
|
|
162
215
|
|
|
163
|
-
|
|
216
|
+
**The numbers** (evaluated on [LoCoMo](https://arxiv.org/abs/2402.09714), the standard long-conversation memory benchmark). Published numbers as of April 2026:
|
|
164
217
|
|
|
165
|
-
|
|
218
|
+
| System | Score | Config | Cloud LLM required? | Open Source | Source |
|
|
219
|
+
|:-------|:-----:|:-------|:-------------------:|:-----------:|:-------|
|
|
220
|
+
| EverMemOS | 93.05% | Cloud (proprietary) | Yes | Core only | [evermind.ai](https://evermind.ai/) (Feb 2026) |
|
|
221
|
+
| Hindsight (LoComo10) | 92.0% | Cloud | Yes | No | [benchmarks.hindsight.vectorize.io](https://benchmarks.hindsight.vectorize.io) (Apr 2026) |
|
|
222
|
+
| Mem0 (token-efficient) | 91.6% | Hybrid (Cohere/OpenAI) | Yes | Partial | [mem0.ai blog](https://mem0.ai/blog/mem0-the-token-efficient-memory-algorithm) (Apr 16 2026) |
|
|
223
|
+
| **SLM V3 Mode C** | **87.7%** | Local + optional LLM | Optional (Ollama OK) | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
224
|
+
| Zep v3 Cloud | 85.2% | Cloud | Yes | Community deprecated | [getzep.com](https://www.getzep.com/) |
|
|
225
|
+
| **SLM V3 Mode A** | **74.8%** | **Local, CPU-only, zero-LLM** | **No** | **Yes (AGPL-3.0)** | In-house, repro script in `docs/benchmarks/` |
|
|
226
|
+
| Mem0 (zero-retrieval-LLM) | 64.2% | Local baseline | No | Partial | Mem0 paper, zero-LLM row |
|
|
227
|
+
|
|
228
|
+
> **How to read this table.** Scores from different papers use different LoCoMo splits, judge models, and prompt variants. We do NOT claim these numbers are apples-to-apples across rows. The rows we re-ran in-house are marked "In-house"; cited rows link to the vendor's public source and date. Mode A is the only zero-LLM configuration in the list, so the comparison that is apples-to-apples is **Mode A 74.8% vs Mem0 zero-retrieval-LLM 64.2%** (+10.6pp). Mem0's 91.6% and EverMemOS's 93.05% use cloud LLMs; Mode C uses a local LLM (Ollama). BEAM-10M, the emerging successor benchmark, will be added in a future release.
|
|
229
|
+
|
|
230
|
+
**What Mode A is**: CPU-only, SQLite-only, zero-LLM retrieval pipeline on published LoCoMo questions. To the best of our knowledge it is the only publicly-released local-first memory that clears Mem0's zero-LLM baseline on this benchmark. If another fully-local system hits similar numbers, please open an issue so we can update the table.
|
|
231
|
+
|
|
232
|
+
Mathematical layers contribute **+12.7 percentage points** on average across 6 conversations (n=832 questions), with up to **+19.9pp on the most challenging dialogues**. This isn't more compute — it's better math.
|
|
233
|
+
|
|
234
|
+
> **Upgrading from V2 (2.8.6)?** V3 is a complete architectural reinvention — new mathematical engine, new retrieval pipeline, new storage schema. Your existing data is preserved but requires migration. After installing V3, run `slm migrate` to upgrade your data. Read the [Migration Guide](https://github.com/qualixar/superlocalmemory/wiki/Migration-from-V2) before upgrading. Backup is created automatically.
|
|
166
235
|
|
|
167
236
|
---
|
|
168
237
|
|
|
@@ -183,9 +252,18 @@ slm warmup # Pre-download embedding model (~500MB, optional)
|
|
|
183
252
|
pip install superlocalmemory
|
|
184
253
|
```
|
|
185
254
|
|
|
186
|
-
###
|
|
255
|
+
### Start Saving on LLM Costs (v3.6 Optimize)
|
|
187
256
|
|
|
188
|
-
|
|
257
|
+
```bash
|
|
258
|
+
# Wrap your agent — starts proxy + sets environment + launches agent
|
|
259
|
+
slm wrap claude
|
|
260
|
+
# Your first repeat prompt → CACHE HIT → $0.00 saved
|
|
261
|
+
# See savings: slm optimize savings --since 1
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Upgrading to v3.6 "Optimize" + v3.5.0 "Scale-Ready"
|
|
265
|
+
|
|
266
|
+
**Migration is automatic.** Upgrade the package, restart the daemon — all migrations run in the background.
|
|
189
267
|
|
|
190
268
|
```bash
|
|
191
269
|
pip install -U superlocalmemory
|
|
@@ -193,7 +271,13 @@ slm restart
|
|
|
193
271
|
slm doctor
|
|
194
272
|
```
|
|
195
273
|
|
|
196
|
-
No manual commands. No data loss.
|
|
274
|
+
No manual commands. No data loss. Zero downtime.
|
|
275
|
+
|
|
276
|
+
**What you get after upgrading to v3.6.0:**
|
|
277
|
+
- **Cache** — skip repeat LLM calls entirely. Exact-match + vCache-gated semantic. **100% cost saved on hit.**
|
|
278
|
+
- **Compress** — shrink prompts 60-95% before sending. Extractive JSON/code (lossless) + LLMLingua-2 prose (opt-in). CCR reversible.
|
|
279
|
+
- **Align** — stabilize prompt prefix for native provider KV-cache discounts (Anthropic 90%, OpenAI 50%).
|
|
280
|
+
- **Savings dashboard** — live USD/INR/tokens saved displayed in the Optimize tab.
|
|
197
281
|
|
|
198
282
|
**What you get after upgrading to v3.5.0:**
|
|
199
283
|
- **CozoDB on the recall path** — entity_graph channel routes through the CozoDB backend (auto-detected, no config needed). Millions of graph edges indexed and traversed in milliseconds.
|
|
@@ -208,6 +292,7 @@ No manual commands. No data loss. Your database upgrades in-place. The daemon ap
|
|
|
208
292
|
|
|
209
293
|
| Version | Codename | Key Features |
|
|
210
294
|
|---|---|---|
|
|
295
|
+
| **v3.6.0** | Optimize | **Cache** (skip repeat calls, 100% on hit) · **Compress** (shrink prompts 60-95%) · **Align** (KV-cache stabilization) · `slm optimize\|cache\|compress\|proxy\|wrap` CLI · Live savings dashboard (USD/INR/tokens) · Hot-reload config · Safe defaults · Links: [docs/optimize-overview.md](docs/optimize-overview.md) · [V3.6 Wiki](https://github.com/qualixar/superlocalmemory/wiki/V3.6-Overview) |
|
|
211
296
|
| **v3.5.0** | Scale-Ready + Context Injection v2 | CozoDB/LanceDB migration, 6-channel recall <1s, Core Memory Block, BM25→FTS5, context injection v2, score normalization |
|
|
212
297
|
| **v3.4.5** | Scale-Ready (foundation) | Tiered storage (active/warm/cold), graph pruning, BackendOrchestrator scaffolding, CozoDB + LanceDB init + migration code (read path wired in v3.5.0) |
|
|
213
298
|
| **v3.4.51** | Recency Intelligence | Ebbinghaus decay + FSRS stability, age gate, session context time-awareness |
|
|
@@ -527,6 +612,20 @@ All 8 mesh tools work seamlessly across machines:
|
|
|
527
612
|
|
|
528
613
|
## Features
|
|
529
614
|
|
|
615
|
+
### LLM Cost Optimization (v3.6 Optimize)
|
|
616
|
+
- **Exact Cache** — byte-identical repeat calls served from local SQLite. SHA-256 key derivation, stampede shield, tag-based invalidation. **100% cost saved on hit** (input + output tokens).
|
|
617
|
+
- **Semantic Cache** (opt-in) — vCache-powered learned thresholds with SAFE-CACHE centroid defense. Near-duplicate queries served within error bound. CacheAttack 86% hijack class blocked.
|
|
618
|
+
- **Extractive Compression** — structure-preserving compression for JSON, code (AST-aware: Python/JS/Go/Rust/Java/C++), and tool outputs. **60-95% fewer input tokens**, zero accuracy regression.
|
|
619
|
+
- **LLMLingua-2 Prose** (opt-in) — extractive prose summarization for open-ended chat. Safety-warned before enable.
|
|
620
|
+
- **CCR (Compressed Context Retrieval)** — pre-compression originals stored for byte-exact reversal under UUID. Every compressed block recoverable.
|
|
621
|
+
- **CacheAligner** — detects volatile tokens (UUIDs, timestamps, JWTs) in system prompts. Maximizes native provider prefix-cache discounts (Anthropic 90%, OpenAI 50%).
|
|
622
|
+
- **Interception Proxy** — HTTP proxy on port 8765 serving Anthropic, OpenAI, and Gemini surfaces. Zero-code integration — just set `base_url`.
|
|
623
|
+
- **Agent Wrapping** — `slm wrap claude` — one command starts proxy + sets environment + launches agent. 10 supported agents.
|
|
624
|
+
- **Savings Dashboard** — live USD/INR/tokens saved, hit rate, compression ratio, cache size. CLI + UI.
|
|
625
|
+
- **Hot-Reload Config** — UI/CLI writes `optimize.json`; daemon reloads in 2 seconds. No restart.
|
|
626
|
+
- **Fail-open** — any cache/compress/proxy error passes through. Your calls never break.
|
|
627
|
+
- **Data isolation** — separate `llmcache.db` with AES-256-GCM encryption. Never touches `memory.db`.
|
|
628
|
+
|
|
530
629
|
### Retrieval
|
|
531
630
|
- 5-channel hybrid: Semantic (Fisher-Rao) + BM25 + Entity Graph + Temporal + Hopfield (associative / partial-query completion)
|
|
532
631
|
- RRF fusion + cross-encoder reranking
|
|
@@ -579,6 +678,14 @@ All 8 mesh tools work seamlessly across machines:
|
|
|
579
678
|
|
|
580
679
|
| Command | What It Does |
|
|
581
680
|
|:--------|:-------------|
|
|
681
|
+
| `slm optimize status` | Show all Optimize settings (cache, compress, proxy, config version) |
|
|
682
|
+
| `slm optimize on\|off` | Enable/disable all Optimize features (hot-reload, no restart) |
|
|
683
|
+
| `slm optimize savings [--since N] [--provider P] [--json]` | Token/cost savings report — live USD/INR |
|
|
684
|
+
| `slm cache status\|clear\|invalidate\|ttl\|semantic` | Cache sub-control — exact + semantic tiers, TTL management |
|
|
685
|
+
| `slm compress status\|mode\|code\|prose\|ccr\|align` | Compression control — per-channel toggle, safe/aggressive mode |
|
|
686
|
+
| `slm proxy [--port] [--provider] [--no-compress] [--semantic]` | Start interception proxy (port 8765) |
|
|
687
|
+
| `slm wrap <agent> [options]` | Proxy-activate an agent — one command to start saving |
|
|
688
|
+
| `slm help-optimize [topic]` | Full developer reference + per-agent setup recipes |
|
|
582
689
|
| `slm remember "..."` | Store a memory |
|
|
583
690
|
| `slm recall "..."` | Search memories |
|
|
584
691
|
| `slm forget "..."` | Delete matching memories |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "superlocalmemory"
|
|
3
|
-
version = "3.
|
|
3
|
+
version = "3.6.2"
|
|
4
4
|
description = "Information-geometric agent memory with mathematical guarantees"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = {text = "AGPL-3.0-or-later"}
|
|
@@ -55,6 +55,7 @@ dependencies = [
|
|
|
55
55
|
"psutil==7.2.2",
|
|
56
56
|
"structlog==25.5.0",
|
|
57
57
|
"portalocker==3.2.0",
|
|
58
|
+
"cryptography==45.0.2",
|
|
58
59
|
# Semantic search + cross-encoder reranker. Do NOT use
|
|
59
60
|
# sentence-transformers[onnx] — its extras pull optimum which
|
|
60
61
|
# overrides the sentence-transformers pin via transitive deps.
|
|
@@ -28,7 +28,7 @@ if "OMP_NUM_THREADS" not in os.environ:
|
|
|
28
28
|
os.environ["OMP_NUM_THREADS"] = "2"
|
|
29
29
|
# ---------------------------------------------------------------------------
|
|
30
30
|
|
|
31
|
-
__version__ = "3.
|
|
31
|
+
__version__ = "3.6.2"
|
|
32
32
|
|
|
33
33
|
_REQUIRED_VERSIONS = {
|
|
34
34
|
"sentence_transformers": "5.3.0",
|