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 @@
1
+ {"version":3,"file":"vector-search-engine.d.ts","sourceRoot":"","sources":["../../src/algorithms/vector-search-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;;IAMnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI;IAKvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;OAEG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,mBAAwB,EACjC,QAAQ,GAAE,MAAgB,GACzB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA4EhC;;;OAGG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,EACjC,QAAQ,GAAE,MAAgB,GACzB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA6HhC;;OAEG;IACH,cAAc,IAAI,iBAAiB;IAgDnC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBtC;;OAEG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAAW,GAAG,OAAO,CAAC;QAC7E,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAwCF;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,WAAW,IAAI,OAAO;CAGvB;AAKD,wBAAgB,qBAAqB,IAAI,kBAAkB,CAK1D;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -0,0 +1,410 @@
1
+ /**
2
+ * ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์—”์ง„
3
+ * sqlite-vec๋ฅผ ์‚ฌ์šฉํ•œ ๋ฒกํ„ฐ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰
4
+ * Memento MCP Server์˜ ํ•ต์‹ฌ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์ปดํฌ๋„ŒํŠธ
5
+ */
6
+ import Database from 'better-sqlite3';
7
+ export class VectorSearchEngine {
8
+ db = null;
9
+ isVecAvailable = false;
10
+ vecExtensionLoaded = false;
11
+ defaultDimensions = 1536;
12
+ defaultThreshold = 0.7;
13
+ defaultLimit = 10;
14
+ constructor() {
15
+ // VEC ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์‹œ ํ™•์ธ
16
+ }
17
+ /**
18
+ * ์ œ๊ณต์ž๋ณ„ vec0 ํ…Œ์ด๋ธ”๋ช… ๋ฐ˜ํ™˜
19
+ */
20
+ getVectorTableName(provider) {
21
+ switch (provider) {
22
+ case 'tfidf':
23
+ return 'memory_item_vec_tfidf';
24
+ case 'minilm':
25
+ return 'memory_item_vec_minilm';
26
+ case 'openai':
27
+ return 'memory_item_vec_openai';
28
+ case 'gemini':
29
+ return 'memory_item_vec_gemini';
30
+ default:
31
+ return 'memory_item_vec_tfidf'; // ๊ธฐ๋ณธ๊ฐ’
32
+ }
33
+ }
34
+ /**
35
+ * ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™”
36
+ */
37
+ initialize(db) {
38
+ this.db = db;
39
+ this.checkVecAvailability();
40
+ }
41
+ /**
42
+ * VEC ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ
43
+ * sqlite-vec ํ™•์žฅ ๋กœ๋“œ ์—ฌ๋ถ€์™€ ํ…Œ์ด๋ธ” ์กด์žฌ๋ฅผ ๋ชจ๋‘ ํ™•์ธ
44
+ */
45
+ checkVecAvailability() {
46
+ if (!this.db) {
47
+ this.isVecAvailable = false;
48
+ this.vecExtensionLoaded = false;
49
+ return;
50
+ }
51
+ try {
52
+ // 1. ์ œ๊ณต์ž๋ณ„ vec0 ํ…Œ์ด๋ธ” ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ
53
+ const tableCheck = this.db.prepare(`
54
+ SELECT name FROM sqlite_master
55
+ WHERE type='table' AND name IN (
56
+ 'memory_item_vec_tfidf',
57
+ 'memory_item_vec_minilm',
58
+ 'memory_item_vec_openai',
59
+ 'memory_item_vec_gemini'
60
+ )
61
+ `).all();
62
+ if (tableCheck.length === 0) {
63
+ console.log('โš ๏ธ VEC ํ…Œ์ด๋ธ”์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ฒกํ„ฐ ๊ฒ€์ƒ‰์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.');
64
+ this.isVecAvailable = false;
65
+ this.vecExtensionLoaded = false;
66
+ return;
67
+ }
68
+ // 2. VEC ํ•จ์ˆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ (์ฒซ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”๋กœ ํ…Œ์ŠคํŠธ)
69
+ try {
70
+ const testTable = tableCheck[0].name;
71
+ this.db.prepare(`
72
+ SELECT distance FROM ${testTable}
73
+ WHERE embedding MATCH ?
74
+ LIMIT 0
75
+ `).get(JSON.stringify(new Array(this.defaultDimensions).fill(0)));
76
+ this.vecExtensionLoaded = true;
77
+ this.isVecAvailable = true;
78
+ console.log('โœ… VEC (Vector Search) ์‚ฌ์šฉ ๊ฐ€๋Šฅ');
79
+ }
80
+ catch (vecError) {
81
+ console.warn('โš ๏ธ VEC ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:', vecError);
82
+ this.vecExtensionLoaded = false;
83
+ this.isVecAvailable = false;
84
+ }
85
+ }
86
+ catch (error) {
87
+ console.error('โŒ VEC ๊ฐ€์šฉ์„ฑ ํ™•์ธ ์‹คํŒจ:', error);
88
+ this.isVecAvailable = false;
89
+ this.vecExtensionLoaded = false;
90
+ }
91
+ }
92
+ /**
93
+ * ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์‹คํ–‰
94
+ */
95
+ async search(queryVector, options = {}, provider = 'tfidf') {
96
+ if (!this.db || !this.isVecAvailable) {
97
+ console.warn('โš ๏ธ VEC๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋นˆ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.');
98
+ return [];
99
+ }
100
+ const { limit = this.defaultLimit, threshold = this.defaultThreshold, type, includeContent = true, includeMetadata = false } = options;
101
+ // ๋ฒกํ„ฐ ์ฐจ์› ๊ฒ€์ฆ
102
+ if (queryVector.length !== this.defaultDimensions) {
103
+ console.error(`โŒ ๋ฒกํ„ฐ ์ฐจ์› ๋ถˆ์ผ์น˜: ์˜ˆ์ƒ ${this.defaultDimensions}, ์‹ค์ œ ${queryVector.length}`);
104
+ return [];
105
+ }
106
+ try {
107
+ // ์ œ๊ณต์ž๋ณ„ ํ…Œ์ด๋ธ”๋ช… ๊ฒฐ์ •
108
+ const tableName = this.getVectorTableName(provider);
109
+ // VEC ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ (์ œ๊ณต์ž๋ณ„ vec0 ํ…Œ์ด๋ธ” ์‚ฌ์šฉ)
110
+ const vecQuery = `
111
+ SELECT
112
+ vec.rowid as memory_id,
113
+ vec.distance as similarity,
114
+ mi.content,
115
+ mi.type,
116
+ mi.importance,
117
+ mi.created_at,
118
+ mi.last_accessed,
119
+ mi.pinned,
120
+ mi.tags
121
+ FROM ${tableName} vec
122
+ JOIN memory_item mi ON vec.rowid = mi.id
123
+ WHERE vec.embedding MATCH ?
124
+ ${type ? 'AND mi.type = ?' : ''}
125
+ ORDER BY vec.distance ASC
126
+ LIMIT ?
127
+ `;
128
+ const params = [JSON.stringify(queryVector), ...(type ? [type] : []), limit];
129
+ const results = this.db.prepare(vecQuery).all(...params);
130
+ // ์œ ์‚ฌ๋„๋ฅผ 0-1 ๋ฒ”์œ„๋กœ ์ •๊ทœํ™” (distance๋Š” ์ž‘์„์ˆ˜๋ก ์œ ์‚ฌํ•จ)
131
+ const normalizedResults = results
132
+ .map(result => ({
133
+ ...result,
134
+ similarity: Math.max(0, 1 - result.similarity), // distance๋ฅผ similarity๋กœ ๋ณ€ํ™˜
135
+ tags: result.tags ? JSON.parse(result.tags) : undefined
136
+ }))
137
+ .filter(result => result.similarity >= threshold)
138
+ .map(result => ({
139
+ memory_id: result.memory_id,
140
+ similarity: result.similarity,
141
+ content: includeContent ? result.content : '',
142
+ type: result.type,
143
+ importance: result.importance,
144
+ created_at: result.created_at,
145
+ last_accessed: includeMetadata ? result.last_accessed : undefined,
146
+ pinned: includeMetadata ? Boolean(result.pinned) : false,
147
+ tags: includeMetadata ? result.tags : undefined
148
+ }));
149
+ console.log(`๐Ÿ” ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์™„๋ฃŒ: ${normalizedResults.length}๊ฐœ ๊ฒฐ๊ณผ (์ž„๊ณ„๊ฐ’: ${threshold})`);
150
+ return normalizedResults;
151
+ }
152
+ catch (error) {
153
+ console.error('โŒ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์‹คํŒจ:', error);
154
+ return [];
155
+ }
156
+ }
157
+ /**
158
+ * ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ (๋ฒกํ„ฐ + ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ)
159
+ * SQLite ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด LEFT JOIN ์‚ฌ์šฉ
160
+ */
161
+ async hybridSearch(queryVector, textQuery, options = {}, provider = 'tfidf') {
162
+ if (!this.db || !this.isVecAvailable) {
163
+ console.warn('โš ๏ธ VEC๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋นˆ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.');
164
+ return [];
165
+ }
166
+ const { limit = this.defaultLimit, threshold = this.defaultThreshold, type, includeContent = true, includeMetadata = true } = options;
167
+ // ๋ฒกํ„ฐ ์ฐจ์› ๊ฒ€์ฆ
168
+ if (queryVector.length !== this.defaultDimensions) {
169
+ console.error(`โŒ ๋ฒกํ„ฐ ์ฐจ์› ๋ถˆ์ผ์น˜: ์˜ˆ์ƒ ${this.defaultDimensions}, ์‹ค์ œ ${queryVector.length}`);
170
+ return [];
171
+ }
172
+ try {
173
+ // ์ œ๊ณต์ž๋ณ„ ํ…Œ์ด๋ธ”๋ช… ๊ฒฐ์ •
174
+ const tableName = this.getVectorTableName(provider);
175
+ // ๋ฒกํ„ฐ ๊ฒ€์ƒ‰๊ณผ ํ…์ŠคํŠธ ๊ฒ€์ƒ‰์„ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ฟผ๋ฆฌ (SQLite ํ˜ธํ™˜)
176
+ const hybridQuery = `
177
+ WITH vector_search AS (
178
+ SELECT
179
+ vec.rowid as memory_id,
180
+ vec.distance as vector_distance,
181
+ mi.content,
182
+ mi.type,
183
+ mi.importance,
184
+ mi.created_at,
185
+ mi.last_accessed,
186
+ mi.pinned,
187
+ mi.tags
188
+ FROM ${tableName} vec
189
+ JOIN memory_item mi ON vec.rowid = mi.id
190
+ WHERE vec.embedding MATCH ?
191
+ ${type ? 'AND mi.type = ?' : ''}
192
+ ),
193
+ text_search AS (
194
+ SELECT
195
+ mi.id as memory_id,
196
+ mi.content,
197
+ mi.type,
198
+ mi.importance,
199
+ mi.created_at,
200
+ mi.last_accessed,
201
+ mi.pinned,
202
+ mi.tags,
203
+ fts.rank as text_rank
204
+ FROM memory_item_fts fts
205
+ JOIN memory_item mi ON fts.rowid = mi.rowid
206
+ WHERE memory_item_fts MATCH ?
207
+ ${type ? 'AND mi.type = ?' : ''}
208
+ )
209
+ SELECT
210
+ COALESCE(vs.memory_id, ts.memory_id) as memory_id,
211
+ COALESCE(1 - vs.vector_distance, 0) as vector_similarity,
212
+ COALESCE(ts.text_rank, 0) as text_similarity,
213
+ COALESCE(vs.content, ts.content) as content,
214
+ COALESCE(vs.type, ts.type) as type,
215
+ COALESCE(vs.importance, ts.importance) as importance,
216
+ COALESCE(vs.created_at, ts.created_at) as created_at,
217
+ COALESCE(vs.last_accessed, ts.last_accessed) as last_accessed,
218
+ COALESCE(vs.pinned, ts.pinned) as pinned,
219
+ COALESCE(vs.tags, ts.tags) as tags
220
+ FROM vector_search vs
221
+ LEFT JOIN text_search ts ON vs.memory_id = ts.memory_id
222
+ WHERE vs.memory_id IS NOT NULL
223
+ UNION
224
+ SELECT
225
+ ts.memory_id,
226
+ 0 as vector_similarity,
227
+ ts.text_rank as text_similarity,
228
+ ts.content,
229
+ ts.type,
230
+ ts.importance,
231
+ ts.created_at,
232
+ ts.last_accessed,
233
+ ts.pinned,
234
+ ts.tags
235
+ FROM text_search ts
236
+ LEFT JOIN vector_search vs ON ts.memory_id = vs.memory_id
237
+ WHERE vs.memory_id IS NULL
238
+ ORDER BY (vector_similarity * 0.6 + text_similarity * 0.4) DESC
239
+ LIMIT ?
240
+ `;
241
+ const params = [
242
+ JSON.stringify(queryVector),
243
+ ...(type ? [type] : []),
244
+ textQuery,
245
+ ...(type ? [type] : []),
246
+ limit
247
+ ];
248
+ const results = this.db.prepare(hybridQuery).all(...params);
249
+ // ๊ฒฐ๊ณผ ์ •๊ทœํ™”
250
+ const normalizedResults = results
251
+ .map(result => ({
252
+ memory_id: result.memory_id,
253
+ similarity: result.vector_similarity * 0.6 + result.text_similarity * 0.4,
254
+ content: includeContent ? result.content : '',
255
+ type: result.type,
256
+ importance: result.importance,
257
+ created_at: result.created_at,
258
+ last_accessed: includeMetadata ? result.last_accessed : undefined,
259
+ pinned: includeMetadata ? Boolean(result.pinned) : false,
260
+ tags: includeMetadata && result.tags ? JSON.parse(result.tags) : undefined
261
+ }))
262
+ .filter(result => result.similarity >= threshold);
263
+ console.log(`๐Ÿ” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ ์™„๋ฃŒ: ${normalizedResults.length}๊ฐœ ๊ฒฐ๊ณผ`);
264
+ return normalizedResults;
265
+ }
266
+ catch (error) {
267
+ console.error('โŒ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ ์‹คํŒจ:', error);
268
+ return [];
269
+ }
270
+ }
271
+ /**
272
+ * ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ์ƒํƒœ ํ™•์ธ
273
+ */
274
+ getIndexStatus() {
275
+ if (!this.db) {
276
+ return {
277
+ available: false,
278
+ tableExists: false,
279
+ recordCount: 0,
280
+ dimensions: this.defaultDimensions,
281
+ vecExtensionLoaded: false
282
+ };
283
+ }
284
+ try {
285
+ const tableExists = this.isVecAvailable;
286
+ let recordCount = 0;
287
+ if (tableExists) {
288
+ // ๋ชจ๋“  ์ œ๊ณต์ž๋ณ„ ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ ์ˆ˜ ํ•ฉ๊ณ„
289
+ const providers = ['tfidf', 'minilm', 'openai', 'gemini'];
290
+ for (const provider of providers) {
291
+ const tableName = this.getVectorTableName(provider);
292
+ try {
293
+ const result = this.db.prepare(`SELECT COUNT(*) as count FROM ${tableName}`).get();
294
+ recordCount += result.count;
295
+ }
296
+ catch (error) {
297
+ // ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋ฌด์‹œ
298
+ }
299
+ }
300
+ }
301
+ return {
302
+ available: this.isVecAvailable,
303
+ tableExists,
304
+ recordCount,
305
+ dimensions: this.defaultDimensions,
306
+ vecExtensionLoaded: this.vecExtensionLoaded
307
+ };
308
+ }
309
+ catch (error) {
310
+ console.error('โŒ ์ธ๋ฑ์Šค ์ƒํƒœ ํ™•์ธ ์‹คํŒจ:', error);
311
+ return {
312
+ available: false,
313
+ tableExists: false,
314
+ recordCount: 0,
315
+ dimensions: this.defaultDimensions,
316
+ vecExtensionLoaded: false
317
+ };
318
+ }
319
+ }
320
+ /**
321
+ * ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ์žฌ๊ตฌ์„ฑ
322
+ */
323
+ async rebuildIndex() {
324
+ if (!this.db || !this.isVecAvailable) {
325
+ console.warn('โš ๏ธ VEC๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.');
326
+ return false;
327
+ }
328
+ try {
329
+ console.log('๐Ÿ”„ ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ์žฌ๊ตฌ์„ฑ ์‹œ์ž‘...');
330
+ // VEC ์ธ๋ฑ์Šค ์žฌ๊ตฌ์„ฑ (sqlite-vec๋Š” ์ž๋™์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ๊ด€๋ฆฌ)
331
+ console.log('โœ… ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ์žฌ๊ตฌ์„ฑ ์™„๋ฃŒ (sqlite-vec๋Š” ์ž๋™ ์ธ๋ฑ์Šค ๊ด€๋ฆฌ)');
332
+ return true;
333
+ }
334
+ catch (error) {
335
+ console.error('โŒ ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ์žฌ๊ตฌ์„ฑ ์‹คํŒจ:', error);
336
+ return false;
337
+ }
338
+ }
339
+ /**
340
+ * ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ
341
+ */
342
+ async performanceTest(queryVector, iterations = 10) {
343
+ if (!this.db || !this.isVecAvailable) {
344
+ return { averageTime: 0, minTime: 0, maxTime: 0, results: 0, successRate: 0 };
345
+ }
346
+ const times = [];
347
+ let resultCount = 0;
348
+ let successCount = 0;
349
+ for (let i = 0; i < iterations; i++) {
350
+ try {
351
+ const startTime = Date.now();
352
+ const results = await this.search(queryVector, { limit: 10 });
353
+ const endTime = Date.now();
354
+ times.push(endTime - startTime);
355
+ if (i === 0)
356
+ resultCount = results.length;
357
+ successCount++;
358
+ }
359
+ catch (error) {
360
+ console.warn(`โš ๏ธ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ${i + 1}ํšŒ์ฐจ ์‹คํŒจ:`, error);
361
+ times.push(0);
362
+ }
363
+ }
364
+ const averageTime = times.reduce((a, b) => a + b, 0) / times.length;
365
+ const minTime = Math.min(...times.filter(t => t > 0));
366
+ const maxTime = Math.max(...times);
367
+ const successRate = successCount / iterations;
368
+ console.log(`๐Ÿ” ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ: ํ‰๊ท  ${averageTime.toFixed(2)}ms (${iterations}ํšŒ, ์„ฑ๊ณต๋ฅ : ${(successRate * 100).toFixed(1)}%)`);
369
+ return {
370
+ averageTime,
371
+ minTime: minTime || 0,
372
+ maxTime,
373
+ results: resultCount,
374
+ successRate
375
+ };
376
+ }
377
+ /**
378
+ * ๋ฒกํ„ฐ ์ฐจ์› ํ™•์ธ
379
+ */
380
+ getDimensions() {
381
+ return this.defaultDimensions;
382
+ }
383
+ /**
384
+ * VEC ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ
385
+ */
386
+ isAvailable() {
387
+ return this.isVecAvailable;
388
+ }
389
+ /**
390
+ * ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ƒํƒœ ํ™•์ธ
391
+ */
392
+ isConnected() {
393
+ return this.db !== null;
394
+ }
395
+ }
396
+ // ์‹ฑ๊ธ€ํ†ค ์ธ์Šคํ„ด์Šค
397
+ let vectorSearchEngineInstance = null;
398
+ export function getVectorSearchEngine() {
399
+ if (!vectorSearchEngineInstance) {
400
+ vectorSearchEngineInstance = new VectorSearchEngine();
401
+ }
402
+ return vectorSearchEngineInstance;
403
+ }
404
+ export function createVectorSearchEngine() {
405
+ return new VectorSearchEngine();
406
+ }
407
+ export function resetVectorSearchEngine() {
408
+ vectorSearchEngineInstance = null;
409
+ }
410
+ //# sourceMappingURL=vector-search-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-search-engine.js","sourceRoot":"","sources":["../../src/algorithms/vector-search-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Memento MCP Client
3
+ * MCP ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
4
+ */
5
+ import type { RememberParams, RecallParams, ForgetParams, PinParams, UnpinParams, MemorySearchResult } from '../types/index.js';
6
+ export declare class MementoClient {
7
+ private client;
8
+ private connected;
9
+ constructor();
10
+ /**
11
+ * MCP ์„œ๋ฒ„์— ์—ฐ๊ฒฐ
12
+ */
13
+ connect(): Promise<void>;
14
+ /**
15
+ * ์—ฐ๊ฒฐ ํ•ด์ œ
16
+ */
17
+ disconnect(): Promise<void>;
18
+ /**
19
+ * ๊ธฐ์–ต ์ €์žฅ
20
+ */
21
+ remember(params: RememberParams): Promise<string>;
22
+ /**
23
+ * ๊ธฐ์–ต ๊ฒ€์ƒ‰
24
+ */
25
+ recall(params: RecallParams): Promise<MemorySearchResult[]>;
26
+ /**
27
+ * ๊ธฐ์–ต ์‚ญ์ œ
28
+ */
29
+ forget(params: ForgetParams): Promise<string>;
30
+ /**
31
+ * ๊ธฐ์–ต ๊ณ ์ •
32
+ */
33
+ pin(params: PinParams): Promise<string>;
34
+ /**
35
+ * ๊ธฐ์–ต ๊ณ ์ • ํ•ด์ œ
36
+ */
37
+ unpin(params: UnpinParams): Promise<string>;
38
+ /**
39
+ * ์—ฐ๊ฒฐ ์ƒํƒœ ํ™•์ธ
40
+ */
41
+ private ensureConnected;
42
+ /**
43
+ * ์—ฐ๊ฒฐ ์ƒํƒœ ๋ฐ˜ํ™˜
44
+ */
45
+ isConnected(): boolean;
46
+ /**
47
+ * ์ผ๋ฐ˜์ ์ธ ๋„๊ตฌ ํ˜ธ์ถœ
48
+ */
49
+ callTool(name: string, args?: Record<string, any>): Promise<any>;
50
+ }
51
+ /**
52
+ * ๊ฐ„ํŽธํ•œ ์‚ฌ์šฉ์„ ์œ„ํ•œ ํŒฉํ† ๋ฆฌ ํ•จ์ˆ˜
53
+ */
54
+ export declare function createMementoClient(): MementoClient;
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAGV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAkB;;IAkBnC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBvD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAiBjE;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBnD;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB7C;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBjD;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA6B3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Memento MCP Client
3
+ * MCP ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
4
+ */
5
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
6
+ import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
7
+ export class MementoClient {
8
+ client;
9
+ connected = false;
10
+ constructor() {
11
+ this.client = new Client({
12
+ name: 'memento-client',
13
+ version: '0.1.0'
14
+ }, {
15
+ capabilities: {
16
+ tools: {},
17
+ resources: {},
18
+ prompts: {}
19
+ }
20
+ });
21
+ }
22
+ /**
23
+ * MCP ์„œ๋ฒ„์— ์—ฐ๊ฒฐ
24
+ */
25
+ async connect() {
26
+ try {
27
+ // stdio๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์—ฐ๊ฒฐ
28
+ const transport = new StdioClientTransport({
29
+ command: 'node',
30
+ args: ['dist/server/index.js']
31
+ });
32
+ await this.client.connect(transport);
33
+ this.connected = true;
34
+ console.log('โœ… Memento MCP ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค');
35
+ }
36
+ catch (error) {
37
+ console.error('โŒ MCP ์„œ๋ฒ„ ์—ฐ๊ฒฐ ์‹คํŒจ:', error);
38
+ throw error;
39
+ }
40
+ }
41
+ /**
42
+ * ์—ฐ๊ฒฐ ํ•ด์ œ
43
+ */
44
+ async disconnect() {
45
+ if (this.connected) {
46
+ await this.client.close();
47
+ this.connected = false;
48
+ console.log('๐Ÿ”Œ MCP ์„œ๋ฒ„ ์—ฐ๊ฒฐ์ด ํ•ด์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค');
49
+ }
50
+ }
51
+ /**
52
+ * ๊ธฐ์–ต ์ €์žฅ
53
+ */
54
+ async remember(params) {
55
+ this.ensureConnected();
56
+ const result = await this.client.callTool({
57
+ name: 'remember',
58
+ arguments: params
59
+ });
60
+ if (result.content && Array.isArray(result.content) && result.content[0] && 'text' in result.content[0]) {
61
+ const response = JSON.parse(result.content[0].text);
62
+ return response.memory_id;
63
+ }
64
+ throw new Error('๊ธฐ์–ต ์ €์žฅ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');
65
+ }
66
+ /**
67
+ * ๊ธฐ์–ต ๊ฒ€์ƒ‰
68
+ */
69
+ async recall(params) {
70
+ this.ensureConnected();
71
+ const result = await this.client.callTool({
72
+ name: 'recall',
73
+ arguments: params
74
+ });
75
+ if (result.content && Array.isArray(result.content) && result.content[0] && 'text' in result.content[0]) {
76
+ const response = JSON.parse(result.content[0].text);
77
+ // ์‘๋‹ต ๊ตฌ์กฐ: { items: { items: [...], total_count: ..., query_time: ... }, ... }
78
+ return response.items?.items || [];
79
+ }
80
+ throw new Error('๊ธฐ์–ต ๊ฒ€์ƒ‰์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');
81
+ }
82
+ /**
83
+ * ๊ธฐ์–ต ์‚ญ์ œ
84
+ */
85
+ async forget(params) {
86
+ this.ensureConnected();
87
+ const result = await this.client.callTool({
88
+ name: 'forget',
89
+ arguments: params
90
+ });
91
+ if (result.content && Array.isArray(result.content) && result.content[0] && 'text' in result.content[0]) {
92
+ const response = JSON.parse(result.content[0].text);
93
+ return response.message;
94
+ }
95
+ throw new Error('๊ธฐ์–ต ์‚ญ์ œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');
96
+ }
97
+ /**
98
+ * ๊ธฐ์–ต ๊ณ ์ •
99
+ */
100
+ async pin(params) {
101
+ this.ensureConnected();
102
+ const result = await this.client.callTool({
103
+ name: 'pin',
104
+ arguments: params
105
+ });
106
+ if (result.content && Array.isArray(result.content) && result.content[0] && 'text' in result.content[0]) {
107
+ const response = JSON.parse(result.content[0].text);
108
+ return response.message;
109
+ }
110
+ throw new Error('๊ธฐ์–ต ๊ณ ์ •์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');
111
+ }
112
+ /**
113
+ * ๊ธฐ์–ต ๊ณ ์ • ํ•ด์ œ
114
+ */
115
+ async unpin(params) {
116
+ this.ensureConnected();
117
+ const result = await this.client.callTool({
118
+ name: 'unpin',
119
+ arguments: params
120
+ });
121
+ if (result.content && Array.isArray(result.content) && result.content[0] && 'text' in result.content[0]) {
122
+ const response = JSON.parse(result.content[0].text);
123
+ return response.message;
124
+ }
125
+ throw new Error('๊ธฐ์–ต ๊ณ ์ • ํ•ด์ œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');
126
+ }
127
+ /**
128
+ * ์—ฐ๊ฒฐ ์ƒํƒœ ํ™•์ธ
129
+ */
130
+ ensureConnected() {
131
+ if (!this.connected) {
132
+ throw new Error('MCP ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. connect()๋ฅผ ๋จผ์ € ํ˜ธ์ถœํ•˜์„ธ์š”.');
133
+ }
134
+ }
135
+ /**
136
+ * ์—ฐ๊ฒฐ ์ƒํƒœ ๋ฐ˜ํ™˜
137
+ */
138
+ isConnected() {
139
+ return this.connected;
140
+ }
141
+ /**
142
+ * ์ผ๋ฐ˜์ ์ธ ๋„๊ตฌ ํ˜ธ์ถœ
143
+ */
144
+ async callTool(name, args = {}) {
145
+ if (!this.connected) {
146
+ throw new Error('์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค');
147
+ }
148
+ try {
149
+ const result = await this.client.callTool({
150
+ name,
151
+ arguments: args
152
+ });
153
+ // ๊ฒฐ๊ณผ ํŒŒ์‹ฑ
154
+ if (result.content && Array.isArray(result.content) && result.content.length > 0) {
155
+ const content = result.content[0];
156
+ if (content.type === 'text') {
157
+ try {
158
+ return JSON.parse(content.text);
159
+ }
160
+ catch {
161
+ return content.text;
162
+ }
163
+ }
164
+ return content;
165
+ }
166
+ return result;
167
+ }
168
+ catch (error) {
169
+ throw new Error(`๋„๊ตฌ ํ˜ธ์ถœ ์‹คํŒจ (${name}): ${error instanceof Error ? error.message : 'Unknown error'}`);
170
+ }
171
+ }
172
+ }
173
+ /**
174
+ * ๊ฐ„ํŽธํ•œ ์‚ฌ์šฉ์„ ์œ„ํ•œ ํŒฉํ† ๋ฆฌ ํ•จ์ˆ˜
175
+ */
176
+ export function createMementoClient() {
177
+ return new MementoClient();
178
+ }
179
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}