superlocalmemory 3.5.4__tar.gz → 3.5.5__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.4/src/superlocalmemory.egg-info → superlocalmemory-3.5.5}/PKG-INFO +1 -1
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/pyproject.toml +1 -1
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine.py +85 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_core.py +31 -13
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/unified_daemon.py +41 -5
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5/src/superlocalmemory.egg-info}/PKG-INFO +1 -1
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/AUTHORS.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/LICENSE +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/NOTICE +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/README.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/setup.cfg +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/mathematical_dna.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/signer.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/watermark.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/commands.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/context_commands.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/daemon.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/db_migrate.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/doctor_cmd.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/escape_hatch.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/ingest_cmd.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/json_output.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/main.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/pending_store.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/post_install.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/service_installer.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/setup_wizard.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/version_banner.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/changes.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/communities.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/config.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/database.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/flows.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/graph_store.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/incremental.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/models.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/parser.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/resolver.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/search.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/service.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/watcher.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/abac.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/audit.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/gdpr.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/lifecycle.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/retention.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/scheduler.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/backend_orchestrator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/clock_monitor.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/config.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/consolidation_engine.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/context_cache.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/db_pool.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/embedding_worker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/embeddings.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_capabilities.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_lock.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_wiring.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/error_catalog.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/error_envelope.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/fact_consolidator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/file_lock.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/graph_analyzer.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/graph_pruner.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/health_monitor.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/hooks.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/injection.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/loop_watchdog.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/maintenance.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/maintenance_scheduler.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/modes.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/ollama_embedder.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/platform_utils.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/priority_queue.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/profiles.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/pruning_engine.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/queue_consumer.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/queue_dispatcher.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/ram_lock.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/rate_limit.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_gate.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_pipeline.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_queue.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_worker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/registry.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/reranker_worker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/safe_fs.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/security_primitives.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/shadow_router.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/slm_disabled.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/slmignore.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/store_pipeline.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/summarizer.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/tier_manager.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/topic_signature.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/worker_pool.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/activation_guided_quantization.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/eap_scheduler.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/auto_linker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/cognitive_consolidator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/consolidator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/context_generator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/emotional.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/fact_extractor.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/foresight.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/graph_builder.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/observation_builder.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/scene_builder.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/signal_inference.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/temporal_parser.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/type_router.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/budget.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/evolution_store.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/skill_evolver.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/triggers.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/types.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/graph/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/graph/cozo_backend.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/_outcome_common.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/adapter_base.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/antigravity_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_capture.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_invoker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_recall.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_recall_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/before_web_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/claude_code_hooks.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/context_payload.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/copilot_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/cursor_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/hook_daemon.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/hook_handlers.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/ide_connector.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/post_tool_async_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/rules_engine.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/session_registry.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/stop_outcome_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/sync_loop.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/topic_shift_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/user_prompt_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/auth_middleware.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/backup.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/cache_manager.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/cloud_backup.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/event_bus.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/heartbeat_monitor.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/pid_manager.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/process_reaper.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/rate_limiter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/webhook_dispatcher.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/adapter_manager.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/base_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/calendar_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/credentials.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/gmail_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/parsers.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/transcript_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/adaptive.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/arm_catalog.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/assertion_miner.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/bandit.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/bandit_cache.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/behavioral.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/behavioral_listener.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/bootstrap.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/consolidation_quantization_worker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/cross_project.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/database.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/engagement.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ensemble.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/entity_compiler.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/features.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/feedback.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/forgetting_scheduler.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/labeler.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/legacy_migration.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/memory_merge.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/model_cache.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/model_rollback.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/outcome_queue.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/outcomes.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/pattern_miner.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/project_context.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/quantization_scheduler.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker_common.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward_archive.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward_boost.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward_proxy.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/shadow_test.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/signal_worker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/signals.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/source_quality.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/trigram_index.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/workflows.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/llm/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/llm/backbone.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/ebbinghaus.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/fisher.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/fisher_quantized.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/hopfield.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/langevin.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/polar_quant.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/qjl.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/sheaf.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/math/turbo_quant.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/_daemon_proxy.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/_pool_adapter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/resources.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/server.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/shared.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_active.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_context.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_evolution.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_learning.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_mesh.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_v28.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_v3.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_v33.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mesh/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mesh/broker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/mesh/remote_sync.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/migrations/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/agentic.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/ann_index.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/bm25_channel.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/bridge_discovery.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/engine.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/entity_channel.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/forgetting_filter.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/fusion.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/hopfield_channel.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/profile_channel.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/quantization_aware_search.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/reranker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/semantic_channel.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/spreading_activation.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/strategy.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/temporal_channel.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/vector_store.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/api.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/bandit_loops.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/middleware/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/adapters.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/agents.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/backup.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/behavioral.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/brain.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/chat.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/compliance.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/data_io.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/entity.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/events.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/evolution.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/helpers.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/ingest.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/insights.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/learning.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/memories.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/mesh.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/prewarm.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/profiles.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/stats.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/tiers.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/timeline.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/token.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/v3_api.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/ws.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/security_middleware.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/ui.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-build-graph/SKILL.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-list-recent/SKILL.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-recall/SKILL.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-remember/SKILL.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-show-patterns/SKILL.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-status/SKILL.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-switch-profile/SKILL.md +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/access_control.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/access_log.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/database.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migration_runner.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migration_v33.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/models.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/quantized_store.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v32.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v3410.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v3411.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v343.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v345.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v347.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/v2_migrator.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/gate.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/provenance.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/scorer.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/signals.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/css/brain.css +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/index.html +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/agents.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/auto-settings.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/brain.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/clusters.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/compliance.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/core.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/dashboard.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/events.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/feedback.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/graph-filters.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/graph-ui.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ide-status.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/init.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/knowledge-graph.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/lifecycle.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/math-health.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/memories.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/memory-chat.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/modal.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-entities.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-health.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-mesh.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-shell.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/profiles.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/recall-lab.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/search.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/settings.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/timeline.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/vector/__init__.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/vector/lancedb_backend.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/SOURCES.txt +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/requires.txt +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/top_level.txt +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_auto_hooks.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_before_web_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_behavioral_full.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_claude_hooks.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_cli.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_cli_json.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_cli_v33.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_compliance_full.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_config_system.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_engine_hooks.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_event_bus.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_features.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_final_locomo_mini.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_hook_handlers.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_ide_connector.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_infra.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_injection.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_learning_advanced.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_learning_collectors.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_llm_provider.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_mcp_server.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_migration.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_mode_switch_preservation.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_post_install.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_ranker.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_topic_shift_hook.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_trust_full.py +0 -0
- {superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/tests/test_v3_api.py +0 -0
|
@@ -369,6 +369,91 @@ class MemoryEngine:
|
|
|
369
369
|
vector_store=self._vector_store,
|
|
370
370
|
)
|
|
371
371
|
|
|
372
|
+
def store_fast(self, content: str, metadata: dict[str, Any] | None = None) -> list[str]:
|
|
373
|
+
"""v3.5.5 WRITE-THROUGH: synchronous verbatim insert for IMMEDIATE recall.
|
|
374
|
+
|
|
375
|
+
Full ``store()`` blocks 30-180s on LLM fact-extraction + Ollama embedding
|
|
376
|
+
+ graph building. That created a recall window: a memory stored via the
|
|
377
|
+
async path sat in pending.db, unrecallable, until the background
|
|
378
|
+
materializer caught up. An agent storing a decision then immediately
|
|
379
|
+
recalling it (same session, or a parallel/next session) would miss it.
|
|
380
|
+
|
|
381
|
+
store_fast inserts a verbatim AtomicFact (+ memory row) synchronously.
|
|
382
|
+
The FTS5 ``atomic_facts_fts`` trigger auto-populates on INSERT, so the
|
|
383
|
+
memory is **keyword/BM25-recallable the instant this returns** (~ms, no
|
|
384
|
+
LLM, no embedding). Embedding + entities + graph are enriched async by
|
|
385
|
+
the materializer (which detects facts with NULL embedding).
|
|
386
|
+
|
|
387
|
+
Returns real fact_ids immediately. Quality gate rejects template junk.
|
|
388
|
+
"""
|
|
389
|
+
self._require_full("store_fast")
|
|
390
|
+
self._ensure_init()
|
|
391
|
+
import re as _re
|
|
392
|
+
import uuid as _uuid
|
|
393
|
+
from datetime import datetime, timezone
|
|
394
|
+
from superlocalmemory.storage.models import (
|
|
395
|
+
AtomicFact, FactType, MemoryRecord,
|
|
396
|
+
)
|
|
397
|
+
if not content or not content.strip():
|
|
398
|
+
return []
|
|
399
|
+
try:
|
|
400
|
+
from superlocalmemory.core.injection import is_low_quality
|
|
401
|
+
if is_low_quality(content):
|
|
402
|
+
return []
|
|
403
|
+
except Exception:
|
|
404
|
+
pass
|
|
405
|
+
now = datetime.now(timezone.utc).isoformat()
|
|
406
|
+
record = MemoryRecord(
|
|
407
|
+
profile_id=self._profile_id, content=content,
|
|
408
|
+
session_date=now[:10], metadata=metadata or {},
|
|
409
|
+
)
|
|
410
|
+
self._db.store_memory(record)
|
|
411
|
+
# Lightweight regex entities (matches store_pipeline verbatim path) so
|
|
412
|
+
# the entity_graph channel has something to work with before enrichment.
|
|
413
|
+
ents = sorted(
|
|
414
|
+
{m.group(1) for m in _re.finditer(
|
|
415
|
+
r"\b([A-Z][a-z]+(?:\s[A-Z][a-z]+){0,3})\b", content)}
|
|
416
|
+
| {m.group(1) for m in _re.finditer(r"\b([A-Z]{2,})\b", content)}
|
|
417
|
+
)
|
|
418
|
+
# v3.5.5: compute the embedding SYNCHRONOUSLY. A single warm embed is
|
|
419
|
+
# ~22ms (the 30-180s of full store() was LLM fact-extraction + graph,
|
|
420
|
+
# NOT embedding). With the embedding present, the semantic channel
|
|
421
|
+
# scores this fact correctly so it ranks properly IMMEDIATELY — not
|
|
422
|
+
# just keyword-findable but top-ranked. Graph/entity enrichment stays
|
|
423
|
+
# async. Embed failure → fact still inserted (keyword-recallable).
|
|
424
|
+
emb = None
|
|
425
|
+
fmean = fvar = None
|
|
426
|
+
try:
|
|
427
|
+
emb = self._embedder.embed(content) if self._embedder else None
|
|
428
|
+
if emb:
|
|
429
|
+
fmean, fvar = self._embedder.compute_fisher_params(emb)
|
|
430
|
+
except Exception:
|
|
431
|
+
emb = None
|
|
432
|
+
fact = AtomicFact(
|
|
433
|
+
fact_id=_uuid.uuid4().hex[:16], memory_id=record.memory_id,
|
|
434
|
+
profile_id=self._profile_id, content=content,
|
|
435
|
+
fact_type=FactType.EPISODIC, entities=ents,
|
|
436
|
+
observation_date=now[:10], confidence=0.7, importance=0.5,
|
|
437
|
+
embedding=emb, fisher_mean=fmean, fisher_variance=fvar,
|
|
438
|
+
created_at=now,
|
|
439
|
+
)
|
|
440
|
+
self._db.store_fact(fact) # FTS5 trigger → immediately BM25-recallable
|
|
441
|
+
# Upsert to vector store so the semantic channel finds it now.
|
|
442
|
+
try:
|
|
443
|
+
vs = getattr(self, "_vector_store", None)
|
|
444
|
+
if emb and vs and getattr(vs, "available", False):
|
|
445
|
+
vs.upsert(fact.fact_id, self._profile_id, emb)
|
|
446
|
+
except Exception:
|
|
447
|
+
pass
|
|
448
|
+
# Persist BM25 tokens too (covers the in-memory rank_bm25 fallback path).
|
|
449
|
+
try:
|
|
450
|
+
bm25 = getattr(self._retrieval_engine, "_bm25", None)
|
|
451
|
+
if bm25:
|
|
452
|
+
bm25.add(fact.fact_id, content, self._profile_id)
|
|
453
|
+
except Exception:
|
|
454
|
+
pass
|
|
455
|
+
return [fact.fact_id]
|
|
456
|
+
|
|
372
457
|
# -- Recall operations --------------------------------------------------
|
|
373
458
|
|
|
374
459
|
def recall(
|
|
@@ -110,27 +110,45 @@ def register_core_tools(server, get_engine: Callable) -> None:
|
|
|
110
110
|
Extracts atomic facts, resolves entities, builds graph edges,
|
|
111
111
|
and indexes for 4-channel retrieval.
|
|
112
112
|
"""
|
|
113
|
+
meta = {
|
|
114
|
+
"project": project,
|
|
115
|
+
"importance": importance,
|
|
116
|
+
"agent_id": agent_id,
|
|
117
|
+
"session_id": session_id,
|
|
118
|
+
}
|
|
119
|
+
# v3.5.5 WRITE-THROUGH: route through the daemon's /remember, which does
|
|
120
|
+
# a synchronous verbatim insert (memory is keyword/BM25-recallable the
|
|
121
|
+
# instant this returns) and enqueues async enrichment. This closes the
|
|
122
|
+
# recall window so a parallel/next agent finds memories saved seconds ago.
|
|
123
|
+
# Falls back to pending.db only if the daemon is unreachable.
|
|
113
124
|
try:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
from superlocalmemory.cli.daemon import daemon_request, is_daemon_running
|
|
126
|
+
if is_daemon_running():
|
|
127
|
+
resp = daemon_request("POST", "/remember", {
|
|
128
|
+
"content": content, "tags": tags, "metadata": meta,
|
|
129
|
+
})
|
|
130
|
+
if resp and (resp.get("fact_ids") is not None or resp.get("ok")):
|
|
131
|
+
fids = resp.get("fact_ids") or []
|
|
132
|
+
return {
|
|
133
|
+
"success": True,
|
|
134
|
+
"fact_ids": fids or [f"pending:{resp.get('pending_id','')}"],
|
|
135
|
+
"count": len(fids) if fids else 1,
|
|
136
|
+
"pending": not fids,
|
|
137
|
+
"message": "Stored (recallable now; enriching async).",
|
|
138
|
+
}
|
|
139
|
+
except Exception as dexc:
|
|
140
|
+
logger.debug("MCP remember via daemon failed, pending fallback: %s", dexc)
|
|
126
141
|
|
|
142
|
+
try:
|
|
143
|
+
from superlocalmemory.cli.pending_store import store_pending
|
|
144
|
+
pending_id = store_pending(content, tags=tags, metadata=meta)
|
|
127
145
|
return {
|
|
128
146
|
"success": True,
|
|
129
147
|
"fact_ids": [f"pending:{pending_id}"],
|
|
130
148
|
"count": 1,
|
|
131
149
|
"pending": True,
|
|
132
150
|
"pending_id": pending_id,
|
|
133
|
-
"message": "Stored — facts will appear
|
|
151
|
+
"message": "Stored — facts will appear shortly (daemon offline).",
|
|
134
152
|
}
|
|
135
153
|
except Exception as exc:
|
|
136
154
|
logger.exception("remember failed")
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/server/unified_daemon.py
RENAMED
|
@@ -1582,14 +1582,28 @@ def _register_daemon_routes(application: FastAPI) -> None:
|
|
|
1582
1582
|
extra = getattr(req, "metadata", None)
|
|
1583
1583
|
if isinstance(extra, dict):
|
|
1584
1584
|
meta.update(extra)
|
|
1585
|
+
# v3.5.5 WRITE-THROUGH: synchronous verbatim insert → the memory is
|
|
1586
|
+
# keyword/BM25-recallable the instant this returns (~ms). Closes the
|
|
1587
|
+
# recall window so a parallel/next agent finds memories saved seconds
|
|
1588
|
+
# ago. Embedding/graph enrichment is deferred to the materializer.
|
|
1589
|
+
fact_ids: list[str] = []
|
|
1590
|
+
try:
|
|
1591
|
+
fact_ids = engine.store_fast(req.content, metadata=meta)
|
|
1592
|
+
except Exception as fexc:
|
|
1593
|
+
logger.warning("store_fast failed, falling back to pending-only: %s", fexc)
|
|
1594
|
+
# Enqueue for async enrichment (embedding + entities + graph). The
|
|
1595
|
+
# materializer detects the already-inserted verbatim fact and enriches
|
|
1596
|
+
# it in place rather than duplicating.
|
|
1585
1597
|
pending_id = store_pending(
|
|
1586
1598
|
req.content, tags=req.tags or "", metadata=meta,
|
|
1587
1599
|
)
|
|
1588
1600
|
return {
|
|
1589
1601
|
"ok": True,
|
|
1602
|
+
"fact_ids": fact_ids,
|
|
1603
|
+
"count": len(fact_ids),
|
|
1590
1604
|
"pending_id": pending_id,
|
|
1591
|
-
"status": "queued",
|
|
1592
|
-
"note": "
|
|
1605
|
+
"status": "stored" if fact_ids else "queued",
|
|
1606
|
+
"note": "write-through: recallable now; enriching async",
|
|
1593
1607
|
}
|
|
1594
1608
|
except Exception as exc:
|
|
1595
1609
|
raise HTTPException(500, detail=str(exc))
|
|
@@ -1816,14 +1830,36 @@ def _start_pending_materializer() -> None:
|
|
|
1816
1830
|
try:
|
|
1817
1831
|
import hashlib
|
|
1818
1832
|
content = item["content"]
|
|
1819
|
-
# Dedup: skip if identical content already stored.
|
|
1820
1833
|
content_hash = hashlib.md5(content.encode()).hexdigest()
|
|
1834
|
+
# v3.5.5: the write-through path already inserted a
|
|
1835
|
+
# verbatim fact (recallable via BM25). If it lacks an
|
|
1836
|
+
# embedding, ENRICH it in place (compute embedding +
|
|
1837
|
+
# upsert vector store) rather than skipping — otherwise
|
|
1838
|
+
# the fact would never be semantically searchable.
|
|
1821
1839
|
dup = engine._db.execute(
|
|
1822
|
-
"SELECT
|
|
1823
|
-
"content = ? LIMIT 1",
|
|
1840
|
+
"SELECT fact_id, embedding FROM atomic_facts "
|
|
1841
|
+
"WHERE content = ? LIMIT 1",
|
|
1824
1842
|
(content,),
|
|
1825
1843
|
)
|
|
1826
1844
|
if dup:
|
|
1845
|
+
try:
|
|
1846
|
+
row = dict(dup[0])
|
|
1847
|
+
if not row.get("embedding") and engine._embedder:
|
|
1848
|
+
emb = engine._embedder.embed(content)
|
|
1849
|
+
if emb:
|
|
1850
|
+
upd = {"embedding": emb}
|
|
1851
|
+
try:
|
|
1852
|
+
fm, fv = engine._embedder.compute_fisher_params(emb)
|
|
1853
|
+
upd["fisher_mean"] = fm
|
|
1854
|
+
upd["fisher_variance"] = fv
|
|
1855
|
+
except Exception:
|
|
1856
|
+
pass
|
|
1857
|
+
engine._db.update_fact(row["fact_id"], upd)
|
|
1858
|
+
vs = getattr(engine, "_vector_store", None)
|
|
1859
|
+
if vs and getattr(vs, "available", False):
|
|
1860
|
+
vs.upsert(row["fact_id"], engine._profile_id, emb)
|
|
1861
|
+
except Exception as eexc:
|
|
1862
|
+
logger.debug("enrichment of write-through fact failed: %s", eexc)
|
|
1827
1863
|
mark_done(item["id"])
|
|
1828
1864
|
continue
|
|
1829
1865
|
import json as _json
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/signer.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/watermark.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/context_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/service_installer.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/version_banner.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/wizard_v3426_options.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/__init__.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/blast_radius.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/changes.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/communities.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/database.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/git_hooks.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/graph_engine.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/graph_store.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/incremental.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/service.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/watcher.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/eu_ai_act.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/lifecycle.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/retention.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/scheduler.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/backend_orchestrator.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/clock_monitor.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/consolidation_engine.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/context_cache.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/embedding_worker.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_capabilities.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_wiring.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/error_catalog.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/error_envelope.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/fact_consolidator.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/graph_analyzer.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/health_monitor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/loop_watchdog.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/maintenance_scheduler.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/ollama_embedder.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/platform_utils.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/priority_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/pruning_engine.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/queue_consumer.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/queue_dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_pipeline.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_worker.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/reranker_worker.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/security_primitives.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/shadow_router.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/store_pipeline.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/core/topic_signature.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/eap_scheduler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/auto_linker.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/consolidator.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/context_generator.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/emotional.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/entity_resolver.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/entropy_gate.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/fact_extractor.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/foresight.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/graph_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/scene_builder.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/signal_inference.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/temporal_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/type_router.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/__init__.py
RENAMED
|
File without changes
|
{superlocalmemory-3.5.4 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/blind_verifier.py
RENAMED
|
File without changes
|