memento-mcp-server 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/.cursor/rules/cache-management.mdc +171 -0
  2. package/.cursor/rules/database-schema.mdc +344 -0
  3. package/.cursor/rules/deployment.mdc +596 -0
  4. package/.cursor/rules/error-logging.mdc +298 -0
  5. package/.cursor/rules/forgetting-algorithms.mdc +426 -0
  6. package/.cursor/rules/http-server.mdc +432 -0
  7. package/.cursor/rules/hybrid-search.mdc +424 -0
  8. package/.cursor/rules/implementation.mdc +369 -0
  9. package/.cursor/rules/lightweight-embedding.mdc +178 -0
  10. package/.cursor/rules/mcp-client-development.mdc +0 -0
  11. package/.cursor/rules/mcp-server-development.mdc +0 -0
  12. package/.cursor/rules/mcp-tools-architecture.mdc +205 -0
  13. package/.cursor/rules/memento-memory-rule.mdc +8 -0
  14. package/.cursor/rules/memento-project-overview.mdc +0 -0
  15. package/.cursor/rules/memory-algorithms.mdc +502 -0
  16. package/.cursor/rules/monitoring.mdc +622 -0
  17. package/.cursor/rules/performance-alerts.mdc +537 -0
  18. package/.cursor/rules/performance-monitoring.mdc +345 -0
  19. package/.cursor/rules/performance-optimization.mdc +563 -0
  20. package/.cursor/rules/project-structure.mdc +310 -0
  21. package/.cursor/rules/testing.mdc +473 -0
  22. package/.dockerignore +15 -0
  23. package/.eslintrc.json +34 -0
  24. package/.github/ISSUE_TEMPLATE/bug_report.md +51 -0
  25. package/.github/ISSUE_TEMPLATE/feature_request.md +45 -0
  26. package/.github/ISSUE_TEMPLATE/question.md +31 -0
  27. package/.github/PULL_REQUEST_TEMPLATE.md +97 -0
  28. package/AGENTS.md +28 -0
  29. package/CHANGELOG.md +416 -0
  30. package/CODE_OF_CONDUCT.md +62 -0
  31. package/CONTRIBUTING.md +165 -0
  32. package/DOCKER_SETUP_GUIDE.md +84 -0
  33. package/Dockerfile +90 -0
  34. package/INSTALL.en.md +303 -0
  35. package/INSTALL.md +303 -0
  36. package/README.en.md +330 -0
  37. package/README.md +427 -0
  38. package/backup/legacy-removal-20250930-201816/http-server-legacy.ts +1068 -0
  39. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.ps1 +46 -0
  40. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.sh +48 -0
  41. package/dist/algorithms/forgetting-algorithm.d.ts +90 -0
  42. package/dist/algorithms/forgetting-algorithm.d.ts.map +1 -0
  43. package/dist/algorithms/forgetting-algorithm.js +160 -0
  44. package/dist/algorithms/forgetting-algorithm.js.map +1 -0
  45. package/dist/algorithms/hybrid-search-engine.d.ts +108 -0
  46. package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -0
  47. package/dist/algorithms/hybrid-search-engine.js +384 -0
  48. package/dist/algorithms/hybrid-search-engine.js.map +1 -0
  49. package/dist/algorithms/search-engine.d.ts +64 -0
  50. package/dist/algorithms/search-engine.d.ts.map +1 -0
  51. package/dist/algorithms/search-engine.js +304 -0
  52. package/dist/algorithms/search-engine.js.map +1 -0
  53. package/dist/algorithms/search-ranking.d.ts +145 -0
  54. package/dist/algorithms/search-ranking.d.ts.map +1 -0
  55. package/dist/algorithms/search-ranking.js +311 -0
  56. package/dist/algorithms/search-ranking.js.map +1 -0
  57. package/dist/algorithms/spaced-repetition.d.ts +83 -0
  58. package/dist/algorithms/spaced-repetition.d.ts.map +1 -0
  59. package/dist/algorithms/spaced-repetition.js +153 -0
  60. package/dist/algorithms/spaced-repetition.js.map +1 -0
  61. package/dist/algorithms/vector-search-engine.d.ts +96 -0
  62. package/dist/algorithms/vector-search-engine.d.ts.map +1 -0
  63. package/dist/algorithms/vector-search-engine.js +410 -0
  64. package/dist/algorithms/vector-search-engine.js.map +1 -0
  65. package/dist/client/index.d.ts +55 -0
  66. package/dist/client/index.d.ts.map +1 -0
  67. package/dist/client/index.js +179 -0
  68. package/dist/client/index.js.map +1 -0
  69. package/dist/config/index.d.ts +20 -0
  70. package/dist/config/index.d.ts.map +1 -0
  71. package/dist/config/index.js +87 -0
  72. package/dist/config/index.js.map +1 -0
  73. package/dist/database/init.d.ts +7 -0
  74. package/dist/database/init.d.ts.map +1 -0
  75. package/dist/database/init.js +117 -0
  76. package/dist/database/init.js.map +1 -0
  77. package/dist/database/migrate.d.ts +6 -0
  78. package/dist/database/migrate.d.ts.map +1 -0
  79. package/dist/database/migrate.js +84 -0
  80. package/dist/database/migrate.js.map +1 -0
  81. package/dist/database/schema.sql +159 -0
  82. package/dist/npm-client/context-injector.d.ts +106 -0
  83. package/dist/npm-client/context-injector.d.ts.map +1 -0
  84. package/dist/npm-client/context-injector.js +296 -0
  85. package/dist/npm-client/context-injector.js.map +1 -0
  86. package/dist/npm-client/index.d.ts +42 -0
  87. package/dist/npm-client/index.d.ts.map +1 -0
  88. package/dist/npm-client/index.js +43 -0
  89. package/dist/npm-client/index.js.map +1 -0
  90. package/dist/npm-client/memento-client.d.ts +114 -0
  91. package/dist/npm-client/memento-client.d.ts.map +1 -0
  92. package/dist/npm-client/memento-client.js +391 -0
  93. package/dist/npm-client/memento-client.js.map +1 -0
  94. package/dist/npm-client/memory-manager.d.ts +137 -0
  95. package/dist/npm-client/memory-manager.d.ts.map +1 -0
  96. package/dist/npm-client/memory-manager.js +341 -0
  97. package/dist/npm-client/memory-manager.js.map +1 -0
  98. package/dist/npm-client/types.d.ts +216 -0
  99. package/dist/npm-client/types.d.ts.map +1 -0
  100. package/dist/npm-client/types.js +44 -0
  101. package/dist/npm-client/types.js.map +1 -0
  102. package/dist/npm-client/utils.d.ts +91 -0
  103. package/dist/npm-client/utils.d.ts.map +1 -0
  104. package/dist/npm-client/utils.js +351 -0
  105. package/dist/npm-client/utils.js.map +1 -0
  106. package/dist/scripts/copy-assets.d.ts +3 -0
  107. package/dist/scripts/copy-assets.d.ts.map +1 -0
  108. package/dist/scripts/copy-assets.js +31 -0
  109. package/dist/scripts/copy-assets.js.map +1 -0
  110. package/dist/server/http-server.d.ts +28 -0
  111. package/dist/server/http-server.d.ts.map +1 -0
  112. package/dist/server/http-server.js +930 -0
  113. package/dist/server/http-server.js.map +1 -0
  114. package/dist/server/index-backup.d.ts +5 -0
  115. package/dist/server/index-backup.d.ts.map +1 -0
  116. package/dist/server/index-backup.js +793 -0
  117. package/dist/server/index-backup.js.map +1 -0
  118. package/dist/server/index-refactored.d.ts +6 -0
  119. package/dist/server/index-refactored.d.ts.map +1 -0
  120. package/dist/server/index-refactored.js +206 -0
  121. package/dist/server/index-refactored.js.map +1 -0
  122. package/dist/server/index.d.ts +12 -0
  123. package/dist/server/index.d.ts.map +1 -0
  124. package/dist/server/index.js +301 -0
  125. package/dist/server/index.js.map +1 -0
  126. package/dist/server/simple-mcp-server.d.ts +8 -0
  127. package/dist/server/simple-mcp-server.d.ts.map +1 -0
  128. package/dist/server/simple-mcp-server.js +152 -0
  129. package/dist/server/simple-mcp-server.js.map +1 -0
  130. package/dist/services/async-optimizer.d.ts +136 -0
  131. package/dist/services/async-optimizer.d.ts.map +1 -0
  132. package/dist/services/async-optimizer.js +406 -0
  133. package/dist/services/async-optimizer.js.map +1 -0
  134. package/dist/services/batch-scheduler.d.ts +156 -0
  135. package/dist/services/batch-scheduler.d.ts.map +1 -0
  136. package/dist/services/batch-scheduler.js +612 -0
  137. package/dist/services/batch-scheduler.js.map +1 -0
  138. package/dist/services/cache-service.d.ts +168 -0
  139. package/dist/services/cache-service.d.ts.map +1 -0
  140. package/dist/services/cache-service.js +360 -0
  141. package/dist/services/cache-service.js.map +1 -0
  142. package/dist/services/database-optimizer.d.ts +110 -0
  143. package/dist/services/database-optimizer.d.ts.map +1 -0
  144. package/dist/services/database-optimizer.js +369 -0
  145. package/dist/services/database-optimizer.js.map +1 -0
  146. package/dist/services/embedding-provider-factory.d.ts +62 -0
  147. package/dist/services/embedding-provider-factory.d.ts.map +1 -0
  148. package/dist/services/embedding-provider-factory.js +152 -0
  149. package/dist/services/embedding-provider-factory.js.map +1 -0
  150. package/dist/services/embedding-service.d.ts +95 -0
  151. package/dist/services/embedding-service.d.ts.map +1 -0
  152. package/dist/services/embedding-service.js +276 -0
  153. package/dist/services/embedding-service.js.map +1 -0
  154. package/dist/services/error-logging-service.d.ts +134 -0
  155. package/dist/services/error-logging-service.d.ts.map +1 -0
  156. package/dist/services/error-logging-service.js +271 -0
  157. package/dist/services/error-logging-service.js.map +1 -0
  158. package/dist/services/forgetting-policy-service.d.ts +94 -0
  159. package/dist/services/forgetting-policy-service.d.ts.map +1 -0
  160. package/dist/services/forgetting-policy-service.js +233 -0
  161. package/dist/services/forgetting-policy-service.js.map +1 -0
  162. package/dist/services/gemini-embedding-service.d.ts +82 -0
  163. package/dist/services/gemini-embedding-service.d.ts.map +1 -0
  164. package/dist/services/gemini-embedding-service.js +232 -0
  165. package/dist/services/gemini-embedding-service.js.map +1 -0
  166. package/dist/services/lightweight-embedding-service.d.ts +95 -0
  167. package/dist/services/lightweight-embedding-service.d.ts.map +1 -0
  168. package/dist/services/lightweight-embedding-service.js +263 -0
  169. package/dist/services/lightweight-embedding-service.js.map +1 -0
  170. package/dist/services/memory-embedding-service.d.ts +69 -0
  171. package/dist/services/memory-embedding-service.d.ts.map +1 -0
  172. package/dist/services/memory-embedding-service.js +223 -0
  173. package/dist/services/memory-embedding-service.js.map +1 -0
  174. package/dist/services/minilm-embedding-service.d.ts +92 -0
  175. package/dist/services/minilm-embedding-service.d.ts.map +1 -0
  176. package/dist/services/minilm-embedding-service.js +216 -0
  177. package/dist/services/minilm-embedding-service.js.map +1 -0
  178. package/dist/services/performance-alert-service.d.ts +142 -0
  179. package/dist/services/performance-alert-service.d.ts.map +1 -0
  180. package/dist/services/performance-alert-service.js +366 -0
  181. package/dist/services/performance-alert-service.js.map +1 -0
  182. package/dist/services/performance-monitor.d.ts +144 -0
  183. package/dist/services/performance-monitor.d.ts.map +1 -0
  184. package/dist/services/performance-monitor.js +416 -0
  185. package/dist/services/performance-monitor.js.map +1 -0
  186. package/dist/services/performance-monitoring-integration.d.ts +77 -0
  187. package/dist/services/performance-monitoring-integration.d.ts.map +1 -0
  188. package/dist/services/performance-monitoring-integration.js +177 -0
  189. package/dist/services/performance-monitoring-integration.js.map +1 -0
  190. package/dist/services/unified-embedding-service.d.ts +75 -0
  191. package/dist/services/unified-embedding-service.d.ts.map +1 -0
  192. package/dist/services/unified-embedding-service.js +211 -0
  193. package/dist/services/unified-embedding-service.js.map +1 -0
  194. package/dist/test/debug-http-v2.d.ts +5 -0
  195. package/dist/test/debug-http-v2.d.ts.map +1 -0
  196. package/dist/test/debug-http-v2.js +28 -0
  197. package/dist/test/debug-http-v2.js.map +1 -0
  198. package/dist/test/performance-benchmark.d.ts +57 -0
  199. package/dist/test/performance-benchmark.d.ts.map +1 -0
  200. package/dist/test/performance-benchmark.js +427 -0
  201. package/dist/test/performance-benchmark.js.map +1 -0
  202. package/dist/test/test-alerts-direct.d.ts +7 -0
  203. package/dist/test/test-alerts-direct.d.ts.map +1 -0
  204. package/dist/test/test-alerts-direct.js +101 -0
  205. package/dist/test/test-alerts-direct.js.map +1 -0
  206. package/dist/test/test-batch-scheduler.d.ts +2 -0
  207. package/dist/test/test-batch-scheduler.d.ts.map +1 -0
  208. package/dist/test/test-batch-scheduler.js +156 -0
  209. package/dist/test/test-batch-scheduler.js.map +1 -0
  210. package/dist/test/test-client.d.ts +5 -0
  211. package/dist/test/test-client.d.ts.map +1 -0
  212. package/dist/test/test-client.js +86 -0
  213. package/dist/test/test-client.js.map +1 -0
  214. package/dist/test/test-embedding.d.ts +6 -0
  215. package/dist/test/test-embedding.d.ts.map +1 -0
  216. package/dist/test/test-embedding.js +142 -0
  217. package/dist/test/test-embedding.js.map +1 -0
  218. package/dist/test/test-error-logging.d.ts +7 -0
  219. package/dist/test/test-error-logging.d.ts.map +1 -0
  220. package/dist/test/test-error-logging.js +105 -0
  221. package/dist/test/test-error-logging.js.map +1 -0
  222. package/dist/test/test-forgetting.d.ts +6 -0
  223. package/dist/test/test-forgetting.d.ts.map +1 -0
  224. package/dist/test/test-forgetting.js +154 -0
  225. package/dist/test/test-forgetting.js.map +1 -0
  226. package/dist/test/test-gemini-embedding.d.ts +7 -0
  227. package/dist/test/test-gemini-embedding.d.ts.map +1 -0
  228. package/dist/test/test-gemini-embedding.js +134 -0
  229. package/dist/test/test-gemini-embedding.js.map +1 -0
  230. package/dist/test/test-http-server-v2-simple.d.ts +6 -0
  231. package/dist/test/test-http-server-v2-simple.d.ts.map +1 -0
  232. package/dist/test/test-http-server-v2-simple.js +131 -0
  233. package/dist/test/test-http-server-v2-simple.js.map +1 -0
  234. package/dist/test/test-http-server-v2.d.ts +7 -0
  235. package/dist/test/test-http-server-v2.d.ts.map +1 -0
  236. package/dist/test/test-http-server-v2.js +529 -0
  237. package/dist/test/test-http-server-v2.js.map +1 -0
  238. package/dist/test/test-lightweight-embedding.d.ts +6 -0
  239. package/dist/test/test-lightweight-embedding.d.ts.map +1 -0
  240. package/dist/test/test-lightweight-embedding.js +189 -0
  241. package/dist/test/test-lightweight-embedding.js.map +1 -0
  242. package/dist/test/test-m1-completion.d.ts +7 -0
  243. package/dist/test/test-m1-completion.d.ts.map +1 -0
  244. package/dist/test/test-m1-completion.js +124 -0
  245. package/dist/test/test-m1-completion.js.map +1 -0
  246. package/dist/test/test-memory-injection-prompt.d.ts +2 -0
  247. package/dist/test/test-memory-injection-prompt.d.ts.map +1 -0
  248. package/dist/test/test-memory-injection-prompt.js +299 -0
  249. package/dist/test/test-memory-injection-prompt.js.map +1 -0
  250. package/dist/test/test-performance-alerts.d.ts +7 -0
  251. package/dist/test/test-performance-alerts.d.ts.map +1 -0
  252. package/dist/test/test-performance-alerts.js +109 -0
  253. package/dist/test/test-performance-alerts.js.map +1 -0
  254. package/dist/test/test-performance-monitor.d.ts +2 -0
  255. package/dist/test/test-performance-monitor.d.ts.map +1 -0
  256. package/dist/test/test-performance-monitor.js +182 -0
  257. package/dist/test/test-performance-monitor.js.map +1 -0
  258. package/dist/test/test-performance-monitoring.d.ts +6 -0
  259. package/dist/test/test-performance-monitoring.d.ts.map +1 -0
  260. package/dist/test/test-performance-monitoring.js +156 -0
  261. package/dist/test/test-performance-monitoring.js.map +1 -0
  262. package/dist/test/test-search.d.ts +5 -0
  263. package/dist/test/test-search.d.ts.map +1 -0
  264. package/dist/test/test-search.js +141 -0
  265. package/dist/test/test-search.js.map +1 -0
  266. package/dist/test/test-simple-alerts.d.ts +6 -0
  267. package/dist/test/test-simple-alerts.d.ts.map +1 -0
  268. package/dist/test/test-simple-alerts.js +106 -0
  269. package/dist/test/test-simple-alerts.js.map +1 -0
  270. package/dist/test/test-vector-search-engine.d.ts +2 -0
  271. package/dist/test/test-vector-search-engine.d.ts.map +1 -0
  272. package/dist/test/test-vector-search-engine.js +225 -0
  273. package/dist/test/test-vector-search-engine.js.map +1 -0
  274. package/dist/tools/base-tool.d.ts +64 -0
  275. package/dist/tools/base-tool.d.ts.map +1 -0
  276. package/dist/tools/base-tool.js +158 -0
  277. package/dist/tools/base-tool.js.map +1 -0
  278. package/dist/tools/cleanup-memory-tool.d.ts +10 -0
  279. package/dist/tools/cleanup-memory-tool.d.ts.map +1 -0
  280. package/dist/tools/cleanup-memory-tool.js +66 -0
  281. package/dist/tools/cleanup-memory-tool.js.map +1 -0
  282. package/dist/tools/database-optimize-tool.d.ts +10 -0
  283. package/dist/tools/database-optimize-tool.d.ts.map +1 -0
  284. package/dist/tools/database-optimize-tool.js +64 -0
  285. package/dist/tools/database-optimize-tool.js.map +1 -0
  286. package/dist/tools/error-stats.d.ts +93 -0
  287. package/dist/tools/error-stats.d.ts.map +1 -0
  288. package/dist/tools/error-stats.js +115 -0
  289. package/dist/tools/error-stats.js.map +1 -0
  290. package/dist/tools/forget-tool.d.ts +63 -0
  291. package/dist/tools/forget-tool.d.ts.map +1 -0
  292. package/dist/tools/forget-tool.js +340 -0
  293. package/dist/tools/forget-tool.js.map +1 -0
  294. package/dist/tools/forgetting-stats-tool.d.ts +10 -0
  295. package/dist/tools/forgetting-stats-tool.d.ts.map +1 -0
  296. package/dist/tools/forgetting-stats-tool.js +37 -0
  297. package/dist/tools/forgetting-stats-tool.js.map +1 -0
  298. package/dist/tools/index.d.ts +33 -0
  299. package/dist/tools/index.d.ts.map +1 -0
  300. package/dist/tools/index.js +55 -0
  301. package/dist/tools/index.js.map +1 -0
  302. package/dist/tools/memory-injection-prompt.d.ts +31 -0
  303. package/dist/tools/memory-injection-prompt.d.ts.map +1 -0
  304. package/dist/tools/memory-injection-prompt.js +203 -0
  305. package/dist/tools/memory-injection-prompt.js.map +1 -0
  306. package/dist/tools/performance-alerts.d.ts +127 -0
  307. package/dist/tools/performance-alerts.d.ts.map +1 -0
  308. package/dist/tools/performance-alerts.js +208 -0
  309. package/dist/tools/performance-alerts.js.map +1 -0
  310. package/dist/tools/performance-stats-tool.d.ts +10 -0
  311. package/dist/tools/performance-stats-tool.d.ts.map +1 -0
  312. package/dist/tools/performance-stats-tool.js +38 -0
  313. package/dist/tools/performance-stats-tool.js.map +1 -0
  314. package/dist/tools/pin-tool.d.ts +39 -0
  315. package/dist/tools/pin-tool.d.ts.map +1 -0
  316. package/dist/tools/pin-tool.js +211 -0
  317. package/dist/tools/pin-tool.js.map +1 -0
  318. package/dist/tools/recall-tool.d.ts +27 -0
  319. package/dist/tools/recall-tool.d.ts.map +1 -0
  320. package/dist/tools/recall-tool.js +335 -0
  321. package/dist/tools/recall-tool.js.map +1 -0
  322. package/dist/tools/remember-tool.d.ts +10 -0
  323. package/dist/tools/remember-tool.d.ts.map +1 -0
  324. package/dist/tools/remember-tool.js +101 -0
  325. package/dist/tools/remember-tool.js.map +1 -0
  326. package/dist/tools/resolve-error.d.ts +54 -0
  327. package/dist/tools/resolve-error.d.ts.map +1 -0
  328. package/dist/tools/resolve-error.js +63 -0
  329. package/dist/tools/resolve-error.js.map +1 -0
  330. package/dist/tools/tool-registry.d.ts +134 -0
  331. package/dist/tools/tool-registry.d.ts.map +1 -0
  332. package/dist/tools/tool-registry.js +337 -0
  333. package/dist/tools/tool-registry.js.map +1 -0
  334. package/dist/tools/types.d.ts +56 -0
  335. package/dist/tools/types.d.ts.map +1 -0
  336. package/dist/tools/types.js +23 -0
  337. package/dist/tools/types.js.map +1 -0
  338. package/dist/tools/unpin-tool.d.ts +43 -0
  339. package/dist/tools/unpin-tool.d.ts.map +1 -0
  340. package/dist/tools/unpin-tool.js +233 -0
  341. package/dist/tools/unpin-tool.js.map +1 -0
  342. package/dist/types/embedding.types.d.ts +65 -0
  343. package/dist/types/embedding.types.d.ts.map +1 -0
  344. package/dist/types/embedding.types.js +6 -0
  345. package/dist/types/embedding.types.js.map +1 -0
  346. package/dist/types/index.d.ts +103 -0
  347. package/dist/types/index.d.ts.map +1 -0
  348. package/dist/types/index.js +5 -0
  349. package/dist/types/index.js.map +1 -0
  350. package/dist/utils/database.d.ts +62 -0
  351. package/dist/utils/database.d.ts.map +1 -0
  352. package/dist/utils/database.js +399 -0
  353. package/dist/utils/database.js.map +1 -0
  354. package/dist/utils/stopwords.d.ts +18 -0
  355. package/dist/utils/stopwords.d.ts.map +1 -0
  356. package/dist/utils/stopwords.js +117 -0
  357. package/dist/utils/stopwords.js.map +1 -0
  358. package/docker-compose.dev.yml +50 -0
  359. package/docker-compose.prod.yml +77 -0
  360. package/docker-compose.yml +43 -0
  361. package/docs/en/Memento-Goals.md +217 -0
  362. package/docs/en/Memento-M1-DetailSpecs.md +130 -0
  363. package/docs/en/Memento-Milestones.md +135 -0
  364. package/docs/en/Search-Ranking-Memory-Decay-Formulas.md +177 -0
  365. package/docs/en/api-reference.md +658 -0
  366. package/docs/en/architecture.md +1302 -0
  367. package/docs/en/developer-guide.md +1005 -0
  368. package/docs/en/user-manual.md +595 -0
  369. package/docs/ko/Memento-Goals.md +217 -0
  370. package/docs/ko/Memento-M1-DetailSpecs.md +130 -0
  371. package/docs/ko/Memento-Milestones.md +134 -0
  372. package/docs/ko/Search-Ranking-Memory-Decay-Formulas.md +177 -0
  373. package/docs/ko/api-reference.md +658 -0
  374. package/docs/ko/architecture.md +1302 -0
  375. package/docs/ko/developer-guide.md +1006 -0
  376. package/docs/ko/embedding-api-reference.md +122 -0
  377. package/docs/ko/embedding-configuration.md +62 -0
  378. package/docs/ko/embedding-performance-benchmark.md +62 -0
  379. package/docs/ko/embedding-service-guide.md +314 -0
  380. package/docs/ko/user-manual.md +595 -0
  381. package/env.example +49 -0
  382. package/install.sh +191 -0
  383. package/mcp-http-client.js +218 -0
  384. package/mcp.json +0 -0
  385. package/package.json +125 -0
  386. package/packages/mcp-client/docs/API-REFERENCE.md +560 -0
  387. package/packages/mcp-client/docs/BEST-PRACTICES.md +564 -0
  388. package/packages/mcp-client/docs/MIGRATION-GUIDE.md +344 -0
  389. package/packages/mcp-client/docs/PERFORMANCE-GUIDE.md +476 -0
  390. package/packages/mcp-client/docs/TROUBLESHOOTING.md +564 -0
  391. package/packages/mcp-client/package-lock.json +907 -0
  392. package/packages/mcp-client/package.json +58 -0
  393. package/packages/mcp-client/performance-optimizer.js +428 -0
  394. package/packages/mcp-client/test-basic.js +65 -0
  395. package/packages/mcp-client/test-integration.js +366 -0
  396. package/scripts/auto-setup.js +234 -0
  397. package/scripts/backup-daily.bat +28 -0
  398. package/scripts/backup-embeddings.js +108 -0
  399. package/scripts/check-db-integrity.js +93 -0
  400. package/scripts/debug-embeddings.js +184 -0
  401. package/scripts/direct-sql-migration.sql +36 -0
  402. package/scripts/docker-migration.sh +105 -0
  403. package/scripts/fix-migration.js +93 -0
  404. package/scripts/fix-vector-dimensions.js +206 -0
  405. package/scripts/migrate-embedding-data.js +307 -0
  406. package/scripts/regenerate-embeddings.js +144 -0
  407. package/scripts/restore-legacy.ps1 +60 -0
  408. package/scripts/restore-legacy.sh +62 -0
  409. package/scripts/run-migration.js +122 -0
  410. package/scripts/safe-migration.js +150 -0
  411. package/scripts/simple-migrate.js +41 -0
  412. package/scripts/simple-update.js +123 -0
  413. package/scripts/start-container.sh +10 -0
  414. package/src/algorithms/forgetting-algorithm.spec.ts +538 -0
  415. package/src/algorithms/forgetting-algorithm.ts +243 -0
  416. package/src/algorithms/hybrid-search-engine.spec.ts +484 -0
  417. package/src/algorithms/hybrid-search-engine.ts +489 -0
  418. package/src/algorithms/search-engine.spec.ts +429 -0
  419. package/src/algorithms/search-engine.ts +392 -0
  420. package/src/algorithms/search-ranking.spec.ts +293 -0
  421. package/src/algorithms/search-ranking.ts +407 -0
  422. package/src/algorithms/spaced-repetition.spec.ts +510 -0
  423. package/src/algorithms/spaced-repetition.ts +238 -0
  424. package/src/algorithms/vector-search-engine.ts +505 -0
  425. package/src/client/index.spec.ts +427 -0
  426. package/src/client/index.ts +222 -0
  427. package/src/config/index.spec.ts +339 -0
  428. package/src/config/index.ts +106 -0
  429. package/src/database/init.spec.ts +239 -0
  430. package/src/database/init.ts +130 -0
  431. package/src/database/migrate.spec.ts +293 -0
  432. package/src/database/migrate.ts +94 -0
  433. package/src/database/migrations/001_add_embedding_metadata.sql +29 -0
  434. package/src/database/schema.sql +159 -0
  435. package/src/npm-client/context-injector.spec.ts +335 -0
  436. package/src/npm-client/context-injector.ts +412 -0
  437. package/src/npm-client/index.spec.ts +108 -0
  438. package/src/npm-client/index.ts +96 -0
  439. package/src/npm-client/memento-client.spec.ts +549 -0
  440. package/src/npm-client/memento-client.ts +501 -0
  441. package/src/npm-client/memory-manager.spec.ts +374 -0
  442. package/src/npm-client/memory-manager.ts +414 -0
  443. package/src/npm-client/types.spec.ts +427 -0
  444. package/src/npm-client/types.ts +296 -0
  445. package/src/npm-client/utils.spec.ts +355 -0
  446. package/src/npm-client/utils.ts +423 -0
  447. package/src/scripts/copy-assets.js +37 -0
  448. package/src/server/http-server.spec.ts +648 -0
  449. package/src/server/http-server.ts +1030 -0
  450. package/src/server/index-backup.ts +875 -0
  451. package/src/server/index-refactored.ts +237 -0
  452. package/src/server/index.spec.ts +281 -0
  453. package/src/server/index.ts +347 -0
  454. package/src/server/simple-mcp-server.spec.ts +207 -0
  455. package/src/server/simple-mcp-server.ts +173 -0
  456. package/src/services/async-optimizer.spec.ts +569 -0
  457. package/src/services/async-optimizer.ts +484 -0
  458. package/src/services/batch-scheduler.ts +759 -0
  459. package/src/services/cache-service.spec.ts +372 -0
  460. package/src/services/cache-service.ts +434 -0
  461. package/src/services/database-optimizer.spec.ts +344 -0
  462. package/src/services/database-optimizer.ts +450 -0
  463. package/src/services/embedding-provider-factory.ts +173 -0
  464. package/src/services/embedding-service.spec.ts +342 -0
  465. package/src/services/embedding-service.ts +333 -0
  466. package/src/services/error-logging-service.spec.ts +416 -0
  467. package/src/services/error-logging-service.ts +383 -0
  468. package/src/services/forgetting-policy-service.spec.ts +140 -0
  469. package/src/services/forgetting-policy-service.ts +334 -0
  470. package/src/services/gemini-embedding-service.spec.ts +463 -0
  471. package/src/services/gemini-embedding-service.ts +283 -0
  472. package/src/services/lightweight-embedding-service.spec.ts +458 -0
  473. package/src/services/lightweight-embedding-service.ts +324 -0
  474. package/src/services/memory-embedding-service.spec.ts +417 -0
  475. package/src/services/memory-embedding-service.ts +289 -0
  476. package/src/services/minilm-embedding-service.spec.ts +104 -0
  477. package/src/services/minilm-embedding-service.ts +262 -0
  478. package/src/services/performance-alert-service.spec.ts +517 -0
  479. package/src/services/performance-alert-service.ts +477 -0
  480. package/src/services/performance-monitor.spec.ts +401 -0
  481. package/src/services/performance-monitor.ts +532 -0
  482. package/src/services/performance-monitoring-integration.spec.ts +478 -0
  483. package/src/services/performance-monitoring-integration.ts.bak +276 -0
  484. package/src/services/unified-embedding-service.spec.ts +224 -0
  485. package/src/services/unified-embedding-service.ts +255 -0
  486. package/src/test/debug-http-v2.ts +30 -0
  487. package/src/test/embedding-integration-test.spec.ts +295 -0
  488. package/src/test/embedding-integration-test.ts +295 -0
  489. package/src/test/embedding-performance-benchmark.spec.ts +354 -0
  490. package/src/test/embedding-performance-benchmark.ts +312 -0
  491. package/src/test/performance-benchmark.ts +565 -0
  492. package/src/test/test-alerts-direct.ts +136 -0
  493. package/src/test/test-batch-scheduler-simple.spec.ts +122 -0
  494. package/src/test/test-batch-scheduler.spec.ts +453 -0
  495. package/src/test/test-batch-scheduler.ts +182 -0
  496. package/src/test/test-client.ts +97 -0
  497. package/src/test/test-embedding.ts +153 -0
  498. package/src/test/test-error-handling.spec.ts +575 -0
  499. package/src/test/test-error-logging.ts +117 -0
  500. package/src/test/test-forgetting.ts +162 -0
  501. package/src/test/test-gemini-embedding.ts +159 -0
  502. package/src/test/test-http-server-v2-simple.ts +147 -0
  503. package/src/test/test-http-server-v2.ts +586 -0
  504. package/src/test/test-hybrid-search-engine.spec.ts +521 -0
  505. package/src/test/test-integration-fixed.spec.ts +612 -0
  506. package/src/test/test-integration.spec.ts +463 -0
  507. package/src/test/test-lightweight-embedding.ts +208 -0
  508. package/src/test/test-m1-completion.spec.ts +614 -0
  509. package/src/test/test-m1-completion.ts +141 -0
  510. package/src/test/test-m1-integration.spec.ts +514 -0
  511. package/src/test/test-memory-injection-prompt.spec.ts +650 -0
  512. package/src/test/test-memory-injection-prompt.ts +391 -0
  513. package/src/test/test-performance-alerts.ts +125 -0
  514. package/src/test/test-performance-monitor-updates.spec.ts +490 -0
  515. package/src/test/test-performance-monitor.spec.ts +284 -0
  516. package/src/test/test-performance-monitor.ts +228 -0
  517. package/src/test/test-performance-monitoring.ts +171 -0
  518. package/src/test/test-search.ts +151 -0
  519. package/src/test/test-simple-alerts.ts +136 -0
  520. package/src/test/test-vector-search-engine.spec.ts +408 -0
  521. package/src/test/test-vector-search-engine.ts +303 -0
  522. package/src/tools/base-tool.ts +189 -0
  523. package/src/tools/cleanup-memory-tool.ts +77 -0
  524. package/src/tools/database-optimize-tool.ts +79 -0
  525. package/src/tools/error-stats.ts +119 -0
  526. package/src/tools/forget-tool.spec.ts +613 -0
  527. package/src/tools/forget-tool.ts +454 -0
  528. package/src/tools/forgetting-stats-tool.ts +47 -0
  529. package/src/tools/index.ts +71 -0
  530. package/src/tools/memory-injection-prompt.ts +257 -0
  531. package/src/tools/performance-alerts.ts +226 -0
  532. package/src/tools/performance-stats-tool.ts +48 -0
  533. package/src/tools/pin-tool.spec.ts +497 -0
  534. package/src/tools/pin-tool.ts +277 -0
  535. package/src/tools/recall-tool.spec.ts +475 -0
  536. package/src/tools/recall-tool.ts +389 -0
  537. package/src/tools/remember-tool.spec.ts +469 -0
  538. package/src/tools/remember-tool.ts +112 -0
  539. package/src/tools/resolve-error.ts +69 -0
  540. package/src/tools/tool-registry.ts +417 -0
  541. package/src/tools/types.ts +63 -0
  542. package/src/tools/unpin-tool.spec.ts +549 -0
  543. package/src/tools/unpin-tool.ts +306 -0
  544. package/src/types/embedding.types.ts +78 -0
  545. package/src/types/index.spec.ts +420 -0
  546. package/src/types/index.ts +117 -0
  547. package/src/utils/database.spec.ts +77 -0
  548. package/src/utils/database.ts +458 -0
  549. package/src/utils/stopwords.ts +128 -0
  550. package/start-docker-setup.bat +38 -0
  551. package/static/logo.png +0 -0
  552. package/static/memento_logo.svg +2 -0
  553. package/test-docker.js +103 -0
  554. package/tsconfig.json +46 -0
  555. package/vitest.config.ts +23 -0
@@ -0,0 +1,165 @@
1
+ # 기여하기 (Contributing)
2
+
3
+ Memento MCP Server 프로젝트에 기여해주셔서 감사합니다! 이 문서는 프로젝트에 기여하는 방법을 안내합니다.
4
+
5
+ ## 🚀 빠른 시작
6
+
7
+ ### 1. 저장소 포크
8
+ 1. GitHub에서 [memento 저장소](https://github.com/jee1/memento)를 포크합니다.
9
+ 2. 포크한 저장소를 로컬에 클론합니다:
10
+ ```bash
11
+ git clone https://github.com/your-username/memento.git
12
+ cd memento
13
+ ```
14
+
15
+ ### 2. 개발 환경 설정
16
+ ```bash
17
+ # 의존성 설치
18
+ npm install
19
+
20
+ # 개발 서버 시작
21
+ npm run dev
22
+
23
+ # 테스트 실행
24
+ npm run test
25
+ ```
26
+
27
+ ## 📋 기여 방법
28
+
29
+ ### 버그 리포트
30
+ 버그를 발견하셨나요? 다음 정보를 포함하여 이슈를 생성해주세요:
31
+ - **버그 설명**: 무엇이 잘못되었는지 명확한 설명
32
+ - **재현 단계**: 버그를 재현하는 단계별 방법
33
+ - **예상 동작**: 어떻게 동작해야 하는지
34
+ - **실제 동작**: 실제로 어떻게 동작하는지
35
+ - **환경 정보**: OS, Node.js 버전, 브라우저 등
36
+
37
+ ### 기능 제안
38
+ 새로운 기능을 제안하고 싶으신가요? 다음을 포함해주세요:
39
+ - **기능 설명**: 어떤 기능을 원하는지
40
+ - **사용 사례**: 왜 이 기능이 필요한지
41
+ - **구현 아이디어**: 어떻게 구현할 수 있을지 (선택사항)
42
+
43
+ ### 코드 기여
44
+ 코드로 기여하고 싶으신가요? 다음 단계를 따라주세요:
45
+
46
+ 1. **이슈 생성**: 먼저 작업할 내용에 대해 이슈를 생성하세요.
47
+ 2. **브랜치 생성**: `feature/기능명` 또는 `fix/버그명` 형식으로 브랜치를 생성하세요.
48
+ 3. **코드 작성**: 변경사항을 구현하세요.
49
+ 4. **테스트**: 테스트를 작성하고 실행하세요.
50
+ 5. **커밋**: [Conventional Commits](https://www.conventionalcommits.org/) 형식을 따라 커밋하세요.
51
+ 6. **PR 생성**: Pull Request를 생성하세요.
52
+
53
+ ## 🛠️ 개발 가이드라인
54
+
55
+ ### 코딩 스타일
56
+ - **언어**: TypeScript (Node.js ≥ 20)
57
+ - **들여쓰기**: 2칸 공백
58
+ - **따옴표**: 단일 따옴표 (`'`)
59
+ - **세미콜론**: 사용
60
+ - **ESLint**: 프로젝트의 ESLint 설정을 따릅니다.
61
+
62
+ ### 커밋 메시지
63
+ [Conventional Commits](https://www.conventionalcommits.org/) 형식을 사용합니다:
64
+
65
+ ```
66
+ type(scope): description
67
+
68
+ [optional body]
69
+
70
+ [optional footer(s)]
71
+ ```
72
+
73
+ **타입 예시:**
74
+ - `feat`: 새로운 기능
75
+ - `fix`: 버그 수정
76
+ - `docs`: 문서 변경
77
+ - `style`: 코드 스타일 변경 (포맷팅, 세미콜론 등)
78
+ - `refactor`: 코드 리팩토링
79
+ - `test`: 테스트 추가/수정
80
+ - `chore`: 빌드 프로세스, 도구 변경
81
+
82
+ **예시:**
83
+ ```
84
+ feat(search): 하이브리드 검색 엔진 추가
85
+ fix(memory): 메모리 누수 문제 해결
86
+ docs(readme): 설치 가이드 업데이트
87
+ ```
88
+
89
+ ### 테스트
90
+ - **테스트 프레임워크**: Vitest
91
+ - **단위 테스트**: `*.spec.ts` 파일로 작성
92
+ - **E2E 테스트**: `src/test/` 디렉토리에 작성
93
+ - **테스트 실행**: `npm run test`
94
+
95
+ ### 브랜치 전략
96
+ - `main`: 안정적인 릴리스 브랜치
97
+ - `feature/*`: 새로운 기능 개발
98
+ - `fix/*`: 버그 수정
99
+ - `docs/*`: 문서 업데이트
100
+ - `chore/*`: 유지보수 작업
101
+
102
+ ## 📁 프로젝트 구조
103
+
104
+ ```
105
+ src/
106
+ ├── algorithms/ # 검색 및 망각 알고리즘
107
+ ├── client/ # MCP 클라이언트
108
+ ├── config/ # 설정 관리
109
+ ├── database/ # 데이터베이스 스키마 및 마이그레이션
110
+ ├── server/ # MCP 서버 엔트리포인트
111
+ ├── services/ # 비즈니스 로직 서비스
112
+ ├── test/ # E2E 테스트
113
+ ├── tools/ # MCP 도구 구현
114
+ ├── types/ # 공유 타입 정의
115
+ └── utils/ # 유틸리티 함수
116
+ ```
117
+
118
+ ## 🔍 코드 리뷰 프로세스
119
+
120
+ 1. **자동 검사**: CI/CD 파이프라인이 자동으로 실행됩니다.
121
+ 2. **리뷰 요청**: 최소 1명의 리뷰어가 승인해야 합니다.
122
+ 3. **피드백 반영**: 리뷰어의 피드백을 반영하여 수정합니다.
123
+ 4. **병합**: 승인 후 `main` 브랜치에 병합됩니다.
124
+
125
+ ## 🐛 버그 수정
126
+
127
+ 버그를 수정할 때:
128
+ 1. **재현 테스트**: 버그를 재현하는 테스트를 작성합니다.
129
+ 2. **수정**: 버그를 수정합니다.
130
+ 3. **테스트 통과**: 모든 테스트가 통과하는지 확인합니다.
131
+ 4. **문서 업데이트**: 필요시 관련 문서를 업데이트합니다.
132
+
133
+ ## ✨ 기능 추가
134
+
135
+ 새로운 기능을 추가할 때:
136
+ 1. **설계 검토**: 기능 설계에 대해 이슈에서 논의합니다.
137
+ 2. **테스트 작성**: 기능에 대한 테스트를 작성합니다.
138
+ 3. **구현**: 기능을 구현합니다.
139
+ 4. **문서 작성**: API 문서와 사용법을 작성합니다.
140
+
141
+ ## 📚 문서화
142
+
143
+ 문서를 업데이트할 때:
144
+ - **한국어 우선**: 한국어 문서를 우선으로 작성합니다.
145
+ - **영어 번역**: 필요시 영어 문서도 업데이트합니다.
146
+ - **예시 포함**: 코드 예시와 사용 사례를 포함합니다.
147
+ - **최신 상태 유지**: 코드 변경사항과 동기화합니다.
148
+
149
+ ## 🤝 커뮤니티
150
+
151
+ - **이슈**: [GitHub Issues](https://github.com/jee1/memento/issues)
152
+ - **토론**: [GitHub Discussions](https://github.com/jee1/memento/discussions)
153
+ - **문서**: [Wiki](https://github.com/jee1/memento/wiki)
154
+
155
+ ## 📄 라이선스
156
+
157
+ 이 프로젝트는 MIT 라이선스 하에 배포됩니다. 기여하시는 코드는 동일한 라이선스 하에 배포됩니다.
158
+
159
+ ## 🙏 감사
160
+
161
+ 모든 기여자분들께 감사드립니다! 여러분의 기여가 Memento를 더 나은 프로젝트로 만들어줍니다.
162
+
163
+ ---
164
+
165
+ **질문이 있으시면 언제든지 이슈를 생성하거나 토론에 참여해주세요!**
@@ -0,0 +1,84 @@
1
+ # 🐳 Memento Docker 설정 가이드
2
+
3
+ ## 📋 현재 상태
4
+ - ✅ 도커 설정 완료 (MCP 서버용)
5
+ - ✅ MCP 클라이언트 분리 완료
6
+ - ✅ 데이터 백업 완료 (473개 기억)
7
+ - ✅ mcp.json 설정 업데이트 완료
8
+
9
+ ## 🚀 Docker Desktop 시작 후 실행할 명령어
10
+
11
+ ### 1단계: Docker Desktop 시작
12
+ - Windows 시작 메뉴에서 "Docker Desktop" 검색 후 실행
13
+ - Docker Desktop이 완전히 시작될 때까지 대기
14
+
15
+ ### 2단계: 자동 설정 실행
16
+ ```bash
17
+ # 방법 1: 배치 파일 실행 (권장)
18
+ start-docker-setup.bat
19
+
20
+ # 방법 2: 수동 실행
21
+ docker-compose build
22
+ docker-compose up -d
23
+ ```
24
+
25
+ **📁 데이터 마운트 방식:**
26
+ - 호스트 `./data` 폴더가 컨테이너 `/app/data`에 직접 마운트됩니다
27
+ - 파일 복사 없이 실시간 동기화됩니다
28
+ - 컨테이너 재시작해도 데이터가 유지됩니다
29
+
30
+ ### 3단계: 설정 확인
31
+ ```bash
32
+ # 컨테이너 상태 확인
33
+ docker-compose ps
34
+
35
+ # 로그 확인
36
+ docker-compose logs memento-mcp-server
37
+
38
+ # 데이터베이스 확인
39
+ docker exec memento-mcp-server sqlite3 /app/data/memory.db "SELECT COUNT(*) FROM memory_item;"
40
+
41
+ # 서버 접속 테스트
42
+ curl http://localhost:9001/health
43
+ ```
44
+
45
+ ## 🔧 문제 해결
46
+
47
+ ### Docker Desktop이 시작되지 않는 경우
48
+ 1. Windows 재시작
49
+ 2. Docker Desktop 재설치
50
+ 3. WSL2 업데이트
51
+
52
+ ### 컨테이너가 시작되지 않는 경우
53
+ ```bash
54
+ # 로그 확인
55
+ docker-compose logs memento-mcp-server
56
+
57
+ # 컨테이너 재시작
58
+ docker-compose restart memento-mcp-server
59
+ ```
60
+
61
+ ### 데이터가 보이지 않는 경우
62
+ ```bash
63
+ # 마운트 확인
64
+ docker inspect memento-mcp-server | grep -A 5 "Mounts"
65
+
66
+ # 데이터 디렉토리 확인
67
+ docker exec memento-mcp-server ls -la /app/data
68
+
69
+ # 호스트 데이터 확인
70
+ dir ".\data"
71
+ ```
72
+
73
+ ## 📊 현재 데이터 상태
74
+ - **총 기억 수**: 473개
75
+ - **일화기억**: 357개
76
+ - **의미기억**: 105개
77
+ - **절차기억**: 7개
78
+ - **작업기억**: 4개
79
+
80
+ ## 🎯 완료 후 확인사항
81
+ 1. Cursor에서 Memento MCP 서버 연결 확인
82
+ 2. 기억 검색 기능 테스트
83
+ 3. 새 기억 저장 테스트
84
+ 4. 도커 재시작 후 데이터 유지 확인
package/Dockerfile ADDED
@@ -0,0 +1,90 @@
1
+ # Multi-stage build for Memento MCP Server
2
+ FROM node:20-alpine AS builder
3
+
4
+ WORKDIR /app
5
+
6
+ # Copy package files
7
+ COPY package*.json ./
8
+ COPY tsconfig*.json ./
9
+
10
+ # Install all dependencies (including dev dependencies for build) without running scripts
11
+ RUN npm ci --ignore-scripts
12
+
13
+ # Copy source code
14
+ COPY src/ ./src/
15
+ COPY scripts/ ./scripts/
16
+
17
+ # Run postinstall scripts now that source code is available
18
+ RUN npm run postinstall
19
+
20
+ # Build application
21
+ RUN npm run build
22
+
23
+ # Production stage
24
+ FROM node:20-slim AS production
25
+
26
+ # Install SQLite and development tools (FTS5 is included in SQLite)
27
+ # Install dependencies for sqlite-vec compilation
28
+ RUN apt-get update && apt-get install -y \
29
+ python3 \
30
+ make \
31
+ g++ \
32
+ sqlite3 \
33
+ libsqlite3-dev \
34
+ git \
35
+ cmake \
36
+ build-essential \
37
+ wget \
38
+ && rm -rf /var/lib/apt/lists/*
39
+
40
+ # Set working directory
41
+ WORKDIR /app
42
+
43
+ # Copy package files and scripts, then install dependencies
44
+ COPY package*.json ./
45
+ COPY scripts/ ./scripts/
46
+ RUN npm cache clean --force && npm install --omit=dev
47
+
48
+ # Install sqlite-vec npm package and copy .so files to /usr/lib/ without .so extension
49
+ RUN npm install sqlite-vec --build-from-source && \
50
+ find /app/node_modules -name "*.so" -type f && \
51
+ cp /app/node_modules/sqlite-vec-linux-x64/vec0.so /usr/lib/vec0 && \
52
+ chmod +x /usr/lib/vec0 && \
53
+ ls -la /usr/lib/vec0
54
+
55
+ # Copy built application
56
+ COPY --from=builder /app/dist ./dist
57
+ COPY --from=builder /app/node_modules ./node_modules
58
+ COPY --from=builder /app/package*.json ./
59
+
60
+ # Install only production dependencies (skip scripts since they were already run in builder stage)
61
+ # Rebuild better-sqlite3 for Debian Linux and install sqlite-vec
62
+ RUN npm ci --only=production --ignore-scripts && \
63
+ npm rebuild better-sqlite3 --build-from-source && \
64
+ npm install sqlite-vec --build-from-source && \
65
+ npm install --platform=linux --arch=x64 sharp && \
66
+ npm cache clean --force
67
+
68
+ # Create data directory
69
+ RUN mkdir -p /app/data
70
+
71
+ # Create non-root user
72
+ RUN groupadd -g 1001 nodejs
73
+ RUN useradd -r -u 1001 -g nodejs memento
74
+
75
+ # Change ownership (data directory will be mounted, so we'll set permissions at runtime)
76
+ RUN chown -R memento:nodejs /app
77
+ USER memento
78
+
79
+ # Expose port
80
+ EXPOSE 9001
81
+
82
+ # Health check
83
+ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
84
+ CMD node -e "console.log('Health check passed')" || exit 1
85
+
86
+ # Copy startup script
87
+ COPY --chmod=755 scripts/start-container.sh /app/start-container.sh
88
+
89
+ # Start application
90
+ CMD ["/app/start-container.sh"]
package/INSTALL.en.md ADDED
@@ -0,0 +1,303 @@
1
+ # 🚀 Memento MCP Server Installation Guide
2
+
3
+ <div align="center">
4
+ [🇰🇷 한국어](INSTALL.md) | [🇺🇸 English](INSTALL.en.md)
5
+ </div>
6
+
7
+ Provides various installation methods for the AI Agent Memory Assistant MCP Server.
8
+
9
+ ## 📋 Installation Method Selection
10
+
11
+ ### 🥇 **1st Priority: One-click Installation (Recommended)**
12
+ ```bash
13
+ # Run automatic installation script
14
+ curl -sSL https://raw.githubusercontent.com/jee1/memento/main/install.sh | bash
15
+ ```
16
+
17
+ ### 🥈 **2nd Priority: npx Method (For Developers)**
18
+ ```bash
19
+ # Run immediately (without installation)
20
+ npx memento-mcp-server@latest dev
21
+
22
+ # Auto setup then run
23
+ npx memento-mcp-server@latest setup
24
+ npx memento-mcp-server@latest start
25
+ ```
26
+
27
+ ### 🥉 **3rd Priority: Docker Method (For Production)**
28
+ ```bash
29
+ # Development environment
30
+ docker-compose -f docker-compose.dev.yml up -d
31
+
32
+ # Production environment
33
+ docker-compose -f docker-compose.prod.yml up -d
34
+ ```
35
+
36
+ ### 🛠️ **4th Priority: Source Code Method (For Developers)**
37
+ ```bash
38
+ # Clone repository
39
+ git clone https://github.com/jee1/memento.git
40
+ cd memento
41
+
42
+ # One-click installation and run
43
+ npm run quick-start
44
+ ```
45
+
46
+ ## 🎯 Recommended Installation Method by User Type
47
+
48
+ ### 👨‍💻 **Developers/Researchers**
49
+ - **npx method** or **source code method** recommended
50
+ - Optimized for rapid prototyping and debugging
51
+
52
+ ### 👤 **General Users**
53
+ - **One-click installation** or **Docker method** recommended
54
+ - Simple installation and stable execution
55
+
56
+ ### 🏢 **Teams/Organizations**
57
+ - **Docker method** required
58
+ - Standardized deployment and scalability
59
+
60
+ ## 📚 Detailed Installation Methods
61
+
62
+ ### 1. One-click Installation
63
+
64
+ #### Linux/macOS
65
+ ```bash
66
+ curl -sSL https://raw.githubusercontent.com/jee1/memento/main/install.sh | bash
67
+ ```
68
+
69
+ #### Windows (PowerShell)
70
+ ```powershell
71
+ Invoke-WebRequest -Uri "https://raw.githubusercontent.com/jee1/memento/main/install.sh" -OutFile "install.sh"
72
+ bash install.sh
73
+ ```
74
+
75
+ ### 2. npx Method
76
+
77
+ #### Basic Usage
78
+ ```bash
79
+ # Development mode (hot reload)
80
+ npx memento-mcp-server@latest dev
81
+
82
+ # Production mode
83
+ npx memento-mcp-server@latest start
84
+
85
+ # HTTP/WebSocket server
86
+ npx memento-mcp-server@latest dev-http
87
+
88
+ # Auto setup
89
+ npx memento-mcp-server@latest setup
90
+ ```
91
+
92
+ #### Global Installation
93
+ ```bash
94
+ # Global installation
95
+ npm install -g memento-mcp-server
96
+
97
+ # Usage
98
+ memento-mcp dev
99
+ memento-mcp start
100
+ memento-mcp setup
101
+ ```
102
+
103
+ ### 3. Docker Method
104
+
105
+ #### Development Environment
106
+ ```bash
107
+ # Run development Docker Compose
108
+ docker-compose -f docker-compose.dev.yml up -d
109
+
110
+ # Check logs
111
+ docker-compose -f docker-compose.dev.yml logs -f
112
+
113
+ # Stop
114
+ docker-compose -f docker-compose.dev.yml down
115
+ ```
116
+
117
+ #### Production Environment
118
+ ```bash
119
+ # Run production Docker Compose
120
+ docker-compose -f docker-compose.prod.yml up -d
121
+
122
+ # Check logs
123
+ docker-compose -f docker-compose.prod.yml logs -f
124
+
125
+ # Stop
126
+ docker-compose -f docker-compose.prod.yml down
127
+ ```
128
+
129
+ #### Basic Docker Compose
130
+ ```bash
131
+ # Basic run (production mode)
132
+ docker-compose up -d
133
+
134
+ # Check logs
135
+ docker-compose logs -f
136
+
137
+ # Stop
138
+ docker-compose down
139
+ ```
140
+
141
+ ### 4. Source Code Method
142
+
143
+ #### Basic Installation
144
+ ```bash
145
+ # Clone repository
146
+ git clone https://github.com/jee1/memento.git
147
+ cd memento
148
+
149
+ # Install dependencies
150
+ npm install
151
+
152
+ # Auto setup
153
+ npm run setup
154
+
155
+ # Start development server
156
+ npm run dev
157
+ ```
158
+
159
+ #### One-click Installation
160
+ ```bash
161
+ # All processes in one command
162
+ npm run quick-start
163
+ ```
164
+
165
+ ## ⚙️ Environment Configuration
166
+
167
+ ### Environment Variable Setup
168
+ ```bash
169
+ # Create .env file
170
+ cp env.example .env
171
+
172
+ # Set API keys (optional)
173
+ # OPENAI_API_KEY=your_openai_api_key_here
174
+ # GEMINI_API_KEY=your_gemini_api_key_here
175
+ ```
176
+
177
+ ### Database Initialization
178
+ ```bash
179
+ # Initialize SQLite database
180
+ npm run db:init
181
+
182
+ # Run migrations
183
+ npm run db:migrate
184
+ ```
185
+
186
+ ## 🔧 Available Commands
187
+
188
+ ### Development Commands
189
+ ```bash
190
+ npm run dev # MCP server development mode
191
+ npm run dev:http # HTTP/WebSocket server development mode
192
+ npm run dev:http-v2 # HTTP server v2 development mode
193
+ ```
194
+
195
+ ### Production Commands
196
+ ```bash
197
+ npm run build # TypeScript compilation
198
+ npm run start # MCP server production run
199
+ npm run start:http # HTTP/WebSocket server production run
200
+ ```
201
+
202
+ ### Test Commands
203
+ ```bash
204
+ npm run test # Run all tests
205
+ npm run test:client # Client tests
206
+ npm run test:search # Search functionality tests
207
+ npm run test:forgetting # Forgetting policy tests
208
+ npm run test:performance # Performance benchmarks
209
+ ```
210
+
211
+ ### Docker Commands
212
+ ```bash
213
+ npm run docker:dev # Run development Docker
214
+ npm run docker:prod # Run production Docker
215
+ npm run docker:build # Build Docker image
216
+ npm run docker:logs # Check Docker logs
217
+ ```
218
+
219
+ ### Utility Commands
220
+ ```bash
221
+ npm run setup # Run auto setup
222
+ npm run quick-start # One-click installation and run
223
+ npm run backup:embeddings # Backup embeddings
224
+ npm run regenerate:embeddings # Regenerate embeddings
225
+ ```
226
+
227
+ ## 🌐 Access Information
228
+
229
+ After installation, you can access the following addresses:
230
+
231
+ - **MCP Server**: `stdio` or `ws://localhost:8080/mcp`
232
+ - **HTTP API**: `http://localhost:8080`
233
+ - **WebSocket**: `ws://localhost:8080`
234
+ - **Admin Dashboard**: `http://localhost:8080/admin`
235
+
236
+ ## 🚨 Troubleshooting
237
+
238
+ ### Common Issues
239
+
240
+ #### 1. Node.js Version Error
241
+ ```bash
242
+ # Node.js 20+ required
243
+ node --version
244
+
245
+ # Install Node.js with nvm (Linux/macOS)
246
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
247
+ nvm install 20
248
+ nvm use 20
249
+ ```
250
+
251
+ #### 2. Port Conflict
252
+ ```bash
253
+ # If port 8080 is in use
254
+ # Change PORT in .env file
255
+ PORT=8081
256
+ ```
257
+
258
+ #### 3. Database Error
259
+ ```bash
260
+ # Reinitialize database
261
+ rm -rf data/memory.db*
262
+ npm run db:init
263
+ ```
264
+
265
+ #### 4. Docker Error
266
+ ```bash
267
+ # Complete Docker container cleanup
268
+ docker-compose down -v
269
+ docker system prune -a
270
+ docker-compose up -d
271
+ ```
272
+
273
+ ### Log Checking
274
+ ```bash
275
+ # Application logs
276
+ tail -f logs/memento-server.log
277
+
278
+ # Docker logs
279
+ docker-compose logs -f
280
+
281
+ # System logs (Linux)
282
+ journalctl -u memento-mcp-server -f
283
+ ```
284
+
285
+ ## 📞 Support
286
+
287
+ - **Issue Reports**: [GitHub Issues](https://github.com/jee1/memento/issues)
288
+ - **Documentation**: [Wiki](https://github.com/jee1/memento/wiki)
289
+ - **Developer Guide**: [docs/en/developer-guide.md](docs/en/developer-guide.md)
290
+ - **API Reference**: [docs/en/api-reference.md](docs/en/api-reference.md)
291
+
292
+ ## 🎉 Installation Complete!
293
+
294
+ After installation, proceed with the following steps:
295
+
296
+ 1. **Check Server Status**: `http://localhost:8080/health`
297
+ 2. **Connect MCP Client**: [Client Guide](packages/mcp-client/README.md)
298
+ 3. **Test API**: [API Documentation](docs/en/api-reference.md)
299
+ 4. **Learn Usage**: [User Manual](docs/en/user-manual.md)
300
+
301
+ ---
302
+
303
+ **💡 Tip**: For first-time users, you can complete all setup automatically with the `npm run quick-start` command!