superlocalmemory 2.8.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/LICENSE +9 -1
- package/NOTICE +63 -0
- package/README.md +165 -480
- package/bin/slm +17 -449
- package/bin/slm-npm +2 -2
- package/bin/slm.bat +4 -2
- package/conftest.py +5 -0
- package/docs/api-reference.md +284 -0
- package/docs/architecture.md +149 -0
- package/docs/auto-memory.md +150 -0
- package/docs/cli-reference.md +276 -0
- package/docs/compliance.md +191 -0
- package/docs/configuration.md +182 -0
- package/docs/getting-started.md +102 -0
- package/docs/ide-setup.md +261 -0
- package/docs/mcp-tools.md +220 -0
- package/docs/migration-from-v2.md +170 -0
- package/docs/profiles.md +173 -0
- package/docs/troubleshooting.md +310 -0
- package/{configs → ide/configs}/antigravity-mcp.json +3 -3
- package/ide/configs/chatgpt-desktop-mcp.json +16 -0
- package/{configs → ide/configs}/claude-desktop-mcp.json +3 -3
- package/{configs → ide/configs}/codex-mcp.toml +4 -4
- package/{configs → ide/configs}/continue-mcp.yaml +4 -3
- package/{configs → ide/configs}/continue-skills.yaml +6 -6
- package/ide/configs/cursor-mcp.json +15 -0
- package/{configs → ide/configs}/gemini-cli-mcp.json +2 -2
- package/{configs → ide/configs}/jetbrains-mcp.json +2 -2
- package/{configs → ide/configs}/opencode-mcp.json +2 -2
- package/{configs → ide/configs}/perplexity-mcp.json +2 -2
- package/{configs → ide/configs}/vscode-copilot-mcp.json +2 -2
- package/{configs → ide/configs}/windsurf-mcp.json +3 -3
- package/{configs → ide/configs}/zed-mcp.json +2 -2
- package/{hooks → ide/hooks}/context-hook.js +9 -20
- package/ide/hooks/memory-list-skill.js +70 -0
- package/ide/hooks/memory-profile-skill.js +101 -0
- package/ide/hooks/memory-recall-skill.js +62 -0
- package/ide/hooks/memory-remember-skill.js +68 -0
- package/ide/hooks/memory-reset-skill.js +160 -0
- package/{hooks → ide/hooks}/post-recall-hook.js +2 -2
- package/ide/integrations/langchain/README.md +106 -0
- package/ide/integrations/langchain/langchain_superlocalmemory/__init__.py +9 -0
- package/ide/integrations/langchain/langchain_superlocalmemory/chat_message_history.py +201 -0
- package/ide/integrations/langchain/pyproject.toml +38 -0
- package/{src/learning → ide/integrations/langchain}/tests/__init__.py +1 -0
- package/ide/integrations/langchain/tests/test_chat_message_history.py +215 -0
- package/ide/integrations/langchain/tests/test_security.py +117 -0
- package/ide/integrations/llamaindex/README.md +81 -0
- package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/__init__.py +9 -0
- package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/base.py +316 -0
- package/ide/integrations/llamaindex/pyproject.toml +43 -0
- package/{src/lifecycle → ide/integrations/llamaindex}/tests/__init__.py +1 -2
- package/ide/integrations/llamaindex/tests/test_chat_store.py +294 -0
- package/ide/integrations/llamaindex/tests/test_security.py +241 -0
- package/{skills → ide/skills}/slm-build-graph/SKILL.md +6 -6
- package/{skills → ide/skills}/slm-list-recent/SKILL.md +5 -5
- package/{skills → ide/skills}/slm-recall/SKILL.md +5 -5
- package/{skills → ide/skills}/slm-remember/SKILL.md +6 -6
- package/{skills → ide/skills}/slm-show-patterns/SKILL.md +7 -7
- package/{skills → ide/skills}/slm-status/SKILL.md +9 -9
- package/{skills → ide/skills}/slm-switch-profile/SKILL.md +9 -9
- package/package.json +13 -22
- package/pyproject.toml +85 -0
- package/scripts/build-dmg.sh +417 -0
- package/scripts/install-skills.ps1 +334 -0
- package/{install.ps1 → scripts/install.ps1} +36 -4
- package/{install.sh → scripts/install.sh} +14 -13
- package/scripts/postinstall.js +2 -2
- package/scripts/start-dashboard.ps1 +52 -0
- package/scripts/start-dashboard.sh +41 -0
- package/scripts/sync-wiki.ps1 +127 -0
- package/scripts/sync-wiki.sh +82 -0
- package/scripts/test-dmg.sh +161 -0
- package/scripts/test-npm-package.ps1 +252 -0
- package/scripts/test-npm-package.sh +207 -0
- package/scripts/verify-install.ps1 +294 -0
- package/scripts/verify-install.sh +266 -0
- package/src/superlocalmemory/__init__.py +0 -0
- package/src/superlocalmemory/attribution/__init__.py +9 -0
- package/src/superlocalmemory/attribution/mathematical_dna.py +235 -0
- package/src/superlocalmemory/attribution/signer.py +153 -0
- package/src/superlocalmemory/attribution/watermark.py +189 -0
- package/src/superlocalmemory/cli/__init__.py +5 -0
- package/src/superlocalmemory/cli/commands.py +245 -0
- package/src/superlocalmemory/cli/main.py +89 -0
- package/src/superlocalmemory/cli/migrate_cmd.py +55 -0
- package/src/superlocalmemory/cli/post_install.py +99 -0
- package/src/superlocalmemory/cli/setup_wizard.py +129 -0
- package/src/superlocalmemory/compliance/__init__.py +0 -0
- package/src/superlocalmemory/compliance/abac.py +204 -0
- package/src/superlocalmemory/compliance/audit.py +314 -0
- package/src/superlocalmemory/compliance/eu_ai_act.py +131 -0
- package/src/superlocalmemory/compliance/gdpr.py +294 -0
- package/src/superlocalmemory/compliance/lifecycle.py +158 -0
- package/src/superlocalmemory/compliance/retention.py +232 -0
- package/src/superlocalmemory/compliance/scheduler.py +148 -0
- package/src/superlocalmemory/core/__init__.py +0 -0
- package/src/superlocalmemory/core/config.py +391 -0
- package/src/superlocalmemory/core/embeddings.py +293 -0
- package/src/superlocalmemory/core/engine.py +701 -0
- package/src/superlocalmemory/core/hooks.py +65 -0
- package/src/superlocalmemory/core/maintenance.py +172 -0
- package/src/superlocalmemory/core/modes.py +140 -0
- package/src/superlocalmemory/core/profiles.py +234 -0
- package/src/superlocalmemory/core/registry.py +117 -0
- package/src/superlocalmemory/dynamics/__init__.py +0 -0
- package/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +223 -0
- package/src/superlocalmemory/encoding/__init__.py +0 -0
- package/src/superlocalmemory/encoding/consolidator.py +485 -0
- package/src/superlocalmemory/encoding/emotional.py +125 -0
- package/src/superlocalmemory/encoding/entity_resolver.py +525 -0
- package/src/superlocalmemory/encoding/entropy_gate.py +104 -0
- package/src/superlocalmemory/encoding/fact_extractor.py +775 -0
- package/src/superlocalmemory/encoding/foresight.py +91 -0
- package/src/superlocalmemory/encoding/graph_builder.py +302 -0
- package/src/superlocalmemory/encoding/observation_builder.py +160 -0
- package/src/superlocalmemory/encoding/scene_builder.py +183 -0
- package/src/superlocalmemory/encoding/signal_inference.py +90 -0
- package/src/superlocalmemory/encoding/temporal_parser.py +426 -0
- package/src/superlocalmemory/encoding/type_router.py +235 -0
- package/src/superlocalmemory/hooks/__init__.py +3 -0
- package/src/superlocalmemory/hooks/auto_capture.py +111 -0
- package/src/superlocalmemory/hooks/auto_recall.py +93 -0
- package/src/superlocalmemory/hooks/ide_connector.py +204 -0
- package/src/superlocalmemory/hooks/rules_engine.py +99 -0
- package/src/superlocalmemory/infra/__init__.py +3 -0
- package/src/superlocalmemory/infra/auth_middleware.py +82 -0
- package/src/superlocalmemory/infra/backup.py +317 -0
- package/src/superlocalmemory/infra/cache_manager.py +267 -0
- package/src/superlocalmemory/infra/event_bus.py +381 -0
- package/src/superlocalmemory/infra/rate_limiter.py +135 -0
- package/src/{webhook_dispatcher.py → superlocalmemory/infra/webhook_dispatcher.py} +104 -101
- package/src/superlocalmemory/learning/__init__.py +0 -0
- package/src/superlocalmemory/learning/adaptive.py +172 -0
- package/src/superlocalmemory/learning/behavioral.py +490 -0
- package/src/superlocalmemory/learning/behavioral_listener.py +94 -0
- package/src/superlocalmemory/learning/bootstrap.py +298 -0
- package/src/superlocalmemory/learning/cross_project.py +399 -0
- package/src/superlocalmemory/learning/database.py +376 -0
- package/src/superlocalmemory/learning/engagement.py +323 -0
- package/src/superlocalmemory/learning/features.py +138 -0
- package/src/superlocalmemory/learning/feedback.py +316 -0
- package/src/superlocalmemory/learning/outcomes.py +255 -0
- package/src/superlocalmemory/learning/project_context.py +366 -0
- package/src/superlocalmemory/learning/ranker.py +155 -0
- package/src/superlocalmemory/learning/source_quality.py +303 -0
- package/src/superlocalmemory/learning/workflows.py +309 -0
- package/src/superlocalmemory/llm/__init__.py +0 -0
- package/src/superlocalmemory/llm/backbone.py +316 -0
- package/src/superlocalmemory/math/__init__.py +0 -0
- package/src/superlocalmemory/math/fisher.py +356 -0
- package/src/superlocalmemory/math/langevin.py +398 -0
- package/src/superlocalmemory/math/sheaf.py +257 -0
- package/src/superlocalmemory/mcp/__init__.py +0 -0
- package/src/superlocalmemory/mcp/resources.py +245 -0
- package/src/superlocalmemory/mcp/server.py +61 -0
- package/src/superlocalmemory/mcp/tools.py +18 -0
- package/src/superlocalmemory/mcp/tools_core.py +305 -0
- package/src/superlocalmemory/mcp/tools_v28.py +223 -0
- package/src/superlocalmemory/mcp/tools_v3.py +286 -0
- package/src/superlocalmemory/retrieval/__init__.py +0 -0
- package/src/superlocalmemory/retrieval/agentic.py +295 -0
- package/src/superlocalmemory/retrieval/ann_index.py +223 -0
- package/src/superlocalmemory/retrieval/bm25_channel.py +185 -0
- package/src/superlocalmemory/retrieval/bridge_discovery.py +170 -0
- package/src/superlocalmemory/retrieval/engine.py +390 -0
- package/src/superlocalmemory/retrieval/entity_channel.py +179 -0
- package/src/superlocalmemory/retrieval/fusion.py +78 -0
- package/src/superlocalmemory/retrieval/profile_channel.py +105 -0
- package/src/superlocalmemory/retrieval/reranker.py +154 -0
- package/src/superlocalmemory/retrieval/semantic_channel.py +232 -0
- package/src/superlocalmemory/retrieval/strategy.py +96 -0
- package/src/superlocalmemory/retrieval/temporal_channel.py +175 -0
- package/src/superlocalmemory/server/__init__.py +1 -0
- package/src/superlocalmemory/server/api.py +248 -0
- package/src/superlocalmemory/server/routes/__init__.py +4 -0
- package/src/superlocalmemory/server/routes/agents.py +107 -0
- package/src/superlocalmemory/server/routes/backup.py +91 -0
- package/src/superlocalmemory/server/routes/behavioral.py +127 -0
- package/src/superlocalmemory/server/routes/compliance.py +160 -0
- package/src/superlocalmemory/server/routes/data_io.py +188 -0
- package/src/superlocalmemory/server/routes/events.py +183 -0
- package/src/superlocalmemory/server/routes/helpers.py +85 -0
- package/src/superlocalmemory/server/routes/learning.py +273 -0
- package/src/superlocalmemory/server/routes/lifecycle.py +116 -0
- package/src/superlocalmemory/server/routes/memories.py +399 -0
- package/src/superlocalmemory/server/routes/profiles.py +219 -0
- package/src/superlocalmemory/server/routes/stats.py +346 -0
- package/src/superlocalmemory/server/routes/v3_api.py +365 -0
- package/src/superlocalmemory/server/routes/ws.py +82 -0
- package/src/superlocalmemory/server/security_middleware.py +57 -0
- package/src/superlocalmemory/server/ui.py +245 -0
- package/src/superlocalmemory/storage/__init__.py +0 -0
- package/src/superlocalmemory/storage/access_control.py +182 -0
- package/src/superlocalmemory/storage/database.py +594 -0
- package/src/superlocalmemory/storage/migrations.py +303 -0
- package/src/superlocalmemory/storage/models.py +406 -0
- package/src/superlocalmemory/storage/schema.py +726 -0
- package/src/superlocalmemory/storage/v2_migrator.py +317 -0
- package/src/superlocalmemory/trust/__init__.py +0 -0
- package/src/superlocalmemory/trust/gate.py +130 -0
- package/src/superlocalmemory/trust/provenance.py +124 -0
- package/src/superlocalmemory/trust/scorer.py +347 -0
- package/src/superlocalmemory/trust/signals.py +153 -0
- package/ui/index.html +278 -5
- package/ui/js/auto-settings.js +70 -0
- package/ui/js/dashboard.js +90 -0
- package/ui/js/fact-detail.js +92 -0
- package/ui/js/feedback.js +2 -2
- package/ui/js/ide-status.js +102 -0
- package/ui/js/math-health.js +98 -0
- package/ui/js/recall-lab.js +127 -0
- package/ui/js/settings.js +2 -2
- package/ui/js/trust-dashboard.js +73 -0
- package/api_server.py +0 -724
- package/bin/aider-smart +0 -72
- package/bin/superlocalmemoryv2-learning +0 -4
- package/bin/superlocalmemoryv2-list +0 -3
- package/bin/superlocalmemoryv2-patterns +0 -4
- package/bin/superlocalmemoryv2-profile +0 -3
- package/bin/superlocalmemoryv2-recall +0 -3
- package/bin/superlocalmemoryv2-remember +0 -3
- package/bin/superlocalmemoryv2-reset +0 -3
- package/bin/superlocalmemoryv2-status +0 -3
- package/configs/chatgpt-desktop-mcp.json +0 -16
- package/configs/cursor-mcp.json +0 -15
- package/docs/SECURITY-QUICK-REFERENCE.md +0 -214
- package/hooks/memory-list-skill.js +0 -139
- package/hooks/memory-profile-skill.js +0 -273
- package/hooks/memory-recall-skill.js +0 -114
- package/hooks/memory-remember-skill.js +0 -127
- package/hooks/memory-reset-skill.js +0 -274
- package/mcp_server.py +0 -1800
- package/requirements-core.txt +0 -22
- package/requirements-learning.txt +0 -12
- package/requirements.txt +0 -12
- package/src/agent_registry.py +0 -411
- package/src/auth_middleware.py +0 -61
- package/src/auto_backup.py +0 -459
- package/src/behavioral/__init__.py +0 -49
- package/src/behavioral/behavioral_listener.py +0 -203
- package/src/behavioral/behavioral_patterns.py +0 -275
- package/src/behavioral/cross_project_transfer.py +0 -206
- package/src/behavioral/outcome_inference.py +0 -194
- package/src/behavioral/outcome_tracker.py +0 -193
- package/src/behavioral/tests/__init__.py +0 -4
- package/src/behavioral/tests/test_behavioral_integration.py +0 -108
- package/src/behavioral/tests/test_behavioral_patterns.py +0 -150
- package/src/behavioral/tests/test_cross_project_transfer.py +0 -142
- package/src/behavioral/tests/test_mcp_behavioral.py +0 -139
- package/src/behavioral/tests/test_mcp_report_outcome.py +0 -117
- package/src/behavioral/tests/test_outcome_inference.py +0 -107
- package/src/behavioral/tests/test_outcome_tracker.py +0 -96
- package/src/cache_manager.py +0 -518
- package/src/compliance/__init__.py +0 -48
- package/src/compliance/abac_engine.py +0 -149
- package/src/compliance/abac_middleware.py +0 -116
- package/src/compliance/audit_db.py +0 -215
- package/src/compliance/audit_logger.py +0 -148
- package/src/compliance/retention_manager.py +0 -289
- package/src/compliance/retention_scheduler.py +0 -186
- package/src/compliance/tests/__init__.py +0 -4
- package/src/compliance/tests/test_abac_enforcement.py +0 -95
- package/src/compliance/tests/test_abac_engine.py +0 -124
- package/src/compliance/tests/test_abac_mcp_integration.py +0 -118
- package/src/compliance/tests/test_audit_db.py +0 -123
- package/src/compliance/tests/test_audit_logger.py +0 -98
- package/src/compliance/tests/test_mcp_audit.py +0 -128
- package/src/compliance/tests/test_mcp_retention_policy.py +0 -125
- package/src/compliance/tests/test_retention_manager.py +0 -131
- package/src/compliance/tests/test_retention_scheduler.py +0 -99
- package/src/compression/__init__.py +0 -25
- package/src/compression/cli.py +0 -150
- package/src/compression/cold_storage.py +0 -217
- package/src/compression/config.py +0 -72
- package/src/compression/orchestrator.py +0 -133
- package/src/compression/tier2_compressor.py +0 -228
- package/src/compression/tier3_compressor.py +0 -153
- package/src/compression/tier_classifier.py +0 -148
- package/src/db_connection_manager.py +0 -536
- package/src/embedding_engine.py +0 -63
- package/src/embeddings/__init__.py +0 -47
- package/src/embeddings/cache.py +0 -70
- package/src/embeddings/cli.py +0 -113
- package/src/embeddings/constants.py +0 -47
- package/src/embeddings/database.py +0 -91
- package/src/embeddings/engine.py +0 -247
- package/src/embeddings/model_loader.py +0 -145
- package/src/event_bus.py +0 -562
- package/src/graph/__init__.py +0 -36
- package/src/graph/build_helpers.py +0 -74
- package/src/graph/cli.py +0 -87
- package/src/graph/cluster_builder.py +0 -188
- package/src/graph/cluster_summary.py +0 -148
- package/src/graph/constants.py +0 -47
- package/src/graph/edge_builder.py +0 -162
- package/src/graph/entity_extractor.py +0 -95
- package/src/graph/graph_core.py +0 -226
- package/src/graph/graph_search.py +0 -231
- package/src/graph/hierarchical.py +0 -207
- package/src/graph/schema.py +0 -99
- package/src/graph_engine.py +0 -52
- package/src/hnsw_index.py +0 -628
- package/src/hybrid_search.py +0 -46
- package/src/learning/__init__.py +0 -217
- package/src/learning/adaptive_ranker.py +0 -682
- package/src/learning/bootstrap/__init__.py +0 -69
- package/src/learning/bootstrap/constants.py +0 -93
- package/src/learning/bootstrap/db_queries.py +0 -316
- package/src/learning/bootstrap/sampling.py +0 -82
- package/src/learning/bootstrap/text_utils.py +0 -71
- package/src/learning/cross_project_aggregator.py +0 -857
- package/src/learning/db/__init__.py +0 -40
- package/src/learning/db/constants.py +0 -44
- package/src/learning/db/schema.py +0 -279
- package/src/learning/engagement_tracker.py +0 -628
- package/src/learning/feature_extractor.py +0 -708
- package/src/learning/feedback_collector.py +0 -806
- package/src/learning/learning_db.py +0 -915
- package/src/learning/project_context_manager.py +0 -572
- package/src/learning/ranking/__init__.py +0 -33
- package/src/learning/ranking/constants.py +0 -84
- package/src/learning/ranking/helpers.py +0 -278
- package/src/learning/source_quality_scorer.py +0 -676
- package/src/learning/synthetic_bootstrap.py +0 -755
- package/src/learning/tests/test_adaptive_ranker.py +0 -325
- package/src/learning/tests/test_adaptive_ranker_v28.py +0 -60
- package/src/learning/tests/test_aggregator.py +0 -306
- package/src/learning/tests/test_auto_retrain_v28.py +0 -35
- package/src/learning/tests/test_e2e_ranking_v28.py +0 -82
- package/src/learning/tests/test_feature_extractor_v28.py +0 -93
- package/src/learning/tests/test_feedback_collector.py +0 -294
- package/src/learning/tests/test_learning_db.py +0 -602
- package/src/learning/tests/test_learning_db_v28.py +0 -110
- package/src/learning/tests/test_learning_init_v28.py +0 -48
- package/src/learning/tests/test_outcome_signals.py +0 -48
- package/src/learning/tests/test_project_context.py +0 -292
- package/src/learning/tests/test_schema_migration.py +0 -319
- package/src/learning/tests/test_signal_inference.py +0 -397
- package/src/learning/tests/test_source_quality.py +0 -351
- package/src/learning/tests/test_synthetic_bootstrap.py +0 -429
- package/src/learning/tests/test_workflow_miner.py +0 -318
- package/src/learning/workflow_pattern_miner.py +0 -655
- package/src/lifecycle/__init__.py +0 -54
- package/src/lifecycle/bounded_growth.py +0 -239
- package/src/lifecycle/compaction_engine.py +0 -226
- package/src/lifecycle/lifecycle_engine.py +0 -355
- package/src/lifecycle/lifecycle_evaluator.py +0 -257
- package/src/lifecycle/lifecycle_scheduler.py +0 -130
- package/src/lifecycle/retention_policy.py +0 -285
- package/src/lifecycle/tests/test_bounded_growth.py +0 -193
- package/src/lifecycle/tests/test_compaction.py +0 -179
- package/src/lifecycle/tests/test_lifecycle_engine.py +0 -137
- package/src/lifecycle/tests/test_lifecycle_evaluation.py +0 -177
- package/src/lifecycle/tests/test_lifecycle_scheduler.py +0 -127
- package/src/lifecycle/tests/test_lifecycle_search.py +0 -109
- package/src/lifecycle/tests/test_mcp_compact.py +0 -149
- package/src/lifecycle/tests/test_mcp_lifecycle_status.py +0 -114
- package/src/lifecycle/tests/test_retention_policy.py +0 -162
- package/src/mcp_tools_v28.py +0 -281
- package/src/memory/__init__.py +0 -36
- package/src/memory/cli.py +0 -205
- package/src/memory/constants.py +0 -39
- package/src/memory/helpers.py +0 -28
- package/src/memory/schema.py +0 -166
- package/src/memory-profiles.py +0 -595
- package/src/memory-reset.py +0 -491
- package/src/memory_compression.py +0 -989
- package/src/memory_store_v2.py +0 -1155
- package/src/migrate_v1_to_v2.py +0 -629
- package/src/pattern_learner.py +0 -34
- package/src/patterns/__init__.py +0 -24
- package/src/patterns/analyzers.py +0 -251
- package/src/patterns/learner.py +0 -271
- package/src/patterns/scoring.py +0 -171
- package/src/patterns/store.py +0 -225
- package/src/patterns/terminology.py +0 -140
- package/src/provenance_tracker.py +0 -312
- package/src/qualixar_attribution.py +0 -139
- package/src/qualixar_watermark.py +0 -78
- package/src/query_optimizer.py +0 -511
- package/src/rate_limiter.py +0 -83
- package/src/search/__init__.py +0 -20
- package/src/search/cli.py +0 -77
- package/src/search/constants.py +0 -26
- package/src/search/engine.py +0 -241
- package/src/search/fusion.py +0 -122
- package/src/search/index_loader.py +0 -114
- package/src/search/methods.py +0 -162
- package/src/search_engine_v2.py +0 -401
- package/src/setup_validator.py +0 -482
- package/src/subscription_manager.py +0 -391
- package/src/tree/__init__.py +0 -59
- package/src/tree/builder.py +0 -185
- package/src/tree/nodes.py +0 -202
- package/src/tree/queries.py +0 -257
- package/src/tree/schema.py +0 -80
- package/src/tree_manager.py +0 -19
- package/src/trust/__init__.py +0 -45
- package/src/trust/constants.py +0 -66
- package/src/trust/queries.py +0 -157
- package/src/trust/schema.py +0 -95
- package/src/trust/scorer.py +0 -299
- package/src/trust/signals.py +0 -95
- package/src/trust_scorer.py +0 -44
- package/ui/app.js +0 -1588
- package/ui/js/graph-cytoscape-monolithic-backup.js +0 -1168
- package/ui/js/graph-cytoscape.js +0 -1168
- package/ui/js/graph-d3-backup.js +0 -32
- package/ui/js/graph.js +0 -32
- package/ui_server.py +0 -266
- /package/docs/{ACCESSIBILITY.md → v2-archive/ACCESSIBILITY.md} +0 -0
- /package/docs/{ARCHITECTURE.md → v2-archive/ARCHITECTURE.md} +0 -0
- /package/docs/{CLI-COMMANDS-REFERENCE.md → v2-archive/CLI-COMMANDS-REFERENCE.md} +0 -0
- /package/docs/{COMPRESSION-README.md → v2-archive/COMPRESSION-README.md} +0 -0
- /package/docs/{FRAMEWORK-INTEGRATIONS.md → v2-archive/FRAMEWORK-INTEGRATIONS.md} +0 -0
- /package/docs/{MCP-MANUAL-SETUP.md → v2-archive/MCP-MANUAL-SETUP.md} +0 -0
- /package/docs/{MCP-TROUBLESHOOTING.md → v2-archive/MCP-TROUBLESHOOTING.md} +0 -0
- /package/docs/{PATTERN-LEARNING.md → v2-archive/PATTERN-LEARNING.md} +0 -0
- /package/docs/{PROFILES-GUIDE.md → v2-archive/PROFILES-GUIDE.md} +0 -0
- /package/docs/{RESET-GUIDE.md → v2-archive/RESET-GUIDE.md} +0 -0
- /package/docs/{SEARCH-ENGINE-V2.2.0.md → v2-archive/SEARCH-ENGINE-V2.2.0.md} +0 -0
- /package/docs/{SEARCH-INTEGRATION-GUIDE.md → v2-archive/SEARCH-INTEGRATION-GUIDE.md} +0 -0
- /package/docs/{UI-SERVER.md → v2-archive/UI-SERVER.md} +0 -0
- /package/docs/{UNIVERSAL-INTEGRATION.md → v2-archive/UNIVERSAL-INTEGRATION.md} +0 -0
- /package/docs/{V2.2.0-OPTIONAL-SEARCH.md → v2-archive/V2.2.0-OPTIONAL-SEARCH.md} +0 -0
- /package/docs/{WINDOWS-INSTALL-README.txt → v2-archive/WINDOWS-INSTALL-README.txt} +0 -0
- /package/docs/{WINDOWS-POST-INSTALL.txt → v2-archive/WINDOWS-POST-INSTALL.txt} +0 -0
- /package/docs/{example_graph_usage.py → v2-archive/example_graph_usage.py} +0 -0
- /package/{completions → ide/completions}/slm.bash +0 -0
- /package/{completions → ide/completions}/slm.zsh +0 -0
- /package/{configs → ide/configs}/cody-commands.json +0 -0
- /package/{install-skills.sh → scripts/install-skills.sh} +0 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# SuperLocalMemory V2 - NPM Package Testing Script
|
|
4
|
+
# Copyright (c) 2026 Varun Pratap Bhardwaj
|
|
5
|
+
# Licensed under MIT License
|
|
6
|
+
# Repository: https://github.com/varun369/SuperLocalMemoryV2
|
|
7
|
+
# ============================================================================
|
|
8
|
+
#
|
|
9
|
+
# Tests the NPM package locally before publishing
|
|
10
|
+
# Run this BEFORE npm publish
|
|
11
|
+
#
|
|
12
|
+
|
|
13
|
+
set -e
|
|
14
|
+
|
|
15
|
+
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
16
|
+
|
|
17
|
+
echo "╔══════════════════════════════════════════════════════════════╗"
|
|
18
|
+
echo "║ SuperLocalMemory V2 - NPM Package Test ║"
|
|
19
|
+
echo "║ by Varun Pratap Bhardwaj ║"
|
|
20
|
+
echo "╚══════════════════════════════════════════════════════════════╝"
|
|
21
|
+
echo ""
|
|
22
|
+
|
|
23
|
+
# Step 1: Validate package.json
|
|
24
|
+
echo "📋 Step 1: Validating package.json..."
|
|
25
|
+
if [ ! -f "$REPO_DIR/package.json" ]; then
|
|
26
|
+
echo "❌ Error: package.json not found"
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
# Check version
|
|
31
|
+
VERSION=$(node -e "console.log(require('$REPO_DIR/package.json').version)")
|
|
32
|
+
echo " Version: $VERSION"
|
|
33
|
+
|
|
34
|
+
# Check required fields
|
|
35
|
+
node -e "
|
|
36
|
+
const pkg = require('$REPO_DIR/package.json');
|
|
37
|
+
const required = ['name', 'version', 'description', 'author', 'license', 'repository', 'bin'];
|
|
38
|
+
const missing = required.filter(f => !pkg[f]);
|
|
39
|
+
if (missing.length > 0) {
|
|
40
|
+
console.error('❌ Missing required fields:', missing.join(', '));
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
console.log(' ✓ All required fields present');
|
|
44
|
+
"
|
|
45
|
+
|
|
46
|
+
# Step 2: Check file structure
|
|
47
|
+
echo ""
|
|
48
|
+
echo "📁 Step 2: Checking file structure..."
|
|
49
|
+
|
|
50
|
+
REQUIRED_FILES=(
|
|
51
|
+
"bin/slm-npm"
|
|
52
|
+
"scripts/postinstall.js"
|
|
53
|
+
"scripts/preuninstall.js"
|
|
54
|
+
"src/memory_store_v2.py"
|
|
55
|
+
"mcp_server.py"
|
|
56
|
+
"install.sh"
|
|
57
|
+
"install.ps1"
|
|
58
|
+
"README.md"
|
|
59
|
+
"LICENSE"
|
|
60
|
+
"ATTRIBUTION.md"
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
for file in "${REQUIRED_FILES[@]}"; do
|
|
64
|
+
if [ ! -f "$REPO_DIR/$file" ]; then
|
|
65
|
+
echo " ❌ Missing: $file"
|
|
66
|
+
exit 1
|
|
67
|
+
fi
|
|
68
|
+
done
|
|
69
|
+
echo " ✓ All required files present"
|
|
70
|
+
|
|
71
|
+
# Step 3: Test npm pack
|
|
72
|
+
echo ""
|
|
73
|
+
echo "📦 Step 3: Testing npm pack..."
|
|
74
|
+
cd "$REPO_DIR"
|
|
75
|
+
rm -f superlocalmemory-*.tgz
|
|
76
|
+
npm pack --quiet
|
|
77
|
+
TARBALL=$(ls superlocalmemory-*.tgz 2>/dev/null | head -1)
|
|
78
|
+
|
|
79
|
+
if [ -z "$TARBALL" ]; then
|
|
80
|
+
echo " ❌ npm pack failed"
|
|
81
|
+
exit 1
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
SIZE=$(du -h "$TARBALL" | cut -f1)
|
|
85
|
+
echo " ✓ Package created: $TARBALL ($SIZE)"
|
|
86
|
+
|
|
87
|
+
# Check package size
|
|
88
|
+
SIZE_KB=$(du -k "$TARBALL" | cut -f1)
|
|
89
|
+
if [ "$SIZE_KB" -gt 1024 ]; then
|
|
90
|
+
echo " ⚠️ Warning: Package size is large (${SIZE}). Target: <500KB"
|
|
91
|
+
else
|
|
92
|
+
echo " ✓ Package size OK: $SIZE"
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
# Step 4: Inspect package contents
|
|
96
|
+
echo ""
|
|
97
|
+
echo "🔍 Step 4: Inspecting package contents..."
|
|
98
|
+
echo " Files included:"
|
|
99
|
+
tar -tzf "$TARBALL" | head -20
|
|
100
|
+
FILE_COUNT=$(tar -tzf "$TARBALL" | wc -l)
|
|
101
|
+
echo " ... ($FILE_COUNT total files)"
|
|
102
|
+
|
|
103
|
+
# Check for unwanted files
|
|
104
|
+
UNWANTED=("*.pyc" "*.db" ".git" "test_*.py" "wiki-content")
|
|
105
|
+
for pattern in "${UNWANTED[@]}"; do
|
|
106
|
+
if tar -tzf "$TARBALL" | grep -q "$pattern"; then
|
|
107
|
+
echo " ⚠️ Warning: Found unwanted files matching: $pattern"
|
|
108
|
+
fi
|
|
109
|
+
done
|
|
110
|
+
echo " ✓ No obvious unwanted files found"
|
|
111
|
+
|
|
112
|
+
# Step 5: Test npm link (local install)
|
|
113
|
+
echo ""
|
|
114
|
+
echo "🔗 Step 5: Testing npm link (local install)..."
|
|
115
|
+
|
|
116
|
+
# Unlink if already linked
|
|
117
|
+
npm unlink -g superlocalmemory 2>/dev/null || true
|
|
118
|
+
|
|
119
|
+
# Link
|
|
120
|
+
if npm link --quiet; then
|
|
121
|
+
echo " ✓ npm link successful"
|
|
122
|
+
else
|
|
123
|
+
echo " ❌ npm link failed"
|
|
124
|
+
exit 1
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
# Step 6: Test CLI command
|
|
128
|
+
echo ""
|
|
129
|
+
echo "🧪 Step 6: Testing CLI command..."
|
|
130
|
+
|
|
131
|
+
if command -v slm &> /dev/null; then
|
|
132
|
+
echo " ✓ slm command found"
|
|
133
|
+
|
|
134
|
+
# Test version
|
|
135
|
+
if slm --version &> /dev/null; then
|
|
136
|
+
echo " ✓ slm --version works"
|
|
137
|
+
else
|
|
138
|
+
echo " ⚠️ slm --version failed (might be OK if not installed yet)"
|
|
139
|
+
fi
|
|
140
|
+
|
|
141
|
+
# Test help
|
|
142
|
+
if slm --help &> /dev/null; then
|
|
143
|
+
echo " ✓ slm --help works"
|
|
144
|
+
else
|
|
145
|
+
echo " ⚠️ slm --help failed"
|
|
146
|
+
fi
|
|
147
|
+
else
|
|
148
|
+
echo " ⚠️ slm command not found (expected for first install)"
|
|
149
|
+
echo " This is OK - postinstall will set it up"
|
|
150
|
+
fi
|
|
151
|
+
|
|
152
|
+
# Step 7: Validate scripts
|
|
153
|
+
echo ""
|
|
154
|
+
echo "🔧 Step 7: Validating scripts..."
|
|
155
|
+
|
|
156
|
+
# Check postinstall.js
|
|
157
|
+
if node "$REPO_DIR/scripts/postinstall.js" --help &> /dev/null; then
|
|
158
|
+
echo " ✓ postinstall.js is valid Node.js"
|
|
159
|
+
else
|
|
160
|
+
echo " ⚠️ postinstall.js might have issues"
|
|
161
|
+
fi
|
|
162
|
+
|
|
163
|
+
# Check executables
|
|
164
|
+
if [ -x "$REPO_DIR/bin/slm-npm" ]; then
|
|
165
|
+
echo " ✓ bin/slm-npm is executable"
|
|
166
|
+
else
|
|
167
|
+
echo " ❌ bin/slm-npm is not executable"
|
|
168
|
+
echo " Run: chmod +x $REPO_DIR/bin/slm-npm"
|
|
169
|
+
exit 1
|
|
170
|
+
fi
|
|
171
|
+
|
|
172
|
+
# Step 8: Final summary
|
|
173
|
+
echo ""
|
|
174
|
+
echo "╔══════════════════════════════════════════════════════════════╗"
|
|
175
|
+
echo "║ Test Summary ║"
|
|
176
|
+
echo "╚══════════════════════════════════════════════════════════════╝"
|
|
177
|
+
echo ""
|
|
178
|
+
echo "✅ Package structure: OK"
|
|
179
|
+
echo "✅ File validation: OK"
|
|
180
|
+
echo "✅ npm pack: OK ($SIZE)"
|
|
181
|
+
echo "✅ npm link: OK"
|
|
182
|
+
echo "✅ Scripts valid: OK"
|
|
183
|
+
echo ""
|
|
184
|
+
echo "📦 Package ready for testing!"
|
|
185
|
+
echo ""
|
|
186
|
+
echo "Next steps:"
|
|
187
|
+
echo "1. Test manual install:"
|
|
188
|
+
echo " npm install -g ./$TARBALL"
|
|
189
|
+
echo " slm status"
|
|
190
|
+
echo " npm uninstall -g superlocalmemory"
|
|
191
|
+
echo ""
|
|
192
|
+
echo "2. Test on Docker (recommended):"
|
|
193
|
+
echo " docker run -it --rm -v \$(pwd):/app node:18 bash"
|
|
194
|
+
echo " cd /app"
|
|
195
|
+
echo " npm install -g ./$TARBALL"
|
|
196
|
+
echo " slm status"
|
|
197
|
+
echo ""
|
|
198
|
+
echo "3. When ready to publish:"
|
|
199
|
+
echo " npm login"
|
|
200
|
+
echo " npm publish"
|
|
201
|
+
echo ""
|
|
202
|
+
echo "Full guide: NPM-PUBLISHING-GUIDE.md"
|
|
203
|
+
echo ""
|
|
204
|
+
|
|
205
|
+
# Cleanup
|
|
206
|
+
rm -f "$TARBALL"
|
|
207
|
+
echo "🧹 Cleaned up test tarball"
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# ============================================================================
|
|
2
|
+
# SuperLocalMemory - Installation Verification Script (PowerShell)
|
|
3
|
+
# Copyright (c) 2026 Varun Pratap Bhardwaj
|
|
4
|
+
# Licensed under MIT License
|
|
5
|
+
# ============================================================================
|
|
6
|
+
|
|
7
|
+
$ErrorActionPreference = "Continue"
|
|
8
|
+
|
|
9
|
+
$INSTALL_DIR = Join-Path $env:USERPROFILE ".claude-memory"
|
|
10
|
+
|
|
11
|
+
# Print banner
|
|
12
|
+
Write-Host ""
|
|
13
|
+
Write-Host "=================================================================="
|
|
14
|
+
Write-Host " SuperLocalMemory - Installation Verification "
|
|
15
|
+
Write-Host " by Varun Pratap Bhardwaj "
|
|
16
|
+
Write-Host "=================================================================="
|
|
17
|
+
Write-Host ""
|
|
18
|
+
|
|
19
|
+
# Track status
|
|
20
|
+
$CORE_OK = $true
|
|
21
|
+
$SEARCH_OK = $false
|
|
22
|
+
$UI_OK = $false
|
|
23
|
+
$ERRORS = @()
|
|
24
|
+
|
|
25
|
+
# ============================================================================
|
|
26
|
+
# CORE INSTALLATION CHECK
|
|
27
|
+
# ============================================================================
|
|
28
|
+
|
|
29
|
+
Write-Host "================================================================"
|
|
30
|
+
Write-Host "1. Core Installation"
|
|
31
|
+
Write-Host "================================================================"
|
|
32
|
+
Write-Host ""
|
|
33
|
+
|
|
34
|
+
# Check Python version
|
|
35
|
+
Write-Host -NoNewline "Python 3.8+ "
|
|
36
|
+
try {
|
|
37
|
+
$pythonVersion = & python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')" 2>&1
|
|
38
|
+
$pythonMajor = & python -c "import sys; print(sys.version_info.major)" 2>&1
|
|
39
|
+
$pythonMinor = & python -c "import sys; print(sys.version_info.minor)" 2>&1
|
|
40
|
+
|
|
41
|
+
if ([int]$pythonMajor -lt 3 -or ([int]$pythonMajor -eq 3 -and [int]$pythonMinor -lt 8)) {
|
|
42
|
+
Write-Host "FAIL (found $pythonVersion)" -ForegroundColor Red
|
|
43
|
+
$CORE_OK = $false
|
|
44
|
+
$ERRORS += "Python 3.8+ required"
|
|
45
|
+
} else {
|
|
46
|
+
Write-Host "OK (v$pythonVersion)" -ForegroundColor Green
|
|
47
|
+
}
|
|
48
|
+
} catch {
|
|
49
|
+
Write-Host "FAIL (Python not found)" -ForegroundColor Red
|
|
50
|
+
$CORE_OK = $false
|
|
51
|
+
$ERRORS += "Python not installed"
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
# Check installation directory
|
|
55
|
+
Write-Host -NoNewline "Installation directory "
|
|
56
|
+
if (Test-Path $INSTALL_DIR) {
|
|
57
|
+
Write-Host "OK ($INSTALL_DIR)" -ForegroundColor Green
|
|
58
|
+
} else {
|
|
59
|
+
Write-Host "FAIL (not found)" -ForegroundColor Red
|
|
60
|
+
$CORE_OK = $false
|
|
61
|
+
$ERRORS += "Installation directory missing"
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
# Check core files
|
|
65
|
+
Write-Host -NoNewline "Core scripts "
|
|
66
|
+
$coreFiles = @("memory_store_v2.py", "graph_engine.py", "pattern_learner.py")
|
|
67
|
+
$missingFiles = @()
|
|
68
|
+
foreach ($file in $coreFiles) {
|
|
69
|
+
$filePath = Join-Path $INSTALL_DIR $file
|
|
70
|
+
if (-not (Test-Path $filePath)) {
|
|
71
|
+
$missingFiles += $file
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if ($missingFiles.Count -eq 0) {
|
|
76
|
+
Write-Host "OK" -ForegroundColor Green
|
|
77
|
+
} else {
|
|
78
|
+
Write-Host "FAIL (missing: $($missingFiles -join ', '))" -ForegroundColor Red
|
|
79
|
+
$CORE_OK = $false
|
|
80
|
+
$ERRORS += "Core scripts missing"
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
# Check CLI wrappers
|
|
84
|
+
Write-Host -NoNewline "CLI wrappers "
|
|
85
|
+
$binDir = Join-Path $INSTALL_DIR "bin"
|
|
86
|
+
if (Test-Path $binDir) {
|
|
87
|
+
Write-Host "OK" -ForegroundColor Green
|
|
88
|
+
} else {
|
|
89
|
+
Write-Host "FAIL" -ForegroundColor Red
|
|
90
|
+
$CORE_OK = $false
|
|
91
|
+
$ERRORS += "CLI wrappers missing"
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
# Check PATH configuration
|
|
95
|
+
Write-Host -NoNewline "PATH configuration "
|
|
96
|
+
$userPath = [Environment]::GetEnvironmentVariable("PATH", "User")
|
|
97
|
+
if ($userPath -like "*$binDir*") {
|
|
98
|
+
Write-Host "OK (commands globally available)" -ForegroundColor Green
|
|
99
|
+
} else {
|
|
100
|
+
Write-Host "WARNING (not in PATH)" -ForegroundColor Yellow
|
|
101
|
+
$ERRORS += "PATH not configured - add manually or re-run installer"
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
# Check database
|
|
105
|
+
Write-Host -NoNewline "Database "
|
|
106
|
+
$dbPath = Join-Path $INSTALL_DIR "memory.db"
|
|
107
|
+
if (Test-Path $dbPath) {
|
|
108
|
+
$dbSize = [math]::Round((Get-Item $dbPath).Length / 1KB, 2)
|
|
109
|
+
Write-Host "OK ($dbSize KB)" -ForegroundColor Green
|
|
110
|
+
} else {
|
|
111
|
+
Write-Host "NOT CREATED (will be created on first use)" -ForegroundColor Yellow
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
# Check config
|
|
115
|
+
Write-Host -NoNewline "Configuration "
|
|
116
|
+
$configPath = Join-Path $INSTALL_DIR "config.json"
|
|
117
|
+
if (Test-Path $configPath) {
|
|
118
|
+
Write-Host "OK" -ForegroundColor Green
|
|
119
|
+
} else {
|
|
120
|
+
Write-Host "WARNING (using defaults)" -ForegroundColor Yellow
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
Write-Host ""
|
|
124
|
+
|
|
125
|
+
# ============================================================================
|
|
126
|
+
# OPTIONAL FEATURES CHECK
|
|
127
|
+
# ============================================================================
|
|
128
|
+
|
|
129
|
+
Write-Host "================================================================"
|
|
130
|
+
Write-Host "2. Optional Features"
|
|
131
|
+
Write-Host "================================================================"
|
|
132
|
+
Write-Host ""
|
|
133
|
+
|
|
134
|
+
# Advanced Search
|
|
135
|
+
Write-Host -NoNewline "Advanced Search "
|
|
136
|
+
try {
|
|
137
|
+
& python -c "import sentence_transformers; import hnswlib" 2>$null
|
|
138
|
+
Write-Host "ENABLED" -ForegroundColor Green
|
|
139
|
+
$SEARCH_OK = $true
|
|
140
|
+
} catch {
|
|
141
|
+
Write-Host "DISABLED" -ForegroundColor Yellow
|
|
142
|
+
Write-Host " Install: pip install -r requirements-search.txt"
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
# Web Dashboard
|
|
146
|
+
Write-Host -NoNewline "Web Dashboard "
|
|
147
|
+
try {
|
|
148
|
+
& python -c "import fastapi; import uvicorn" 2>$null
|
|
149
|
+
Write-Host "ENABLED" -ForegroundColor Green
|
|
150
|
+
$UI_OK = $true
|
|
151
|
+
$apiServerPath = Join-Path $INSTALL_DIR "api_server.py"
|
|
152
|
+
if (Test-Path $apiServerPath) {
|
|
153
|
+
Write-Host " Start: python $apiServerPath"
|
|
154
|
+
Write-Host " URL: http://127.0.0.1:8000"
|
|
155
|
+
}
|
|
156
|
+
} catch {
|
|
157
|
+
Write-Host "DISABLED" -ForegroundColor Yellow
|
|
158
|
+
Write-Host " Install: pip install -r requirements-ui.txt"
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
Write-Host ""
|
|
162
|
+
|
|
163
|
+
# ============================================================================
|
|
164
|
+
# PERFORMANCE QUICK TEST
|
|
165
|
+
# ============================================================================
|
|
166
|
+
|
|
167
|
+
if ($CORE_OK) {
|
|
168
|
+
Write-Host "================================================================"
|
|
169
|
+
Write-Host "3. Performance Quick Test"
|
|
170
|
+
Write-Host "================================================================"
|
|
171
|
+
Write-Host ""
|
|
172
|
+
|
|
173
|
+
# Test memory store initialization
|
|
174
|
+
Write-Host -NoNewline "Memory store init "
|
|
175
|
+
try {
|
|
176
|
+
& python -c "import sys; sys.path.insert(0, '$INSTALL_DIR'); from memory_store_v2 import MemoryStoreV2; store = MemoryStoreV2()" 2>$null
|
|
177
|
+
Write-Host "OK" -ForegroundColor Green
|
|
178
|
+
} catch {
|
|
179
|
+
Write-Host "FAIL" -ForegroundColor Red
|
|
180
|
+
$ERRORS += "Memory store initialization failed"
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
# Test database query
|
|
184
|
+
Write-Host -NoNewline "Database query "
|
|
185
|
+
$startTime = Get-Date
|
|
186
|
+
try {
|
|
187
|
+
& python -c "import sys; sys.path.insert(0, '$INSTALL_DIR'); from memory_store_v2 import MemoryStoreV2; store = MemoryStoreV2(); list(store.list_all(limit=1))" 2>$null
|
|
188
|
+
$endTime = Get-Date
|
|
189
|
+
$duration = [math]::Round(($endTime - $startTime).TotalMilliseconds, 0)
|
|
190
|
+
Write-Host "OK ($duration ms)" -ForegroundColor Green
|
|
191
|
+
} catch {
|
|
192
|
+
Write-Host "FAIL" -ForegroundColor Red
|
|
193
|
+
$ERRORS += "Database query failed"
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
Write-Host ""
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
# ============================================================================
|
|
200
|
+
# SUMMARY
|
|
201
|
+
# ============================================================================
|
|
202
|
+
|
|
203
|
+
Write-Host "================================================================"
|
|
204
|
+
Write-Host "4. Summary"
|
|
205
|
+
Write-Host "================================================================"
|
|
206
|
+
Write-Host ""
|
|
207
|
+
|
|
208
|
+
if ($CORE_OK) {
|
|
209
|
+
Write-Host "Core Installation: WORKING" -ForegroundColor Green
|
|
210
|
+
} else {
|
|
211
|
+
Write-Host "Core Installation: FAILED" -ForegroundColor Red
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if ($SEARCH_OK) {
|
|
215
|
+
Write-Host "Advanced Search: ENABLED" -ForegroundColor Green
|
|
216
|
+
} else {
|
|
217
|
+
Write-Host "Advanced Search: DISABLED (optional)" -ForegroundColor Yellow
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
if ($UI_OK) {
|
|
221
|
+
Write-Host "Web Dashboard: ENABLED" -ForegroundColor Green
|
|
222
|
+
} else {
|
|
223
|
+
Write-Host "Web Dashboard: DISABLED (optional)" -ForegroundColor Yellow
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
Write-Host ""
|
|
227
|
+
|
|
228
|
+
# Feature Status
|
|
229
|
+
Write-Host "Feature Status:"
|
|
230
|
+
if ($CORE_OK) {
|
|
231
|
+
Write-Host " - Basic CLI commands: Available" -ForegroundColor Green
|
|
232
|
+
Write-Host " - MCP Server: Available" -ForegroundColor Green
|
|
233
|
+
Write-Host " - Skills: Available" -ForegroundColor Green
|
|
234
|
+
} else {
|
|
235
|
+
Write-Host " - Basic CLI commands: Not available" -ForegroundColor Red
|
|
236
|
+
Write-Host " - MCP Server: Not available" -ForegroundColor Red
|
|
237
|
+
Write-Host " - Skills: Not available" -ForegroundColor Red
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
if ($SEARCH_OK) {
|
|
241
|
+
Write-Host " - Semantic Search: Enabled" -ForegroundColor Green
|
|
242
|
+
} else {
|
|
243
|
+
Write-Host " - Semantic Search: Disabled" -ForegroundColor Yellow
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if ($UI_OK) {
|
|
247
|
+
Write-Host " - Web Interface: Enabled" -ForegroundColor Green
|
|
248
|
+
} else {
|
|
249
|
+
Write-Host " - Web Interface: Disabled" -ForegroundColor Yellow
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
Write-Host ""
|
|
253
|
+
|
|
254
|
+
# Errors
|
|
255
|
+
if ($ERRORS.Count -gt 0) {
|
|
256
|
+
Write-Host "Errors detected:" -ForegroundColor Yellow
|
|
257
|
+
foreach ($error in $ERRORS) {
|
|
258
|
+
Write-Host " - $error"
|
|
259
|
+
}
|
|
260
|
+
Write-Host ""
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
# Next Steps
|
|
264
|
+
Write-Host "Next Steps:"
|
|
265
|
+
Write-Host ""
|
|
266
|
+
|
|
267
|
+
if ($CORE_OK) {
|
|
268
|
+
Write-Host " Try it now:"
|
|
269
|
+
Write-Host " python $INSTALL_DIR\memory_store_v2.py"
|
|
270
|
+
Write-Host ""
|
|
271
|
+
|
|
272
|
+
if (-not $SEARCH_OK -and -not $UI_OK) {
|
|
273
|
+
Write-Host " Install optional features:"
|
|
274
|
+
Write-Host " pip install -r requirements-search.txt # Advanced search"
|
|
275
|
+
Write-Host " pip install -r requirements-ui.txt # Web dashboard"
|
|
276
|
+
Write-Host " pip install -r requirements-full.txt # Everything"
|
|
277
|
+
Write-Host ""
|
|
278
|
+
}
|
|
279
|
+
} else {
|
|
280
|
+
Write-Host " Fix installation issues:"
|
|
281
|
+
Write-Host " Run: .\install.ps1"
|
|
282
|
+
Write-Host ""
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
# Exit code
|
|
286
|
+
if ($CORE_OK) {
|
|
287
|
+
Write-Host "Installation verification PASSED" -ForegroundColor Green
|
|
288
|
+
Write-Host ""
|
|
289
|
+
exit 0
|
|
290
|
+
} else {
|
|
291
|
+
Write-Host "Installation verification FAILED" -ForegroundColor Red
|
|
292
|
+
Write-Host ""
|
|
293
|
+
exit 1
|
|
294
|
+
}
|