memento-mcp-server 1.6.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 -432
  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 +233 -233
  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,97 +0,0 @@
1
- # Pull Request
2
-
3
- ## 📝 변경 사항
4
- 이 PR에서 변경된 내용을 간단히 설명해주세요.
5
-
6
- ## 🎯 변경 유형
7
- 해당하는 항목에 체크해주세요:
8
-
9
- - [ ] 🐛 버그 수정 (기존 기능의 버그 수정)
10
- - [ ] ✨ 새로운 기능 (기존 기능을 깨뜨리지 않는 새로운 기능)
11
- - [ ] 💥 Breaking Change (기존 기능을 깨뜨리는 변경)
12
- - [ ] 📚 문서 업데이트
13
- - [ ] 🎨 코드 스타일 변경 (포맷팅, 세미콜론 등)
14
- - [ ] ♻️ 리팩토링 (기능 변경 없이 코드 개선)
15
- - [ ] ⚡ 성능 개선
16
- - [ ] ✅ 테스트 추가/수정
17
- - [ ] 🔧 빌드/CI 변경
18
- - [ ] 🗑️ 불필요한 코드 제거
19
-
20
- ## 🔗 관련 이슈
21
- 이 PR이 해결하는 이슈를 링크해주세요:
22
-
23
- - Closes #이슈번호
24
- - Related to #이슈번호
25
-
26
- ## 📋 변경 사항 상세
27
- 변경된 내용을 자세히 설명해주세요:
28
-
29
- ### 추가된 기능
30
- - 새로운 기능 1
31
- - 새로운 기능 2
32
-
33
- ### 수정된 기능
34
- - 수정된 기능 1
35
- - 수정된 기능 2
36
-
37
- ### 제거된 기능
38
- - 제거된 기능 1
39
- - 제거된 기능 2
40
-
41
- ## 🧪 테스트
42
- 이 변경사항을 테스트하는 방법을 설명해주세요:
43
-
44
- 1. 테스트 단계 1
45
- 2. 테스트 단계 2
46
- 3. 테스트 단계 3
47
-
48
- ### 테스트 결과
49
- - [ ] 모든 기존 테스트 통과
50
- - [ ] 새로운 테스트 추가
51
- - [ ] 수동 테스트 완료
52
-
53
- ## 📸 스크린샷
54
- UI 변경사항이 있다면 스크린샷을 추가해주세요:
55
-
56
- ### Before
57
- <!-- 변경 전 스크린샷 -->
58
-
59
- ### After
60
- <!-- 변경 후 스크린샷 -->
61
-
62
- ## 🔍 코드 리뷰 포인트
63
- 리뷰어가 특별히 주의깊게 봐야 할 부분이 있다면 설명해주세요.
64
-
65
- ## 📚 문서 업데이트
66
- 문서 업데이트가 필요한지 확인해주세요:
67
-
68
- - [ ] README.md 업데이트 필요
69
- - [ ] API 문서 업데이트 필요
70
- - [ ] 사용자 가이드 업데이트 필요
71
- - [ ] 개발자 가이드 업데이트 필요
72
- - [ ] 문서 업데이트 불필요
73
-
74
- ## ⚠️ 주의사항
75
- 이 변경사항으로 인한 주의사항이나 알려진 이슈가 있다면 설명해주세요.
76
-
77
- ## ✅ 체크리스트
78
- - [ ] 코드가 프로젝트의 코딩 스타일을 따릅니다
79
- - [ ] 자체 검토를 완료했습니다
80
- - [ ] 코드에 적절한 주석을 추가했습니다
81
- - [ ] 변경사항에 해당하는 문서를 업데이트했습니다
82
- - [ ] 새로운 경고나 오류가 없습니다
83
- - [ ] 새로운 의존성이 추가되었다면 이유를 설명했습니다
84
- - [ ] Breaking Change가 있다면 마이그레이션 가이드를 제공했습니다
85
-
86
- ## 🚀 배포 관련
87
- 배포와 관련된 특별한 사항이 있다면 설명해주세요:
88
-
89
- - [ ] 데이터베이스 마이그레이션 필요
90
- - [ ] 환경 변수 변경 필요
91
- - [ ] 새로운 의존성 설치 필요
92
- - [ ] 특별한 배포 절차 필요
93
- - [ ] 특별한 사항 없음
94
-
95
- ---
96
-
97
- **리뷰어분들께 감사드립니다! 🙏**
package/AGENTS.md DELETED
@@ -1,28 +0,0 @@
1
- # Repository Guidelines
2
-
3
- ## Project Structure & Module Organization
4
- Source code lives under `src/`. `src/server/` exposes the MCP entry points (`index.ts` for CLI, `http-server.ts` for HTTP). Domain logic is grouped by concern: `src/services/` (embedding, forgetting, monitoring), `src/algorithms/` (search engines), `src/utils/` (database helpers), and `src/types/` for shared contracts. Persistence assets live in `src/database/` (schema + init scripts) and compile into `dist/database/` during builds. Local SQLite state is written to `data/`; treat it as disposable. Documentation sits in `docs/`, and build artifacts compile to `dist/` (never edit by hand).
5
-
6
- ## Build, Test, and Development Commands
7
- Run `npm install` once before other tasks. `npm run dev` starts the MCP server in watch mode; use `npm run dev:http` for the HTTP facade. `npm run build` transpiles TypeScript and copies the SQL schema, while `npm run start` boots the compiled server. Quality gates: `npm run lint`, `npm run type-check`, and `npm test` (Vitest). Scenario scripts such as `npm run test:client`, `npm run test:search`, and `npm run test:forgetting` exercise higher-level workflows.
8
-
9
- ## Coding Style & Naming Conventions
10
- We target Node.js ≥ 20 and modern TypeScript with ES modules. Default to two-space indentation, trailing commas, and single quotes as seen in `src/server/index.ts`. File names follow kebab-case (`memory-embedding-service.ts`); classes use PascalCase, functions camelCase. Keep business logic typed with shared interfaces from `src/types/`. Format code before commits via `npm run lint -- --fix` when applicable.
11
-
12
- ## Testing Guidelines
13
- Vitest backs the unit and integration tests with clear file naming conventions:
14
-
15
- - **Unit Tests** (`.spec.ts`): Place in the same directory as the module being tested
16
- - Example: `src/algorithms/search-engine.spec.ts`
17
- - Test individual functions/classes with mocks
18
- - **E2E Tests** (`test-*.ts`): Place in `src/test/` directory
19
- - Example: `src/test/test-client.ts`
20
- - Test complete workflows with real MCP server
21
-
22
- Prefer deterministic data via the `DatabaseUtils` helpers. Run `npm test` for the suite, and add relevant scenario scripts (e.g., `npm run test:performance`) to PR comments when used. Clean or reset `data/` if tests modify the local SQLite database.
23
-
24
- ## Commit & Pull Request Guidelines
25
- Follow the existing conventional commit style (`feat:`, `fix:`, `chore:`) with concise, action-oriented summaries; include Korean context when helpful to the team. Reference tracking issues in the body. PRs should describe intent, outline testing evidence, and call out schema or configuration changes. Attach logs or screenshots for HTTP/UI-facing updates, and request review from domain owners when touching search, forgetting, or database modules.
26
-
27
- ## Environment & Database Notes
28
- Copy `env.example` to `.env` and override API keys or database paths as needed. Use `npm run db:init` for fresh setups and `npm run db:migrate` when altering the SQLite schema; include migration notes in PRs. Keep secrets out of source control and avoid committing generated files under `data/` or `dist/`.
package/CHANGELOG.md DELETED
@@ -1,416 +0,0 @@
1
- # Changelog
2
-
3
- 이 파일은 Memento MCP Server 프로젝트의 모든 중요한 변경사항을 기록합니다.
4
-
5
- 형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.0.0/)를 따르며,
6
- 이 프로젝트는 [Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
7
-
8
- ## [Unreleased]
9
-
10
- ### 계획된 기능
11
- - M2 팀 협업 기능 구현
12
- - PostgreSQL 마이그레이션
13
- - JWT 인증 시스템
14
- - 고가용성 구성
15
-
16
- ## [1.5.0] - 2025-10-03
17
-
18
- ### 추가됨
19
- - **sqlite-vec 마이그레이션**: sqlite-vss에서 더 안정적인 sqlite-vec로 전환
20
- - **MCP 도구 스키마 수정**: memory_injection 도구의 inputSchema를 JSON Schema 형식으로 수정
21
-
22
- ### 수정됨
23
- - **Feedback Event 스키마**: pin, unpin, forget 도구의 이벤트 로깅을 데이터베이스 제약조건에 맞게 수정
24
- - **벡터 검색 엔진**: sqlite-vec 기반으로 완전히 재구현
25
- - **Docker 설정**: Debian 기반 이미지로 변경하여 sqlite-vec 호환성 확보
26
-
27
- ### 해결됨
28
- - **MCP 도구 인식 문제**: 모든 6개 도구가 정상적으로 인식되도록 수정
29
- - **데이터베이스 제약조건 오류**: feedback_event 테이블의 CHECK 제약조건 위반 문제 해결
30
- - **Docker 빌드 오류**: sqlite-vec 설치 및 설정 문제 해결
31
-
32
- ### 변경사항
33
- - 프로젝트 초기 설정
34
- - Cursor Rules 생성
35
- - 문서 구조 정립
36
-
37
- ## [1.0.0] - 2025-09-22
38
-
39
- ### 추가됨
40
-
41
- #### 🎯 프로젝트 초기 설정
42
- - TypeScript 5.3.0 기반 MCP 서버 프로젝트 구조 생성
43
- - ESLint, Vitest 테스트 프레임워크 설정
44
- - tsx 개발 도구 통합
45
- - .gitignore 파일 생성 (Node.js, TypeScript, MCP 특화)
46
-
47
- #### 📚 문서화 시스템
48
- - **설계 문서**:
49
- - `docs/Memento-Goals.md` - 프로젝트 목표 및 시스템 설계
50
- - `docs/Memento-M1-DetailSpecs.md` - M1 단계 상세 설계
51
- - `docs/Memento-Milestones.md` - 마일스톤별 아키텍처 계획
52
- - `docs/Search-Ranking-Memory-Decay-Formulas.md` - 검색 랭킹 및 망각 수식
53
- - **프로젝트 문서**:
54
- - `README.md` - 프로젝트 개요, 설치, 사용법, 아키텍처
55
- - `CHANGELOG.md` - 버전별 변경사항 추적
56
-
57
- #### 🛠️ 개발 도구 및 규칙
58
- - **Cursor Rules** (`.cursor/rules/`):
59
- - `memento-project-overview.mdc` - 프로젝트 전체 개요 (항상 적용)
60
- - `mcp-server-development.mdc` - MCP 서버 개발 규칙 (TypeScript/JavaScript)
61
- - `mcp-client-development.mdc` - MCP 클라이언트 개발 규칙 (TypeScript/JavaScript)
62
- - `database-schema.mdc` - 데이터베이스 스키마 규칙 (SQL/TypeScript)
63
- - `memory-algorithms.mdc` - 기억 알고리즘 구현 규칙 (TypeScript/JavaScript)
64
- - `project-structure.mdc` - 프로젝트 구조 및 파일 명명 규칙 (실제 구조 반영)
65
- - `testing.mdc` - 테스트 작성 및 실행 규칙
66
- - `deployment.mdc` - 배포 및 컨테이너화 규칙
67
- - `implementation.mdc` - 실제 구현된 기능들에 대한 개발 규칙 (신규)
68
-
69
- #### 🏗️ 아키텍처 설계
70
- - **4단계 마일스톤 계획**:
71
- - M1: 개인용 SQLite 기반 MVP (로컬 실행)
72
- - M2: 팀 협업 SQLite 서버 모드 (Docker, API Key)
73
- - M3: 조직용 PostgreSQL + pgvector (Docker Compose, JWT)
74
- - M4: 엔터프라이즈 고가용성 구성 (Kubernetes, RBAC + SSO)
75
- - **시스템 아키텍처**: Mermaid 다이어그램으로 시각화
76
- - **프로젝트 구조**: 모듈화된 디렉토리 구조 설계
77
-
78
- #### 🧠 기억 모델 설계
79
- - **작업기억 (Working Memory)**: 현재 처리 중인 정보 (48시간 유지)
80
- - **일화기억 (Episodic Memory)**: 사건과 경험 (90일 유지)
81
- - **의미기억 (Semantic Memory)**: 지식과 사실 (무기한)
82
- - **절차기억 (Procedural Memory)**: 방법과 절차 (무기한)
83
-
84
- #### 🔍 검색 시스템 설계
85
- - **2단계 검색 파이프라인**: ANN (벡터) + BM25 (키워드)
86
- - **복합 랭킹 공식**: S = α×relevance + β×recency + γ×importance + δ×usage - ε×duplication_penalty
87
- - **MMR 다양성 제어**: 중복 제거 및 결과 다양성 확보
88
- - **배치 정규화**: 성능 최적화 및 안정성 향상
89
-
90
- #### 🧹 망각 시스템 설계
91
- - **TTL 기반 자동 삭제 정책**: 타입별 수명 관리
92
- - **간격 반복 알고리즘**: 중요도 기반 주기적 리뷰
93
- - **수면 통합 배치 작업**: 야간 기억 통합 및 요약
94
-
95
- #### 🚀 실제 구현 완료 (M1 MVP)
96
- - **MCP 서버 구현** (`src/server/index.ts` - 521줄):
97
- - remember, recall, forget, pin/unpin Tools 구현
98
- - Zod 스키마 기반 입력 검증
99
- - 구조화된 에러 처리 및 로깅
100
- - MCP 프로토콜 완전 준수
101
- - 하이브리드 검색 엔진 통합
102
- - 임베딩 서비스 통합
103
-
104
- - **검색 엔진 구현** (`src/algorithms/search-engine.ts` - 233줄):
105
- - FTS5 텍스트 검색 통합
106
- - 검색 랭킹 알고리즘 구현
107
- - 고급 필터링 시스템 (타입, 태그, 시간, 고정 여부)
108
- - 성능 최적화된 인덱스 활용
109
-
110
- - **하이브리드 검색 엔진 구현** (`src/algorithms/hybrid-search-engine.ts` - 200줄):
111
- - FTS5 텍스트 검색 + 벡터 검색 결합
112
- - 가중치 조정 시스템 (벡터 60%, 텍스트 40%)
113
- - 하이브리드 점수 계산 및 정규화
114
- - 고성능 하이브리드 검색 결과 제공
115
-
116
- - **데이터베이스 시스템** (`src/database/init.ts` - 102줄):
117
- - SQLite 데이터베이스 초기화
118
- - 완전한 스키마 생성 (7개 테이블)
119
- - FTS5 및 일반 인덱스 설정
120
- - 안전한 연결 관리
121
-
122
- - **임베딩 서비스 구현** (`src/services/embedding-service.ts` - 196줄):
123
- - OpenAI API 연동 (`text-embedding-3-small` 모델)
124
- - 텍스트를 1536차원 벡터로 변환
125
- - 코사인 유사도 기반 검색
126
- - 에러 처리 및 재시도 로직
127
-
128
- - **메모리 임베딩 서비스 구현** (`src/services/memory-embedding-service.ts` - 237줄):
129
- - 메모리와 임베딩을 데이터베이스에 저장
130
- - 벡터 검색 및 유사도 계산
131
- - 자동 임베딩 생성 및 관리
132
- - 성능 최적화된 벡터 검색
133
-
134
- - **클라이언트 구현** (`src/client/index.ts`):
135
- - MCP 프로토콜 기반 클라이언트
136
- - 서버 연결 및 통신 관리
137
- - 에러 처리 및 재시도 로직
138
-
139
- - **망각 시스템 구현** (`src/algorithms/forgetting-algorithm.ts` - 244줄):
140
- - Memento-Goals.md의 망각 공식 구현
141
- - 최근성, 사용성, 중복 비율, 중요도, 고정 여부를 종합한 망각 점수 계산
142
- - U1-U5 계수를 사용한 가중치 시스템
143
- - 망각 결정 로직 및 특징 계산 함수
144
-
145
- - **간격 반복 알고리즘 구현** (`src/algorithms/spaced-repetition.ts` - 239줄):
146
- - 중요도와 사용성 기반 리뷰 간격 계산
147
- - 시간 경과에 따른 리콜 확률 계산
148
- - 피드백에 따른 동적 간격 조정
149
- - 간격 반복 스케줄링 시스템
150
-
151
- - **망각 정책 서비스 구현** (`src/services/forgetting-policy-service.ts` - 335줄):
152
- - 망각 알고리즘과 간격 반복 통합
153
- - TTL 기반 정책 (타입별 수명 관리)
154
- - 소프트/하드 삭제 단계적 정책
155
- - 배치 처리 및 메모리 관리
156
-
157
- - **HTTP 서버 구현** (`src/server/http-server.ts` - 551줄):
158
- - WebSocket 지원 실시간 통신 서버
159
- - CORS 설정으로 웹 클라이언트 지원
160
- - MCP 프로토콜과의 콘솔 로그 충돌 해결
161
- - Express + WebSocket 통합 아키텍처
162
-
163
- - **성능 최적화 시스템** (1,608줄):
164
- - **비동기 처리 최적화** (`src/services/async-optimizer.ts` - 447줄):
165
- - 워커 풀 관리 및 병렬 처리
166
- - 우선순위 기반 작업 큐 시스템
167
- - 배치 처리 및 재시도 로직
168
- - 성능 최적화된 비동기 작업 처리
169
- - **캐시 서비스** (`src/services/cache-service.ts` - 352줄):
170
- - LRU 캐시 구현 및 TTL 관리
171
- - 검색 결과 캐싱 및 임베딩 캐싱
172
- - 캐시 통계 수집 및 성능 모니터링
173
- - 메모리 효율적인 캐시 관리
174
- - **데이터베이스 최적화** (`src/services/database-optimizer.ts` - 442줄):
175
- - 자동 인덱스 추천 및 생성
176
- - 쿼리 성능 분석 및 최적화
177
- - 데이터베이스 성능 튜닝
178
- - 통계 수집 및 성능 개선
179
- - **성능 모니터링** (`src/services/performance-monitor.ts` - 367줄):
180
- - 실시간 메트릭 수집 및 분석
181
- - 임계값 모니터링 및 알림
182
- - 성능 리포트 생성 및 트렌드 분석
183
- - 시스템 상태 모니터링
184
- - **경량 하이브리드 임베딩** (`src/services/lightweight-embedding-service.ts` - 321줄):
185
- - **Fallback 솔루션**: OpenAI API가 없을 때 사용하는 대체 임베딩 서비스
186
- - **TF-IDF + 키워드 매칭**: 512차원 고정 벡터 생성
187
- - **다국어 지원**: 한국어/영어 불용어 제거 및 텍스트 전처리
188
- - **코사인 유사도**: 벡터 간 유사도 계산을 통한 검색
189
- - **투명한 인터페이스**: 기존 임베딩 API와 동일한 인터페이스 제공
190
-
191
- - **테스트 시스템** (1,290줄):
192
- - `test-client.ts` (152줄): 클라이언트 통합 테스트
193
- - `test-search.ts` (152줄): 검색 기능 상세 테스트
194
- - `test-embedding.ts` (154줄): 임베딩 기능 테스트
195
- - `test-forgetting.ts` (163줄): 망각 정책 테스트
196
- - `test-performance-monitoring.ts` (172줄): 성능 모니터링 기능 테스트
197
- - `test/performance-benchmark.ts` (497줄): 종합 성능 벤치마크 테스트
198
- - Vitest 설정 및 모던 테스트 환경
199
-
200
- - **빌드 시스템**:
201
- - TypeScript 컴파일 및 소스맵 생성
202
- - 에셋 복사 자동화 (schema.sql)
203
- - 개발/프로덕션 환경 분리
204
-
205
- ### 기술 스택
206
-
207
- #### 핵심 기술
208
- - **언어**: TypeScript 5.3.0
209
- - **런타임**: Node.js 20.10.0+
210
- - **프레임워크**: MCP SDK 0.5.0 (Model Context Protocol)
211
-
212
- #### 데이터베이스
213
- - **M1 (구현 완료)**: SQLite 5.1.6 + FTS5 + 완전한 스키마
214
- - **M3+ (계획)**: PostgreSQL + pgvector + tsvector
215
-
216
- #### 개발 도구
217
- - **테스트**: Vitest 1.0.0 (구현 완료)
218
- - **린팅**: ESLint 8.54.0, @typescript-eslint
219
- - **빌드**: TypeScript 5.3.0, tsx 4.6.0
220
- - **컨테이너**: Docker, Docker Compose
221
-
222
- #### 배포 및 운영
223
- - **M2**: Docker 단일 컨테이너
224
- - **M3**: Docker Compose (서버 + DB)
225
- - **M4**: Kubernetes, Helm Charts
226
-
227
- ### 프로젝트 구조
228
-
229
- ```
230
- memento/
231
- ├── src/ # 소스 코드
232
- │ ├── algorithms/ # 검색 및 망각 알고리즘
233
- │ │ ├── search-engine.ts # 검색 엔진 (233줄)
234
- │ │ ├── hybrid-search-engine.ts # 하이브리드 검색 엔진 (200줄)
235
- │ │ ├── search-ranking.ts # 검색 랭킹 알고리즘
236
- │ │ ├── forgetting-algorithm.ts # 망각 알고리즘 (244줄)
237
- │ │ └── spaced-repetition.ts # 간격 반복 알고리즘 (239줄)
238
- │ ├── client/ # MCP 클라이언트
239
- │ │ └── index.ts # 클라이언트 구현
240
- │ ├── config/ # 설정 관리
241
- │ │ └── index.ts # 설정 파일
242
- │ ├── database/ # 데이터베이스 관련
243
- │ │ ├── init.ts # 데이터베이스 초기화 (102줄)
244
- │ │ └── schema.sql # SQLite 스키마
245
- │ ├── server/ # MCP 서버
246
- │ │ ├── index.ts # 서버 메인 (521줄)
247
- │ │ └── http-server.ts # HTTP/WebSocket 서버 (551줄)
248
- │ ├── types/ # TypeScript 타입 정의
249
- │ │ └── index.ts # 공통 타입 정의
250
- │ ├── utils/ # 유틸리티 함수
251
- │ │ └── database.ts # 데이터베이스 유틸리티
252
- │ ├── services/ # 서비스 레이어 (신규)
253
- │ │ ├── embedding-service.ts # OpenAI 임베딩 서비스 (196줄)
254
- │ │ ├── memory-embedding-service.ts # 메모리 임베딩 서비스 (237줄)
255
- │ │ ├── forgetting-policy-service.ts # 망각 정책 서비스 (335줄)
256
- │ │ ├── async-optimizer.ts # 비동기 처리 최적화 (447줄)
257
- │ │ ├── cache-service.ts # 캐시 서비스 (352줄)
258
- │ │ ├── database-optimizer.ts # 데이터베이스 최적화 (442줄)
259
- │ │ └── performance-monitor.ts # 성능 모니터링 (367줄)
260
- │ ├── test/ # 테스트 디렉토리 (신규)
261
- │ │ └── performance-benchmark.ts # 성능 벤치마크 (497줄)
262
- │ ├── test-client.ts # 클라이언트 테스트 (152줄)
263
- │ ├── test-search.ts # 검색 테스트 (152줄)
264
- │ ├── test-embedding.ts # 임베딩 테스트 (154줄)
265
- │ ├── test-forgetting.ts # 망각 정책 테스트 (163줄)
266
- │ └── test-performance-monitoring.ts # 성능 모니터링 테스트 (172줄)
267
- ├── dist/ # 빌드 결과물
268
- ├── data/ # 데이터 파일
269
- │ ├── memory.db # SQLite 데이터베이스
270
- │ ├── memory.db-shm # SQLite 공유 메모리
271
- │ └── memory.db-wal # SQLite WAL 파일
272
- ├── docs/ # 문서
273
- ├── .cursor/rules/ # Cursor 개발 규칙 (12개)
274
- ├── package.json # 프로젝트 설정
275
- ├── tsconfig.json # TypeScript 설정
276
- ├── vitest.config.ts # Vitest 설정
277
- └── env.example # 환경 변수 예시
278
- ```
279
-
280
- ### 문서화
281
-
282
- #### 사용자 문서
283
- - README.md - 프로젝트 개요, 설치, 사용법
284
- - 설치 및 설정 가이드 (계획됨)
285
- - 사용자 매뉴얼 (계획됨)
286
- - API 참조 (계획됨)
287
-
288
- #### 개발자 문서
289
- - 개발 환경 설정 가이드 (계획됨)
290
- - 아키텍처 문서 (계획됨)
291
- - 기여 가이드 (계획됨)
292
- - 테스트 가이드 (계획됨)
293
-
294
- #### 기술 문서
295
- - 프로젝트 목표 및 설계 문서
296
- - 마일스톤별 아키텍처 계획
297
- - 검색 랭킹 및 망각 수식
298
-
299
- ## [0.2.0] - 계획됨
300
-
301
- ### 계획된 기능
302
- - 🚀 **M1 MVP 구현**
303
- - MCP 서버 기본 구조 구현
304
- - SQLite 데이터베이스 스키마 생성
305
- - 기본 Tools 구현 (remember, recall, forget, pin)
306
- - FTS5 + VSS 검색 엔진 구현
307
-
308
- - 🔧 **개발 도구**
309
- - 단위 테스트 작성
310
- - 통합 테스트 구현
311
- - 성능 벤치마크 도구
312
- - 로깅 및 모니터링 설정
313
-
314
- ## [0.3.0] - 계획됨
315
-
316
- ### 계획된 기능
317
- - 🧠 **고급 기능**
318
- - 검색 랭킹 알고리즘 구현
319
- - 망각 정책 자동화
320
- - 간격 반복 스케줄러
321
- - 기억 간 관계 생성 (link)
322
-
323
- - 📊 **성능 최적화**
324
- - 검색 성능 튜닝
325
- - 메모리 사용량 최적화
326
- - 배치 작업 최적화
327
-
328
- ## [1.0.0] - 계획됨
329
-
330
- ### 계획된 기능
331
- - 🎯 **M1 완성**
332
- - 모든 핵심 기능 구현 완료
333
- - 안정성 및 성능 검증
334
- - 문서화 완료
335
- - AGENTS.md 저장소 가이드라인 추가
336
- - 경량 하이브리드 임베딩 서비스 문서화
337
- - 프로덕션 준비 완료
338
-
339
- ## [2.0.0] - 계획됨
340
-
341
- ### 계획된 기능
342
- - 👥 **M2 팀 협업**
343
- - SQLite 서버 모드 전환
344
- - API Key 인증 구현
345
- - Docker 컨테이너 배포
346
- - 팀 단위 권한 관리
347
-
348
- ## [3.0.0] - 계획됨
349
-
350
- ### 계획된 기능
351
- - 🏢 **M3 조직 초입**
352
- - PostgreSQL + pgvector 마이그레이션
353
- - JWT 인증 시스템
354
- - Docker Compose 배포
355
- - 사용자별 권한 관리
356
-
357
- ## [4.0.0] - 계획됨
358
-
359
- ### 계획된 기능
360
- - 🌐 **M4 엔터프라이즈**
361
- - 고가용성 PostgreSQL 클러스터
362
- - RBAC + SSO/LDAP 연동
363
- - Kubernetes 배포
364
- - 기업 보안 정책 준수
365
-
366
- ---
367
-
368
- ## 🔗 링크
369
-
370
- - [Unreleased]: https://github.com/your-org/memento/compare/v0.1.0...HEAD
371
- - [0.1.0]: https://github.com/your-org/memento/releases/tag/v0.1.0
372
-
373
- ## 📋 버전 규칙
374
-
375
- 이 프로젝트는 [Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
376
-
377
- - **MAJOR (X.0.0)**: 호환되지 않는 API 변경
378
- - **MINOR (X.Y.0)**: 하위 호환성을 유지하는 기능 추가
379
- - **PATCH (X.Y.Z)**: 하위 호환성을 유지하는 버그 수정
380
-
381
- ## 📝 기여 가이드
382
-
383
- 변경사항을 추가할 때는 다음 형식을 따르세요:
384
-
385
- ### 카테고리
386
-
387
- - **추가됨**: 새로운 기능
388
- - **변경됨**: 기존 기능의 변경사항
389
- - **제거됨**: 이번 릴리스에서 제거된 기능
390
- - **수정됨**: 버그 수정
391
- - **보안**: 보안 관련 변경사항
392
- - **문서**: 문서 변경사항
393
-
394
- ### 형식 예시
395
-
396
- ```markdown
397
- ### 추가됨
398
- - 새로운 MCP Tool: `summarize_thread`
399
- - Docker Compose 개발 환경 설정
400
-
401
- ### 변경됨
402
- - 검색 랭킹 알고리즘 성능 개선
403
- - API 응답 형식 표준화
404
-
405
- ### 수정됨
406
- - 메모리 누수 문제 해결
407
- - 검색 결과 중복 제거 로직 수정
408
-
409
- ### 보안
410
- - JWT 토큰 검증 강화
411
- - SQL 인젝션 방지 로직 추가
412
- ```
413
-
414
- ### 날짜 형식
415
-
416
- - **YYYY-MM-DD**: ISO 8601 형식 사용
@@ -1,62 +0,0 @@
1
- # 행동 강령 (Code of Conduct)
2
-
3
- ## 우리의 약속
4
-
5
- Memento MCP Server 프로젝트의 기여자와 유지보수자로서, 우리는 모든 사람이 성별, 성 정체성, 성적 지향, 장애, 외모, 신체 크기, 인종, 민족, 나이, 종교, 국적에 관계없이 괴롭힘 없는 경험을 할 수 있도록 포용적인 환경을 조성하기 위해 노력합니다.
6
-
7
- ## 우리의 기준
8
-
9
- 긍정적인 환경을 조성하는 행동의 예시:
10
-
11
- - 공감과 친절함을 보여주기
12
- - 서로 다른 관점, 의견, 경험을 존중하기
13
- - 건설적인 피드백을 주고 받기
14
- - 실수를 인정하고 배우기
15
- - 개인보다는 커뮤니티 전체의 이익에 집중하기
16
-
17
- 허용되지 않는 행동의 예시:
18
-
19
- - 성적화된 언어나 이미지 사용
20
- - 트롤링, 모욕적이거나 경멸적인 댓글, 개인적 공격 또는 정치적 공격
21
- - 공개적 또는 사적인 괴롭힘
22
- - 명시적 허가 없이 물리적 주소나 이메일 주소 등 개인 정보 게시
23
- - 직업적 환경에서 부적절하다고 합리적으로 간주될 수 있는 기타 행동
24
-
25
- ## 우리의 책임
26
-
27
- 프로젝트 유지보수자는 허용 가능한 행동의 기준을 명확히 할 책임이 있으며, 허용되지 않는 행동에 대해서는 적절하고 공정한 시정 조치를 취할 예정입니다.
28
-
29
- 프로젝트 유지보수자는 이 행동 강령을 따르지 않는 댓글, 커밋, 코드, 위키 편집, 이슈 및 기타 기여를 제거, 편집 또는 거부할 권리와 책임이 있습니다.
30
-
31
- ## 범위
32
-
33
- 이 행동 강령은 프로젝트 공간과 공개 공간 모두에서 개인이 프로젝트나 커뮤니티를 대표할 때 적용됩니다. 프로젝트나 커뮤니티를 대표하는 예시로는 공식 프로젝트 이메일 주소 사용, 공식 소셜 미디어 계정을 통한 게시, 온라인 또는 오프라인 이벤트에서 지정된 대표자로 활동하는 것이 있습니다. 프로젝트 유지보수자는 공개 공간에서의 대표자 행동을 더 자세히 정의하고 명확히 할 수 있습니다.
34
-
35
- ## 집행
36
-
37
- 욕설, 괴롭힘 또는 기타 허용되지 않는 행동을 목격하거나 경험한 경우, 프로젝트 팀에 연락해주세요. 모든 불만사항은 검토 및 조사되며, 상황에 따라 필요하고 적절하다고 판단되는 응답이 이어집니다. 프로젝트 팀은 특정 사안의 신고자와 관련된 기밀을 유지할 의무가 있습니다. 구체적인 집행 정책은 별도로 게시될 수 있습니다.
38
-
39
- 행동 강령을 성실히 따르지 않거나 집행하지 않는 프로젝트 유지보수자는 프로젝트 리더십의 다른 구성원의 판단에 따라 일시적 또는 영구적으로 제외될 수 있습니다.
40
-
41
- ## 연락처
42
-
43
- 이 행동 강령에 대한 질문이나 우려사항이 있으시면 다음 방법으로 연락해주세요:
44
-
45
- - **이메일**: [프로젝트 이메일 주소]
46
- - **GitHub Issues**: [GitHub Issues](https://github.com/jee1/memento/issues)
47
- - **GitHub Discussions**: [GitHub Discussions](https://github.com/jee1/memento/discussions)
48
-
49
- ## 라이선스
50
-
51
- 이 행동 강령은 [Contributor Covenant](https://www.contributor-covenant.org/) 버전 2.1에서 채택되었으며, [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html)에서 확인할 수 있습니다.
52
-
53
- ## 번역
54
-
55
- 이 행동 강령은 다음 언어로 번역되었습니다:
56
-
57
- - [English](CODE_OF_CONDUCT.en.md)
58
- - [한국어](CODE_OF_CONDUCT.md)
59
-
60
- ---
61
-
62
- **이 행동 강령은 모든 기여자와 사용자가 안전하고 포용적인 환경에서 협력할 수 있도록 도와줍니다.**