memento-mcp-server 0.1.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/.cursor/rules/cache-management.mdc +171 -0
- package/.cursor/rules/database-schema.mdc +344 -0
- package/.cursor/rules/deployment.mdc +596 -0
- package/.cursor/rules/error-logging.mdc +298 -0
- package/.cursor/rules/forgetting-algorithms.mdc +426 -0
- package/.cursor/rules/http-server.mdc +432 -0
- package/.cursor/rules/hybrid-search.mdc +424 -0
- package/.cursor/rules/implementation.mdc +369 -0
- package/.cursor/rules/lightweight-embedding.mdc +178 -0
- 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 +205 -0
- package/.cursor/rules/memento-memory-rule.mdc +8 -0
- package/.cursor/rules/memento-project-overview.mdc +0 -0
- package/.cursor/rules/memory-algorithms.mdc +502 -0
- package/.cursor/rules/monitoring.mdc +622 -0
- package/.cursor/rules/performance-alerts.mdc +537 -0
- package/.cursor/rules/performance-monitoring.mdc +345 -0
- package/.cursor/rules/performance-optimization.mdc +563 -0
- package/.cursor/rules/project-structure.mdc +310 -0
- package/.cursor/rules/testing.mdc +473 -0
- package/.dockerignore +15 -0
- package/.eslintrc.json +34 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +51 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +45 -0
- package/.github/ISSUE_TEMPLATE/question.md +31 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +97 -0
- package/AGENTS.md +28 -0
- package/CHANGELOG.md +416 -0
- package/CODE_OF_CONDUCT.md +62 -0
- package/CONTRIBUTING.md +165 -0
- package/DOCKER_SETUP_GUIDE.md +84 -0
- package/Dockerfile +90 -0
- package/INSTALL.en.md +303 -0
- package/INSTALL.md +303 -0
- package/README.en.md +330 -0
- package/README.md +427 -0
- package/backup/legacy-removal-20250930-201816/http-server-legacy.ts +1068 -0
- package/backup/legacy-removal-20250930-201816/rollback-to-legacy.ps1 +46 -0
- package/backup/legacy-removal-20250930-201816/rollback-to-legacy.sh +48 -0
- package/dist/algorithms/forgetting-algorithm.d.ts +90 -0
- package/dist/algorithms/forgetting-algorithm.d.ts.map +1 -0
- package/dist/algorithms/forgetting-algorithm.js +160 -0
- package/dist/algorithms/forgetting-algorithm.js.map +1 -0
- package/dist/algorithms/hybrid-search-engine.d.ts +108 -0
- package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -0
- package/dist/algorithms/hybrid-search-engine.js +384 -0
- package/dist/algorithms/hybrid-search-engine.js.map +1 -0
- package/dist/algorithms/search-engine.d.ts +64 -0
- package/dist/algorithms/search-engine.d.ts.map +1 -0
- package/dist/algorithms/search-engine.js +304 -0
- package/dist/algorithms/search-engine.js.map +1 -0
- package/dist/algorithms/search-ranking.d.ts +145 -0
- package/dist/algorithms/search-ranking.d.ts.map +1 -0
- package/dist/algorithms/search-ranking.js +311 -0
- package/dist/algorithms/search-ranking.js.map +1 -0
- package/dist/algorithms/spaced-repetition.d.ts +83 -0
- package/dist/algorithms/spaced-repetition.d.ts.map +1 -0
- package/dist/algorithms/spaced-repetition.js +153 -0
- package/dist/algorithms/spaced-repetition.js.map +1 -0
- package/dist/algorithms/vector-search-engine.d.ts +96 -0
- package/dist/algorithms/vector-search-engine.d.ts.map +1 -0
- package/dist/algorithms/vector-search-engine.js +410 -0
- package/dist/algorithms/vector-search-engine.js.map +1 -0
- package/dist/client/index.d.ts +55 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +179 -0
- package/dist/client/index.js.map +1 -0
- package/dist/config/index.d.ts +20 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +87 -0
- package/dist/config/index.js.map +1 -0
- package/dist/database/init.d.ts +7 -0
- package/dist/database/init.d.ts.map +1 -0
- package/dist/database/init.js +117 -0
- package/dist/database/init.js.map +1 -0
- package/dist/database/migrate.d.ts +6 -0
- package/dist/database/migrate.d.ts.map +1 -0
- package/dist/database/migrate.js +84 -0
- package/dist/database/migrate.js.map +1 -0
- package/dist/database/schema.sql +159 -0
- package/dist/npm-client/context-injector.d.ts +106 -0
- package/dist/npm-client/context-injector.d.ts.map +1 -0
- package/dist/npm-client/context-injector.js +296 -0
- package/dist/npm-client/context-injector.js.map +1 -0
- package/dist/npm-client/index.d.ts +42 -0
- package/dist/npm-client/index.d.ts.map +1 -0
- package/dist/npm-client/index.js +43 -0
- package/dist/npm-client/index.js.map +1 -0
- package/dist/npm-client/memento-client.d.ts +114 -0
- package/dist/npm-client/memento-client.d.ts.map +1 -0
- package/dist/npm-client/memento-client.js +391 -0
- package/dist/npm-client/memento-client.js.map +1 -0
- package/dist/npm-client/memory-manager.d.ts +137 -0
- package/dist/npm-client/memory-manager.d.ts.map +1 -0
- package/dist/npm-client/memory-manager.js +341 -0
- package/dist/npm-client/memory-manager.js.map +1 -0
- package/dist/npm-client/types.d.ts +216 -0
- package/dist/npm-client/types.d.ts.map +1 -0
- package/dist/npm-client/types.js +44 -0
- package/dist/npm-client/types.js.map +1 -0
- package/dist/npm-client/utils.d.ts +91 -0
- package/dist/npm-client/utils.d.ts.map +1 -0
- package/dist/npm-client/utils.js +351 -0
- package/dist/npm-client/utils.js.map +1 -0
- package/dist/scripts/copy-assets.d.ts +3 -0
- package/dist/scripts/copy-assets.d.ts.map +1 -0
- package/dist/scripts/copy-assets.js +31 -0
- package/dist/scripts/copy-assets.js.map +1 -0
- package/dist/server/http-server.d.ts +28 -0
- package/dist/server/http-server.d.ts.map +1 -0
- package/dist/server/http-server.js +930 -0
- package/dist/server/http-server.js.map +1 -0
- package/dist/server/index-backup.d.ts +5 -0
- package/dist/server/index-backup.d.ts.map +1 -0
- package/dist/server/index-backup.js +793 -0
- package/dist/server/index-backup.js.map +1 -0
- package/dist/server/index-refactored.d.ts +6 -0
- package/dist/server/index-refactored.d.ts.map +1 -0
- package/dist/server/index-refactored.js +206 -0
- package/dist/server/index-refactored.js.map +1 -0
- package/dist/server/index.d.ts +12 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +301 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/simple-mcp-server.d.ts +8 -0
- package/dist/server/simple-mcp-server.d.ts.map +1 -0
- package/dist/server/simple-mcp-server.js +152 -0
- package/dist/server/simple-mcp-server.js.map +1 -0
- package/dist/services/async-optimizer.d.ts +136 -0
- package/dist/services/async-optimizer.d.ts.map +1 -0
- package/dist/services/async-optimizer.js +406 -0
- package/dist/services/async-optimizer.js.map +1 -0
- package/dist/services/batch-scheduler.d.ts +156 -0
- package/dist/services/batch-scheduler.d.ts.map +1 -0
- package/dist/services/batch-scheduler.js +612 -0
- package/dist/services/batch-scheduler.js.map +1 -0
- package/dist/services/cache-service.d.ts +168 -0
- package/dist/services/cache-service.d.ts.map +1 -0
- package/dist/services/cache-service.js +360 -0
- package/dist/services/cache-service.js.map +1 -0
- package/dist/services/database-optimizer.d.ts +110 -0
- package/dist/services/database-optimizer.d.ts.map +1 -0
- package/dist/services/database-optimizer.js +369 -0
- package/dist/services/database-optimizer.js.map +1 -0
- package/dist/services/embedding-provider-factory.d.ts +62 -0
- package/dist/services/embedding-provider-factory.d.ts.map +1 -0
- package/dist/services/embedding-provider-factory.js +152 -0
- package/dist/services/embedding-provider-factory.js.map +1 -0
- package/dist/services/embedding-service.d.ts +95 -0
- package/dist/services/embedding-service.d.ts.map +1 -0
- package/dist/services/embedding-service.js +276 -0
- package/dist/services/embedding-service.js.map +1 -0
- package/dist/services/error-logging-service.d.ts +134 -0
- package/dist/services/error-logging-service.d.ts.map +1 -0
- package/dist/services/error-logging-service.js +271 -0
- package/dist/services/error-logging-service.js.map +1 -0
- package/dist/services/forgetting-policy-service.d.ts +94 -0
- package/dist/services/forgetting-policy-service.d.ts.map +1 -0
- package/dist/services/forgetting-policy-service.js +233 -0
- package/dist/services/forgetting-policy-service.js.map +1 -0
- package/dist/services/gemini-embedding-service.d.ts +82 -0
- package/dist/services/gemini-embedding-service.d.ts.map +1 -0
- package/dist/services/gemini-embedding-service.js +232 -0
- package/dist/services/gemini-embedding-service.js.map +1 -0
- package/dist/services/lightweight-embedding-service.d.ts +95 -0
- package/dist/services/lightweight-embedding-service.d.ts.map +1 -0
- package/dist/services/lightweight-embedding-service.js +263 -0
- package/dist/services/lightweight-embedding-service.js.map +1 -0
- package/dist/services/memory-embedding-service.d.ts +69 -0
- package/dist/services/memory-embedding-service.d.ts.map +1 -0
- package/dist/services/memory-embedding-service.js +223 -0
- package/dist/services/memory-embedding-service.js.map +1 -0
- package/dist/services/minilm-embedding-service.d.ts +92 -0
- package/dist/services/minilm-embedding-service.d.ts.map +1 -0
- package/dist/services/minilm-embedding-service.js +216 -0
- package/dist/services/minilm-embedding-service.js.map +1 -0
- package/dist/services/performance-alert-service.d.ts +142 -0
- package/dist/services/performance-alert-service.d.ts.map +1 -0
- package/dist/services/performance-alert-service.js +366 -0
- package/dist/services/performance-alert-service.js.map +1 -0
- package/dist/services/performance-monitor.d.ts +144 -0
- package/dist/services/performance-monitor.d.ts.map +1 -0
- package/dist/services/performance-monitor.js +416 -0
- package/dist/services/performance-monitor.js.map +1 -0
- package/dist/services/performance-monitoring-integration.d.ts +77 -0
- package/dist/services/performance-monitoring-integration.d.ts.map +1 -0
- package/dist/services/performance-monitoring-integration.js +177 -0
- package/dist/services/performance-monitoring-integration.js.map +1 -0
- package/dist/services/unified-embedding-service.d.ts +75 -0
- package/dist/services/unified-embedding-service.d.ts.map +1 -0
- package/dist/services/unified-embedding-service.js +211 -0
- package/dist/services/unified-embedding-service.js.map +1 -0
- package/dist/test/debug-http-v2.d.ts +5 -0
- package/dist/test/debug-http-v2.d.ts.map +1 -0
- package/dist/test/debug-http-v2.js +28 -0
- package/dist/test/debug-http-v2.js.map +1 -0
- package/dist/test/performance-benchmark.d.ts +57 -0
- package/dist/test/performance-benchmark.d.ts.map +1 -0
- package/dist/test/performance-benchmark.js +427 -0
- package/dist/test/performance-benchmark.js.map +1 -0
- package/dist/test/test-alerts-direct.d.ts +7 -0
- package/dist/test/test-alerts-direct.d.ts.map +1 -0
- package/dist/test/test-alerts-direct.js +101 -0
- package/dist/test/test-alerts-direct.js.map +1 -0
- package/dist/test/test-batch-scheduler.d.ts +2 -0
- package/dist/test/test-batch-scheduler.d.ts.map +1 -0
- package/dist/test/test-batch-scheduler.js +156 -0
- package/dist/test/test-batch-scheduler.js.map +1 -0
- package/dist/test/test-client.d.ts +5 -0
- package/dist/test/test-client.d.ts.map +1 -0
- package/dist/test/test-client.js +86 -0
- package/dist/test/test-client.js.map +1 -0
- package/dist/test/test-embedding.d.ts +6 -0
- package/dist/test/test-embedding.d.ts.map +1 -0
- package/dist/test/test-embedding.js +142 -0
- package/dist/test/test-embedding.js.map +1 -0
- package/dist/test/test-error-logging.d.ts +7 -0
- package/dist/test/test-error-logging.d.ts.map +1 -0
- package/dist/test/test-error-logging.js +105 -0
- package/dist/test/test-error-logging.js.map +1 -0
- package/dist/test/test-forgetting.d.ts +6 -0
- package/dist/test/test-forgetting.d.ts.map +1 -0
- package/dist/test/test-forgetting.js +154 -0
- package/dist/test/test-forgetting.js.map +1 -0
- package/dist/test/test-gemini-embedding.d.ts +7 -0
- package/dist/test/test-gemini-embedding.d.ts.map +1 -0
- package/dist/test/test-gemini-embedding.js +134 -0
- package/dist/test/test-gemini-embedding.js.map +1 -0
- package/dist/test/test-http-server-v2-simple.d.ts +6 -0
- package/dist/test/test-http-server-v2-simple.d.ts.map +1 -0
- package/dist/test/test-http-server-v2-simple.js +131 -0
- package/dist/test/test-http-server-v2-simple.js.map +1 -0
- package/dist/test/test-http-server-v2.d.ts +7 -0
- package/dist/test/test-http-server-v2.d.ts.map +1 -0
- package/dist/test/test-http-server-v2.js +529 -0
- package/dist/test/test-http-server-v2.js.map +1 -0
- package/dist/test/test-lightweight-embedding.d.ts +6 -0
- package/dist/test/test-lightweight-embedding.d.ts.map +1 -0
- package/dist/test/test-lightweight-embedding.js +189 -0
- package/dist/test/test-lightweight-embedding.js.map +1 -0
- package/dist/test/test-m1-completion.d.ts +7 -0
- package/dist/test/test-m1-completion.d.ts.map +1 -0
- package/dist/test/test-m1-completion.js +124 -0
- package/dist/test/test-m1-completion.js.map +1 -0
- package/dist/test/test-memory-injection-prompt.d.ts +2 -0
- package/dist/test/test-memory-injection-prompt.d.ts.map +1 -0
- package/dist/test/test-memory-injection-prompt.js +299 -0
- package/dist/test/test-memory-injection-prompt.js.map +1 -0
- package/dist/test/test-performance-alerts.d.ts +7 -0
- package/dist/test/test-performance-alerts.d.ts.map +1 -0
- package/dist/test/test-performance-alerts.js +109 -0
- package/dist/test/test-performance-alerts.js.map +1 -0
- package/dist/test/test-performance-monitor.d.ts +2 -0
- package/dist/test/test-performance-monitor.d.ts.map +1 -0
- package/dist/test/test-performance-monitor.js +182 -0
- package/dist/test/test-performance-monitor.js.map +1 -0
- package/dist/test/test-performance-monitoring.d.ts +6 -0
- package/dist/test/test-performance-monitoring.d.ts.map +1 -0
- package/dist/test/test-performance-monitoring.js +156 -0
- package/dist/test/test-performance-monitoring.js.map +1 -0
- package/dist/test/test-search.d.ts +5 -0
- package/dist/test/test-search.d.ts.map +1 -0
- package/dist/test/test-search.js +141 -0
- package/dist/test/test-search.js.map +1 -0
- package/dist/test/test-simple-alerts.d.ts +6 -0
- package/dist/test/test-simple-alerts.d.ts.map +1 -0
- package/dist/test/test-simple-alerts.js +106 -0
- package/dist/test/test-simple-alerts.js.map +1 -0
- package/dist/test/test-vector-search-engine.d.ts +2 -0
- package/dist/test/test-vector-search-engine.d.ts.map +1 -0
- package/dist/test/test-vector-search-engine.js +225 -0
- package/dist/test/test-vector-search-engine.js.map +1 -0
- package/dist/tools/base-tool.d.ts +64 -0
- package/dist/tools/base-tool.d.ts.map +1 -0
- package/dist/tools/base-tool.js +158 -0
- package/dist/tools/base-tool.js.map +1 -0
- package/dist/tools/cleanup-memory-tool.d.ts +10 -0
- package/dist/tools/cleanup-memory-tool.d.ts.map +1 -0
- package/dist/tools/cleanup-memory-tool.js +66 -0
- package/dist/tools/cleanup-memory-tool.js.map +1 -0
- package/dist/tools/database-optimize-tool.d.ts +10 -0
- package/dist/tools/database-optimize-tool.d.ts.map +1 -0
- package/dist/tools/database-optimize-tool.js +64 -0
- package/dist/tools/database-optimize-tool.js.map +1 -0
- package/dist/tools/error-stats.d.ts +93 -0
- package/dist/tools/error-stats.d.ts.map +1 -0
- package/dist/tools/error-stats.js +115 -0
- package/dist/tools/error-stats.js.map +1 -0
- package/dist/tools/forget-tool.d.ts +63 -0
- package/dist/tools/forget-tool.d.ts.map +1 -0
- package/dist/tools/forget-tool.js +340 -0
- package/dist/tools/forget-tool.js.map +1 -0
- package/dist/tools/forgetting-stats-tool.d.ts +10 -0
- package/dist/tools/forgetting-stats-tool.d.ts.map +1 -0
- package/dist/tools/forgetting-stats-tool.js +37 -0
- package/dist/tools/forgetting-stats-tool.js.map +1 -0
- package/dist/tools/index.d.ts +33 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +55 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory-injection-prompt.d.ts +31 -0
- package/dist/tools/memory-injection-prompt.d.ts.map +1 -0
- package/dist/tools/memory-injection-prompt.js +203 -0
- package/dist/tools/memory-injection-prompt.js.map +1 -0
- package/dist/tools/performance-alerts.d.ts +127 -0
- package/dist/tools/performance-alerts.d.ts.map +1 -0
- package/dist/tools/performance-alerts.js +208 -0
- package/dist/tools/performance-alerts.js.map +1 -0
- package/dist/tools/performance-stats-tool.d.ts +10 -0
- package/dist/tools/performance-stats-tool.d.ts.map +1 -0
- package/dist/tools/performance-stats-tool.js +38 -0
- package/dist/tools/performance-stats-tool.js.map +1 -0
- package/dist/tools/pin-tool.d.ts +39 -0
- package/dist/tools/pin-tool.d.ts.map +1 -0
- package/dist/tools/pin-tool.js +211 -0
- package/dist/tools/pin-tool.js.map +1 -0
- package/dist/tools/recall-tool.d.ts +27 -0
- package/dist/tools/recall-tool.d.ts.map +1 -0
- package/dist/tools/recall-tool.js +335 -0
- package/dist/tools/recall-tool.js.map +1 -0
- package/dist/tools/remember-tool.d.ts +10 -0
- package/dist/tools/remember-tool.d.ts.map +1 -0
- package/dist/tools/remember-tool.js +101 -0
- package/dist/tools/remember-tool.js.map +1 -0
- package/dist/tools/resolve-error.d.ts +54 -0
- package/dist/tools/resolve-error.d.ts.map +1 -0
- package/dist/tools/resolve-error.js +63 -0
- package/dist/tools/resolve-error.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +134 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +337 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/types.d.ts +56 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +23 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/unpin-tool.d.ts +43 -0
- package/dist/tools/unpin-tool.d.ts.map +1 -0
- package/dist/tools/unpin-tool.js +233 -0
- package/dist/tools/unpin-tool.js.map +1 -0
- package/dist/types/embedding.types.d.ts +65 -0
- package/dist/types/embedding.types.d.ts.map +1 -0
- package/dist/types/embedding.types.js +6 -0
- package/dist/types/embedding.types.js.map +1 -0
- package/dist/types/index.d.ts +103 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/database.d.ts +62 -0
- package/dist/utils/database.d.ts.map +1 -0
- package/dist/utils/database.js +399 -0
- package/dist/utils/database.js.map +1 -0
- package/dist/utils/stopwords.d.ts +18 -0
- package/dist/utils/stopwords.d.ts.map +1 -0
- package/dist/utils/stopwords.js +117 -0
- package/dist/utils/stopwords.js.map +1 -0
- package/docker-compose.dev.yml +50 -0
- package/docker-compose.prod.yml +77 -0
- package/docker-compose.yml +43 -0
- package/docs/en/Memento-Goals.md +217 -0
- package/docs/en/Memento-M1-DetailSpecs.md +130 -0
- package/docs/en/Memento-Milestones.md +135 -0
- package/docs/en/Search-Ranking-Memory-Decay-Formulas.md +177 -0
- package/docs/en/api-reference.md +658 -0
- package/docs/en/architecture.md +1302 -0
- package/docs/en/developer-guide.md +1005 -0
- package/docs/en/user-manual.md +595 -0
- package/docs/ko/Memento-Goals.md +217 -0
- package/docs/ko/Memento-M1-DetailSpecs.md +130 -0
- package/docs/ko/Memento-Milestones.md +134 -0
- package/docs/ko/Search-Ranking-Memory-Decay-Formulas.md +177 -0
- package/docs/ko/api-reference.md +658 -0
- package/docs/ko/architecture.md +1302 -0
- package/docs/ko/developer-guide.md +1006 -0
- package/docs/ko/embedding-api-reference.md +122 -0
- package/docs/ko/embedding-configuration.md +62 -0
- package/docs/ko/embedding-performance-benchmark.md +62 -0
- package/docs/ko/embedding-service-guide.md +314 -0
- package/docs/ko/user-manual.md +595 -0
- package/env.example +49 -0
- package/install.sh +191 -0
- package/mcp-http-client.js +218 -0
- package/mcp.json +0 -0
- package/package.json +125 -0
- package/packages/mcp-client/docs/API-REFERENCE.md +560 -0
- package/packages/mcp-client/docs/BEST-PRACTICES.md +564 -0
- package/packages/mcp-client/docs/MIGRATION-GUIDE.md +344 -0
- package/packages/mcp-client/docs/PERFORMANCE-GUIDE.md +476 -0
- package/packages/mcp-client/docs/TROUBLESHOOTING.md +564 -0
- package/packages/mcp-client/package-lock.json +907 -0
- package/packages/mcp-client/package.json +58 -0
- package/packages/mcp-client/performance-optimizer.js +428 -0
- package/packages/mcp-client/test-basic.js +65 -0
- package/packages/mcp-client/test-integration.js +366 -0
- package/scripts/auto-setup.js +234 -0
- package/scripts/backup-daily.bat +28 -0
- package/scripts/backup-embeddings.js +108 -0
- package/scripts/check-db-integrity.js +93 -0
- package/scripts/debug-embeddings.js +184 -0
- package/scripts/direct-sql-migration.sql +36 -0
- package/scripts/docker-migration.sh +105 -0
- package/scripts/fix-migration.js +93 -0
- package/scripts/fix-vector-dimensions.js +206 -0
- package/scripts/migrate-embedding-data.js +307 -0
- package/scripts/regenerate-embeddings.js +144 -0
- package/scripts/restore-legacy.ps1 +60 -0
- package/scripts/restore-legacy.sh +62 -0
- package/scripts/run-migration.js +122 -0
- package/scripts/safe-migration.js +150 -0
- package/scripts/simple-migrate.js +41 -0
- package/scripts/simple-update.js +123 -0
- package/scripts/start-container.sh +10 -0
- package/src/algorithms/forgetting-algorithm.spec.ts +538 -0
- package/src/algorithms/forgetting-algorithm.ts +243 -0
- package/src/algorithms/hybrid-search-engine.spec.ts +484 -0
- package/src/algorithms/hybrid-search-engine.ts +489 -0
- package/src/algorithms/search-engine.spec.ts +429 -0
- package/src/algorithms/search-engine.ts +392 -0
- package/src/algorithms/search-ranking.spec.ts +293 -0
- package/src/algorithms/search-ranking.ts +407 -0
- package/src/algorithms/spaced-repetition.spec.ts +510 -0
- package/src/algorithms/spaced-repetition.ts +238 -0
- package/src/algorithms/vector-search-engine.ts +505 -0
- package/src/client/index.spec.ts +427 -0
- package/src/client/index.ts +222 -0
- package/src/config/index.spec.ts +339 -0
- package/src/config/index.ts +106 -0
- package/src/database/init.spec.ts +239 -0
- package/src/database/init.ts +130 -0
- package/src/database/migrate.spec.ts +293 -0
- package/src/database/migrate.ts +94 -0
- package/src/database/migrations/001_add_embedding_metadata.sql +29 -0
- package/src/database/schema.sql +159 -0
- package/src/npm-client/context-injector.spec.ts +335 -0
- package/src/npm-client/context-injector.ts +412 -0
- package/src/npm-client/index.spec.ts +108 -0
- package/src/npm-client/index.ts +96 -0
- package/src/npm-client/memento-client.spec.ts +549 -0
- package/src/npm-client/memento-client.ts +501 -0
- package/src/npm-client/memory-manager.spec.ts +374 -0
- package/src/npm-client/memory-manager.ts +414 -0
- package/src/npm-client/types.spec.ts +427 -0
- package/src/npm-client/types.ts +296 -0
- package/src/npm-client/utils.spec.ts +355 -0
- package/src/npm-client/utils.ts +423 -0
- package/src/scripts/copy-assets.js +37 -0
- package/src/server/http-server.spec.ts +648 -0
- package/src/server/http-server.ts +1030 -0
- package/src/server/index-backup.ts +875 -0
- package/src/server/index-refactored.ts +237 -0
- package/src/server/index.spec.ts +281 -0
- package/src/server/index.ts +347 -0
- package/src/server/simple-mcp-server.spec.ts +207 -0
- package/src/server/simple-mcp-server.ts +173 -0
- package/src/services/async-optimizer.spec.ts +569 -0
- package/src/services/async-optimizer.ts +484 -0
- package/src/services/batch-scheduler.ts +759 -0
- package/src/services/cache-service.spec.ts +372 -0
- package/src/services/cache-service.ts +434 -0
- package/src/services/database-optimizer.spec.ts +344 -0
- package/src/services/database-optimizer.ts +450 -0
- package/src/services/embedding-provider-factory.ts +173 -0
- package/src/services/embedding-service.spec.ts +342 -0
- package/src/services/embedding-service.ts +333 -0
- package/src/services/error-logging-service.spec.ts +416 -0
- package/src/services/error-logging-service.ts +383 -0
- package/src/services/forgetting-policy-service.spec.ts +140 -0
- package/src/services/forgetting-policy-service.ts +334 -0
- package/src/services/gemini-embedding-service.spec.ts +463 -0
- package/src/services/gemini-embedding-service.ts +283 -0
- package/src/services/lightweight-embedding-service.spec.ts +458 -0
- package/src/services/lightweight-embedding-service.ts +324 -0
- package/src/services/memory-embedding-service.spec.ts +417 -0
- package/src/services/memory-embedding-service.ts +289 -0
- package/src/services/minilm-embedding-service.spec.ts +104 -0
- package/src/services/minilm-embedding-service.ts +262 -0
- package/src/services/performance-alert-service.spec.ts +517 -0
- package/src/services/performance-alert-service.ts +477 -0
- package/src/services/performance-monitor.spec.ts +401 -0
- package/src/services/performance-monitor.ts +532 -0
- package/src/services/performance-monitoring-integration.spec.ts +478 -0
- package/src/services/performance-monitoring-integration.ts.bak +276 -0
- package/src/services/unified-embedding-service.spec.ts +224 -0
- package/src/services/unified-embedding-service.ts +255 -0
- package/src/test/debug-http-v2.ts +30 -0
- package/src/test/embedding-integration-test.spec.ts +295 -0
- package/src/test/embedding-integration-test.ts +295 -0
- package/src/test/embedding-performance-benchmark.spec.ts +354 -0
- package/src/test/embedding-performance-benchmark.ts +312 -0
- package/src/test/performance-benchmark.ts +565 -0
- package/src/test/test-alerts-direct.ts +136 -0
- package/src/test/test-batch-scheduler-simple.spec.ts +122 -0
- package/src/test/test-batch-scheduler.spec.ts +453 -0
- package/src/test/test-batch-scheduler.ts +182 -0
- package/src/test/test-client.ts +97 -0
- package/src/test/test-embedding.ts +153 -0
- package/src/test/test-error-handling.spec.ts +575 -0
- package/src/test/test-error-logging.ts +117 -0
- package/src/test/test-forgetting.ts +162 -0
- package/src/test/test-gemini-embedding.ts +159 -0
- package/src/test/test-http-server-v2-simple.ts +147 -0
- package/src/test/test-http-server-v2.ts +586 -0
- package/src/test/test-hybrid-search-engine.spec.ts +521 -0
- package/src/test/test-integration-fixed.spec.ts +612 -0
- package/src/test/test-integration.spec.ts +463 -0
- package/src/test/test-lightweight-embedding.ts +208 -0
- package/src/test/test-m1-completion.spec.ts +614 -0
- package/src/test/test-m1-completion.ts +141 -0
- package/src/test/test-m1-integration.spec.ts +514 -0
- package/src/test/test-memory-injection-prompt.spec.ts +650 -0
- package/src/test/test-memory-injection-prompt.ts +391 -0
- package/src/test/test-performance-alerts.ts +125 -0
- package/src/test/test-performance-monitor-updates.spec.ts +490 -0
- package/src/test/test-performance-monitor.spec.ts +284 -0
- package/src/test/test-performance-monitor.ts +228 -0
- package/src/test/test-performance-monitoring.ts +171 -0
- package/src/test/test-search.ts +151 -0
- package/src/test/test-simple-alerts.ts +136 -0
- package/src/test/test-vector-search-engine.spec.ts +408 -0
- package/src/test/test-vector-search-engine.ts +303 -0
- package/src/tools/base-tool.ts +189 -0
- package/src/tools/cleanup-memory-tool.ts +77 -0
- package/src/tools/database-optimize-tool.ts +79 -0
- package/src/tools/error-stats.ts +119 -0
- package/src/tools/forget-tool.spec.ts +613 -0
- package/src/tools/forget-tool.ts +454 -0
- package/src/tools/forgetting-stats-tool.ts +47 -0
- package/src/tools/index.ts +71 -0
- package/src/tools/memory-injection-prompt.ts +257 -0
- package/src/tools/performance-alerts.ts +226 -0
- package/src/tools/performance-stats-tool.ts +48 -0
- package/src/tools/pin-tool.spec.ts +497 -0
- package/src/tools/pin-tool.ts +277 -0
- package/src/tools/recall-tool.spec.ts +475 -0
- package/src/tools/recall-tool.ts +389 -0
- package/src/tools/remember-tool.spec.ts +469 -0
- package/src/tools/remember-tool.ts +112 -0
- package/src/tools/resolve-error.ts +69 -0
- package/src/tools/tool-registry.ts +417 -0
- package/src/tools/types.ts +63 -0
- package/src/tools/unpin-tool.spec.ts +549 -0
- package/src/tools/unpin-tool.ts +306 -0
- package/src/types/embedding.types.ts +78 -0
- package/src/types/index.spec.ts +420 -0
- package/src/types/index.ts +117 -0
- package/src/utils/database.spec.ts +77 -0
- package/src/utils/database.ts +458 -0
- package/src/utils/stopwords.ts +128 -0
- package/start-docker-setup.bat +38 -0
- package/static/logo.png +0 -0
- package/static/memento_logo.svg +2 -0
- package/test-docker.js +103 -0
- package/tsconfig.json +46 -0
- package/vitest.config.ts +23 -0
|
@@ -0,0 +1,658 @@
|
|
|
1
|
+
# API Reference Documentation
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Memento MCP Server communicates with AI Agents through the Model Context Protocol (MCP). This document provides detailed API reference for all available Tools, Resources, and Prompts.
|
|
6
|
+
|
|
7
|
+
## 🔄 Lightweight Hybrid Embedding
|
|
8
|
+
|
|
9
|
+
### Lightweight Embedding Service
|
|
10
|
+
|
|
11
|
+
A fallback solution used when OpenAI API is not available.
|
|
12
|
+
|
|
13
|
+
**Features:**
|
|
14
|
+
- **TF-IDF + Keyword Matching**: Generates fixed 512-dimensional vectors
|
|
15
|
+
- **Multilingual Support**: Korean/English stopword removal and text preprocessing
|
|
16
|
+
- **Cosine Similarity**: Search through vector similarity calculations
|
|
17
|
+
- **Transparent Interface**: Provides same interface as existing embedding API
|
|
18
|
+
|
|
19
|
+
**Automatic Fallback:**
|
|
20
|
+
- Automatically switches to lightweight service when OpenAI API fails in `EmbeddingService`
|
|
21
|
+
- Works transparently without code changes
|
|
22
|
+
|
|
23
|
+
**Performance Characteristics:**
|
|
24
|
+
- **Fast Processing**: Quick response through local TF-IDF calculation
|
|
25
|
+
- **Memory Efficient**: Lightweight implementation without pre-trained models
|
|
26
|
+
- **Accuracy**: Specialized accuracy for keyword-based search
|
|
27
|
+
|
|
28
|
+
### Performance Monitoring Tools
|
|
29
|
+
|
|
30
|
+
#### get_performance_metrics
|
|
31
|
+
|
|
32
|
+
Retrieves system performance metrics.
|
|
33
|
+
|
|
34
|
+
**Parameters:**
|
|
35
|
+
```typescript
|
|
36
|
+
{
|
|
37
|
+
timeRange?: '1h' | '24h' | '7d' | '30d'; // Time range
|
|
38
|
+
includeDetails?: boolean; // Include detailed information
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Response:**
|
|
43
|
+
```typescript
|
|
44
|
+
{
|
|
45
|
+
success: boolean;
|
|
46
|
+
result: {
|
|
47
|
+
database: {
|
|
48
|
+
totalMemories: number;
|
|
49
|
+
memoryByType: Record<string, number>;
|
|
50
|
+
averageMemorySize: number;
|
|
51
|
+
databaseSize: number;
|
|
52
|
+
queryPerformance: {
|
|
53
|
+
averageQueryTime: number;
|
|
54
|
+
slowQueries: Array<{ query: string; time: number; count: number }>;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
search: {
|
|
58
|
+
totalSearches: number;
|
|
59
|
+
averageSearchTime: number;
|
|
60
|
+
cacheHitRate: number;
|
|
61
|
+
embeddingSearchRate: number;
|
|
62
|
+
};
|
|
63
|
+
memory: {
|
|
64
|
+
usage: number;
|
|
65
|
+
heapUsed: number;
|
|
66
|
+
heapTotal: number;
|
|
67
|
+
rss: number;
|
|
68
|
+
};
|
|
69
|
+
system: {
|
|
70
|
+
uptime: number;
|
|
71
|
+
cpuUsage: number;
|
|
72
|
+
loadAverage: number[];
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### get_cache_stats
|
|
79
|
+
|
|
80
|
+
Retrieves cache system statistics.
|
|
81
|
+
|
|
82
|
+
**Parameters:**
|
|
83
|
+
```typescript
|
|
84
|
+
{
|
|
85
|
+
cacheType?: 'search' | 'embedding' | 'all'; // Cache type
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Response:**
|
|
90
|
+
```typescript
|
|
91
|
+
{
|
|
92
|
+
success: boolean;
|
|
93
|
+
result: {
|
|
94
|
+
hits: number;
|
|
95
|
+
misses: number;
|
|
96
|
+
totalRequests: number;
|
|
97
|
+
hitRate: number;
|
|
98
|
+
size: number;
|
|
99
|
+
memoryUsage: number;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### clear_cache
|
|
105
|
+
|
|
106
|
+
Initializes cache.
|
|
107
|
+
|
|
108
|
+
**Parameters:**
|
|
109
|
+
```typescript
|
|
110
|
+
{
|
|
111
|
+
cacheType?: 'search' | 'embedding' | 'all'; // Cache type
|
|
112
|
+
pattern?: string; // Pattern to remove (regex)
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Response:**
|
|
117
|
+
```typescript
|
|
118
|
+
{
|
|
119
|
+
success: boolean;
|
|
120
|
+
result: {
|
|
121
|
+
clearedCount: number; // Number of removed items
|
|
122
|
+
remainingCount: number; // Number of remaining items
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
#### optimize_database
|
|
128
|
+
|
|
129
|
+
Optimizes database performance.
|
|
130
|
+
|
|
131
|
+
**Parameters:**
|
|
132
|
+
```typescript
|
|
133
|
+
{
|
|
134
|
+
actions?: ('analyze' | 'index' | 'vacuum' | 'all')[]; // Actions to perform
|
|
135
|
+
autoCreateIndexes?: boolean; // Auto create indexes
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Response:**
|
|
140
|
+
```typescript
|
|
141
|
+
{
|
|
142
|
+
success: boolean;
|
|
143
|
+
result: {
|
|
144
|
+
analyzedQueries: number;
|
|
145
|
+
createdIndexes: number;
|
|
146
|
+
optimizedTables: number;
|
|
147
|
+
recommendations: Array<{
|
|
148
|
+
type: 'index' | 'query' | 'table';
|
|
149
|
+
priority: 'high' | 'medium' | 'low';
|
|
150
|
+
description: string;
|
|
151
|
+
estimatedImprovement: string;
|
|
152
|
+
}>;
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## MCP Tools (Core 5 Only)
|
|
158
|
+
|
|
159
|
+
> **Important**: MCP client only exposes 5 core memory management functions.
|
|
160
|
+
> Management functions are separated into HTTP API endpoints.
|
|
161
|
+
> See [Administrator API](#administrator-api) section for details.
|
|
162
|
+
|
|
163
|
+
### remember
|
|
164
|
+
|
|
165
|
+
Tool for storing memories.
|
|
166
|
+
|
|
167
|
+
#### Parameters
|
|
168
|
+
|
|
169
|
+
```typescript
|
|
170
|
+
interface RememberParams {
|
|
171
|
+
content: string; // Content to remember (required)
|
|
172
|
+
type?: 'working' | 'episodic' | 'semantic' | 'procedural'; // Memory type (default: 'episodic')
|
|
173
|
+
tags?: string[]; // Tag array (optional)
|
|
174
|
+
importance?: number; // Importance (0-1, default: 0.5)
|
|
175
|
+
source?: string; // Source (optional)
|
|
176
|
+
privacy_scope?: 'private' | 'team' | 'public'; // Privacy scope (default: 'private')
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
#### Response
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
interface RememberResult {
|
|
184
|
+
memory_id: string; // Unique ID of created memory
|
|
185
|
+
created_at: string; // Creation time (ISO 8601)
|
|
186
|
+
type: string; // Memory type
|
|
187
|
+
importance: number; // Importance
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
#### Usage Example
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
// Using the actually implemented client
|
|
195
|
+
import { createMementoClient } from './src/client/index.js';
|
|
196
|
+
|
|
197
|
+
const client = createMementoClient();
|
|
198
|
+
await client.connect();
|
|
199
|
+
|
|
200
|
+
// Basic usage
|
|
201
|
+
const result = await client.callTool('remember', {
|
|
202
|
+
content: "User asked about React Hooks and I explained the difference between useState and useEffect."
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
// Advanced usage
|
|
206
|
+
const result = await client.callTool('remember', {
|
|
207
|
+
content: "Decided to introduce TypeScript in the project.",
|
|
208
|
+
type: 'episodic',
|
|
209
|
+
tags: ['typescript', 'decision', 'project'],
|
|
210
|
+
importance: 0.8,
|
|
211
|
+
source: 'meeting-notes',
|
|
212
|
+
privacy_scope: 'team'
|
|
213
|
+
});
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### recall
|
|
217
|
+
|
|
218
|
+
Tool for searching memories.
|
|
219
|
+
|
|
220
|
+
#### Parameters
|
|
221
|
+
|
|
222
|
+
```typescript
|
|
223
|
+
interface RecallParams {
|
|
224
|
+
query: string; // Search query (required)
|
|
225
|
+
filters?: {
|
|
226
|
+
type?: ('episodic' | 'semantic')[]; // Memory type filter
|
|
227
|
+
tags?: string[]; // Tag filter
|
|
228
|
+
project_id?: string; // Project ID filter
|
|
229
|
+
time_from?: string; // Start time (ISO 8601)
|
|
230
|
+
time_to?: string; // End time (ISO 8601)
|
|
231
|
+
};
|
|
232
|
+
limit?: number; // Result limit (default: 8)
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
#### Response
|
|
237
|
+
|
|
238
|
+
```typescript
|
|
239
|
+
interface RecallResult {
|
|
240
|
+
items: MemoryItem[]; // List of found memories
|
|
241
|
+
total_count: number; // Total result count
|
|
242
|
+
query_time: number; // Search time (ms)
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
interface MemoryItem {
|
|
246
|
+
id: string; // Memory ID
|
|
247
|
+
content: string; // Memory content
|
|
248
|
+
type: string; // Memory type
|
|
249
|
+
importance: number; // Importance
|
|
250
|
+
created_at: string; // Creation time
|
|
251
|
+
last_accessed: string; // Last access time
|
|
252
|
+
pinned: boolean; // Pinned status
|
|
253
|
+
score: number; // Search score
|
|
254
|
+
recall_reason: string; // Search reason
|
|
255
|
+
tags?: string[]; // Tags
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
#### Usage Example
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
// Basic search
|
|
263
|
+
const result = await client.callTool('recall', {
|
|
264
|
+
query: "React Hook usage"
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
// Filtered search
|
|
268
|
+
const result = await client.callTool('recall', {
|
|
269
|
+
query: "TypeScript",
|
|
270
|
+
filters: {
|
|
271
|
+
type: ['episodic', 'semantic'],
|
|
272
|
+
tags: ['javascript', 'programming'],
|
|
273
|
+
time_from: '2024-01-01T00:00:00Z'
|
|
274
|
+
},
|
|
275
|
+
limit: 10
|
|
276
|
+
});
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### pin / unpin
|
|
280
|
+
|
|
281
|
+
Tool for pinning or unpinning memories.
|
|
282
|
+
|
|
283
|
+
#### pin Parameters
|
|
284
|
+
|
|
285
|
+
```typescript
|
|
286
|
+
interface PinParams {
|
|
287
|
+
memory_id: string; // Memory ID to pin (required)
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
#### unpin Parameters
|
|
292
|
+
|
|
293
|
+
```typescript
|
|
294
|
+
interface UnpinParams {
|
|
295
|
+
memory_id: string; // Memory ID to unpin (required)
|
|
296
|
+
}
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
#### Response
|
|
300
|
+
|
|
301
|
+
```typescript
|
|
302
|
+
interface PinResult {
|
|
303
|
+
success: boolean; // Success status
|
|
304
|
+
memory_id: string; // Memory ID
|
|
305
|
+
pinned: boolean; // Pinned status
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
#### Usage Example
|
|
310
|
+
|
|
311
|
+
```typescript
|
|
312
|
+
// Pin memory
|
|
313
|
+
const result = await client.callTool('pin', {
|
|
314
|
+
memory_id: 'memory-123'
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
// Unpin memory
|
|
318
|
+
const result = await client.callTool('unpin', {
|
|
319
|
+
memory_id: 'memory-123'
|
|
320
|
+
});
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### forget
|
|
324
|
+
|
|
325
|
+
Tool for deleting memories.
|
|
326
|
+
|
|
327
|
+
#### Parameters
|
|
328
|
+
|
|
329
|
+
```typescript
|
|
330
|
+
interface ForgetParams {
|
|
331
|
+
memory_id: string; // Memory ID to delete (required)
|
|
332
|
+
hard?: boolean; // Hard delete flag (default: false)
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
#### Response
|
|
337
|
+
|
|
338
|
+
```typescript
|
|
339
|
+
interface ForgetResult {
|
|
340
|
+
success: boolean; // Success status
|
|
341
|
+
memory_id: string; // Deleted memory ID
|
|
342
|
+
deleted_at: string; // Deletion time
|
|
343
|
+
}
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
#### Usage Example
|
|
347
|
+
|
|
348
|
+
```typescript
|
|
349
|
+
// Soft delete (default)
|
|
350
|
+
const result = await client.callTool('forget', {
|
|
351
|
+
memory_id: 'memory-123'
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
// Hard delete
|
|
355
|
+
const result = await client.callTool('forget', {
|
|
356
|
+
memory_id: 'memory-123',
|
|
357
|
+
hard: true
|
|
358
|
+
});
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
## Administrator API
|
|
362
|
+
|
|
363
|
+
> **Note**: The following functions have been removed from MCP client and separated into HTTP API endpoints.
|
|
364
|
+
|
|
365
|
+
### Memory Management API
|
|
366
|
+
|
|
367
|
+
#### Memory Cleanup
|
|
368
|
+
```http
|
|
369
|
+
POST /admin/memory/cleanup
|
|
370
|
+
```
|
|
371
|
+
Cleans up memories.
|
|
372
|
+
|
|
373
|
+
**Response:**
|
|
374
|
+
```json
|
|
375
|
+
{
|
|
376
|
+
"message": "Memory cleanup completed"
|
|
377
|
+
}
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
#### Forgetting Statistics
|
|
381
|
+
```http
|
|
382
|
+
GET /admin/stats/forgetting
|
|
383
|
+
```
|
|
384
|
+
Retrieves forgetting statistics.
|
|
385
|
+
|
|
386
|
+
**Response:**
|
|
387
|
+
```json
|
|
388
|
+
{
|
|
389
|
+
"message": "Forgetting statistics retrieved"
|
|
390
|
+
}
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### Performance Monitoring API
|
|
394
|
+
|
|
395
|
+
#### Performance Statistics
|
|
396
|
+
```http
|
|
397
|
+
GET /admin/stats/performance
|
|
398
|
+
```
|
|
399
|
+
Retrieves performance statistics.
|
|
400
|
+
|
|
401
|
+
**Response:**
|
|
402
|
+
```json
|
|
403
|
+
{
|
|
404
|
+
"message": "Performance statistics retrieved"
|
|
405
|
+
}
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
#### Performance Alerts
|
|
409
|
+
```http
|
|
410
|
+
GET /admin/alerts/performance
|
|
411
|
+
```
|
|
412
|
+
Retrieves performance alerts.
|
|
413
|
+
|
|
414
|
+
**Response:**
|
|
415
|
+
```json
|
|
416
|
+
{
|
|
417
|
+
"message": "Performance alerts retrieved"
|
|
418
|
+
}
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### Error Management API
|
|
422
|
+
|
|
423
|
+
#### Error Statistics
|
|
424
|
+
```http
|
|
425
|
+
GET /admin/stats/errors
|
|
426
|
+
```
|
|
427
|
+
Retrieves error statistics.
|
|
428
|
+
|
|
429
|
+
**Response:**
|
|
430
|
+
```json
|
|
431
|
+
{
|
|
432
|
+
"message": "Error statistics retrieved"
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
#### Error Resolution
|
|
437
|
+
```http
|
|
438
|
+
POST /admin/errors/resolve
|
|
439
|
+
Content-Type: application/json
|
|
440
|
+
|
|
441
|
+
{
|
|
442
|
+
"errorId": "error-123",
|
|
443
|
+
"resolvedBy": "admin",
|
|
444
|
+
"reason": "Database connection issue resolved"
|
|
445
|
+
}
|
|
446
|
+
```
|
|
447
|
+
Marks error as resolved.
|
|
448
|
+
|
|
449
|
+
**Response:**
|
|
450
|
+
```json
|
|
451
|
+
{
|
|
452
|
+
"message": "Error resolution completed"
|
|
453
|
+
}
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
### Database Management API
|
|
457
|
+
|
|
458
|
+
#### Database Optimization
|
|
459
|
+
```http
|
|
460
|
+
POST /admin/database/optimize
|
|
461
|
+
```
|
|
462
|
+
Optimizes database.
|
|
463
|
+
|
|
464
|
+
**Response:**
|
|
465
|
+
```json
|
|
466
|
+
{
|
|
467
|
+
"message": "Database optimization completed"
|
|
468
|
+
}
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
## Removed MCP Tools
|
|
472
|
+
|
|
473
|
+
The following tools have been removed from MCP client:
|
|
474
|
+
|
|
475
|
+
- `hybrid_search` - Hybrid search (replaced by basic `recall`)
|
|
476
|
+
- `summarize_thread` - Session summary (planned for future implementation)
|
|
477
|
+
- `link` - Memory relationship creation (planned for future implementation)
|
|
478
|
+
- `export` - Memory export (planned for future implementation)
|
|
479
|
+
- `feedback` - Feedback provision (planned for future implementation)
|
|
480
|
+
- `apply_forgetting_policy` - Forgetting policy application (moved to HTTP API)
|
|
481
|
+
- `schedule_review` - Review scheduling (moved to HTTP API)
|
|
482
|
+
- `get_performance_metrics` - Performance metrics retrieval (moved to HTTP API)
|
|
483
|
+
- `get_cache_stats` - Cache statistics retrieval (moved to HTTP API)
|
|
484
|
+
- `clear_cache` - Cache cleanup (moved to HTTP API)
|
|
485
|
+
- `optimize_database` - Database optimization (moved to HTTP API)
|
|
486
|
+
- `error_stats` - Error statistics retrieval (moved to HTTP API)
|
|
487
|
+
- `resolve_error` - Error resolution (moved to HTTP API)
|
|
488
|
+
- `performance_alerts` - Performance alert management (moved to HTTP API)
|
|
489
|
+
|
|
490
|
+
## MCP Resources
|
|
491
|
+
|
|
492
|
+
### memory/{id}
|
|
493
|
+
|
|
494
|
+
Resource for retrieving detailed information of a specific memory.
|
|
495
|
+
|
|
496
|
+
#### URL
|
|
497
|
+
|
|
498
|
+
```
|
|
499
|
+
memory/{memory_id}
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
#### Response
|
|
503
|
+
|
|
504
|
+
```typescript
|
|
505
|
+
interface MemoryResource {
|
|
506
|
+
id: string; // Memory ID
|
|
507
|
+
content: string; // Memory content
|
|
508
|
+
type: string; // Memory type
|
|
509
|
+
importance: number; // Importance
|
|
510
|
+
created_at: string; // Creation time
|
|
511
|
+
last_accessed: string; // Last access time
|
|
512
|
+
pinned: boolean; // Pinned status
|
|
513
|
+
source?: string; // Source
|
|
514
|
+
tags?: string[]; // Tags
|
|
515
|
+
privacy_scope: string; // Privacy scope
|
|
516
|
+
links?: {
|
|
517
|
+
source_of: string[]; // Memories derived from this memory
|
|
518
|
+
derived_from: string[]; // Memories this memory is derived from
|
|
519
|
+
duplicates: string[]; // Duplicate memories
|
|
520
|
+
contradicts: string[]; // Contradicting memories
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
### memory/search
|
|
526
|
+
|
|
527
|
+
Resource that provides search results in cached form.
|
|
528
|
+
|
|
529
|
+
#### URL
|
|
530
|
+
|
|
531
|
+
```
|
|
532
|
+
memory/search?query={query}&filters={filters}&limit={limit}
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
#### Query Parameters
|
|
536
|
+
|
|
537
|
+
- `query`: Search query (required)
|
|
538
|
+
- `filters`: Filter in JSON format (optional)
|
|
539
|
+
- `limit`: Result limit (optional, default: 8)
|
|
540
|
+
|
|
541
|
+
#### Response
|
|
542
|
+
|
|
543
|
+
```typescript
|
|
544
|
+
interface SearchResource {
|
|
545
|
+
query: string; // Search query
|
|
546
|
+
results: MemoryItem[]; // Search results
|
|
547
|
+
total_count: number; // Total result count
|
|
548
|
+
query_time: number; // Search time
|
|
549
|
+
cached_at: string; // Cache time
|
|
550
|
+
expires_at: string; // Cache expiration time
|
|
551
|
+
}
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
## MCP Prompts
|
|
556
|
+
|
|
557
|
+
### memory_injection
|
|
558
|
+
|
|
559
|
+
Prompt for injecting related memories into AI Agent's context.
|
|
560
|
+
|
|
561
|
+
#### Parameters
|
|
562
|
+
|
|
563
|
+
```typescript
|
|
564
|
+
interface MemoryInjectionParams {
|
|
565
|
+
query: string; // Search query (required)
|
|
566
|
+
token_budget?: number; // Token budget (default: 1200)
|
|
567
|
+
context_type?: 'conversation' | 'task' | 'general'; // Context type (default: 'general')
|
|
568
|
+
}
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
#### Response
|
|
572
|
+
|
|
573
|
+
```typescript
|
|
574
|
+
interface MemoryInjectionPrompt {
|
|
575
|
+
role: 'system';
|
|
576
|
+
content: string; // Context content to inject
|
|
577
|
+
metadata: {
|
|
578
|
+
memories_used: number; // Number of memories used
|
|
579
|
+
token_count: number; // Actual token count used
|
|
580
|
+
search_time: number; // Search time
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
#### Usage Example
|
|
586
|
+
|
|
587
|
+
```typescript
|
|
588
|
+
const prompt = await client.getPrompt('memory_injection', {
|
|
589
|
+
query: "React development related questions",
|
|
590
|
+
token_budget: 1500,
|
|
591
|
+
context_type: 'conversation'
|
|
592
|
+
});
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
## Error Handling
|
|
596
|
+
|
|
597
|
+
### Error Codes
|
|
598
|
+
|
|
599
|
+
| Code | Description |
|
|
600
|
+
|------|-------------|
|
|
601
|
+
| `MEMORY_NOT_FOUND` | Memory not found |
|
|
602
|
+
| `INVALID_INPUT` | Invalid input parameters |
|
|
603
|
+
| `STORAGE_ERROR` | Storage error |
|
|
604
|
+
| `SEARCH_ERROR` | Search error |
|
|
605
|
+
| `AUTHENTICATION_ERROR` | Authentication error (M2+) |
|
|
606
|
+
| `PERMISSION_DENIED` | Permission denied (M3+) |
|
|
607
|
+
| `RATE_LIMIT_EXCEEDED` | Request limit exceeded |
|
|
608
|
+
| `INTERNAL_ERROR` | Internal server error |
|
|
609
|
+
|
|
610
|
+
### Error Response Format
|
|
611
|
+
|
|
612
|
+
```typescript
|
|
613
|
+
interface ErrorResponse {
|
|
614
|
+
error: {
|
|
615
|
+
code: string; // Error code
|
|
616
|
+
message: string; // Error message
|
|
617
|
+
details?: any; // Additional details
|
|
618
|
+
timestamp: string; // Error occurrence time
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
## Performance Considerations
|
|
624
|
+
|
|
625
|
+
### Search Performance
|
|
626
|
+
|
|
627
|
+
- **Vector Search**: Average 50-100ms
|
|
628
|
+
- **Keyword Search**: Average 20-50ms
|
|
629
|
+
- **Complex Search**: Average 100-200ms
|
|
630
|
+
|
|
631
|
+
### Memory Usage
|
|
632
|
+
|
|
633
|
+
- **Average memory size**: 1-5KB per memory
|
|
634
|
+
- **Embedding size**: 1536 dimensions × 4 bytes = 6KB
|
|
635
|
+
- **Index overhead**: About 20-30% of data
|
|
636
|
+
|
|
637
|
+
### Limitations
|
|
638
|
+
|
|
639
|
+
- **Maximum memory size**: 10MB
|
|
640
|
+
- **Search result limit**: 100 items
|
|
641
|
+
- **Concurrent connections**: 100 (M1), 1000 (M3+)
|
|
642
|
+
- **API request limit**: 1000/hour (M1), 10000/hour (M3+)
|
|
643
|
+
|
|
644
|
+
## Version Management
|
|
645
|
+
|
|
646
|
+
### API Version
|
|
647
|
+
|
|
648
|
+
Current API version: `v1.0.0`
|
|
649
|
+
|
|
650
|
+
### Compatibility
|
|
651
|
+
|
|
652
|
+
- **MCP Protocol**: 2025-03-26
|
|
653
|
+
- **TypeScript**: 5.0+
|
|
654
|
+
- **Node.js**: 20+
|
|
655
|
+
|
|
656
|
+
### Migration Guide
|
|
657
|
+
|
|
658
|
+
For changes during version upgrades, refer to [CHANGELOG.md](../CHANGELOG.md).
|