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