memento-mcp-server 0.1.0 โ 1.7.1
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/INSTALL.en.md +303 -303
- package/INSTALL.md +303 -303
- package/README.en.md +331 -330
- package/README.md +432 -427
- package/dist/algorithms/hybrid-search-engine.d.ts +114 -44
- package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/dist/algorithms/hybrid-search-engine.js +261 -235
- package/dist/algorithms/hybrid-search-engine.js.map +1 -1
- package/dist/algorithms/search-engine.d.ts +2 -14
- package/dist/algorithms/search-engine.d.ts.map +1 -1
- package/dist/algorithms/search-engine.js +43 -35
- package/dist/algorithms/search-engine.js.map +1 -1
- package/dist/algorithms/vector-search-engine-migration.d.ts +67 -0
- package/dist/algorithms/vector-search-engine-migration.d.ts.map +1 -0
- package/dist/algorithms/vector-search-engine-migration.js +196 -0
- package/dist/algorithms/vector-search-engine-migration.js.map +1 -0
- package/dist/algorithms/vector-search-engine-refactored.d.ts +56 -0
- package/dist/algorithms/vector-search-engine-refactored.d.ts.map +1 -0
- package/dist/algorithms/vector-search-engine-refactored.js +101 -0
- package/dist/algorithms/vector-search-engine-refactored.js.map +1 -0
- package/dist/algorithms/vector-search-engine.d.ts +9 -2
- package/dist/algorithms/vector-search-engine.d.ts.map +1 -1
- package/dist/algorithms/vector-search-engine.js +245 -121
- package/dist/algorithms/vector-search-engine.js.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +34 -11
- package/dist/client/index.js.map +1 -1
- package/dist/config/environment.d.ts +26 -0
- package/dist/config/environment.d.ts.map +1 -0
- package/dist/config/environment.js +103 -0
- package/dist/config/environment.js.map +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +29 -50
- package/dist/config/index.js.map +1 -1
- package/dist/config/vector-search.config.d.ts +25 -0
- package/dist/config/vector-search.config.d.ts.map +1 -0
- package/dist/config/vector-search.config.js +40 -0
- package/dist/config/vector-search.config.js.map +1 -0
- package/dist/database/init.d.ts.map +1 -1
- package/dist/database/init.js +154 -17
- package/dist/database/init.js.map +1 -1
- package/dist/database/migrate.d.ts +2 -1
- package/dist/database/migrate.d.ts.map +1 -1
- package/dist/database/migrate.js +191 -18
- package/dist/database/migrate.js.map +1 -1
- package/dist/database/schema.sql +234 -159
- package/dist/factories/hybrid-search.factory.d.ts +20 -0
- package/dist/factories/hybrid-search.factory.d.ts.map +1 -0
- package/dist/factories/hybrid-search.factory.js +57 -0
- package/dist/factories/hybrid-search.factory.js.map +1 -0
- package/dist/factories/spaced-repetition.factory.d.ts +48 -0
- package/dist/factories/spaced-repetition.factory.d.ts.map +1 -0
- package/dist/factories/spaced-repetition.factory.js +187 -0
- package/dist/factories/spaced-repetition.factory.js.map +1 -0
- package/dist/factories/vector-search.factory.d.ts +25 -0
- package/dist/factories/vector-search.factory.d.ts.map +1 -0
- package/dist/factories/vector-search.factory.js +47 -0
- package/dist/factories/vector-search.factory.js.map +1 -0
- package/dist/interfaces/database.interface.d.ts +36 -0
- package/dist/interfaces/database.interface.d.ts.map +1 -0
- package/dist/interfaces/database.interface.js +6 -0
- package/dist/interfaces/database.interface.js.map +1 -0
- package/dist/interfaces/spaced-repetition.interface.d.ts +63 -0
- package/dist/interfaces/spaced-repetition.interface.d.ts.map +1 -0
- package/dist/interfaces/spaced-repetition.interface.js +6 -0
- package/dist/interfaces/spaced-repetition.interface.js.map +1 -0
- package/dist/repositories/vector-performance.repository.d.ts +25 -0
- package/dist/repositories/vector-performance.repository.d.ts.map +1 -0
- package/dist/repositories/vector-performance.repository.js +134 -0
- package/dist/repositories/vector-performance.repository.js.map +1 -0
- package/dist/repositories/vector-search.repository.d.ts +43 -0
- package/dist/repositories/vector-search.repository.d.ts.map +1 -0
- package/dist/repositories/vector-search.repository.js +377 -0
- package/dist/repositories/vector-search.repository.js.map +1 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +25 -24
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -1
- package/dist/server/index.js.map +1 -1
- package/dist/services/alert-notification-service.d.ts +16 -0
- package/dist/services/alert-notification-service.d.ts.map +1 -0
- package/dist/services/alert-notification-service.js +44 -0
- package/dist/services/alert-notification-service.js.map +1 -0
- package/dist/services/async-optimizer.d.ts +62 -8
- package/dist/services/async-optimizer.d.ts.map +1 -1
- package/dist/services/async-optimizer.js +137 -8
- package/dist/services/async-optimizer.js.map +1 -1
- package/dist/services/batch-scheduler.d.ts +6 -0
- package/dist/services/batch-scheduler.d.ts.map +1 -1
- package/dist/services/batch-scheduler.js +59 -19
- package/dist/services/batch-scheduler.js.map +1 -1
- package/dist/services/cache-service.d.ts +32 -0
- package/dist/services/cache-service.d.ts.map +1 -1
- package/dist/services/cache-service.js +81 -6
- package/dist/services/cache-service.js.map +1 -1
- package/dist/services/database-optimizer.js +63 -63
- package/dist/services/database-optimizer.js.map +1 -1
- package/dist/services/embedding-migration-service.d.ts +24 -0
- package/dist/services/embedding-migration-service.d.ts.map +1 -0
- package/dist/services/embedding-migration-service.js +360 -0
- package/dist/services/embedding-migration-service.js.map +1 -0
- package/dist/services/embedding-provider-factory.d.ts +12 -5
- package/dist/services/embedding-provider-factory.d.ts.map +1 -1
- package/dist/services/embedding-provider-factory.js +107 -26
- package/dist/services/embedding-provider-factory.js.map +1 -1
- package/dist/services/forgetting-policy-service.js +17 -17
- package/dist/services/gemini-embedding-service.d.ts +1 -1
- package/dist/services/gemini-embedding-service.d.ts.map +1 -1
- package/dist/services/gemini-embedding-service.js +25 -18
- package/dist/services/gemini-embedding-service.js.map +1 -1
- package/dist/services/memory-embedding-service.d.ts +8 -0
- package/dist/services/memory-embedding-service.d.ts.map +1 -1
- package/dist/services/memory-embedding-service.js +180 -71
- package/dist/services/memory-embedding-service.js.map +1 -1
- package/dist/services/migration-history-service.d.ts +14 -0
- package/dist/services/migration-history-service.d.ts.map +1 -0
- package/dist/services/migration-history-service.js +270 -0
- package/dist/services/migration-history-service.js.map +1 -0
- package/dist/services/migration-monitor-service.d.ts +24 -0
- package/dist/services/migration-monitor-service.d.ts.map +1 -0
- package/dist/services/migration-monitor-service.js +93 -0
- package/dist/services/migration-monitor-service.js.map +1 -0
- package/dist/services/model-availability-service.d.ts +22 -0
- package/dist/services/model-availability-service.d.ts.map +1 -0
- package/dist/services/model-availability-service.js +140 -0
- package/dist/services/model-availability-service.js.map +1 -0
- package/dist/services/openai-embedding-service.d.ts +36 -0
- package/dist/services/openai-embedding-service.d.ts.map +1 -0
- package/dist/services/openai-embedding-service.js +192 -0
- package/dist/services/openai-embedding-service.js.map +1 -0
- package/dist/services/performance-monitor.d.ts +154 -10
- package/dist/services/performance-monitor.d.ts.map +1 -1
- package/dist/services/performance-monitor.js +446 -60
- package/dist/services/performance-monitor.js.map +1 -1
- package/dist/services/spaced-repetition/interval-calculation.service.d.ts +38 -0
- package/dist/services/spaced-repetition/interval-calculation.service.d.ts.map +1 -0
- package/dist/services/spaced-repetition/interval-calculation.service.js +105 -0
- package/dist/services/spaced-repetition/interval-calculation.service.js.map +1 -0
- package/dist/services/spaced-repetition/optimal-interval.service.d.ts +56 -0
- package/dist/services/spaced-repetition/optimal-interval.service.d.ts.map +1 -0
- package/dist/services/spaced-repetition/optimal-interval.service.js +163 -0
- package/dist/services/spaced-repetition/optimal-interval.service.js.map +1 -0
- package/dist/services/spaced-repetition/performance-analysis.service.d.ts +48 -0
- package/dist/services/spaced-repetition/performance-analysis.service.d.ts.map +1 -0
- package/dist/services/spaced-repetition/performance-analysis.service.js +174 -0
- package/dist/services/spaced-repetition/performance-analysis.service.js.map +1 -0
- package/dist/services/spaced-repetition/priority-calculation.service.d.ts +53 -0
- package/dist/services/spaced-repetition/priority-calculation.service.d.ts.map +1 -0
- package/dist/services/spaced-repetition/priority-calculation.service.js +161 -0
- package/dist/services/spaced-repetition/priority-calculation.service.js.map +1 -0
- package/dist/services/spaced-repetition/recall-probability.service.d.ts +36 -0
- package/dist/services/spaced-repetition/recall-probability.service.d.ts.map +1 -0
- package/dist/services/spaced-repetition/recall-probability.service.js +88 -0
- package/dist/services/spaced-repetition/recall-probability.service.js.map +1 -0
- package/dist/services/spaced-repetition/review-scheduling.service.d.ts +43 -0
- package/dist/services/spaced-repetition/review-scheduling.service.d.ts.map +1 -0
- package/dist/services/spaced-repetition/review-scheduling.service.js +130 -0
- package/dist/services/spaced-repetition/review-scheduling.service.js.map +1 -0
- package/dist/services/spaced-repetition/spaced-repetition-container.d.ts +69 -0
- package/dist/services/spaced-repetition/spaced-repetition-container.d.ts.map +1 -0
- package/dist/services/spaced-repetition/spaced-repetition-container.js +136 -0
- package/dist/services/spaced-repetition/spaced-repetition-container.js.map +1 -0
- package/dist/services/unified-embedding-service.d.ts +3 -0
- package/dist/services/unified-embedding-service.d.ts.map +1 -1
- package/dist/services/unified-embedding-service.js +58 -62
- package/dist/services/unified-embedding-service.js.map +1 -1
- package/dist/services/vector-compatibility-service.d.ts +68 -0
- package/dist/services/vector-compatibility-service.d.ts.map +1 -0
- package/dist/services/vector-compatibility-service.js +373 -0
- package/dist/services/vector-compatibility-service.js.map +1 -0
- package/dist/services/vector-search/vector-index-manager.d.ts +27 -0
- package/dist/services/vector-search/vector-index-manager.d.ts.map +1 -0
- package/dist/services/vector-search/vector-index-manager.js +66 -0
- package/dist/services/vector-search/vector-index-manager.js.map +1 -0
- package/dist/services/vector-search/vector-performance-tester.d.ts +30 -0
- package/dist/services/vector-search/vector-performance-tester.d.ts.map +1 -0
- package/dist/services/vector-search/vector-performance-tester.js +87 -0
- package/dist/services/vector-search/vector-performance-tester.js.map +1 -0
- package/dist/services/vector-search/vector-search-container.d.ts +41 -0
- package/dist/services/vector-search/vector-search-container.d.ts.map +1 -0
- package/dist/services/vector-search/vector-search-container.js +74 -0
- package/dist/services/vector-search/vector-search-container.js.map +1 -0
- package/dist/services/vector-search/vector-search-facade.d.ts +63 -0
- package/dist/services/vector-search/vector-search-facade.d.ts.map +1 -0
- package/dist/services/vector-search/vector-search-facade.js +91 -0
- package/dist/services/vector-search/vector-search-facade.js.map +1 -0
- package/dist/services/vector-search/vector-search-result-normalizer.d.ts +6 -0
- package/dist/services/vector-search/vector-search-result-normalizer.d.ts.map +1 -0
- package/dist/services/vector-search/vector-search-result-normalizer.js +65 -0
- package/dist/services/vector-search/vector-search-result-normalizer.js.map +1 -0
- package/dist/services/vector-search/vector-search.service.d.ts +33 -0
- package/dist/services/vector-search/vector-search.service.d.ts.map +1 -0
- package/dist/services/vector-search/vector-search.service.js +149 -0
- package/dist/services/vector-search/vector-search.service.js.map +1 -0
- package/dist/tools/forget-tool.js +14 -14
- package/dist/tools/pin-tool.js +14 -14
- package/dist/tools/unpin-tool.js +21 -21
- package/dist/types/alerts.types.d.ts +26 -0
- package/dist/types/alerts.types.d.ts.map +1 -0
- package/dist/types/alerts.types.js +2 -0
- package/dist/types/alerts.types.js.map +1 -0
- package/dist/types/embedding-provider-monitoring.types.d.ts +24 -0
- package/dist/types/embedding-provider-monitoring.types.d.ts.map +1 -0
- package/dist/types/embedding-provider-monitoring.types.js +2 -0
- package/dist/types/embedding-provider-monitoring.types.js.map +1 -0
- package/dist/types/embedding.types.d.ts +36 -1
- package/dist/types/embedding.types.d.ts.map +1 -1
- package/dist/types/migration.types.d.ts +131 -0
- package/dist/types/migration.types.d.ts.map +1 -0
- package/dist/types/migration.types.js +6 -0
- package/dist/types/migration.types.js.map +1 -0
- package/dist/types/spaced-repetition.types.d.ts +61 -0
- package/dist/types/spaced-repetition.types.d.ts.map +1 -0
- package/dist/types/spaced-repetition.types.js +6 -0
- package/dist/types/spaced-repetition.types.js.map +1 -0
- package/dist/types/vector-search.types.d.ts +96 -0
- package/dist/types/vector-search.types.d.ts.map +1 -0
- package/dist/types/vector-search.types.js +2 -0
- package/dist/types/vector-search.types.js.map +1 -0
- package/dist/utils/configuration-validator.d.ts +23 -0
- package/dist/utils/configuration-validator.d.ts.map +1 -0
- package/dist/utils/configuration-validator.js +102 -0
- package/dist/utils/configuration-validator.js.map +1 -0
- package/dist/utils/database.d.ts.map +1 -1
- package/dist/utils/database.js +101 -95
- package/dist/utils/database.js.map +1 -1
- package/dist/utils/environment-check.d.ts +8 -0
- package/dist/utils/environment-check.d.ts.map +1 -0
- package/dist/utils/environment-check.js +25 -0
- package/dist/utils/environment-check.js.map +1 -0
- package/dist/utils/logger.d.ts +8 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +33 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +139 -125
- package/scripts/auto-setup.js +234 -234
- package/scripts/backup-daily.bat +28 -28
- package/scripts/backup-embeddings.js +108 -108
- package/scripts/check-db-integrity.js +93 -93
- package/scripts/debug-embeddings.js +184 -184
- package/scripts/direct-sql-migration.sql +36 -36
- package/scripts/docker-migration.sh +105 -105
- package/scripts/fix-migration.js +93 -93
- package/scripts/fix-vector-dimensions.js +206 -206
- package/scripts/migrate-embedding-data.js +307 -307
- package/scripts/regenerate-embeddings.js +144 -144
- package/scripts/restore-legacy.ps1 +60 -60
- package/scripts/run-migration.js +122 -122
- package/scripts/safe-migration.js +150 -150
- package/scripts/simple-migrate.js +41 -41
- package/scripts/simple-update.js +123 -123
- package/src/database/schema.sql +234 -159
- package/.cursor/rules/cache-management.mdc +0 -171
- package/.cursor/rules/database-schema.mdc +0 -344
- package/.cursor/rules/deployment.mdc +0 -596
- package/.cursor/rules/error-logging.mdc +0 -298
- package/.cursor/rules/forgetting-algorithms.mdc +0 -426
- package/.cursor/rules/http-server.mdc +0 -432
- package/.cursor/rules/hybrid-search.mdc +0 -424
- package/.cursor/rules/implementation.mdc +0 -369
- package/.cursor/rules/lightweight-embedding.mdc +0 -178
- package/.cursor/rules/mcp-client-development.mdc +0 -0
- package/.cursor/rules/mcp-server-development.mdc +0 -0
- package/.cursor/rules/mcp-tools-architecture.mdc +0 -205
- package/.cursor/rules/memento-memory-rule.mdc +0 -8
- package/.cursor/rules/memento-project-overview.mdc +0 -0
- package/.cursor/rules/memory-algorithms.mdc +0 -502
- package/.cursor/rules/monitoring.mdc +0 -622
- package/.cursor/rules/performance-alerts.mdc +0 -537
- package/.cursor/rules/performance-monitoring.mdc +0 -345
- package/.cursor/rules/performance-optimization.mdc +0 -563
- package/.cursor/rules/project-structure.mdc +0 -310
- package/.cursor/rules/testing.mdc +0 -473
- package/.dockerignore +0 -15
- package/.eslintrc.json +0 -34
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -51
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -45
- package/.github/ISSUE_TEMPLATE/question.md +0 -31
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -97
- package/AGENTS.md +0 -28
- package/CHANGELOG.md +0 -416
- package/CODE_OF_CONDUCT.md +0 -62
- package/CONTRIBUTING.md +0 -165
- package/DOCKER_SETUP_GUIDE.md +0 -84
- package/Dockerfile +0 -90
- package/backup/legacy-removal-20250930-201816/http-server-legacy.ts +0 -1068
- package/backup/legacy-removal-20250930-201816/rollback-to-legacy.ps1 +0 -46
- package/backup/legacy-removal-20250930-201816/rollback-to-legacy.sh +0 -48
- package/dist/server/index-backup.d.ts +0 -5
- package/dist/server/index-backup.d.ts.map +0 -1
- package/dist/server/index-backup.js +0 -793
- package/dist/server/index-backup.js.map +0 -1
- package/dist/server/index-refactored.d.ts +0 -6
- package/dist/server/index-refactored.d.ts.map +0 -1
- package/dist/server/index-refactored.js +0 -206
- package/dist/server/index-refactored.js.map +0 -1
- package/dist/services/performance-monitoring-integration.d.ts +0 -77
- package/dist/services/performance-monitoring-integration.d.ts.map +0 -1
- package/dist/services/performance-monitoring-integration.js +0 -177
- package/dist/services/performance-monitoring-integration.js.map +0 -1
- package/dist/test/debug-http-v2.d.ts +0 -5
- package/dist/test/debug-http-v2.d.ts.map +0 -1
- package/dist/test/debug-http-v2.js +0 -28
- package/dist/test/debug-http-v2.js.map +0 -1
- package/dist/test/performance-benchmark.d.ts +0 -57
- package/dist/test/performance-benchmark.d.ts.map +0 -1
- package/dist/test/performance-benchmark.js +0 -427
- package/dist/test/performance-benchmark.js.map +0 -1
- package/dist/test/test-alerts-direct.d.ts +0 -7
- package/dist/test/test-alerts-direct.d.ts.map +0 -1
- package/dist/test/test-alerts-direct.js +0 -101
- package/dist/test/test-alerts-direct.js.map +0 -1
- package/dist/test/test-batch-scheduler.d.ts +0 -2
- package/dist/test/test-batch-scheduler.d.ts.map +0 -1
- package/dist/test/test-batch-scheduler.js +0 -156
- package/dist/test/test-batch-scheduler.js.map +0 -1
- package/dist/test/test-client.d.ts +0 -5
- package/dist/test/test-client.d.ts.map +0 -1
- package/dist/test/test-client.js +0 -86
- package/dist/test/test-client.js.map +0 -1
- package/dist/test/test-embedding.d.ts +0 -6
- package/dist/test/test-embedding.d.ts.map +0 -1
- package/dist/test/test-embedding.js +0 -142
- package/dist/test/test-embedding.js.map +0 -1
- package/dist/test/test-error-logging.d.ts +0 -7
- package/dist/test/test-error-logging.d.ts.map +0 -1
- package/dist/test/test-error-logging.js +0 -105
- package/dist/test/test-error-logging.js.map +0 -1
- package/dist/test/test-forgetting.d.ts +0 -6
- package/dist/test/test-forgetting.d.ts.map +0 -1
- package/dist/test/test-forgetting.js +0 -154
- package/dist/test/test-forgetting.js.map +0 -1
- package/dist/test/test-gemini-embedding.d.ts +0 -7
- package/dist/test/test-gemini-embedding.d.ts.map +0 -1
- package/dist/test/test-gemini-embedding.js +0 -134
- package/dist/test/test-gemini-embedding.js.map +0 -1
- package/dist/test/test-http-server-v2-simple.d.ts +0 -6
- package/dist/test/test-http-server-v2-simple.d.ts.map +0 -1
- package/dist/test/test-http-server-v2-simple.js +0 -131
- package/dist/test/test-http-server-v2-simple.js.map +0 -1
- package/dist/test/test-http-server-v2.d.ts +0 -7
- package/dist/test/test-http-server-v2.d.ts.map +0 -1
- package/dist/test/test-http-server-v2.js +0 -529
- package/dist/test/test-http-server-v2.js.map +0 -1
- package/dist/test/test-lightweight-embedding.d.ts +0 -6
- package/dist/test/test-lightweight-embedding.d.ts.map +0 -1
- package/dist/test/test-lightweight-embedding.js +0 -189
- package/dist/test/test-lightweight-embedding.js.map +0 -1
- package/dist/test/test-m1-completion.d.ts +0 -7
- package/dist/test/test-m1-completion.d.ts.map +0 -1
- package/dist/test/test-m1-completion.js +0 -124
- package/dist/test/test-m1-completion.js.map +0 -1
- package/dist/test/test-memory-injection-prompt.d.ts +0 -2
- package/dist/test/test-memory-injection-prompt.d.ts.map +0 -1
- package/dist/test/test-memory-injection-prompt.js +0 -299
- package/dist/test/test-memory-injection-prompt.js.map +0 -1
- package/dist/test/test-performance-alerts.d.ts +0 -7
- package/dist/test/test-performance-alerts.d.ts.map +0 -1
- package/dist/test/test-performance-alerts.js +0 -109
- package/dist/test/test-performance-alerts.js.map +0 -1
- package/dist/test/test-performance-monitor.d.ts +0 -2
- package/dist/test/test-performance-monitor.d.ts.map +0 -1
- package/dist/test/test-performance-monitor.js +0 -182
- package/dist/test/test-performance-monitor.js.map +0 -1
- package/dist/test/test-performance-monitoring.d.ts +0 -6
- package/dist/test/test-performance-monitoring.d.ts.map +0 -1
- package/dist/test/test-performance-monitoring.js +0 -156
- package/dist/test/test-performance-monitoring.js.map +0 -1
- package/dist/test/test-search.d.ts +0 -5
- package/dist/test/test-search.d.ts.map +0 -1
- package/dist/test/test-search.js +0 -141
- package/dist/test/test-search.js.map +0 -1
- package/dist/test/test-simple-alerts.d.ts +0 -6
- package/dist/test/test-simple-alerts.d.ts.map +0 -1
- package/dist/test/test-simple-alerts.js +0 -106
- package/dist/test/test-simple-alerts.js.map +0 -1
- package/dist/test/test-vector-search-engine.d.ts +0 -2
- package/dist/test/test-vector-search-engine.d.ts.map +0 -1
- package/dist/test/test-vector-search-engine.js +0 -225
- package/dist/test/test-vector-search-engine.js.map +0 -1
- package/docker-compose.dev.yml +0 -50
- package/docker-compose.prod.yml +0 -77
- package/docker-compose.yml +0 -43
- package/docs/en/Memento-Goals.md +0 -217
- package/docs/en/Memento-M1-DetailSpecs.md +0 -130
- package/docs/en/Memento-Milestones.md +0 -135
- package/docs/en/Search-Ranking-Memory-Decay-Formulas.md +0 -177
- package/docs/en/api-reference.md +0 -658
- package/docs/en/architecture.md +0 -1302
- package/docs/en/developer-guide.md +0 -1005
- package/docs/en/user-manual.md +0 -595
- package/docs/ko/Memento-Goals.md +0 -217
- package/docs/ko/Memento-M1-DetailSpecs.md +0 -130
- package/docs/ko/Memento-Milestones.md +0 -134
- package/docs/ko/Search-Ranking-Memory-Decay-Formulas.md +0 -177
- package/docs/ko/api-reference.md +0 -658
- package/docs/ko/architecture.md +0 -1302
- package/docs/ko/developer-guide.md +0 -1006
- package/docs/ko/embedding-api-reference.md +0 -122
- package/docs/ko/embedding-configuration.md +0 -62
- package/docs/ko/embedding-performance-benchmark.md +0 -62
- package/docs/ko/embedding-service-guide.md +0 -314
- package/docs/ko/user-manual.md +0 -595
- package/env.example +0 -49
- package/install.sh +0 -191
- package/mcp-http-client.js +0 -218
- package/mcp.json +0 -0
- package/packages/mcp-client/docs/API-REFERENCE.md +0 -560
- package/packages/mcp-client/docs/BEST-PRACTICES.md +0 -564
- package/packages/mcp-client/docs/MIGRATION-GUIDE.md +0 -344
- package/packages/mcp-client/docs/PERFORMANCE-GUIDE.md +0 -476
- package/packages/mcp-client/docs/TROUBLESHOOTING.md +0 -564
- package/packages/mcp-client/package-lock.json +0 -907
- package/packages/mcp-client/package.json +0 -58
- package/packages/mcp-client/performance-optimizer.js +0 -428
- package/packages/mcp-client/test-basic.js +0 -65
- package/packages/mcp-client/test-integration.js +0 -366
- package/src/algorithms/forgetting-algorithm.spec.ts +0 -538
- package/src/algorithms/forgetting-algorithm.ts +0 -243
- package/src/algorithms/hybrid-search-engine.spec.ts +0 -484
- package/src/algorithms/hybrid-search-engine.ts +0 -489
- package/src/algorithms/search-engine.spec.ts +0 -429
- package/src/algorithms/search-engine.ts +0 -392
- package/src/algorithms/search-ranking.spec.ts +0 -293
- package/src/algorithms/search-ranking.ts +0 -407
- package/src/algorithms/spaced-repetition.spec.ts +0 -510
- package/src/algorithms/spaced-repetition.ts +0 -238
- package/src/algorithms/vector-search-engine.ts +0 -505
- package/src/client/index.spec.ts +0 -427
- package/src/client/index.ts +0 -222
- package/src/config/index.spec.ts +0 -339
- package/src/config/index.ts +0 -106
- package/src/database/init.spec.ts +0 -239
- package/src/database/init.ts +0 -130
- package/src/database/migrate.spec.ts +0 -293
- package/src/database/migrate.ts +0 -94
- package/src/database/migrations/001_add_embedding_metadata.sql +0 -29
- package/src/npm-client/context-injector.spec.ts +0 -335
- package/src/npm-client/context-injector.ts +0 -412
- package/src/npm-client/index.spec.ts +0 -108
- package/src/npm-client/index.ts +0 -96
- package/src/npm-client/memento-client.spec.ts +0 -549
- package/src/npm-client/memento-client.ts +0 -501
- package/src/npm-client/memory-manager.spec.ts +0 -374
- package/src/npm-client/memory-manager.ts +0 -414
- package/src/npm-client/types.spec.ts +0 -427
- package/src/npm-client/types.ts +0 -296
- package/src/npm-client/utils.spec.ts +0 -355
- package/src/npm-client/utils.ts +0 -423
- package/src/scripts/copy-assets.js +0 -37
- package/src/server/http-server.spec.ts +0 -648
- package/src/server/http-server.ts +0 -1030
- package/src/server/index-backup.ts +0 -875
- package/src/server/index-refactored.ts +0 -237
- package/src/server/index.spec.ts +0 -281
- package/src/server/index.ts +0 -347
- package/src/server/simple-mcp-server.spec.ts +0 -207
- package/src/server/simple-mcp-server.ts +0 -173
- package/src/services/async-optimizer.spec.ts +0 -569
- package/src/services/async-optimizer.ts +0 -484
- package/src/services/batch-scheduler.ts +0 -759
- package/src/services/cache-service.spec.ts +0 -372
- package/src/services/cache-service.ts +0 -434
- package/src/services/database-optimizer.spec.ts +0 -344
- package/src/services/database-optimizer.ts +0 -450
- package/src/services/embedding-provider-factory.ts +0 -173
- package/src/services/embedding-service.spec.ts +0 -342
- package/src/services/embedding-service.ts +0 -333
- package/src/services/error-logging-service.spec.ts +0 -416
- package/src/services/error-logging-service.ts +0 -383
- package/src/services/forgetting-policy-service.spec.ts +0 -140
- package/src/services/forgetting-policy-service.ts +0 -334
- package/src/services/gemini-embedding-service.spec.ts +0 -463
- package/src/services/gemini-embedding-service.ts +0 -283
- package/src/services/lightweight-embedding-service.spec.ts +0 -458
- package/src/services/lightweight-embedding-service.ts +0 -324
- package/src/services/memory-embedding-service.spec.ts +0 -417
- package/src/services/memory-embedding-service.ts +0 -289
- package/src/services/minilm-embedding-service.spec.ts +0 -104
- package/src/services/minilm-embedding-service.ts +0 -262
- package/src/services/performance-alert-service.spec.ts +0 -517
- package/src/services/performance-alert-service.ts +0 -477
- package/src/services/performance-monitor.spec.ts +0 -401
- package/src/services/performance-monitor.ts +0 -532
- package/src/services/performance-monitoring-integration.spec.ts +0 -478
- package/src/services/performance-monitoring-integration.ts.bak +0 -276
- package/src/services/unified-embedding-service.spec.ts +0 -224
- package/src/services/unified-embedding-service.ts +0 -255
- package/src/test/debug-http-v2.ts +0 -30
- package/src/test/embedding-integration-test.spec.ts +0 -295
- package/src/test/embedding-integration-test.ts +0 -295
- package/src/test/embedding-performance-benchmark.spec.ts +0 -354
- package/src/test/embedding-performance-benchmark.ts +0 -312
- package/src/test/performance-benchmark.ts +0 -565
- package/src/test/test-alerts-direct.ts +0 -136
- package/src/test/test-batch-scheduler-simple.spec.ts +0 -122
- package/src/test/test-batch-scheduler.spec.ts +0 -453
- package/src/test/test-batch-scheduler.ts +0 -182
- package/src/test/test-client.ts +0 -97
- package/src/test/test-embedding.ts +0 -153
- package/src/test/test-error-handling.spec.ts +0 -575
- package/src/test/test-error-logging.ts +0 -117
- package/src/test/test-forgetting.ts +0 -162
- package/src/test/test-gemini-embedding.ts +0 -159
- package/src/test/test-http-server-v2-simple.ts +0 -147
- package/src/test/test-http-server-v2.ts +0 -586
- package/src/test/test-hybrid-search-engine.spec.ts +0 -521
- package/src/test/test-integration-fixed.spec.ts +0 -612
- package/src/test/test-integration.spec.ts +0 -463
- package/src/test/test-lightweight-embedding.ts +0 -208
- package/src/test/test-m1-completion.spec.ts +0 -614
- package/src/test/test-m1-completion.ts +0 -141
- package/src/test/test-m1-integration.spec.ts +0 -514
- package/src/test/test-memory-injection-prompt.spec.ts +0 -650
- package/src/test/test-memory-injection-prompt.ts +0 -391
- package/src/test/test-performance-alerts.ts +0 -125
- package/src/test/test-performance-monitor-updates.spec.ts +0 -490
- package/src/test/test-performance-monitor.spec.ts +0 -284
- package/src/test/test-performance-monitor.ts +0 -228
- package/src/test/test-performance-monitoring.ts +0 -171
- package/src/test/test-search.ts +0 -151
- package/src/test/test-simple-alerts.ts +0 -136
- package/src/test/test-vector-search-engine.spec.ts +0 -408
- package/src/test/test-vector-search-engine.ts +0 -303
- package/src/tools/base-tool.ts +0 -189
- package/src/tools/cleanup-memory-tool.ts +0 -77
- package/src/tools/database-optimize-tool.ts +0 -79
- package/src/tools/error-stats.ts +0 -119
- package/src/tools/forget-tool.spec.ts +0 -613
- package/src/tools/forget-tool.ts +0 -454
- package/src/tools/forgetting-stats-tool.ts +0 -47
- package/src/tools/index.ts +0 -71
- package/src/tools/memory-injection-prompt.ts +0 -257
- package/src/tools/performance-alerts.ts +0 -226
- package/src/tools/performance-stats-tool.ts +0 -48
- package/src/tools/pin-tool.spec.ts +0 -497
- package/src/tools/pin-tool.ts +0 -277
- package/src/tools/recall-tool.spec.ts +0 -475
- package/src/tools/recall-tool.ts +0 -389
- package/src/tools/remember-tool.spec.ts +0 -469
- package/src/tools/remember-tool.ts +0 -112
- package/src/tools/resolve-error.ts +0 -69
- package/src/tools/tool-registry.ts +0 -417
- package/src/tools/types.ts +0 -63
- package/src/tools/unpin-tool.spec.ts +0 -549
- package/src/tools/unpin-tool.ts +0 -306
- package/src/types/embedding.types.ts +0 -78
- package/src/types/index.spec.ts +0 -420
- package/src/types/index.ts +0 -117
- package/src/utils/database.spec.ts +0 -77
- package/src/utils/database.ts +0 -458
- package/src/utils/stopwords.ts +0 -128
- package/start-docker-setup.bat +0 -38
- package/static/logo.png +0 -0
- package/static/memento_logo.svg +0 -2
- package/test-docker.js +0 -103
- package/tsconfig.json +0 -46
- package/vitest.config.ts +0 -23
package/README.en.md
CHANGED
|
@@ -1,330 +1,331 @@
|
|
|
1
|
-
# Memento MCP Server
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
<img src="static/logo.png" alt="Memento Logo" width="200" height="200">
|
|
5
|
-
|
|
6
|
-
[๐ฐ๐ท ํ๊ตญ์ด](README.md) | [๐บ๐ธ English](README.en.md)
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
AI Agent Memory Assistant MCP Server - Storage+Search+Summary+Forgetting mechanisms modeled after human memory structure
|
|
10
|
-
|
|
11
|
-
## ๐ฏ Project Overview
|
|
12
|
-
|
|
13
|
-
Memento MCP Server is a Model Context Protocol (MCP) server that helps AI Agents store and manage long-term memory. It simulates human memory structure (working memory, episodic memory, semantic memory, procedural memory) to provide an efficient memory management system.
|
|
14
|
-
|
|
15
|
-
## โจ Key Features
|
|
16
|
-
|
|
17
|
-
### ๐ง Core Memory Management (MCP Client)
|
|
18
|
-
- **Memory Storage**: Store 4 types of memories (working, episodic, semantic, procedural)
|
|
19
|
-
- **Memory Search**: Hybrid search (text + vector)
|
|
20
|
-
- **Memory Pinning**: Pin/unpin important memories
|
|
21
|
-
- **Memory Deletion**: Soft/hard deletion
|
|
22
|
-
|
|
23
|
-
### ๐ Advanced Search
|
|
24
|
-
- **FTS5 Text Search**: SQLite's Full-Text Search
|
|
25
|
-
- **Vector Search**: OpenAI embedding-based semantic search
|
|
26
|
-
- **Hybrid Search**: Combination of text and vector search
|
|
27
|
-
- **
|
|
28
|
-
- **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- **Real-time
|
|
39
|
-
- **
|
|
40
|
-
- **
|
|
41
|
-
- **
|
|
42
|
-
- **
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
npx memento-mcp-server@latest
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
>
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
| `
|
|
160
|
-
| `
|
|
161
|
-
| `
|
|
162
|
-
| `
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
| `/admin/
|
|
170
|
-
| `/admin/stats/
|
|
171
|
-
| `/admin/stats/
|
|
172
|
-
| `/admin/errors
|
|
173
|
-
| `/admin/
|
|
174
|
-
| `/admin/
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
| `memory/
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
| `
|
|
191
|
-
| `
|
|
192
|
-
| `
|
|
193
|
-
| `
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
npm run test:
|
|
219
|
-
npm run test:
|
|
220
|
-
npm run test:
|
|
221
|
-
npm run test:
|
|
222
|
-
npm run test:
|
|
223
|
-
npm run test:
|
|
224
|
-
npm run test:
|
|
225
|
-
npm run test:
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
- **
|
|
239
|
-
- **
|
|
240
|
-
- **
|
|
241
|
-
- **
|
|
242
|
-
- **
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
- **
|
|
249
|
-
- **
|
|
250
|
-
- **
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
- **
|
|
255
|
-
- **
|
|
256
|
-
- **
|
|
257
|
-
- **
|
|
258
|
-
- **
|
|
259
|
-
- **
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
- **
|
|
264
|
-
- **
|
|
265
|
-
- **
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
- **
|
|
272
|
-
- **
|
|
273
|
-
- **
|
|
274
|
-
- **
|
|
275
|
-
- **
|
|
276
|
-
- **
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
- **
|
|
281
|
-
- **
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
- **
|
|
286
|
-
- **
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
-
|
|
320
|
-
-
|
|
321
|
-
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
- [
|
|
327
|
-
- [
|
|
328
|
-
- [
|
|
329
|
-
- [
|
|
330
|
-
- [
|
|
1
|
+
# Memento MCP Server
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
<img src="static/logo.png" alt="Memento Logo" width="200" height="200">
|
|
5
|
+
|
|
6
|
+
[๐ฐ๐ท ํ๊ตญ์ด](README.md) | [๐บ๐ธ English](README.en.md)
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
AI Agent Memory Assistant MCP Server - Storage+Search+Summary+Forgetting mechanisms modeled after human memory structure
|
|
10
|
+
|
|
11
|
+
## ๐ฏ Project Overview
|
|
12
|
+
|
|
13
|
+
Memento MCP Server is a Model Context Protocol (MCP) server that helps AI Agents store and manage long-term memory. It simulates human memory structure (working memory, episodic memory, semantic memory, procedural memory) to provide an efficient memory management system.
|
|
14
|
+
|
|
15
|
+
## โจ Key Features
|
|
16
|
+
|
|
17
|
+
### ๐ง Core Memory Management (MCP Client)
|
|
18
|
+
- **Memory Storage**: Store 4 types of memories (working, episodic, semantic, procedural)
|
|
19
|
+
- **Memory Search**: Hybrid search (text + vector)
|
|
20
|
+
- **Memory Pinning**: Pin/unpin important memories
|
|
21
|
+
- **Memory Deletion**: Soft/hard deletion
|
|
22
|
+
|
|
23
|
+
### ๐ Advanced Search
|
|
24
|
+
- **FTS5 Text Search**: SQLite's Full-Text Search
|
|
25
|
+
- **Vector Search**: OpenAI embedding-based semantic search (falls back to lightweight embeddings when unavailable)
|
|
26
|
+
- **Hybrid Search**: Combination of text and vector search
|
|
27
|
+
- **Multi-provider Support**: TF-IDF, MiniLM, OpenAI, Gemini with automatic selection
|
|
28
|
+
- **Lightweight Embedding**: TF-IDF + keyword matching fallback solution
|
|
29
|
+
- **Tag-based Filtering**: Metadata-based search
|
|
30
|
+
|
|
31
|
+
### ๐งน Forgetting Policy
|
|
32
|
+
- **Forgetting Algorithm**: Forgetting score calculation based on recency, usage, duplication ratio
|
|
33
|
+
- **Spaced Repetition**: Review scheduling based on importance and usage
|
|
34
|
+
- **TTL Management**: Type-specific lifespan management
|
|
35
|
+
- **Auto Cleanup**: Automated soft/hard deletion
|
|
36
|
+
|
|
37
|
+
### ๐ Performance Monitoring (HTTP Management API)
|
|
38
|
+
- **Real-time Metrics**: Database, search, memory performance monitoring
|
|
39
|
+
- **Real-time Alerts**: Automatic performance checks every 30 seconds with threshold-based alerts
|
|
40
|
+
- **Error Logging**: Structured error logging and statistics collection
|
|
41
|
+
- **Database Optimization**: Automatic index recommendation and creation
|
|
42
|
+
- **Cache System**: LRU + TTL based caching
|
|
43
|
+
- **Async Processing**: Worker pool based parallel processing
|
|
44
|
+
|
|
45
|
+
## ๐ Quick Start
|
|
46
|
+
|
|
47
|
+
### ๐ฅ **One-click Installation (Recommended)**
|
|
48
|
+
```bash
|
|
49
|
+
# Run automatic installation script
|
|
50
|
+
curl -sSL https://raw.githubusercontent.com/jee1/memento/main/install.sh | bash
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### ๐ฅ **npx Method (For Developers)**
|
|
54
|
+
```bash
|
|
55
|
+
# Run immediately (without installation)
|
|
56
|
+
npx memento-mcp-server@latest dev
|
|
57
|
+
|
|
58
|
+
# Auto setup then run
|
|
59
|
+
npx memento-mcp-server@latest setup
|
|
60
|
+
npx memento-mcp-server@latest start
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### ๐ฅ **Docker Method (For Production)**
|
|
64
|
+
```bash
|
|
65
|
+
# Development environment
|
|
66
|
+
docker-compose -f docker-compose.dev.yml up -d
|
|
67
|
+
|
|
68
|
+
# Production environment
|
|
69
|
+
docker-compose -f docker-compose.prod.yml up -d
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### ๐ ๏ธ **Source Code Method (For Developers)**
|
|
73
|
+
```bash
|
|
74
|
+
# Clone repository
|
|
75
|
+
git clone https://github.com/jee1/memento.git
|
|
76
|
+
cd memento
|
|
77
|
+
|
|
78
|
+
# One-click installation and run
|
|
79
|
+
npm run quick-start
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### ๐ **Detailed Installation Guide**
|
|
83
|
+
For detailed installation methods, see [INSTALL.en.md](INSTALL.en.md).
|
|
84
|
+
|
|
85
|
+
## ๐ ๏ธ Usage
|
|
86
|
+
|
|
87
|
+
### MCP Client Connection
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
91
|
+
|
|
92
|
+
const client = new Client({
|
|
93
|
+
name: "memento-client",
|
|
94
|
+
version: "0.1.0"
|
|
95
|
+
}, {
|
|
96
|
+
capabilities: {
|
|
97
|
+
tools: {},
|
|
98
|
+
resources: {},
|
|
99
|
+
prompts: {}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// stdio connection
|
|
104
|
+
await client.connect({
|
|
105
|
+
command: "node",
|
|
106
|
+
args: ["dist/server/index.js"]
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// WebSocket connection
|
|
110
|
+
await client.connect({
|
|
111
|
+
transport: {
|
|
112
|
+
type: "websocket",
|
|
113
|
+
url: "ws://localhost:8080/mcp"
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Memory Storage
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
// Store memory
|
|
122
|
+
const result = await client.callTool({
|
|
123
|
+
name: "remember",
|
|
124
|
+
arguments: {
|
|
125
|
+
content: "I learned about React Hooks. useState manages state and useEffect handles side effects.",
|
|
126
|
+
type: "episodic",
|
|
127
|
+
tags: ["react", "hooks", "javascript"],
|
|
128
|
+
importance: 0.8
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Memory Search
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
// Search memory
|
|
137
|
+
const results = await client.callTool({
|
|
138
|
+
name: "recall",
|
|
139
|
+
arguments: {
|
|
140
|
+
query: "React Hook",
|
|
141
|
+
filters: {
|
|
142
|
+
type: ["episodic", "semantic"],
|
|
143
|
+
tags: ["react"]
|
|
144
|
+
},
|
|
145
|
+
limit: 10
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## ๐ API Documentation
|
|
151
|
+
|
|
152
|
+
### MCP Tools (Core 5 Only)
|
|
153
|
+
|
|
154
|
+
> **Important**: MCP client only exposes 5 core memory management functions.
|
|
155
|
+
> Management functions are separated into HTTP API endpoints.
|
|
156
|
+
|
|
157
|
+
| Tool | Description | Parameters |
|
|
158
|
+
|------|-------------|------------|
|
|
159
|
+
| `remember` | Store memory | content, type, tags, importance, source, privacy_scope |
|
|
160
|
+
| `recall` | Search memory | query, filters, limit |
|
|
161
|
+
| `pin` | Pin memory | memory_id |
|
|
162
|
+
| `unpin` | Unpin memory | memory_id |
|
|
163
|
+
| `forget` | Delete memory | memory_id, hard |
|
|
164
|
+
|
|
165
|
+
### HTTP Management API
|
|
166
|
+
|
|
167
|
+
| Endpoint | Description | Method |
|
|
168
|
+
|----------|-------------|--------|
|
|
169
|
+
| `/admin/memory/cleanup` | Memory cleanup | POST |
|
|
170
|
+
| `/admin/stats/forgetting` | Forgetting statistics | GET |
|
|
171
|
+
| `/admin/stats/performance` | Performance statistics | GET |
|
|
172
|
+
| `/admin/stats/errors` | Error statistics | GET |
|
|
173
|
+
| `/admin/errors/resolve` | Resolve errors | POST |
|
|
174
|
+
| `/admin/alerts/performance` | Performance alerts | GET |
|
|
175
|
+
| `/admin/database/optimize` | Database optimization | POST |
|
|
176
|
+
|
|
177
|
+
### Resources
|
|
178
|
+
|
|
179
|
+
| Resource | Description |
|
|
180
|
+
|----------|-------------|
|
|
181
|
+
| `memory/{id}` | Single memory detail |
|
|
182
|
+
| `memory/search?query=...` | Search result cache |
|
|
183
|
+
|
|
184
|
+
## ๐ง Configuration
|
|
185
|
+
|
|
186
|
+
### Environment Variables
|
|
187
|
+
|
|
188
|
+
| Variable | Default | Description |
|
|
189
|
+
|----------|---------|-------------|
|
|
190
|
+
| `NODE_ENV` | development | Runtime environment |
|
|
191
|
+
| `PORT` | 8080 | Server port |
|
|
192
|
+
| `DB_PATH` | ./data/memory.db | Database path |
|
|
193
|
+
| `LOG_LEVEL` | info | Log level |
|
|
194
|
+
| `OPENAI_API_KEY` | - | OpenAI API key (optional) |
|
|
195
|
+
|
|
196
|
+
### Forgetting Policy Configuration
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# Forgetting thresholds
|
|
200
|
+
FORGET_THRESHOLD=0.6
|
|
201
|
+
SOFT_DELETE_THRESHOLD=0.6
|
|
202
|
+
HARD_DELETE_THRESHOLD=0.8
|
|
203
|
+
|
|
204
|
+
# TTL settings (in days)
|
|
205
|
+
TTL_SOFT_WORKING=2
|
|
206
|
+
TTL_SOFT_EPISODIC=30
|
|
207
|
+
TTL_SOFT_SEMANTIC=180
|
|
208
|
+
TTL_SOFT_PROCEDURAL=90
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## ๐งช Testing
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Run all tests (Vitest)
|
|
215
|
+
npm run test
|
|
216
|
+
|
|
217
|
+
# Run individual tests
|
|
218
|
+
npm run test:client # Client tests
|
|
219
|
+
npm run test:search # Search functionality tests
|
|
220
|
+
npm run test:embedding # Embedding functionality tests
|
|
221
|
+
npm run test:lightweight-embedding # Lightweight embedding tests
|
|
222
|
+
npm run test:forgetting # Forgetting policy tests
|
|
223
|
+
npm run test:performance # Performance benchmarks
|
|
224
|
+
npm run test:monitoring # Performance monitoring tests
|
|
225
|
+
npm run test:error-logging # Error logging tests
|
|
226
|
+
npm run test:performance-alerts # Performance alert tests
|
|
227
|
+
|
|
228
|
+
# Test watch mode
|
|
229
|
+
npm run test -- --watch
|
|
230
|
+
|
|
231
|
+
# Tests with coverage
|
|
232
|
+
npm run test -- --coverage
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## ๐ Developer Guidelines
|
|
236
|
+
|
|
237
|
+
### Repository Guidelines (`AGENTS.md`)
|
|
238
|
+
- **Project Structure**: Module organization under `src/`
|
|
239
|
+
- **Build/Test Commands**: `npm run dev`, `npm run build`, `npm run test`, etc.
|
|
240
|
+
- **Coding Style**: Node.js โฅ 20, TypeScript ES modules, 2-space indentation
|
|
241
|
+
- **Testing Guidelines**: Vitest based, `src/test/` or `*.spec.ts` files
|
|
242
|
+
- **Commit/PR Guidelines**: Conventional Commits, Korean context included
|
|
243
|
+
- **Environment/Database**: `.env` configuration, `data/` folder management
|
|
244
|
+
|
|
245
|
+
## ๐ Performance Metrics
|
|
246
|
+
|
|
247
|
+
### Basic Performance
|
|
248
|
+
- **Database Performance**: Average query time 0.16-0.22ms
|
|
249
|
+
- **Search Performance**: 0.78-4.24ms (improved with cache effects)
|
|
250
|
+
- **Memory Usage**: 11-15MB heap usage
|
|
251
|
+
- **Concurrent Connections**: Supports up to 1000 connections
|
|
252
|
+
|
|
253
|
+
### Advanced Performance Optimization
|
|
254
|
+
- **Cache Hit Rate**: 80%+ (search result caching)
|
|
255
|
+
- **Embedding Caching**: 24-hour TTL for cost savings
|
|
256
|
+
- **Async Processing**: Worker pool based parallel processing
|
|
257
|
+
- **Database Optimization**: Automatic index recommendation and creation
|
|
258
|
+
- **Real-time Monitoring**: Automatic performance checks every 30 seconds
|
|
259
|
+
- **Error Logging**: Structured error tracking and statistics
|
|
260
|
+
- **Performance Alerts**: Threshold-based automatic alert system
|
|
261
|
+
|
|
262
|
+
### Lightweight Embedding Performance
|
|
263
|
+
- **TF-IDF Vectorization**: Fixed 512-dimensional vector generation
|
|
264
|
+
- **Multilingual Support**: Korean/English stopword removal
|
|
265
|
+
- **Local Processing**: Works without OpenAI API
|
|
266
|
+
- **Cosine Similarity**: Fast vector search
|
|
267
|
+
|
|
268
|
+
## ๐๏ธ Architecture
|
|
269
|
+
|
|
270
|
+
### M1: Personal Use (Current Implementation)
|
|
271
|
+
- **Storage**: better-sqlite3 embedded
|
|
272
|
+
- **Index**: FTS5 + sqlite-vss
|
|
273
|
+
- **Authentication**: None (local only)
|
|
274
|
+
- **Operation**: Local execution
|
|
275
|
+
- **MCP Client**: Only exposes 5 core tools
|
|
276
|
+
- **Management Functions**: Separated into HTTP API
|
|
277
|
+
- **Additional Features**: Lightweight embedding, performance monitoring, cache system
|
|
278
|
+
|
|
279
|
+
### M2: Team Collaboration (Planned)
|
|
280
|
+
- **Storage**: SQLite server mode
|
|
281
|
+
- **Authentication**: API Key
|
|
282
|
+
- **Operation**: Docker single container
|
|
283
|
+
|
|
284
|
+
### M3: Organization Entry (Planned)
|
|
285
|
+
- **Storage**: PostgreSQL + pgvector
|
|
286
|
+
- **Authentication**: JWT
|
|
287
|
+
- **Operation**: Docker Compose
|
|
288
|
+
|
|
289
|
+
## ๐ค Contributing
|
|
290
|
+
|
|
291
|
+
1. Fork the Project
|
|
292
|
+
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
|
|
293
|
+
3. Commit your Changes (`git commit -m 'feat: add some AmazingFeature'`)
|
|
294
|
+
4. Push to the Branch (`git push origin feature/AmazingFeature`)
|
|
295
|
+
5. Open a Pull Request
|
|
296
|
+
|
|
297
|
+
### Development Environment Setup
|
|
298
|
+
```bash
|
|
299
|
+
# Fork and clone repository
|
|
300
|
+
git clone https://github.com/your-username/memento.git
|
|
301
|
+
cd memento
|
|
302
|
+
|
|
303
|
+
# Install dependencies
|
|
304
|
+
npm install
|
|
305
|
+
|
|
306
|
+
# Start development server
|
|
307
|
+
npm run dev
|
|
308
|
+
|
|
309
|
+
# Run tests
|
|
310
|
+
npm run test
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
## ๐ License
|
|
314
|
+
|
|
315
|
+
This project is distributed under the MIT License. See the `LICENSE` file for details.
|
|
316
|
+
|
|
317
|
+
## ๐ Support
|
|
318
|
+
|
|
319
|
+
- Issue Reports: [GitHub Issues](https://github.com/jee1/memento/issues)
|
|
320
|
+
- Documentation: [Wiki](https://github.com/jee1/memento/wiki)
|
|
321
|
+
- Developer Guide: [docs/en/developer-guide.md](docs/en/developer-guide.md)
|
|
322
|
+
- API Reference: [docs/en/api-reference.md](docs/en/api-reference.md)
|
|
323
|
+
|
|
324
|
+
## ๐ Acknowledgments
|
|
325
|
+
|
|
326
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP Protocol
|
|
327
|
+
- [OpenAI](https://openai.com/) - Embedding Service
|
|
328
|
+
- [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) - High-performance SQLite driver
|
|
329
|
+
- [Express](https://expressjs.com/) - Web framework
|
|
330
|
+
- [Vitest](https://vitest.dev/) - Testing framework
|
|
331
|
+
- [TypeScript](https://www.typescriptlang.org/) - Development language
|