superlocalmemory 3.6.20__tar.gz → 3.6.22__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.
Potentially problematic release.
This version of superlocalmemory might be problematic. Click here for more details.
- {superlocalmemory-3.6.20/src/superlocalmemory.egg-info → superlocalmemory-3.6.22}/PKG-INFO +5 -3
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/README.md +4 -2
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/pyproject.toml +1 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/__init__.py +1 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/llm/backbone.py +9 -2
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_v3.py +4 -16
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/mesh.py +12 -4
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/v3_api.py +59 -47
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/auto-settings.js +8 -11
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/clusters.js +1 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/compliance.js +1 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/core.js +3 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/dashboard.js +23 -6
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/knowledge-graph.js +4 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/math-health.js +5 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/memories.js +1 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/memory-chat.js +1 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ng-entities.js +6 -2
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ng-mesh.js +123 -21
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/optimize.js +6 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/profiles.js +1 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/recall-lab.js +9 -3
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/timeline.js +3 -2
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22/src/superlocalmemory.egg-info}/PKG-INFO +5 -3
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory.egg-info/SOURCES.txt +1 -0
- superlocalmemory-3.6.22/tests/test_dashboard_preserve_embedding.py +367 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_version_consistency.py +1 -1
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/AUTHORS.md +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/LICENSE +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/NOTICE +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/setup.cfg +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/attribution/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/attribution/mathematical_dna.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/attribution/signer.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/attribution/watermark.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/_lazy_init.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/cache_cmd.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/commands.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/compress_cmd.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/context_commands.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/daemon.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/db_migrate.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/escape_hatch.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/help_cmd.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/ingest_cmd.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/json_output.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/main.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/optimize_cmd.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/optimize_constants.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/pending_store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/post_install.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/proxy_cmd.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/service_installer.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/setup_wizard.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/version_banner.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/changes.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/communities.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/config.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/database.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/flows.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/graph_store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/incremental.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/models.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/parser.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/resolver.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/search.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/service.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/code_graph/watcher.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/abac.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/audit.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/gdpr.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/lifecycle.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/retention.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/compliance/scheduler.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/backend_orchestrator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/block_hygiene.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/clock_monitor.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/config.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/consolidation_engine.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/context_cache.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/db_pool.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/embedding_worker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/embeddings.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/engine.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/engine_capabilities.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/engine_lock.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/engine_wiring.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/error_catalog.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/error_envelope.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/fact_consolidator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/file_lock.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/graph_analyzer.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/graph_pruner.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/health_monitor.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/hooks.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/ingest_gate.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/injection.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/loop_watchdog.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/maintenance.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/maintenance_scheduler.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/mcp_embedder_proxy.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/modes.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/ollama_embedder.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/platform_utils.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/priority_queue.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/profiles.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/pruning_engine.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/queue_consumer.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/queue_dispatcher.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/ram_lock.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/rate_limit.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/recall_gate.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/recall_pipeline.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/recall_queue.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/recall_worker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/registry.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/remote_mode.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/reranker_worker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/safe_fs.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/security_primitives.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/shadow_router.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/slm_disabled.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/slmignore.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/store_pipeline.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/summarizer.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/tier_manager.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/topic_signature.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/core/worker_pool.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/dynamics/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/dynamics/activation_guided_quantization.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/dynamics/eap_scheduler.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/auto_linker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/cognitive_consolidator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/consolidator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/context_generator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/emotional.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/fact_extractor.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/foresight.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/graph_builder.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/observation_builder.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/scene_builder.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/signal_inference.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/temporal_parser.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/encoding/type_router.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/budget.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/evolution_store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/skill_evolver.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/triggers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/evolution/types.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/graph/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/graph/cozo_backend.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/_outcome_common.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/adapter_base.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/antigravity_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/auto_capture.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/auto_invoker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/auto_recall.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/auto_recall_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/before_web_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/claude_code_hooks.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/context_payload.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/copilot_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/cursor_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/hook_daemon.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/hook_handlers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/ide_connector.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/memory_protocol.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/portable_kit.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/post_tool_async_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/rules_engine.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/session_registry.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/stop_outcome_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/sync_loop.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/topic_shift_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/user_prompt_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/auth_middleware.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/backup.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/cache_manager.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/cloud_backup.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/event_bus.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/heartbeat_monitor.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/pid_manager.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/process_reaper.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/rate_limiter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/infra/webhook_dispatcher.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/adapter_manager.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/base_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/calendar_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/credentials.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/gmail_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/parsers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ingestion/transcript_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/adaptive.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/arm_catalog.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/assertion_miner.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/bandit.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/bandit_cache.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/behavioral.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/behavioral_listener.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/bootstrap.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/consolidation_quantization_worker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/cross_project.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/database.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/engagement.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/ensemble.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/entity_compiler.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/features.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/feedback.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/forgetting_scheduler.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/labeler.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/legacy_migration.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/lightgbm_subprocess.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/memory_merge.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/model_cache.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/model_rollback.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/outcome_queue.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/outcomes.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/pattern_miner.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/project_context.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/quantization_scheduler.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/ranker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/ranker_common.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/reward.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/reward_archive.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/reward_boost.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/reward_proxy.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/shadow_test.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/signal_worker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/signals.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/source_quality.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/trigram_index.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/learning/workflows.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/llm/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/ebbinghaus.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/fisher.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/fisher_quantized.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/hopfield.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/langevin.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/polar_quant.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/qjl.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/sheaf.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/math/turbo_quant.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/_daemon_proxy.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/_pool_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/_stdin_guard.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/agent_context.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/cli_fallback.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/resources.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/server.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/shared.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_active.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_context.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_core.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_evolution.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_learning.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_mesh.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_optimize.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_v28.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mcp/tools_v33.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mesh/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mesh/broker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/mesh/remote_sync.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/migrations/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/adapters/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/adapters/_agent_registry.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/adapters/anthropic_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/adapters/openai_adapter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/adapters/wrap.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/boundary_store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/centroid_store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/context_key.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/exact.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/invalidation.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/key_builder.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/manager.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/semantic.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/cache/stampede.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/compress/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/compress/align.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/compress/ccr.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/compress/prose_llmlingua.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/compress/router.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/config/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/config/defaults.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/config/schema.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/config/store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/metrics/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/metrics/counters.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/metrics/estimator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/metrics/exporters.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/metrics/persistence.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/_helpers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/anthropic_surface.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/capture.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/gemini_surface.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/lifecycle.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/openai_surface.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/server.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/proxy/vertex_surface.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/storage/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/storage/db.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/optimize/storage/schema.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/parameterization/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/agentic.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/ann_index.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/bm25_channel.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/bridge_discovery.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/engine.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/entity_channel.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/forgetting_filter.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/fusion.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/hopfield_channel.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/profile_channel.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/quantization_aware_search.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/reranker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/semantic_channel.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/spreading_activation.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/strategy.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/temporal_channel.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/retrieval/vector_store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/api.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/bandit_loops.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/middleware/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/recall_health.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/recall_serializer.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/adapters.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/agents.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/backup.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/behavioral.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/brain.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/chat.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/compliance.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/data_io.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/entity.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/events.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/evolution.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/helpers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/ingest.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/insights.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/learning.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/memories.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/optimize.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/prewarm.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/profiles.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/stats.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/tiers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/timeline.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/token.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/ws.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/security_middleware.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/ui.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/unified_daemon.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/access_control.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/access_log.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/database.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migration_runner.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migration_v33.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M016_add_scope_support.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/M017_ccq_scope_column.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/migrations.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/models.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/quantized_store.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema_v32.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema_v3410.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema_v3411.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema_v343.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema_v345.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/schema_v347.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/storage/v2_migrator.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/trust/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/trust/gate.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/trust/provenance.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/trust/scorer.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/trust/signals.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/css/brain.css +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/index.html +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/agents.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/brain.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/events.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/feedback.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/graph-filters.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/graph-ui.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ide-status.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/init.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/lifecycle.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/modal.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ng-health.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ng-shell.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/search.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/settings.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/vector/__init__.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/vector/lancedb_backend.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory.egg-info/requires.txt +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory.egg-info/top_level.txt +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_auto_hooks.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_before_web_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_behavioral_full.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_claude_hooks.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_cli_core.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_cli_json.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_cli_v33.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_compliance_full.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_config_system.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_engine_hooks.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_event_bus.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_features.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_final_locomo_mini.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_graph_integrity.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_hook_handlers.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_ide_connector.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_infra.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_injection.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_learning_advanced.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_learning_collectors.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_llm_provider.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_mcp_server.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_migration.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_mode_switch_preservation.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_post_install.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_ranker.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_topic_shift_hook.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_trust_full.py +0 -0
- {superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/tests/test_v3_api.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superlocalmemory
|
|
3
|
-
Version: 3.6.
|
|
3
|
+
Version: 3.6.22
|
|
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
|
|
@@ -96,10 +96,10 @@ Dynamic: license-file
|
|
|
96
96
|
<img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
|
|
97
97
|
</p>
|
|
98
98
|
|
|
99
|
-
<h1 align="center">SuperLocalMemory V3.6.
|
|
99
|
+
<h1 align="center">SuperLocalMemory V3.6.21</h1>
|
|
100
100
|
<p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
|
|
101
101
|
<em>To the best of our knowledge, the only zero-cloud agent memory that beats Mem0's zero-LLM score on LoCoMo. Mode A: 74.8% vs Mem0 64.2% — no GPU, no API key, on CPU.</em></p>
|
|
102
|
-
<p align="center"><code>v3.6.
|
|
102
|
+
<p align="center"><code>v3.6.21</code> — <strong>Plugin-native. Profile-aware. Distributed-ready.</strong><br/>
|
|
103
103
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
104
104
|
<p align="center"><strong>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>
|
|
105
105
|
|
|
@@ -401,6 +401,8 @@ slm dashboard # Opens at http://localhost:8765
|
|
|
401
401
|
|
|
402
402
|
| Version | Codename | Key Features |
|
|
403
403
|
|---|---|---|
|
|
404
|
+
| **v3.6.21** | Dashboard Audit | Full UI audit across all 7 dashboard tabs — auth fix for mesh panel (issue #60 frontend), Quick Store endpoint, timeline endpoint, r.ok guards, SSE \r fix, event delegation for lazy tabs, optimize toggle revert; backbone.py JSONDecodeError fix (issue #62) |
|
|
405
|
+
| **v3.6.20** | Mesh Auth | Remote mesh auth fix (issue #60) — `_get_broker` now accepts Bearer + X-Mesh-Secret from non-loopback callers; config settings preservation (AIDEV-86) |
|
|
404
406
|
| **v3.6.17** | Community | 8 contributor PRs (observability events, marker-bounded adapter writes, daemon port discovery, anthropic `api_base`, OpenMP workers, atomic-write rehash, `_jl` sentinel, LFS pointer); dashboard-feedback fix (#53/#59); env-tunable SQLite knobs + idle backoff; remote LLM test-probe (#40) |
|
|
405
407
|
| **v3.6.16** | Docs | Corrected Claude Code plugin install — adds the required `/plugin marketplace add` step; clarifies plugin vs pip/npm delivery |
|
|
406
408
|
| **v3.6.15** | Multi-scope | **Opt-in [shared memory](docs/shared-memory.md)** (personal/shared/global, off by default), default-deny scope at every read path, recall scope-race fix, contributor PRs #42/#43/#44, fixes #46–#49 |
|
|
@@ -2,10 +2,10 @@
|
|
|
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.
|
|
5
|
+
<h1 align="center">SuperLocalMemory V3.6.21</h1>
|
|
6
6
|
<p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
|
|
7
7
|
<em>To the best of our knowledge, the only zero-cloud agent memory that beats Mem0's zero-LLM score on LoCoMo. Mode A: 74.8% vs Mem0 64.2% — no GPU, no API key, on CPU.</em></p>
|
|
8
|
-
<p align="center"><code>v3.6.
|
|
8
|
+
<p align="center"><code>v3.6.21</code> — <strong>Plugin-native. Profile-aware. Distributed-ready.</strong><br/>
|
|
9
9
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
10
10
|
<p align="center"><strong>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>
|
|
11
11
|
|
|
@@ -307,6 +307,8 @@ slm dashboard # Opens at http://localhost:8765
|
|
|
307
307
|
|
|
308
308
|
| Version | Codename | Key Features |
|
|
309
309
|
|---|---|---|
|
|
310
|
+
| **v3.6.21** | Dashboard Audit | Full UI audit across all 7 dashboard tabs — auth fix for mesh panel (issue #60 frontend), Quick Store endpoint, timeline endpoint, r.ok guards, SSE \r fix, event delegation for lazy tabs, optimize toggle revert; backbone.py JSONDecodeError fix (issue #62) |
|
|
311
|
+
| **v3.6.20** | Mesh Auth | Remote mesh auth fix (issue #60) — `_get_broker` now accepts Bearer + X-Mesh-Secret from non-loopback callers; config settings preservation (AIDEV-86) |
|
|
310
312
|
| **v3.6.17** | Community | 8 contributor PRs (observability events, marker-bounded adapter writes, daemon port discovery, anthropic `api_base`, OpenMP workers, atomic-write rehash, `_jl` sentinel, LFS pointer); dashboard-feedback fix (#53/#59); env-tunable SQLite knobs + idle backoff; remote LLM test-probe (#40) |
|
|
311
313
|
| **v3.6.16** | Docs | Corrected Claude Code plugin install — adds the required `/plugin marketplace add` step; clarifies plugin vs pip/npm delivery |
|
|
312
314
|
| **v3.6.15** | Multi-scope | **Opt-in [shared memory](docs/shared-memory.md)** (personal/shared/global, off by default), default-deny scope at every read path, recall scope-race fix, contributor PRs #42/#43/#44, fixes #46–#49 |
|
|
@@ -32,7 +32,7 @@ if "OMP_NUM_THREADS" not in os.environ:
|
|
|
32
32
|
os.environ["OMP_NUM_THREADS"] = "2"
|
|
33
33
|
# ---------------------------------------------------------------------------
|
|
34
34
|
|
|
35
|
-
__version__ = "3.6.
|
|
35
|
+
__version__ = "3.6.22"
|
|
36
36
|
|
|
37
37
|
_REQUIRED_VERSIONS = {
|
|
38
38
|
"sentence_transformers": "5.3.0",
|
|
@@ -190,7 +190,7 @@ class LLMBackbone:
|
|
|
190
190
|
logger.warning("Content filter or bad request (400). Returning empty.")
|
|
191
191
|
return ""
|
|
192
192
|
last_error = exc
|
|
193
|
-
except (httpx.TimeoutException, httpx.ConnectError) as exc:
|
|
193
|
+
except (httpx.TimeoutException, httpx.ConnectError, ValueError) as exc:
|
|
194
194
|
last_error = exc
|
|
195
195
|
|
|
196
196
|
if attempt < _MAX_RETRIES - 1:
|
|
@@ -217,7 +217,14 @@ class LLMBackbone:
|
|
|
217
217
|
with httpx.Client(timeout=timeout) as client:
|
|
218
218
|
resp = client.post(url, headers=headers, json=payload)
|
|
219
219
|
resp.raise_for_status()
|
|
220
|
-
|
|
220
|
+
try:
|
|
221
|
+
return resp.json()
|
|
222
|
+
except Exception as exc:
|
|
223
|
+
raise ValueError(
|
|
224
|
+
f"LLM endpoint returned HTTP {resp.status_code} with "
|
|
225
|
+
f"non-JSON body (Content-Length="
|
|
226
|
+
f"{resp.headers.get('content-length', '?')}): {exc}"
|
|
227
|
+
) from exc
|
|
221
228
|
finally:
|
|
222
229
|
socket.setdefaulttimeout(old_default)
|
|
223
230
|
|
|
@@ -65,25 +65,13 @@ def register_v3_tools(server, get_engine: Callable) -> None:
|
|
|
65
65
|
"error": f"Invalid mode '{mode}'. Use 'a', 'b', or 'c'.",
|
|
66
66
|
}
|
|
67
67
|
from superlocalmemory.core.config import SLMConfig
|
|
68
|
-
from superlocalmemory.storage.models import Mode
|
|
69
68
|
from superlocalmemory.mcp.server import reset_engine
|
|
70
69
|
|
|
71
|
-
|
|
70
|
+
# Use switch_mode() — the correct load-then-patch path that preserves
|
|
71
|
+
# all user-tuned config blocks (forgetting, injection, retrieval, scope,
|
|
72
|
+
# math, channel_weights, …). for_mode() resets them to hardcoded defaults.
|
|
72
73
|
old_config = SLMConfig.load()
|
|
73
|
-
config = SLMConfig.
|
|
74
|
-
mode_enum,
|
|
75
|
-
llm_provider=old_config.llm.provider,
|
|
76
|
-
llm_model=old_config.llm.model,
|
|
77
|
-
llm_api_key=old_config.llm.api_key,
|
|
78
|
-
llm_api_base=old_config.llm.api_base,
|
|
79
|
-
embedding_provider=old_config.embedding.provider,
|
|
80
|
-
embedding_endpoint=old_config.embedding.api_endpoint,
|
|
81
|
-
embedding_key=old_config.embedding.api_key,
|
|
82
|
-
embedding_model_name=old_config.embedding.model_name,
|
|
83
|
-
embedding_dimension=old_config.embedding.dimension,
|
|
84
|
-
)
|
|
85
|
-
config.active_profile = old_config.active_profile
|
|
86
|
-
config.save(mode_change=True)
|
|
74
|
+
config = SLMConfig.switch_mode(mode_lower)
|
|
87
75
|
|
|
88
76
|
# V3.3: Check if embedding model changed — flag for re-indexing
|
|
89
77
|
needs_reindex = (
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/mesh.py
RENAMED
|
@@ -87,15 +87,23 @@ def _get_broker(request: Request):
|
|
|
87
87
|
client_host = request.client.host if request.client else ""
|
|
88
88
|
if client_host not in ("127.0.0.1", "::1", "localhost"):
|
|
89
89
|
import hmac
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
#
|
|
90
|
+
from superlocalmemory.core.security_primitives import verify_install_token
|
|
91
|
+
|
|
92
|
+
# Path 1: install token — dashboard/browser callers hold this and
|
|
93
|
+
# should not need the mesh secret exposed in JS.
|
|
94
|
+
install_token = request.headers.get("x-install-token", "")
|
|
95
|
+
if install_token and verify_install_token(install_token):
|
|
96
|
+
return broker
|
|
97
|
+
|
|
98
|
+
# Path 2: mesh secret — remote agents / remote_sync.py / LAN peers.
|
|
99
|
+
# Accept X-Mesh-Secret (legacy v3.6.12 header) OR
|
|
100
|
+
# Authorization: Bearer <secret> (RFC 7617 canonical form).
|
|
93
101
|
presented = (
|
|
94
102
|
request.headers.get("x-mesh-secret")
|
|
95
103
|
or request.headers.get("authorization", "").removeprefix("Bearer ").strip()
|
|
96
104
|
)
|
|
97
105
|
if not presented or not hmac.compare_digest(presented, secret):
|
|
98
|
-
raise HTTPException(401, detail="invalid or missing
|
|
106
|
+
raise HTTPException(401, detail="invalid or missing credential")
|
|
99
107
|
return broker
|
|
100
108
|
|
|
101
109
|
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/server/routes/v3_api.py
RENAMED
|
@@ -123,20 +123,17 @@ async def set_mode(request: Request):
|
|
|
123
123
|
status_code=400,
|
|
124
124
|
)
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
)
|
|
138
|
-
new_config.active_profile = old_config.active_profile
|
|
139
|
-
new_config.save(mode_change=True)
|
|
126
|
+
# Apply new mode's structural presets (retrieval, math, channel_weights)
|
|
127
|
+
# by building a fresh template, then graft them onto the loaded config so
|
|
128
|
+
# all user-tuned blocks (forgetting, injection, consolidation, scope, …)
|
|
129
|
+
# are preserved across the mode switch.
|
|
130
|
+
_template = SLMConfig.for_mode(Mode(new_mode))
|
|
131
|
+
old_config.mode = Mode(new_mode)
|
|
132
|
+
old_config.retrieval = _template.retrieval
|
|
133
|
+
old_config.math = _template.math
|
|
134
|
+
old_config.channel_weights = _template.channel_weights
|
|
135
|
+
old_config.save(mode_change=True)
|
|
136
|
+
new_config = old_config
|
|
140
137
|
|
|
141
138
|
# Audit the change before we lose context — proves who/when/what.
|
|
142
139
|
# Captures the phantom-write case where `for_mode(C)` auto-defaults
|
|
@@ -184,35 +181,52 @@ async def set_full_config(request: Request):
|
|
|
184
181
|
if new_mode not in ("a", "b", "c"):
|
|
185
182
|
return JSONResponse({"error": "Invalid mode"}, status_code=400)
|
|
186
183
|
|
|
187
|
-
from superlocalmemory.core.config import SLMConfig
|
|
184
|
+
from superlocalmemory.core.config import SLMConfig, EmbeddingConfig, LLMConfig
|
|
188
185
|
from superlocalmemory.storage.models import Mode
|
|
189
186
|
from superlocalmemory.server.routes.helpers import log_mode_change
|
|
190
|
-
|
|
191
|
-
old_mode =
|
|
192
|
-
|
|
193
|
-
#
|
|
194
|
-
# llama.cpp / LM Studio / Azure-OpenAI endpoint configured in the
|
|
195
|
-
# dashboard could never be saved (Test Connection then probed the wrong
|
|
196
|
-
# URL → 401). Accept both base_url and endpoint; default ollama locally.
|
|
187
|
+
config = SLMConfig.load()
|
|
188
|
+
old_mode = config.mode.value
|
|
189
|
+
|
|
190
|
+
# v3.6.12 (settings-2): honor a custom endpoint for ANY provider.
|
|
197
191
|
_endpoint = (body.get("base_url", "") or body.get("endpoint", "")).strip()
|
|
198
192
|
if not _endpoint and provider == "ollama":
|
|
199
193
|
_endpoint = "http://localhost:11434"
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
embedding_dimension=int(body.get("embedding_dimension", 0) or 0),
|
|
194
|
+
|
|
195
|
+
# Mutate only the fields the dashboard sent — all other config blocks
|
|
196
|
+
# (forgetting, injection, retrieval, math, consolidation, scope, …) are
|
|
197
|
+
# preserved because we loaded the full existing config above.
|
|
198
|
+
config.mode = Mode(new_mode)
|
|
199
|
+
config.llm = LLMConfig(
|
|
200
|
+
provider=provider if provider != "none" else "",
|
|
201
|
+
model=model,
|
|
202
|
+
api_key=api_key,
|
|
203
|
+
api_base=_endpoint,
|
|
211
204
|
)
|
|
212
|
-
|
|
213
|
-
#
|
|
214
|
-
#
|
|
215
|
-
|
|
205
|
+
|
|
206
|
+
# Update embedding only when the dashboard explicitly sent those fields;
|
|
207
|
+
# absence means "leave it alone" (AIDEV-86 / broader fix).
|
|
208
|
+
_emb_fields = ("embedding_provider", "embedding_endpoint", "embedding_key",
|
|
209
|
+
"embedding_model", "embedding_dimension")
|
|
210
|
+
if any(k in body for k in _emb_fields):
|
|
211
|
+
config.embedding = EmbeddingConfig(
|
|
212
|
+
provider=body.get("embedding_provider", ""),
|
|
213
|
+
api_endpoint=body.get("embedding_endpoint", ""),
|
|
214
|
+
api_key=body.get("embedding_key", ""),
|
|
215
|
+
model_name=body.get("embedding_model", ""),
|
|
216
|
+
dimension=int(body.get("embedding_dimension", 0) or 0),
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
# When the mode actually changed, apply the new mode's structural presets
|
|
220
|
+
# (retrieval topology, math thresholds, channel weights) so the user gets
|
|
221
|
+
# the right runtime behaviour for their chosen mode.
|
|
222
|
+
if new_mode != old_mode:
|
|
223
|
+
_template = SLMConfig.for_mode(Mode(new_mode))
|
|
224
|
+
config.retrieval = _template.retrieval
|
|
225
|
+
config.math = _template.math
|
|
226
|
+
config.channel_weights = _template.channel_weights
|
|
227
|
+
|
|
228
|
+
# v3.6.12 (settings-1): mode_change=True is required to persist the new
|
|
229
|
+
# mode — save() without it hits a guard that preserves the old mode.
|
|
216
230
|
config.save(mode_change=True)
|
|
217
231
|
|
|
218
232
|
log_mode_change(
|
|
@@ -607,8 +621,7 @@ async def set_provider(request: Request):
|
|
|
607
621
|
model = body.get("model", "")
|
|
608
622
|
base_url = body.get("base_url", "")
|
|
609
623
|
|
|
610
|
-
from superlocalmemory.core.config import SLMConfig
|
|
611
|
-
from superlocalmemory.storage.models import Mode
|
|
624
|
+
from superlocalmemory.core.config import SLMConfig, LLMConfig
|
|
612
625
|
config = SLMConfig.load()
|
|
613
626
|
|
|
614
627
|
# Use preset base_url if not provided
|
|
@@ -619,15 +632,14 @@ async def set_provider(request: Request):
|
|
|
619
632
|
if not model:
|
|
620
633
|
model = preset.get("model", "")
|
|
621
634
|
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
635
|
+
# Mutate only the LLM block — all other config is preserved.
|
|
636
|
+
config.llm = LLMConfig(
|
|
637
|
+
provider=provider,
|
|
638
|
+
model=model,
|
|
639
|
+
api_key=api_key,
|
|
640
|
+
api_base=base_url,
|
|
628
641
|
)
|
|
629
|
-
|
|
630
|
-
new_config.save()
|
|
642
|
+
config.save()
|
|
631
643
|
|
|
632
644
|
return {"success": True, "provider": provider, "model": model}
|
|
633
645
|
except Exception as e:
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/auto-settings.js
RENAMED
|
@@ -52,17 +52,14 @@ function saveAutoRecallConfig() {
|
|
|
52
52
|
}).catch(function(e) { console.log('Save auto-recall error:', e); });
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
//
|
|
56
|
-
document.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
document.querySelectorAll('#auto-recall-toggle, #auto-recall-session').forEach(function(el) {
|
|
64
|
-
if (el) {
|
|
65
|
-
el.addEventListener('change', saveAutoRecallConfig);
|
|
55
|
+
// Use delegation so listeners work even when the settings pane is injected lazily.
|
|
56
|
+
document.addEventListener('change', function(e) {
|
|
57
|
+
var id = e.target && e.target.id;
|
|
58
|
+
if (!id) return;
|
|
59
|
+
if (id === 'auto-capture-toggle' || id === 'auto-capture-decisions' || id === 'auto-capture-bugs') {
|
|
60
|
+
saveAutoCaptureConfig();
|
|
61
|
+
} else if (id === 'auto-recall-toggle' || id === 'auto-recall-session') {
|
|
62
|
+
saveAutoRecallConfig();
|
|
66
63
|
}
|
|
67
64
|
});
|
|
68
65
|
|
|
@@ -117,6 +117,7 @@ async function loadClusters() {
|
|
|
117
117
|
}
|
|
118
118
|
try {
|
|
119
119
|
var response = await fetch('/api/clusters');
|
|
120
|
+
if (!response.ok) throw new Error('HTTP ' + response.status);
|
|
120
121
|
var data = await response.json();
|
|
121
122
|
_CLUSTERS_STATE.clusters = data.clusters || [];
|
|
122
123
|
_CLUSTERS_STATE.page = 0;
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/compliance.js
RENAMED
|
@@ -13,6 +13,7 @@ async function loadCompliance() {
|
|
|
13
13
|
var url = '/api/compliance/status';
|
|
14
14
|
if (filterValue) url += '?event_type=' + encodeURIComponent(filterValue);
|
|
15
15
|
var response = await fetch(url);
|
|
16
|
+
if (!response.ok) throw new Error('HTTP ' + response.status);
|
|
16
17
|
var data = await response.json();
|
|
17
18
|
_complianceData = data;
|
|
18
19
|
|
|
@@ -416,6 +416,9 @@ function refreshDashboard() {
|
|
|
416
416
|
function populateFilters(categories, projects) {
|
|
417
417
|
var categorySelect = document.getElementById('filter-category');
|
|
418
418
|
var projectSelect = document.getElementById('filter-project');
|
|
419
|
+
// Clear existing options beyond the first placeholder to prevent duplicates on refresh
|
|
420
|
+
if (categorySelect) while (categorySelect.options.length > 1) categorySelect.remove(1);
|
|
421
|
+
if (projectSelect) while (projectSelect.options.length > 1) projectSelect.remove(1);
|
|
419
422
|
categories.forEach(function(cat) {
|
|
420
423
|
if (cat.category) {
|
|
421
424
|
var option = document.createElement('option');
|
|
@@ -63,7 +63,12 @@ document.addEventListener('click', function(e) {
|
|
|
63
63
|
method: 'PUT',
|
|
64
64
|
headers: {'Content-Type': 'application/json'},
|
|
65
65
|
body: JSON.stringify({mode: mode})
|
|
66
|
-
}).then(function() {
|
|
66
|
+
}).then(function(r) {
|
|
67
|
+
if (!r.ok) return r.json().catch(function() { return {}; }).then(function(d) {
|
|
68
|
+
showToast('Mode switch failed: ' + (d.error || d.detail || r.status), 'error');
|
|
69
|
+
});
|
|
70
|
+
return r.json().then(function() { loadDashboard(); });
|
|
71
|
+
}).catch(function() { showToast('Mode switch failed: network error', 'error'); });
|
|
67
72
|
}
|
|
68
73
|
});
|
|
69
74
|
|
|
@@ -72,15 +77,21 @@ document.getElementById('quick-store-btn')?.addEventListener('click', function()
|
|
|
72
77
|
var input = document.getElementById('quick-store-input');
|
|
73
78
|
var content = input.value.trim();
|
|
74
79
|
if (!content) return;
|
|
75
|
-
fetch('/
|
|
80
|
+
fetch('/remember', {
|
|
76
81
|
method: 'POST',
|
|
77
82
|
headers: {'Content-Type': 'application/json'},
|
|
78
83
|
body: JSON.stringify({content: content})
|
|
79
|
-
}).then(function(r) {
|
|
84
|
+
}).then(function(r) {
|
|
85
|
+
if (!r.ok) return r.json().catch(function() { return {}; }).then(function(d) {
|
|
86
|
+
showToast('Store failed: ' + (d.detail || d.error || r.status), 'error');
|
|
87
|
+
});
|
|
88
|
+
return r.json();
|
|
89
|
+
}).then(function(data) {
|
|
90
|
+
if (!data) return;
|
|
80
91
|
input.value = '';
|
|
81
92
|
loadDashboard();
|
|
82
|
-
|
|
83
|
-
});
|
|
93
|
+
showToast('Stored!');
|
|
94
|
+
}).catch(function() { showToast('Store failed: network error', 'error'); });
|
|
84
95
|
});
|
|
85
96
|
|
|
86
97
|
// Quick recall
|
|
@@ -91,7 +102,10 @@ document.getElementById('quick-recall-btn')?.addEventListener('click', function(
|
|
|
91
102
|
method: 'POST',
|
|
92
103
|
headers: {'Content-Type': 'application/json'},
|
|
93
104
|
body: JSON.stringify({query: query, limit: 5})
|
|
94
|
-
}).then(function(r) {
|
|
105
|
+
}).then(function(r) {
|
|
106
|
+
if (!r.ok) throw new Error('HTTP ' + r.status);
|
|
107
|
+
return r.json();
|
|
108
|
+
}).then(function(data) {
|
|
95
109
|
var div = document.getElementById('quick-recall-results');
|
|
96
110
|
if (!data.results || data.results.length === 0) {
|
|
97
111
|
div.textContent = 'No results found.';
|
|
@@ -113,5 +127,8 @@ document.getElementById('quick-recall-btn')?.addEventListener('click', function(
|
|
|
113
127
|
row.appendChild(scoreSpan);
|
|
114
128
|
div.appendChild(row);
|
|
115
129
|
});
|
|
130
|
+
}).catch(function(e) {
|
|
131
|
+
var div = document.getElementById('quick-recall-results');
|
|
132
|
+
if (div) div.textContent = 'Search failed. Is the daemon running?';
|
|
116
133
|
});
|
|
117
134
|
});
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/knowledge-graph.js
RENAMED
|
@@ -618,7 +618,10 @@ function loadGraphSigma() {
|
|
|
618
618
|
if (typeof showLoadingSpinner === 'function') showLoadingSpinner();
|
|
619
619
|
|
|
620
620
|
fetch('/api/graph?max_nodes=' + fetchLimit + '&min_importance=' + minImportance)
|
|
621
|
-
.then(function(r) {
|
|
621
|
+
.then(function(r) {
|
|
622
|
+
if (!r.ok) throw new Error('HTTP ' + r.status);
|
|
623
|
+
return r.json();
|
|
624
|
+
})
|
|
622
625
|
.then(function(data) {
|
|
623
626
|
// Store in shared globals
|
|
624
627
|
if (typeof window.graphData !== 'undefined') window.graphData = data;
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/math-health.js
RENAMED
|
@@ -61,7 +61,11 @@ async function loadMathHealth() {
|
|
|
61
61
|
var liStatus = document.createElement('li');
|
|
62
62
|
liStatus.appendChild(document.createTextNode('Status: '));
|
|
63
63
|
var statusBadge = document.createElement('span');
|
|
64
|
-
|
|
64
|
+
var _s = (layer.status || 'active').toLowerCase();
|
|
65
|
+
var _badgeClass = _s === 'error' || _s === 'critical' ? 'bg-danger' :
|
|
66
|
+
_s === 'warning' || _s === 'degraded' ? 'bg-warning text-dark' :
|
|
67
|
+
'bg-success';
|
|
68
|
+
statusBadge.className = 'badge ' + _badgeClass;
|
|
65
69
|
statusBadge.textContent = layer.status || 'active';
|
|
66
70
|
liStatus.appendChild(statusBadge);
|
|
67
71
|
ul.appendChild(liStatus);
|
|
@@ -41,6 +41,7 @@ async function loadMemories(page) {
|
|
|
41
41
|
showLoading('memories-list', 'Loading memories...');
|
|
42
42
|
try {
|
|
43
43
|
var response = await fetch(url);
|
|
44
|
+
if (!response.ok) throw new Error('HTTP ' + response.status);
|
|
44
45
|
var data = await response.json();
|
|
45
46
|
lastSearchResults = null;
|
|
46
47
|
var exportBtn = document.getElementById('export-search-btn');
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/memory-chat.js
RENAMED
|
@@ -157,7 +157,7 @@ function sendChatQuery(query) {
|
|
|
157
157
|
|
|
158
158
|
var currentEvent = '';
|
|
159
159
|
for (var i = 0; i < lines.length; i++) {
|
|
160
|
-
var line = lines[i];
|
|
160
|
+
var line = lines[i].replace(/\r$/, ''); // strip \r from \r\n streams
|
|
161
161
|
if (line.startsWith('event: ')) {
|
|
162
162
|
currentEvent = line.substring(7).trim();
|
|
163
163
|
} else if (line.startsWith('data: ')) {
|
{superlocalmemory-3.6.20 → superlocalmemory-3.6.22}/src/superlocalmemory/ui/js/ng-entities.js
RENAMED
|
@@ -16,12 +16,16 @@
|
|
|
16
16
|
function fetchEntityList(offset) {
|
|
17
17
|
offset = offset || 0;
|
|
18
18
|
fetch('/api/entity/list?limit=' + PAGE_SIZE + '&offset=' + offset)
|
|
19
|
-
.then(function(r) {
|
|
19
|
+
.then(function(r) {
|
|
20
|
+
if (!r.ok) throw new Error('HTTP ' + r.status);
|
|
21
|
+
return r.json();
|
|
22
|
+
})
|
|
20
23
|
.then(function(data) {
|
|
21
24
|
allEntities = data.entities || [];
|
|
22
25
|
renderEntityList(allEntities, data.total || 0, offset);
|
|
23
26
|
})
|
|
24
|
-
.catch(function() {
|
|
27
|
+
.catch(function(err) {
|
|
28
|
+
console.error('[entities] fetchEntityList failed:', err);
|
|
25
29
|
renderEntityList([], 0, 0);
|
|
26
30
|
});
|
|
27
31
|
}
|