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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance-monitor.js","sourceRoot":"","sources":["../../src/services/performance-monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"performance-monitor.js","sourceRoot":"","sources":["../../src/services/performance-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 간격 계산 서비스
|
|
3
|
+
* 단일 책임 원칙 (SRP) 적용
|
|
4
|
+
*/
|
|
5
|
+
import type { SpacedRepetitionFeatures, SpacedRepetitionWeights, IntervalCalculationResult } from '../../types/spaced-repetition.types.js';
|
|
6
|
+
import type { IntervalCalculationStrategy } from '../../interfaces/spaced-repetition.interface.js';
|
|
7
|
+
/**
|
|
8
|
+
* 기본 간격 계산 전략
|
|
9
|
+
* Memento-Goals.md의 간격 반복 공식 구현
|
|
10
|
+
*/
|
|
11
|
+
export declare class DefaultIntervalStrategy implements IntervalCalculationStrategy {
|
|
12
|
+
private weights;
|
|
13
|
+
constructor(weights: SpacedRepetitionWeights);
|
|
14
|
+
calculateInterval(currentInterval: number, features: SpacedRepetitionFeatures): IntervalCalculationResult;
|
|
15
|
+
private calculateConfidence;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 보수적 간격 계산 전략
|
|
19
|
+
* 더 짧은 간격으로 안전한 학습 보장
|
|
20
|
+
*/
|
|
21
|
+
export declare class ConservativeIntervalStrategy implements IntervalCalculationStrategy {
|
|
22
|
+
private weights;
|
|
23
|
+
constructor(weights: SpacedRepetitionWeights);
|
|
24
|
+
calculateInterval(currentInterval: number, features: SpacedRepetitionFeatures): IntervalCalculationResult;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 적응형 간격 계산 전략
|
|
28
|
+
* 학습자의 성과에 따라 동적으로 조정
|
|
29
|
+
*/
|
|
30
|
+
export declare class AdaptiveIntervalStrategy implements IntervalCalculationStrategy {
|
|
31
|
+
private weights;
|
|
32
|
+
private performanceHistory;
|
|
33
|
+
constructor(weights: SpacedRepetitionWeights, performanceHistory?: boolean[]);
|
|
34
|
+
calculateInterval(currentInterval: number, features: SpacedRepetitionFeatures): IntervalCalculationResult;
|
|
35
|
+
private calculatePerformanceAdjustment;
|
|
36
|
+
updatePerformanceHistory(success: boolean): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=interval-calculation.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-calculation.service.d.ts","sourceRoot":"","sources":["../../../src/services/spaced-repetition/interval-calculation.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAEnG;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,2BAA2B;IAC7D,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,uBAAuB;IAEpD,iBAAiB,CACf,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,wBAAwB,GACjC,yBAAyB;IAmB5B,OAAO,CAAC,mBAAmB;CAS5B;AAED;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,2BAA2B;IAClE,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,uBAAuB;IAEpD,iBAAiB,CACf,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,wBAAwB,GACjC,yBAAyB;CAmB7B;AAED;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,2BAA2B;IAExE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,kBAAkB;gBADlB,OAAO,EAAE,uBAAuB,EAChC,kBAAkB,GAAE,OAAO,EAAO;IAG5C,iBAAiB,CACf,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,wBAAwB,GACjC,yBAAyB;IAe5B,OAAO,CAAC,8BAA8B;IAWtC,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAOjD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 간격 계산 서비스
|
|
3
|
+
* 단일 책임 원칙 (SRP) 적용
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 기본 간격 계산 전략
|
|
7
|
+
* Memento-Goals.md의 간격 반복 공식 구현
|
|
8
|
+
*/
|
|
9
|
+
export class DefaultIntervalStrategy {
|
|
10
|
+
weights;
|
|
11
|
+
constructor(weights) {
|
|
12
|
+
this.weights = weights;
|
|
13
|
+
}
|
|
14
|
+
calculateInterval(currentInterval, features) {
|
|
15
|
+
const { importance, usage, helpful_feedback, bad_feedback } = features;
|
|
16
|
+
const multiplier = 1 +
|
|
17
|
+
this.weights.importance * importance +
|
|
18
|
+
this.weights.usage * usage +
|
|
19
|
+
this.weights.helpful_feedback * helpful_feedback -
|
|
20
|
+
this.weights.bad_feedback * bad_feedback;
|
|
21
|
+
const nextInterval = Math.ceil(currentInterval * multiplier);
|
|
22
|
+
const confidence = this.calculateConfidence(features);
|
|
23
|
+
return {
|
|
24
|
+
nextInterval,
|
|
25
|
+
multiplier,
|
|
26
|
+
confidence
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
calculateConfidence(features) {
|
|
30
|
+
// 특징의 균형성을 기반으로 신뢰도 계산
|
|
31
|
+
const { importance, usage, helpful_feedback, bad_feedback } = features;
|
|
32
|
+
const balance = 1 - Math.abs(importance - usage);
|
|
33
|
+
const feedbackBalance = 1 - Math.abs(helpful_feedback - bad_feedback);
|
|
34
|
+
return (balance + feedbackBalance) / 2;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 보수적 간격 계산 전략
|
|
39
|
+
* 더 짧은 간격으로 안전한 학습 보장
|
|
40
|
+
*/
|
|
41
|
+
export class ConservativeIntervalStrategy {
|
|
42
|
+
weights;
|
|
43
|
+
constructor(weights) {
|
|
44
|
+
this.weights = weights;
|
|
45
|
+
}
|
|
46
|
+
calculateInterval(currentInterval, features) {
|
|
47
|
+
const { importance, usage, helpful_feedback, bad_feedback } = features;
|
|
48
|
+
// 보수적 계수 적용 (0.8배)
|
|
49
|
+
const conservativeMultiplier = 0.8 * (1 +
|
|
50
|
+
this.weights.importance * importance +
|
|
51
|
+
this.weights.usage * usage +
|
|
52
|
+
this.weights.helpful_feedback * helpful_feedback -
|
|
53
|
+
this.weights.bad_feedback * bad_feedback);
|
|
54
|
+
const nextInterval = Math.ceil(currentInterval * conservativeMultiplier);
|
|
55
|
+
const confidence = 0.9; // 보수적 전략은 높은 신뢰도
|
|
56
|
+
return {
|
|
57
|
+
nextInterval,
|
|
58
|
+
multiplier: conservativeMultiplier,
|
|
59
|
+
confidence
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 적응형 간격 계산 전략
|
|
65
|
+
* 학습자의 성과에 따라 동적으로 조정
|
|
66
|
+
*/
|
|
67
|
+
export class AdaptiveIntervalStrategy {
|
|
68
|
+
weights;
|
|
69
|
+
performanceHistory;
|
|
70
|
+
constructor(weights, performanceHistory = []) {
|
|
71
|
+
this.weights = weights;
|
|
72
|
+
this.performanceHistory = performanceHistory;
|
|
73
|
+
}
|
|
74
|
+
calculateInterval(currentInterval, features) {
|
|
75
|
+
const baseResult = new DefaultIntervalStrategy(this.weights)
|
|
76
|
+
.calculateInterval(currentInterval, features);
|
|
77
|
+
// 성과 기반 조정
|
|
78
|
+
const performanceAdjustment = this.calculatePerformanceAdjustment();
|
|
79
|
+
const adjustedInterval = Math.ceil(baseResult.nextInterval * performanceAdjustment);
|
|
80
|
+
return {
|
|
81
|
+
nextInterval: adjustedInterval,
|
|
82
|
+
multiplier: baseResult.multiplier * performanceAdjustment,
|
|
83
|
+
confidence: baseResult.confidence * 0.8 // 적응형은 약간 낮은 신뢰도
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
calculatePerformanceAdjustment() {
|
|
87
|
+
if (this.performanceHistory.length === 0)
|
|
88
|
+
return 1.0;
|
|
89
|
+
const recentPerformance = this.performanceHistory.slice(-5);
|
|
90
|
+
const successRate = recentPerformance.filter(success => success).length / recentPerformance.length;
|
|
91
|
+
if (successRate > 0.8)
|
|
92
|
+
return 1.2; // 성과 좋으면 간격 늘림
|
|
93
|
+
if (successRate < 0.6)
|
|
94
|
+
return 0.8; // 성과 나쁘면 간격 줄임
|
|
95
|
+
return 1.0; // 중간 성과는 조정 없음
|
|
96
|
+
}
|
|
97
|
+
updatePerformanceHistory(success) {
|
|
98
|
+
this.performanceHistory.push(success);
|
|
99
|
+
// 최근 20개 기록만 유지
|
|
100
|
+
if (this.performanceHistory.length > 20) {
|
|
101
|
+
this.performanceHistory.shift();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=interval-calculation.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-calculation.service.js","sourceRoot":"","sources":["../../../src/services/spaced-repetition/interval-calculation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 최적 간격 추천 서비스
|
|
3
|
+
* 단일 책임 원칙 (SRP) 적용
|
|
4
|
+
*/
|
|
5
|
+
import type { SpacedRepetitionFeatures } from '../../types/spaced-repetition.types.js';
|
|
6
|
+
import type { OptimalIntervalRecommender } from '../../interfaces/spaced-repetition.interface.js';
|
|
7
|
+
/**
|
|
8
|
+
* 기본 최적 간격 추천기
|
|
9
|
+
*/
|
|
10
|
+
export declare class DefaultOptimalIntervalRecommender implements OptimalIntervalRecommender {
|
|
11
|
+
private baseMultiplier;
|
|
12
|
+
private performanceThreshold;
|
|
13
|
+
constructor(baseMultiplier?: number, performanceThreshold?: number);
|
|
14
|
+
recommendOptimalInterval(currentInterval: number, recallHistory: boolean[], features: SpacedRepetitionFeatures): number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 적응형 최적 간격 추천기
|
|
18
|
+
* 학습자의 학습 패턴을 고려한 간격 추천
|
|
19
|
+
*/
|
|
20
|
+
export declare class AdaptiveOptimalIntervalRecommender implements OptimalIntervalRecommender {
|
|
21
|
+
private baseRecommender;
|
|
22
|
+
private learningProfiles;
|
|
23
|
+
private optimalIntervals;
|
|
24
|
+
constructor(baseRecommender?: OptimalIntervalRecommender);
|
|
25
|
+
recommendOptimalInterval(currentInterval: number, recallHistory: boolean[], features: SpacedRepetitionFeatures, memoryId?: string): number;
|
|
26
|
+
private calculatePersonalizedAdjustment;
|
|
27
|
+
private analyzeLearningSpeed;
|
|
28
|
+
private analyzeRetentionRate;
|
|
29
|
+
updateLearningProfile(memoryId: string, performance: number): void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 머신러닝 기반 최적 간격 추천기
|
|
33
|
+
* 고급 알고리즘을 사용한 간격 추천
|
|
34
|
+
*/
|
|
35
|
+
export declare class MLBasedOptimalIntervalRecommender implements OptimalIntervalRecommender {
|
|
36
|
+
private model;
|
|
37
|
+
recommendOptimalInterval(currentInterval: number, recallHistory: boolean[], features: SpacedRepetitionFeatures, memoryId?: string): number;
|
|
38
|
+
private predictOptimalInterval;
|
|
39
|
+
private fallbackRecommendation;
|
|
40
|
+
trainModel(memoryId: string, trainingData: Array<{
|
|
41
|
+
features: SpacedRepetitionFeatures;
|
|
42
|
+
actualInterval: number;
|
|
43
|
+
performance: number;
|
|
44
|
+
}>): void;
|
|
45
|
+
private trainLinearModel;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 앙상블 최적 간격 추천기
|
|
49
|
+
* 여러 추천기를 결합한 앙상블 방법
|
|
50
|
+
*/
|
|
51
|
+
export declare class EnsembleOptimalIntervalRecommender implements OptimalIntervalRecommender {
|
|
52
|
+
private recommenders;
|
|
53
|
+
constructor();
|
|
54
|
+
recommendOptimalInterval(currentInterval: number, recallHistory: boolean[], features: SpacedRepetitionFeatures, memoryId?: string): number;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=optimal-interval.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimal-interval.service.d.ts","sourceRoot":"","sources":["../../../src/services/spaced-repetition/optimal-interval.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAElG;;GAEG;AACH,qBAAa,iCAAkC,YAAW,0BAA0B;IAEhF,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB;gBADpB,cAAc,GAAE,MAAY,EAC5B,oBAAoB,GAAE,MAAY;IAG5C,wBAAwB,CACtB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,OAAO,EAAE,EACxB,QAAQ,EAAE,wBAAwB,GACjC,MAAM;CAmBV;AAED;;;GAGG;AACH,qBAAa,kCAAmC,YAAW,0BAA0B;IAKjF,OAAO,CAAC,eAAe;IAJzB,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,gBAAgB,CAAkC;gBAGhD,eAAe,GAAE,0BAAoE;IAG/F,wBAAwB,CACtB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,OAAO,EAAE,EACxB,QAAQ,EAAE,wBAAwB,EAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;IAeT,OAAO,CAAC,+BAA+B;IAevC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,oBAAoB;IAS5B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAWnE;AAED;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,0BAA0B;IAClF,OAAO,CAAC,KAAK,CAA+B;IAE5C,wBAAwB,CACtB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,OAAO,EAAE,EACxB,QAAQ,EAAE,wBAAwB,EAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;IAUT,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,sBAAsB;IAS9B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC;QAC/C,QAAQ,EAAE,wBAAwB,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,GAAG,IAAI;IAMT,OAAO,CAAC,gBAAgB;CAazB;AAED;;;GAGG;AACH,qBAAa,kCAAmC,YAAW,0BAA0B;IACnF,OAAO,CAAC,YAAY,CAAoC;;IAUxD,wBAAwB,CACtB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,OAAO,EAAE,EACxB,QAAQ,EAAE,wBAAwB,EAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;CAaV"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 최적 간격 추천 서비스
|
|
3
|
+
* 단일 책임 원칙 (SRP) 적용
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 기본 최적 간격 추천기
|
|
7
|
+
*/
|
|
8
|
+
export class DefaultOptimalIntervalRecommender {
|
|
9
|
+
baseMultiplier;
|
|
10
|
+
performanceThreshold;
|
|
11
|
+
constructor(baseMultiplier = 1.0, performanceThreshold = 0.7) {
|
|
12
|
+
this.baseMultiplier = baseMultiplier;
|
|
13
|
+
this.performanceThreshold = performanceThreshold;
|
|
14
|
+
}
|
|
15
|
+
recommendOptimalInterval(currentInterval, recallHistory, features) {
|
|
16
|
+
if (recallHistory.length === 0) {
|
|
17
|
+
return currentInterval;
|
|
18
|
+
}
|
|
19
|
+
// 최근 성과 기반 조정
|
|
20
|
+
const recentPerformance = recallHistory.slice(-5); // 최근 5회
|
|
21
|
+
const successRate = recentPerformance.filter(success => success).length / recentPerformance.length;
|
|
22
|
+
// 성과에 따른 조정 계수
|
|
23
|
+
let adjustmentFactor = this.baseMultiplier;
|
|
24
|
+
if (successRate > 0.8) {
|
|
25
|
+
adjustmentFactor = 1.2; // 성과 좋으면 간격 늘림
|
|
26
|
+
}
|
|
27
|
+
else if (successRate < 0.6) {
|
|
28
|
+
adjustmentFactor = 0.8; // 성과 나쁘면 간격 줄임
|
|
29
|
+
}
|
|
30
|
+
return Math.ceil(currentInterval * adjustmentFactor);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 적응형 최적 간격 추천기
|
|
35
|
+
* 학습자의 학습 패턴을 고려한 간격 추천
|
|
36
|
+
*/
|
|
37
|
+
export class AdaptiveOptimalIntervalRecommender {
|
|
38
|
+
baseRecommender;
|
|
39
|
+
learningProfiles = new Map();
|
|
40
|
+
optimalIntervals = new Map();
|
|
41
|
+
constructor(baseRecommender = new DefaultOptimalIntervalRecommender()) {
|
|
42
|
+
this.baseRecommender = baseRecommender;
|
|
43
|
+
}
|
|
44
|
+
recommendOptimalInterval(currentInterval, recallHistory, features, memoryId) {
|
|
45
|
+
const baseRecommendation = this.baseRecommender.recommendOptimalInterval(currentInterval, recallHistory, features);
|
|
46
|
+
if (!memoryId)
|
|
47
|
+
return baseRecommendation;
|
|
48
|
+
// 개인별 학습 프로필 고려
|
|
49
|
+
const personalizedAdjustment = this.calculatePersonalizedAdjustment(memoryId, features);
|
|
50
|
+
return Math.ceil(baseRecommendation * personalizedAdjustment);
|
|
51
|
+
}
|
|
52
|
+
calculatePersonalizedAdjustment(memoryId, features) {
|
|
53
|
+
const profile = this.learningProfiles.get(memoryId);
|
|
54
|
+
if (!profile || profile.length < 5)
|
|
55
|
+
return 1.0;
|
|
56
|
+
// 학습 속도 분석
|
|
57
|
+
const learningSpeed = this.analyzeLearningSpeed(profile);
|
|
58
|
+
const retentionRate = this.analyzeRetentionRate(profile);
|
|
59
|
+
// 중요도와 사용성 기반 조정
|
|
60
|
+
const importanceAdjustment = 1 + (features.importance - 0.5) * 0.2;
|
|
61
|
+
const usageAdjustment = 1 + (features.usage - 0.5) * 0.2;
|
|
62
|
+
return learningSpeed * retentionRate * importanceAdjustment * usageAdjustment;
|
|
63
|
+
}
|
|
64
|
+
analyzeLearningSpeed(profile) {
|
|
65
|
+
// 학습 속도 분석 (성과 개선 속도)
|
|
66
|
+
if (profile.length < 3)
|
|
67
|
+
return 1.0;
|
|
68
|
+
const recent = profile.slice(-3);
|
|
69
|
+
if (recent.length < 2)
|
|
70
|
+
return 1.0;
|
|
71
|
+
const improvement = (recent[recent.length - 1] || 0) - (recent[0] || 0);
|
|
72
|
+
if (improvement > 0.2)
|
|
73
|
+
return 1.2; // 빠른 학습자
|
|
74
|
+
if (improvement < -0.2)
|
|
75
|
+
return 0.8; // 느린 학습자
|
|
76
|
+
return 1.0;
|
|
77
|
+
}
|
|
78
|
+
analyzeRetentionRate(profile) {
|
|
79
|
+
// 기억 유지율 분석
|
|
80
|
+
const averagePerformance = profile.reduce((sum, perf) => sum + perf, 0) / profile.length;
|
|
81
|
+
if (averagePerformance > 0.8)
|
|
82
|
+
return 1.1; // 높은 유지율
|
|
83
|
+
if (averagePerformance < 0.5)
|
|
84
|
+
return 0.9; // 낮은 유지율
|
|
85
|
+
return 1.0;
|
|
86
|
+
}
|
|
87
|
+
updateLearningProfile(memoryId, performance) {
|
|
88
|
+
const profile = this.learningProfiles.get(memoryId) || [];
|
|
89
|
+
profile.push(performance);
|
|
90
|
+
// 최근 20개 기록만 유지
|
|
91
|
+
if (profile.length > 20) {
|
|
92
|
+
profile.shift();
|
|
93
|
+
}
|
|
94
|
+
this.learningProfiles.set(memoryId, profile);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 머신러닝 기반 최적 간격 추천기
|
|
99
|
+
* 고급 알고리즘을 사용한 간격 추천
|
|
100
|
+
*/
|
|
101
|
+
export class MLBasedOptimalIntervalRecommender {
|
|
102
|
+
model = new Map();
|
|
103
|
+
recommendOptimalInterval(currentInterval, recallHistory, features, memoryId) {
|
|
104
|
+
if (!memoryId || !this.model.has(memoryId)) {
|
|
105
|
+
return this.fallbackRecommendation(currentInterval, recallHistory, features);
|
|
106
|
+
}
|
|
107
|
+
// ML 모델을 사용한 예측
|
|
108
|
+
const prediction = this.predictOptimalInterval(memoryId, features);
|
|
109
|
+
return Math.ceil(prediction);
|
|
110
|
+
}
|
|
111
|
+
predictOptimalInterval(memoryId, features) {
|
|
112
|
+
const model = this.model.get(memoryId);
|
|
113
|
+
if (!model)
|
|
114
|
+
return 7; // 기본값
|
|
115
|
+
// 간단한 선형 모델 (실제로는 더 복잡한 ML 모델 사용)
|
|
116
|
+
const weights = model.weights;
|
|
117
|
+
const prediction = weights.importance * features.importance +
|
|
118
|
+
weights.usage * features.usage +
|
|
119
|
+
weights.helpful_feedback * features.helpful_feedback -
|
|
120
|
+
weights.bad_feedback * features.bad_feedback;
|
|
121
|
+
return Math.max(1, Math.min(365, prediction)); // 1일~365일 범위
|
|
122
|
+
}
|
|
123
|
+
fallbackRecommendation(currentInterval, recallHistory, features) {
|
|
124
|
+
const baseRecommender = new DefaultOptimalIntervalRecommender();
|
|
125
|
+
return baseRecommender.recommendOptimalInterval(currentInterval, recallHistory, features);
|
|
126
|
+
}
|
|
127
|
+
trainModel(memoryId, trainingData) {
|
|
128
|
+
// 간단한 선형 회귀 모델 훈련
|
|
129
|
+
const weights = this.trainLinearModel(trainingData);
|
|
130
|
+
this.model.set(memoryId, { weights });
|
|
131
|
+
}
|
|
132
|
+
trainLinearModel(trainingData) {
|
|
133
|
+
// 간단한 가중치 계산 (실제로는 더 정교한 ML 알고리즘 사용)
|
|
134
|
+
return {
|
|
135
|
+
importance: 0.6,
|
|
136
|
+
usage: 0.4,
|
|
137
|
+
helpful_feedback: 0.5,
|
|
138
|
+
bad_feedback: 0.7
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 앙상블 최적 간격 추천기
|
|
144
|
+
* 여러 추천기를 결합한 앙상블 방법
|
|
145
|
+
*/
|
|
146
|
+
export class EnsembleOptimalIntervalRecommender {
|
|
147
|
+
recommenders = [];
|
|
148
|
+
constructor() {
|
|
149
|
+
this.recommenders = [
|
|
150
|
+
new DefaultOptimalIntervalRecommender(),
|
|
151
|
+
new AdaptiveOptimalIntervalRecommender(),
|
|
152
|
+
new MLBasedOptimalIntervalRecommender()
|
|
153
|
+
];
|
|
154
|
+
}
|
|
155
|
+
recommendOptimalInterval(currentInterval, recallHistory, features, memoryId) {
|
|
156
|
+
const recommendations = this.recommenders.map(recommender => recommender.recommendOptimalInterval(currentInterval, recallHistory, features));
|
|
157
|
+
// 가중 평균으로 최종 추천
|
|
158
|
+
const weights = [0.4, 0.4, 0.2]; // 각 추천기의 가중치
|
|
159
|
+
const weightedSum = recommendations.reduce((sum, rec, index) => sum + rec * (weights[index] || 0), 0);
|
|
160
|
+
return Math.ceil(weightedSum);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=optimal-interval.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimal-interval.service.js","sourceRoot":"","sources":["../../../src/services/spaced-repetition/optimal-interval.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 성과 분석 서비스
|
|
3
|
+
* 단일 책임 원칙 (SRP) 적용
|
|
4
|
+
*/
|
|
5
|
+
import type { ReviewSchedule, ReviewPerformance } from '../../types/spaced-repetition.types.js';
|
|
6
|
+
import type { PerformanceAnalyzer } from '../../interfaces/spaced-repetition.interface.js';
|
|
7
|
+
/**
|
|
8
|
+
* 기본 성과 분석기
|
|
9
|
+
*/
|
|
10
|
+
export declare class DefaultPerformanceAnalyzer implements PerformanceAnalyzer {
|
|
11
|
+
analyzeReviewPerformance(schedules: ReviewSchedule[], actualRecall: Map<string, boolean>): ReviewPerformance;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 상세 성과 분석기
|
|
15
|
+
* 더 세밀한 성과 지표 제공
|
|
16
|
+
*/
|
|
17
|
+
export declare class DetailedPerformanceAnalyzer implements PerformanceAnalyzer {
|
|
18
|
+
analyzeReviewPerformance(schedules: ReviewSchedule[], actualRecall: Map<string, boolean>): ReviewPerformance;
|
|
19
|
+
private analyzePerformanceTrends;
|
|
20
|
+
private analyzeIntervalEffectiveness;
|
|
21
|
+
private calculateWeeklyPerformance;
|
|
22
|
+
private calculateTrendDirection;
|
|
23
|
+
private calculateIntervalEffectiveness;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 적응형 성과 분석기
|
|
27
|
+
* 학습자의 성과 패턴을 학습하여 분석 개선
|
|
28
|
+
*/
|
|
29
|
+
export declare class AdaptivePerformanceAnalyzer implements PerformanceAnalyzer {
|
|
30
|
+
private learningPatterns;
|
|
31
|
+
private performanceThresholds;
|
|
32
|
+
analyzeReviewPerformance(schedules: ReviewSchedule[], actualRecall: Map<string, boolean>): ReviewPerformance;
|
|
33
|
+
private updateLearningPatterns;
|
|
34
|
+
private adjustPerformanceThresholds;
|
|
35
|
+
getPersonalizedThreshold(memoryId: string): number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 예측 성과 분석기
|
|
39
|
+
* 머신러닝 기반 성과 예측
|
|
40
|
+
*/
|
|
41
|
+
export declare class PredictivePerformanceAnalyzer implements PerformanceAnalyzer {
|
|
42
|
+
private predictionModel;
|
|
43
|
+
analyzeReviewPerformance(schedules: ReviewSchedule[], actualRecall: Map<string, boolean>): ReviewPerformance;
|
|
44
|
+
private predictPerformance;
|
|
45
|
+
private calculatePredictedPerformance;
|
|
46
|
+
getPredictedPerformance(memoryId: string): number;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=performance-analysis.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-analysis.service.d.ts","sourceRoot":"","sources":["../../../src/services/spaced-repetition/performance-analysis.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IACpE,wBAAwB,CACtB,SAAS,EAAE,cAAc,EAAE,EAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,iBAAiB;CAqCrB;AAED;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,wBAAwB,CACtB,SAAS,EAAE,cAAc,EAAE,EAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,iBAAiB;IAWpB,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,8BAA8B;CAyBvC;AAED;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,qBAAqB,CAAkC;IAE/D,wBAAwB,CACtB,SAAS,EAAE,cAAc,EAAE,EAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,iBAAiB;IAWpB,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,2BAA2B;IASnC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAGnD;AAED;;;GAGG;AACH,qBAAa,6BAA8B,YAAW,mBAAmB;IACvE,OAAO,CAAC,eAAe,CAAkC;IAEzD,wBAAwB,CACtB,SAAS,EAAE,cAAc,EAAE,EAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,iBAAiB;IAUpB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,6BAA6B;IASrC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAGlD"}
|