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.
Files changed (560) hide show
  1. package/INSTALL.en.md +303 -303
  2. package/INSTALL.md +303 -303
  3. package/README.en.md +331 -330
  4. package/README.md +432 -427
  5. package/dist/algorithms/hybrid-search-engine.d.ts +114 -44
  6. package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -1
  7. package/dist/algorithms/hybrid-search-engine.js +261 -235
  8. package/dist/algorithms/hybrid-search-engine.js.map +1 -1
  9. package/dist/algorithms/search-engine.d.ts +2 -14
  10. package/dist/algorithms/search-engine.d.ts.map +1 -1
  11. package/dist/algorithms/search-engine.js +43 -35
  12. package/dist/algorithms/search-engine.js.map +1 -1
  13. package/dist/algorithms/vector-search-engine-migration.d.ts +67 -0
  14. package/dist/algorithms/vector-search-engine-migration.d.ts.map +1 -0
  15. package/dist/algorithms/vector-search-engine-migration.js +196 -0
  16. package/dist/algorithms/vector-search-engine-migration.js.map +1 -0
  17. package/dist/algorithms/vector-search-engine-refactored.d.ts +56 -0
  18. package/dist/algorithms/vector-search-engine-refactored.d.ts.map +1 -0
  19. package/dist/algorithms/vector-search-engine-refactored.js +101 -0
  20. package/dist/algorithms/vector-search-engine-refactored.js.map +1 -0
  21. package/dist/algorithms/vector-search-engine.d.ts +9 -2
  22. package/dist/algorithms/vector-search-engine.d.ts.map +1 -1
  23. package/dist/algorithms/vector-search-engine.js +245 -121
  24. package/dist/algorithms/vector-search-engine.js.map +1 -1
  25. package/dist/client/index.d.ts.map +1 -1
  26. package/dist/client/index.js +34 -11
  27. package/dist/client/index.js.map +1 -1
  28. package/dist/config/environment.d.ts +26 -0
  29. package/dist/config/environment.d.ts.map +1 -0
  30. package/dist/config/environment.js +103 -0
  31. package/dist/config/environment.js.map +1 -0
  32. package/dist/config/index.d.ts.map +1 -1
  33. package/dist/config/index.js +29 -50
  34. package/dist/config/index.js.map +1 -1
  35. package/dist/config/vector-search.config.d.ts +25 -0
  36. package/dist/config/vector-search.config.d.ts.map +1 -0
  37. package/dist/config/vector-search.config.js +40 -0
  38. package/dist/config/vector-search.config.js.map +1 -0
  39. package/dist/database/init.d.ts.map +1 -1
  40. package/dist/database/init.js +154 -17
  41. package/dist/database/init.js.map +1 -1
  42. package/dist/database/migrate.d.ts +2 -1
  43. package/dist/database/migrate.d.ts.map +1 -1
  44. package/dist/database/migrate.js +191 -18
  45. package/dist/database/migrate.js.map +1 -1
  46. package/dist/database/schema.sql +234 -159
  47. package/dist/factories/hybrid-search.factory.d.ts +20 -0
  48. package/dist/factories/hybrid-search.factory.d.ts.map +1 -0
  49. package/dist/factories/hybrid-search.factory.js +57 -0
  50. package/dist/factories/hybrid-search.factory.js.map +1 -0
  51. package/dist/factories/spaced-repetition.factory.d.ts +48 -0
  52. package/dist/factories/spaced-repetition.factory.d.ts.map +1 -0
  53. package/dist/factories/spaced-repetition.factory.js +187 -0
  54. package/dist/factories/spaced-repetition.factory.js.map +1 -0
  55. package/dist/factories/vector-search.factory.d.ts +25 -0
  56. package/dist/factories/vector-search.factory.d.ts.map +1 -0
  57. package/dist/factories/vector-search.factory.js +47 -0
  58. package/dist/factories/vector-search.factory.js.map +1 -0
  59. package/dist/interfaces/database.interface.d.ts +36 -0
  60. package/dist/interfaces/database.interface.d.ts.map +1 -0
  61. package/dist/interfaces/database.interface.js +6 -0
  62. package/dist/interfaces/database.interface.js.map +1 -0
  63. package/dist/interfaces/spaced-repetition.interface.d.ts +63 -0
  64. package/dist/interfaces/spaced-repetition.interface.d.ts.map +1 -0
  65. package/dist/interfaces/spaced-repetition.interface.js +6 -0
  66. package/dist/interfaces/spaced-repetition.interface.js.map +1 -0
  67. package/dist/repositories/vector-performance.repository.d.ts +25 -0
  68. package/dist/repositories/vector-performance.repository.d.ts.map +1 -0
  69. package/dist/repositories/vector-performance.repository.js +134 -0
  70. package/dist/repositories/vector-performance.repository.js.map +1 -0
  71. package/dist/repositories/vector-search.repository.d.ts +43 -0
  72. package/dist/repositories/vector-search.repository.d.ts.map +1 -0
  73. package/dist/repositories/vector-search.repository.js +377 -0
  74. package/dist/repositories/vector-search.repository.js.map +1 -0
  75. package/dist/server/http-server.d.ts.map +1 -1
  76. package/dist/server/http-server.js +25 -24
  77. package/dist/server/http-server.js.map +1 -1
  78. package/dist/server/index.d.ts +1 -0
  79. package/dist/server/index.d.ts.map +1 -1
  80. package/dist/server/index.js +3 -1
  81. package/dist/server/index.js.map +1 -1
  82. package/dist/services/alert-notification-service.d.ts +16 -0
  83. package/dist/services/alert-notification-service.d.ts.map +1 -0
  84. package/dist/services/alert-notification-service.js +44 -0
  85. package/dist/services/alert-notification-service.js.map +1 -0
  86. package/dist/services/async-optimizer.d.ts +62 -8
  87. package/dist/services/async-optimizer.d.ts.map +1 -1
  88. package/dist/services/async-optimizer.js +137 -8
  89. package/dist/services/async-optimizer.js.map +1 -1
  90. package/dist/services/batch-scheduler.d.ts +6 -0
  91. package/dist/services/batch-scheduler.d.ts.map +1 -1
  92. package/dist/services/batch-scheduler.js +59 -19
  93. package/dist/services/batch-scheduler.js.map +1 -1
  94. package/dist/services/cache-service.d.ts +32 -0
  95. package/dist/services/cache-service.d.ts.map +1 -1
  96. package/dist/services/cache-service.js +81 -6
  97. package/dist/services/cache-service.js.map +1 -1
  98. package/dist/services/database-optimizer.js +63 -63
  99. package/dist/services/database-optimizer.js.map +1 -1
  100. package/dist/services/embedding-migration-service.d.ts +24 -0
  101. package/dist/services/embedding-migration-service.d.ts.map +1 -0
  102. package/dist/services/embedding-migration-service.js +360 -0
  103. package/dist/services/embedding-migration-service.js.map +1 -0
  104. package/dist/services/embedding-provider-factory.d.ts +12 -5
  105. package/dist/services/embedding-provider-factory.d.ts.map +1 -1
  106. package/dist/services/embedding-provider-factory.js +107 -26
  107. package/dist/services/embedding-provider-factory.js.map +1 -1
  108. package/dist/services/forgetting-policy-service.js +17 -17
  109. package/dist/services/gemini-embedding-service.d.ts +1 -1
  110. package/dist/services/gemini-embedding-service.d.ts.map +1 -1
  111. package/dist/services/gemini-embedding-service.js +25 -18
  112. package/dist/services/gemini-embedding-service.js.map +1 -1
  113. package/dist/services/memory-embedding-service.d.ts +8 -0
  114. package/dist/services/memory-embedding-service.d.ts.map +1 -1
  115. package/dist/services/memory-embedding-service.js +180 -71
  116. package/dist/services/memory-embedding-service.js.map +1 -1
  117. package/dist/services/migration-history-service.d.ts +14 -0
  118. package/dist/services/migration-history-service.d.ts.map +1 -0
  119. package/dist/services/migration-history-service.js +270 -0
  120. package/dist/services/migration-history-service.js.map +1 -0
  121. package/dist/services/migration-monitor-service.d.ts +24 -0
  122. package/dist/services/migration-monitor-service.d.ts.map +1 -0
  123. package/dist/services/migration-monitor-service.js +93 -0
  124. package/dist/services/migration-monitor-service.js.map +1 -0
  125. package/dist/services/model-availability-service.d.ts +22 -0
  126. package/dist/services/model-availability-service.d.ts.map +1 -0
  127. package/dist/services/model-availability-service.js +140 -0
  128. package/dist/services/model-availability-service.js.map +1 -0
  129. package/dist/services/openai-embedding-service.d.ts +36 -0
  130. package/dist/services/openai-embedding-service.d.ts.map +1 -0
  131. package/dist/services/openai-embedding-service.js +192 -0
  132. package/dist/services/openai-embedding-service.js.map +1 -0
  133. package/dist/services/performance-monitor.d.ts +154 -10
  134. package/dist/services/performance-monitor.d.ts.map +1 -1
  135. package/dist/services/performance-monitor.js +446 -60
  136. package/dist/services/performance-monitor.js.map +1 -1
  137. package/dist/services/spaced-repetition/interval-calculation.service.d.ts +38 -0
  138. package/dist/services/spaced-repetition/interval-calculation.service.d.ts.map +1 -0
  139. package/dist/services/spaced-repetition/interval-calculation.service.js +105 -0
  140. package/dist/services/spaced-repetition/interval-calculation.service.js.map +1 -0
  141. package/dist/services/spaced-repetition/optimal-interval.service.d.ts +56 -0
  142. package/dist/services/spaced-repetition/optimal-interval.service.d.ts.map +1 -0
  143. package/dist/services/spaced-repetition/optimal-interval.service.js +163 -0
  144. package/dist/services/spaced-repetition/optimal-interval.service.js.map +1 -0
  145. package/dist/services/spaced-repetition/performance-analysis.service.d.ts +48 -0
  146. package/dist/services/spaced-repetition/performance-analysis.service.d.ts.map +1 -0
  147. package/dist/services/spaced-repetition/performance-analysis.service.js +174 -0
  148. package/dist/services/spaced-repetition/performance-analysis.service.js.map +1 -0
  149. package/dist/services/spaced-repetition/priority-calculation.service.d.ts +53 -0
  150. package/dist/services/spaced-repetition/priority-calculation.service.d.ts.map +1 -0
  151. package/dist/services/spaced-repetition/priority-calculation.service.js +161 -0
  152. package/dist/services/spaced-repetition/priority-calculation.service.js.map +1 -0
  153. package/dist/services/spaced-repetition/recall-probability.service.d.ts +36 -0
  154. package/dist/services/spaced-repetition/recall-probability.service.d.ts.map +1 -0
  155. package/dist/services/spaced-repetition/recall-probability.service.js +88 -0
  156. package/dist/services/spaced-repetition/recall-probability.service.js.map +1 -0
  157. package/dist/services/spaced-repetition/review-scheduling.service.d.ts +43 -0
  158. package/dist/services/spaced-repetition/review-scheduling.service.d.ts.map +1 -0
  159. package/dist/services/spaced-repetition/review-scheduling.service.js +130 -0
  160. package/dist/services/spaced-repetition/review-scheduling.service.js.map +1 -0
  161. package/dist/services/spaced-repetition/spaced-repetition-container.d.ts +69 -0
  162. package/dist/services/spaced-repetition/spaced-repetition-container.d.ts.map +1 -0
  163. package/dist/services/spaced-repetition/spaced-repetition-container.js +136 -0
  164. package/dist/services/spaced-repetition/spaced-repetition-container.js.map +1 -0
  165. package/dist/services/unified-embedding-service.d.ts +3 -0
  166. package/dist/services/unified-embedding-service.d.ts.map +1 -1
  167. package/dist/services/unified-embedding-service.js +58 -62
  168. package/dist/services/unified-embedding-service.js.map +1 -1
  169. package/dist/services/vector-compatibility-service.d.ts +68 -0
  170. package/dist/services/vector-compatibility-service.d.ts.map +1 -0
  171. package/dist/services/vector-compatibility-service.js +373 -0
  172. package/dist/services/vector-compatibility-service.js.map +1 -0
  173. package/dist/services/vector-search/vector-index-manager.d.ts +27 -0
  174. package/dist/services/vector-search/vector-index-manager.d.ts.map +1 -0
  175. package/dist/services/vector-search/vector-index-manager.js +66 -0
  176. package/dist/services/vector-search/vector-index-manager.js.map +1 -0
  177. package/dist/services/vector-search/vector-performance-tester.d.ts +30 -0
  178. package/dist/services/vector-search/vector-performance-tester.d.ts.map +1 -0
  179. package/dist/services/vector-search/vector-performance-tester.js +87 -0
  180. package/dist/services/vector-search/vector-performance-tester.js.map +1 -0
  181. package/dist/services/vector-search/vector-search-container.d.ts +41 -0
  182. package/dist/services/vector-search/vector-search-container.d.ts.map +1 -0
  183. package/dist/services/vector-search/vector-search-container.js +74 -0
  184. package/dist/services/vector-search/vector-search-container.js.map +1 -0
  185. package/dist/services/vector-search/vector-search-facade.d.ts +63 -0
  186. package/dist/services/vector-search/vector-search-facade.d.ts.map +1 -0
  187. package/dist/services/vector-search/vector-search-facade.js +91 -0
  188. package/dist/services/vector-search/vector-search-facade.js.map +1 -0
  189. package/dist/services/vector-search/vector-search-result-normalizer.d.ts +6 -0
  190. package/dist/services/vector-search/vector-search-result-normalizer.d.ts.map +1 -0
  191. package/dist/services/vector-search/vector-search-result-normalizer.js +65 -0
  192. package/dist/services/vector-search/vector-search-result-normalizer.js.map +1 -0
  193. package/dist/services/vector-search/vector-search.service.d.ts +33 -0
  194. package/dist/services/vector-search/vector-search.service.d.ts.map +1 -0
  195. package/dist/services/vector-search/vector-search.service.js +149 -0
  196. package/dist/services/vector-search/vector-search.service.js.map +1 -0
  197. package/dist/tools/forget-tool.js +14 -14
  198. package/dist/tools/pin-tool.js +14 -14
  199. package/dist/tools/unpin-tool.js +21 -21
  200. package/dist/types/alerts.types.d.ts +26 -0
  201. package/dist/types/alerts.types.d.ts.map +1 -0
  202. package/dist/types/alerts.types.js +2 -0
  203. package/dist/types/alerts.types.js.map +1 -0
  204. package/dist/types/embedding-provider-monitoring.types.d.ts +24 -0
  205. package/dist/types/embedding-provider-monitoring.types.d.ts.map +1 -0
  206. package/dist/types/embedding-provider-monitoring.types.js +2 -0
  207. package/dist/types/embedding-provider-monitoring.types.js.map +1 -0
  208. package/dist/types/embedding.types.d.ts +36 -1
  209. package/dist/types/embedding.types.d.ts.map +1 -1
  210. package/dist/types/migration.types.d.ts +131 -0
  211. package/dist/types/migration.types.d.ts.map +1 -0
  212. package/dist/types/migration.types.js +6 -0
  213. package/dist/types/migration.types.js.map +1 -0
  214. package/dist/types/spaced-repetition.types.d.ts +61 -0
  215. package/dist/types/spaced-repetition.types.d.ts.map +1 -0
  216. package/dist/types/spaced-repetition.types.js +6 -0
  217. package/dist/types/spaced-repetition.types.js.map +1 -0
  218. package/dist/types/vector-search.types.d.ts +96 -0
  219. package/dist/types/vector-search.types.d.ts.map +1 -0
  220. package/dist/types/vector-search.types.js +2 -0
  221. package/dist/types/vector-search.types.js.map +1 -0
  222. package/dist/utils/configuration-validator.d.ts +23 -0
  223. package/dist/utils/configuration-validator.d.ts.map +1 -0
  224. package/dist/utils/configuration-validator.js +102 -0
  225. package/dist/utils/configuration-validator.js.map +1 -0
  226. package/dist/utils/database.d.ts.map +1 -1
  227. package/dist/utils/database.js +101 -95
  228. package/dist/utils/database.js.map +1 -1
  229. package/dist/utils/environment-check.d.ts +8 -0
  230. package/dist/utils/environment-check.d.ts.map +1 -0
  231. package/dist/utils/environment-check.js +25 -0
  232. package/dist/utils/environment-check.js.map +1 -0
  233. package/dist/utils/logger.d.ts +8 -0
  234. package/dist/utils/logger.d.ts.map +1 -0
  235. package/dist/utils/logger.js +33 -0
  236. package/dist/utils/logger.js.map +1 -0
  237. package/package.json +139 -125
  238. package/scripts/auto-setup.js +234 -234
  239. package/scripts/backup-daily.bat +28 -28
  240. package/scripts/backup-embeddings.js +108 -108
  241. package/scripts/check-db-integrity.js +93 -93
  242. package/scripts/debug-embeddings.js +184 -184
  243. package/scripts/direct-sql-migration.sql +36 -36
  244. package/scripts/docker-migration.sh +105 -105
  245. package/scripts/fix-migration.js +93 -93
  246. package/scripts/fix-vector-dimensions.js +206 -206
  247. package/scripts/migrate-embedding-data.js +307 -307
  248. package/scripts/regenerate-embeddings.js +144 -144
  249. package/scripts/restore-legacy.ps1 +60 -60
  250. package/scripts/run-migration.js +122 -122
  251. package/scripts/safe-migration.js +150 -150
  252. package/scripts/simple-migrate.js +41 -41
  253. package/scripts/simple-update.js +123 -123
  254. package/src/database/schema.sql +234 -159
  255. package/.cursor/rules/cache-management.mdc +0 -171
  256. package/.cursor/rules/database-schema.mdc +0 -344
  257. package/.cursor/rules/deployment.mdc +0 -596
  258. package/.cursor/rules/error-logging.mdc +0 -298
  259. package/.cursor/rules/forgetting-algorithms.mdc +0 -426
  260. package/.cursor/rules/http-server.mdc +0 -432
  261. package/.cursor/rules/hybrid-search.mdc +0 -424
  262. package/.cursor/rules/implementation.mdc +0 -369
  263. package/.cursor/rules/lightweight-embedding.mdc +0 -178
  264. package/.cursor/rules/mcp-client-development.mdc +0 -0
  265. package/.cursor/rules/mcp-server-development.mdc +0 -0
  266. package/.cursor/rules/mcp-tools-architecture.mdc +0 -205
  267. package/.cursor/rules/memento-memory-rule.mdc +0 -8
  268. package/.cursor/rules/memento-project-overview.mdc +0 -0
  269. package/.cursor/rules/memory-algorithms.mdc +0 -502
  270. package/.cursor/rules/monitoring.mdc +0 -622
  271. package/.cursor/rules/performance-alerts.mdc +0 -537
  272. package/.cursor/rules/performance-monitoring.mdc +0 -345
  273. package/.cursor/rules/performance-optimization.mdc +0 -563
  274. package/.cursor/rules/project-structure.mdc +0 -310
  275. package/.cursor/rules/testing.mdc +0 -473
  276. package/.dockerignore +0 -15
  277. package/.eslintrc.json +0 -34
  278. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -51
  279. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -45
  280. package/.github/ISSUE_TEMPLATE/question.md +0 -31
  281. package/.github/PULL_REQUEST_TEMPLATE.md +0 -97
  282. package/AGENTS.md +0 -28
  283. package/CHANGELOG.md +0 -416
  284. package/CODE_OF_CONDUCT.md +0 -62
  285. package/CONTRIBUTING.md +0 -165
  286. package/DOCKER_SETUP_GUIDE.md +0 -84
  287. package/Dockerfile +0 -90
  288. package/backup/legacy-removal-20250930-201816/http-server-legacy.ts +0 -1068
  289. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.ps1 +0 -46
  290. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.sh +0 -48
  291. package/dist/server/index-backup.d.ts +0 -5
  292. package/dist/server/index-backup.d.ts.map +0 -1
  293. package/dist/server/index-backup.js +0 -793
  294. package/dist/server/index-backup.js.map +0 -1
  295. package/dist/server/index-refactored.d.ts +0 -6
  296. package/dist/server/index-refactored.d.ts.map +0 -1
  297. package/dist/server/index-refactored.js +0 -206
  298. package/dist/server/index-refactored.js.map +0 -1
  299. package/dist/services/performance-monitoring-integration.d.ts +0 -77
  300. package/dist/services/performance-monitoring-integration.d.ts.map +0 -1
  301. package/dist/services/performance-monitoring-integration.js +0 -177
  302. package/dist/services/performance-monitoring-integration.js.map +0 -1
  303. package/dist/test/debug-http-v2.d.ts +0 -5
  304. package/dist/test/debug-http-v2.d.ts.map +0 -1
  305. package/dist/test/debug-http-v2.js +0 -28
  306. package/dist/test/debug-http-v2.js.map +0 -1
  307. package/dist/test/performance-benchmark.d.ts +0 -57
  308. package/dist/test/performance-benchmark.d.ts.map +0 -1
  309. package/dist/test/performance-benchmark.js +0 -427
  310. package/dist/test/performance-benchmark.js.map +0 -1
  311. package/dist/test/test-alerts-direct.d.ts +0 -7
  312. package/dist/test/test-alerts-direct.d.ts.map +0 -1
  313. package/dist/test/test-alerts-direct.js +0 -101
  314. package/dist/test/test-alerts-direct.js.map +0 -1
  315. package/dist/test/test-batch-scheduler.d.ts +0 -2
  316. package/dist/test/test-batch-scheduler.d.ts.map +0 -1
  317. package/dist/test/test-batch-scheduler.js +0 -156
  318. package/dist/test/test-batch-scheduler.js.map +0 -1
  319. package/dist/test/test-client.d.ts +0 -5
  320. package/dist/test/test-client.d.ts.map +0 -1
  321. package/dist/test/test-client.js +0 -86
  322. package/dist/test/test-client.js.map +0 -1
  323. package/dist/test/test-embedding.d.ts +0 -6
  324. package/dist/test/test-embedding.d.ts.map +0 -1
  325. package/dist/test/test-embedding.js +0 -142
  326. package/dist/test/test-embedding.js.map +0 -1
  327. package/dist/test/test-error-logging.d.ts +0 -7
  328. package/dist/test/test-error-logging.d.ts.map +0 -1
  329. package/dist/test/test-error-logging.js +0 -105
  330. package/dist/test/test-error-logging.js.map +0 -1
  331. package/dist/test/test-forgetting.d.ts +0 -6
  332. package/dist/test/test-forgetting.d.ts.map +0 -1
  333. package/dist/test/test-forgetting.js +0 -154
  334. package/dist/test/test-forgetting.js.map +0 -1
  335. package/dist/test/test-gemini-embedding.d.ts +0 -7
  336. package/dist/test/test-gemini-embedding.d.ts.map +0 -1
  337. package/dist/test/test-gemini-embedding.js +0 -134
  338. package/dist/test/test-gemini-embedding.js.map +0 -1
  339. package/dist/test/test-http-server-v2-simple.d.ts +0 -6
  340. package/dist/test/test-http-server-v2-simple.d.ts.map +0 -1
  341. package/dist/test/test-http-server-v2-simple.js +0 -131
  342. package/dist/test/test-http-server-v2-simple.js.map +0 -1
  343. package/dist/test/test-http-server-v2.d.ts +0 -7
  344. package/dist/test/test-http-server-v2.d.ts.map +0 -1
  345. package/dist/test/test-http-server-v2.js +0 -529
  346. package/dist/test/test-http-server-v2.js.map +0 -1
  347. package/dist/test/test-lightweight-embedding.d.ts +0 -6
  348. package/dist/test/test-lightweight-embedding.d.ts.map +0 -1
  349. package/dist/test/test-lightweight-embedding.js +0 -189
  350. package/dist/test/test-lightweight-embedding.js.map +0 -1
  351. package/dist/test/test-m1-completion.d.ts +0 -7
  352. package/dist/test/test-m1-completion.d.ts.map +0 -1
  353. package/dist/test/test-m1-completion.js +0 -124
  354. package/dist/test/test-m1-completion.js.map +0 -1
  355. package/dist/test/test-memory-injection-prompt.d.ts +0 -2
  356. package/dist/test/test-memory-injection-prompt.d.ts.map +0 -1
  357. package/dist/test/test-memory-injection-prompt.js +0 -299
  358. package/dist/test/test-memory-injection-prompt.js.map +0 -1
  359. package/dist/test/test-performance-alerts.d.ts +0 -7
  360. package/dist/test/test-performance-alerts.d.ts.map +0 -1
  361. package/dist/test/test-performance-alerts.js +0 -109
  362. package/dist/test/test-performance-alerts.js.map +0 -1
  363. package/dist/test/test-performance-monitor.d.ts +0 -2
  364. package/dist/test/test-performance-monitor.d.ts.map +0 -1
  365. package/dist/test/test-performance-monitor.js +0 -182
  366. package/dist/test/test-performance-monitor.js.map +0 -1
  367. package/dist/test/test-performance-monitoring.d.ts +0 -6
  368. package/dist/test/test-performance-monitoring.d.ts.map +0 -1
  369. package/dist/test/test-performance-monitoring.js +0 -156
  370. package/dist/test/test-performance-monitoring.js.map +0 -1
  371. package/dist/test/test-search.d.ts +0 -5
  372. package/dist/test/test-search.d.ts.map +0 -1
  373. package/dist/test/test-search.js +0 -141
  374. package/dist/test/test-search.js.map +0 -1
  375. package/dist/test/test-simple-alerts.d.ts +0 -6
  376. package/dist/test/test-simple-alerts.d.ts.map +0 -1
  377. package/dist/test/test-simple-alerts.js +0 -106
  378. package/dist/test/test-simple-alerts.js.map +0 -1
  379. package/dist/test/test-vector-search-engine.d.ts +0 -2
  380. package/dist/test/test-vector-search-engine.d.ts.map +0 -1
  381. package/dist/test/test-vector-search-engine.js +0 -225
  382. package/dist/test/test-vector-search-engine.js.map +0 -1
  383. package/docker-compose.dev.yml +0 -50
  384. package/docker-compose.prod.yml +0 -77
  385. package/docker-compose.yml +0 -43
  386. package/docs/en/Memento-Goals.md +0 -217
  387. package/docs/en/Memento-M1-DetailSpecs.md +0 -130
  388. package/docs/en/Memento-Milestones.md +0 -135
  389. package/docs/en/Search-Ranking-Memory-Decay-Formulas.md +0 -177
  390. package/docs/en/api-reference.md +0 -658
  391. package/docs/en/architecture.md +0 -1302
  392. package/docs/en/developer-guide.md +0 -1005
  393. package/docs/en/user-manual.md +0 -595
  394. package/docs/ko/Memento-Goals.md +0 -217
  395. package/docs/ko/Memento-M1-DetailSpecs.md +0 -130
  396. package/docs/ko/Memento-Milestones.md +0 -134
  397. package/docs/ko/Search-Ranking-Memory-Decay-Formulas.md +0 -177
  398. package/docs/ko/api-reference.md +0 -658
  399. package/docs/ko/architecture.md +0 -1302
  400. package/docs/ko/developer-guide.md +0 -1006
  401. package/docs/ko/embedding-api-reference.md +0 -122
  402. package/docs/ko/embedding-configuration.md +0 -62
  403. package/docs/ko/embedding-performance-benchmark.md +0 -62
  404. package/docs/ko/embedding-service-guide.md +0 -314
  405. package/docs/ko/user-manual.md +0 -595
  406. package/env.example +0 -49
  407. package/install.sh +0 -191
  408. package/mcp-http-client.js +0 -218
  409. package/mcp.json +0 -0
  410. package/packages/mcp-client/docs/API-REFERENCE.md +0 -560
  411. package/packages/mcp-client/docs/BEST-PRACTICES.md +0 -564
  412. package/packages/mcp-client/docs/MIGRATION-GUIDE.md +0 -344
  413. package/packages/mcp-client/docs/PERFORMANCE-GUIDE.md +0 -476
  414. package/packages/mcp-client/docs/TROUBLESHOOTING.md +0 -564
  415. package/packages/mcp-client/package-lock.json +0 -907
  416. package/packages/mcp-client/package.json +0 -58
  417. package/packages/mcp-client/performance-optimizer.js +0 -428
  418. package/packages/mcp-client/test-basic.js +0 -65
  419. package/packages/mcp-client/test-integration.js +0 -366
  420. package/src/algorithms/forgetting-algorithm.spec.ts +0 -538
  421. package/src/algorithms/forgetting-algorithm.ts +0 -243
  422. package/src/algorithms/hybrid-search-engine.spec.ts +0 -484
  423. package/src/algorithms/hybrid-search-engine.ts +0 -489
  424. package/src/algorithms/search-engine.spec.ts +0 -429
  425. package/src/algorithms/search-engine.ts +0 -392
  426. package/src/algorithms/search-ranking.spec.ts +0 -293
  427. package/src/algorithms/search-ranking.ts +0 -407
  428. package/src/algorithms/spaced-repetition.spec.ts +0 -510
  429. package/src/algorithms/spaced-repetition.ts +0 -238
  430. package/src/algorithms/vector-search-engine.ts +0 -505
  431. package/src/client/index.spec.ts +0 -427
  432. package/src/client/index.ts +0 -222
  433. package/src/config/index.spec.ts +0 -339
  434. package/src/config/index.ts +0 -106
  435. package/src/database/init.spec.ts +0 -239
  436. package/src/database/init.ts +0 -130
  437. package/src/database/migrate.spec.ts +0 -293
  438. package/src/database/migrate.ts +0 -94
  439. package/src/database/migrations/001_add_embedding_metadata.sql +0 -29
  440. package/src/npm-client/context-injector.spec.ts +0 -335
  441. package/src/npm-client/context-injector.ts +0 -412
  442. package/src/npm-client/index.spec.ts +0 -108
  443. package/src/npm-client/index.ts +0 -96
  444. package/src/npm-client/memento-client.spec.ts +0 -549
  445. package/src/npm-client/memento-client.ts +0 -501
  446. package/src/npm-client/memory-manager.spec.ts +0 -374
  447. package/src/npm-client/memory-manager.ts +0 -414
  448. package/src/npm-client/types.spec.ts +0 -427
  449. package/src/npm-client/types.ts +0 -296
  450. package/src/npm-client/utils.spec.ts +0 -355
  451. package/src/npm-client/utils.ts +0 -423
  452. package/src/scripts/copy-assets.js +0 -37
  453. package/src/server/http-server.spec.ts +0 -648
  454. package/src/server/http-server.ts +0 -1030
  455. package/src/server/index-backup.ts +0 -875
  456. package/src/server/index-refactored.ts +0 -237
  457. package/src/server/index.spec.ts +0 -281
  458. package/src/server/index.ts +0 -347
  459. package/src/server/simple-mcp-server.spec.ts +0 -207
  460. package/src/server/simple-mcp-server.ts +0 -173
  461. package/src/services/async-optimizer.spec.ts +0 -569
  462. package/src/services/async-optimizer.ts +0 -484
  463. package/src/services/batch-scheduler.ts +0 -759
  464. package/src/services/cache-service.spec.ts +0 -372
  465. package/src/services/cache-service.ts +0 -434
  466. package/src/services/database-optimizer.spec.ts +0 -344
  467. package/src/services/database-optimizer.ts +0 -450
  468. package/src/services/embedding-provider-factory.ts +0 -173
  469. package/src/services/embedding-service.spec.ts +0 -342
  470. package/src/services/embedding-service.ts +0 -333
  471. package/src/services/error-logging-service.spec.ts +0 -416
  472. package/src/services/error-logging-service.ts +0 -383
  473. package/src/services/forgetting-policy-service.spec.ts +0 -140
  474. package/src/services/forgetting-policy-service.ts +0 -334
  475. package/src/services/gemini-embedding-service.spec.ts +0 -463
  476. package/src/services/gemini-embedding-service.ts +0 -283
  477. package/src/services/lightweight-embedding-service.spec.ts +0 -458
  478. package/src/services/lightweight-embedding-service.ts +0 -324
  479. package/src/services/memory-embedding-service.spec.ts +0 -417
  480. package/src/services/memory-embedding-service.ts +0 -289
  481. package/src/services/minilm-embedding-service.spec.ts +0 -104
  482. package/src/services/minilm-embedding-service.ts +0 -262
  483. package/src/services/performance-alert-service.spec.ts +0 -517
  484. package/src/services/performance-alert-service.ts +0 -477
  485. package/src/services/performance-monitor.spec.ts +0 -401
  486. package/src/services/performance-monitor.ts +0 -532
  487. package/src/services/performance-monitoring-integration.spec.ts +0 -478
  488. package/src/services/performance-monitoring-integration.ts.bak +0 -276
  489. package/src/services/unified-embedding-service.spec.ts +0 -224
  490. package/src/services/unified-embedding-service.ts +0 -255
  491. package/src/test/debug-http-v2.ts +0 -30
  492. package/src/test/embedding-integration-test.spec.ts +0 -295
  493. package/src/test/embedding-integration-test.ts +0 -295
  494. package/src/test/embedding-performance-benchmark.spec.ts +0 -354
  495. package/src/test/embedding-performance-benchmark.ts +0 -312
  496. package/src/test/performance-benchmark.ts +0 -565
  497. package/src/test/test-alerts-direct.ts +0 -136
  498. package/src/test/test-batch-scheduler-simple.spec.ts +0 -122
  499. package/src/test/test-batch-scheduler.spec.ts +0 -453
  500. package/src/test/test-batch-scheduler.ts +0 -182
  501. package/src/test/test-client.ts +0 -97
  502. package/src/test/test-embedding.ts +0 -153
  503. package/src/test/test-error-handling.spec.ts +0 -575
  504. package/src/test/test-error-logging.ts +0 -117
  505. package/src/test/test-forgetting.ts +0 -162
  506. package/src/test/test-gemini-embedding.ts +0 -159
  507. package/src/test/test-http-server-v2-simple.ts +0 -147
  508. package/src/test/test-http-server-v2.ts +0 -586
  509. package/src/test/test-hybrid-search-engine.spec.ts +0 -521
  510. package/src/test/test-integration-fixed.spec.ts +0 -612
  511. package/src/test/test-integration.spec.ts +0 -463
  512. package/src/test/test-lightweight-embedding.ts +0 -208
  513. package/src/test/test-m1-completion.spec.ts +0 -614
  514. package/src/test/test-m1-completion.ts +0 -141
  515. package/src/test/test-m1-integration.spec.ts +0 -514
  516. package/src/test/test-memory-injection-prompt.spec.ts +0 -650
  517. package/src/test/test-memory-injection-prompt.ts +0 -391
  518. package/src/test/test-performance-alerts.ts +0 -125
  519. package/src/test/test-performance-monitor-updates.spec.ts +0 -490
  520. package/src/test/test-performance-monitor.spec.ts +0 -284
  521. package/src/test/test-performance-monitor.ts +0 -228
  522. package/src/test/test-performance-monitoring.ts +0 -171
  523. package/src/test/test-search.ts +0 -151
  524. package/src/test/test-simple-alerts.ts +0 -136
  525. package/src/test/test-vector-search-engine.spec.ts +0 -408
  526. package/src/test/test-vector-search-engine.ts +0 -303
  527. package/src/tools/base-tool.ts +0 -189
  528. package/src/tools/cleanup-memory-tool.ts +0 -77
  529. package/src/tools/database-optimize-tool.ts +0 -79
  530. package/src/tools/error-stats.ts +0 -119
  531. package/src/tools/forget-tool.spec.ts +0 -613
  532. package/src/tools/forget-tool.ts +0 -454
  533. package/src/tools/forgetting-stats-tool.ts +0 -47
  534. package/src/tools/index.ts +0 -71
  535. package/src/tools/memory-injection-prompt.ts +0 -257
  536. package/src/tools/performance-alerts.ts +0 -226
  537. package/src/tools/performance-stats-tool.ts +0 -48
  538. package/src/tools/pin-tool.spec.ts +0 -497
  539. package/src/tools/pin-tool.ts +0 -277
  540. package/src/tools/recall-tool.spec.ts +0 -475
  541. package/src/tools/recall-tool.ts +0 -389
  542. package/src/tools/remember-tool.spec.ts +0 -469
  543. package/src/tools/remember-tool.ts +0 -112
  544. package/src/tools/resolve-error.ts +0 -69
  545. package/src/tools/tool-registry.ts +0 -417
  546. package/src/tools/types.ts +0 -63
  547. package/src/tools/unpin-tool.spec.ts +0 -549
  548. package/src/tools/unpin-tool.ts +0 -306
  549. package/src/types/embedding.types.ts +0 -78
  550. package/src/types/index.spec.ts +0 -420
  551. package/src/types/index.ts +0 -117
  552. package/src/utils/database.spec.ts +0 -77
  553. package/src/utils/database.ts +0 -458
  554. package/src/utils/stopwords.ts +0 -128
  555. package/start-docker-setup.bat +0 -38
  556. package/static/logo.png +0 -0
  557. package/static/memento_logo.svg +0 -2
  558. package/test-docker.js +0 -103
  559. package/tsconfig.json +0 -46
  560. 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"}