@librechat/data-schemas 0.0.42 → 0.0.44

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 (503) hide show
  1. package/dist/admin/capabilities.cjs +192 -0
  2. package/dist/admin/capabilities.cjs.map +1 -0
  3. package/dist/admin/capabilities.es.js +182 -0
  4. package/dist/admin/capabilities.es.js.map +1 -0
  5. package/dist/app/agents.cjs +24 -0
  6. package/dist/app/agents.cjs.map +1 -0
  7. package/dist/app/agents.es.js +22 -0
  8. package/dist/app/agents.es.js.map +1 -0
  9. package/dist/app/assistants.cjs +56 -0
  10. package/dist/app/assistants.cjs.map +1 -0
  11. package/dist/app/assistants.es.js +53 -0
  12. package/dist/app/assistants.es.js.map +1 -0
  13. package/dist/app/azure.cjs +61 -0
  14. package/dist/app/azure.cjs.map +1 -0
  15. package/dist/app/azure.es.js +59 -0
  16. package/dist/app/azure.es.js.map +1 -0
  17. package/dist/app/endpoints.cjs +63 -0
  18. package/dist/app/endpoints.cjs.map +1 -0
  19. package/dist/app/endpoints.es.js +61 -0
  20. package/dist/app/endpoints.es.js.map +1 -0
  21. package/dist/app/interface.cjs +53 -0
  22. package/dist/app/interface.cjs.map +1 -0
  23. package/dist/app/interface.es.js +51 -0
  24. package/dist/app/interface.es.js.map +1 -0
  25. package/dist/app/memory.cjs +29 -0
  26. package/dist/app/memory.cjs.map +1 -0
  27. package/dist/app/memory.es.js +26 -0
  28. package/dist/app/memory.es.js.map +1 -0
  29. package/dist/app/ocr.cjs +21 -0
  30. package/dist/app/ocr.cjs.map +1 -0
  31. package/dist/app/ocr.es.js +19 -0
  32. package/dist/app/ocr.es.js.map +1 -0
  33. package/dist/app/resolution.cjs +51 -0
  34. package/dist/app/resolution.cjs.map +1 -0
  35. package/dist/app/resolution.es.js +49 -0
  36. package/dist/app/resolution.es.js.map +1 -0
  37. package/dist/app/service.cjs +108 -0
  38. package/dist/app/service.cjs.map +1 -0
  39. package/dist/app/service.es.js +106 -0
  40. package/dist/app/service.es.js.map +1 -0
  41. package/dist/app/specs.cjs +71 -0
  42. package/dist/app/specs.cjs.map +1 -0
  43. package/dist/app/specs.es.js +69 -0
  44. package/dist/app/specs.es.js.map +1 -0
  45. package/dist/app/turnstile.cjs +40 -0
  46. package/dist/app/turnstile.cjs.map +1 -0
  47. package/dist/app/turnstile.es.js +38 -0
  48. package/dist/app/turnstile.es.js.map +1 -0
  49. package/dist/app/vertex.cjs +156 -0
  50. package/dist/app/vertex.cjs.map +1 -0
  51. package/dist/app/vertex.es.js +152 -0
  52. package/dist/app/vertex.es.js.map +1 -0
  53. package/dist/app/web.cjs +87 -0
  54. package/dist/app/web.cjs.map +1 -0
  55. package/dist/app/web.es.js +82 -0
  56. package/dist/app/web.es.js.map +1 -0
  57. package/dist/common/enum.cjs +19 -0
  58. package/dist/common/enum.cjs.map +1 -0
  59. package/dist/common/enum.es.js +19 -0
  60. package/dist/common/enum.es.js.map +1 -0
  61. package/dist/config/meiliLogger.cjs +57 -0
  62. package/dist/config/meiliLogger.cjs.map +1 -0
  63. package/dist/config/meiliLogger.es.js +55 -0
  64. package/dist/config/meiliLogger.es.js.map +1 -0
  65. package/dist/config/parsers.cjs +224 -0
  66. package/dist/config/parsers.cjs.map +1 -0
  67. package/dist/config/parsers.es.js +219 -0
  68. package/dist/config/parsers.es.js.map +1 -0
  69. package/dist/config/tenantContext.cjs +30 -0
  70. package/dist/config/tenantContext.cjs.map +1 -0
  71. package/dist/config/tenantContext.es.js +25 -0
  72. package/dist/config/tenantContext.es.js.map +1 -0
  73. package/dist/config/utils.cjs +37 -0
  74. package/dist/config/utils.cjs.map +1 -0
  75. package/dist/config/utils.es.js +35 -0
  76. package/dist/config/utils.es.js.map +1 -0
  77. package/dist/config/winston.cjs +93 -0
  78. package/dist/config/winston.cjs.map +1 -0
  79. package/dist/config/winston.es.js +91 -0
  80. package/dist/config/winston.es.js.map +1 -0
  81. package/dist/crypto/index.cjs +156 -0
  82. package/dist/crypto/index.cjs.map +1 -0
  83. package/dist/crypto/index.es.js +145 -0
  84. package/dist/crypto/index.es.js.map +1 -0
  85. package/dist/index.cjs +142 -11725
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.es.js +52 -11644
  88. package/dist/index.es.js.map +1 -1
  89. package/dist/methods/accessRole.cjs +210 -0
  90. package/dist/methods/accessRole.cjs.map +1 -0
  91. package/dist/methods/accessRole.es.js +208 -0
  92. package/dist/methods/accessRole.es.js.map +1 -0
  93. package/dist/methods/aclEntry.cjs +361 -0
  94. package/dist/methods/aclEntry.cjs.map +1 -0
  95. package/dist/methods/aclEntry.es.js +359 -0
  96. package/dist/methods/aclEntry.es.js.map +1 -0
  97. package/dist/methods/action.cjs +59 -0
  98. package/dist/methods/action.cjs.map +1 -0
  99. package/dist/methods/action.es.js +57 -0
  100. package/dist/methods/action.es.js.map +1 -0
  101. package/dist/methods/agent.cjs +580 -0
  102. package/dist/methods/agent.cjs.map +1 -0
  103. package/dist/methods/agent.es.js +578 -0
  104. package/dist/methods/agent.es.js.map +1 -0
  105. package/dist/methods/agentApiKey.cjs +140 -0
  106. package/dist/methods/agentApiKey.cjs.map +1 -0
  107. package/dist/methods/agentApiKey.es.js +138 -0
  108. package/dist/methods/agentApiKey.es.js.map +1 -0
  109. package/dist/methods/agentCategory.cjs +226 -0
  110. package/dist/methods/agentCategory.cjs.map +1 -0
  111. package/dist/methods/agentCategory.es.js +224 -0
  112. package/dist/methods/agentCategory.es.js.map +1 -0
  113. package/dist/methods/assistant.cjs +53 -0
  114. package/dist/methods/assistant.cjs.map +1 -0
  115. package/dist/methods/assistant.es.js +51 -0
  116. package/dist/methods/assistant.es.js.map +1 -0
  117. package/dist/methods/banner.cjs +32 -0
  118. package/dist/methods/banner.cjs.map +1 -0
  119. package/dist/methods/banner.es.js +30 -0
  120. package/dist/methods/banner.es.js.map +1 -0
  121. package/dist/methods/categories.cjs +33 -0
  122. package/dist/methods/categories.cjs.map +1 -0
  123. package/dist/methods/categories.es.js +31 -0
  124. package/dist/methods/categories.es.js.map +1 -0
  125. package/dist/methods/config.cjs +106 -0
  126. package/dist/methods/config.cjs.map +1 -0
  127. package/dist/methods/config.es.js +104 -0
  128. package/dist/methods/config.es.js.map +1 -0
  129. package/dist/methods/conversation.cjs +344 -0
  130. package/dist/methods/conversation.cjs.map +1 -0
  131. package/dist/methods/conversation.es.js +342 -0
  132. package/dist/methods/conversation.es.js.map +1 -0
  133. package/dist/methods/conversationTag.cjs +234 -0
  134. package/dist/methods/conversationTag.cjs.map +1 -0
  135. package/dist/methods/conversationTag.es.js +232 -0
  136. package/dist/methods/conversationTag.es.js.map +1 -0
  137. package/dist/methods/file.cjs +315 -0
  138. package/dist/methods/file.cjs.map +1 -0
  139. package/dist/methods/file.es.js +313 -0
  140. package/dist/methods/file.es.js.map +1 -0
  141. package/dist/methods/index.cjs +135 -0
  142. package/dist/methods/index.cjs.map +1 -0
  143. package/dist/methods/index.es.js +130 -0
  144. package/dist/methods/index.es.js.map +1 -0
  145. package/dist/methods/key.cjs +136 -0
  146. package/dist/methods/key.cjs.map +1 -0
  147. package/dist/methods/key.es.js +134 -0
  148. package/dist/methods/key.es.js.map +1 -0
  149. package/dist/methods/mcpServer.cjs +259 -0
  150. package/dist/methods/mcpServer.cjs.map +1 -0
  151. package/dist/methods/mcpServer.es.js +257 -0
  152. package/dist/methods/mcpServer.es.js.map +1 -0
  153. package/dist/methods/memory.cjs +145 -0
  154. package/dist/methods/memory.cjs.map +1 -0
  155. package/dist/methods/memory.es.js +143 -0
  156. package/dist/methods/memory.es.js.map +1 -0
  157. package/dist/methods/message.cjs +280 -0
  158. package/dist/methods/message.cjs.map +1 -0
  159. package/dist/methods/message.es.js +278 -0
  160. package/dist/methods/message.es.js.map +1 -0
  161. package/dist/methods/pluginAuth.cjs +108 -0
  162. package/dist/methods/pluginAuth.cjs.map +1 -0
  163. package/dist/methods/pluginAuth.es.js +106 -0
  164. package/dist/methods/pluginAuth.es.js.map +1 -0
  165. package/dist/methods/preset.cjs +105 -0
  166. package/dist/methods/preset.cjs.map +1 -0
  167. package/dist/methods/preset.es.js +103 -0
  168. package/dist/methods/preset.es.js.map +1 -0
  169. package/dist/methods/prompt.cjs +546 -0
  170. package/dist/methods/prompt.cjs.map +1 -0
  171. package/dist/methods/prompt.es.js +544 -0
  172. package/dist/methods/prompt.es.js.map +1 -0
  173. package/dist/methods/role.cjs +290 -0
  174. package/dist/methods/role.cjs.map +1 -0
  175. package/dist/methods/role.es.js +288 -0
  176. package/dist/methods/role.es.js.map +1 -0
  177. package/dist/methods/session.cjs +221 -0
  178. package/dist/methods/session.cjs.map +1 -0
  179. package/dist/methods/session.es.js +217 -0
  180. package/dist/methods/session.es.js.map +1 -0
  181. package/dist/methods/share.cjs +474 -0
  182. package/dist/methods/share.cjs.map +1 -0
  183. package/dist/methods/share.es.js +472 -0
  184. package/dist/methods/share.es.js.map +1 -0
  185. package/dist/methods/spendTokens.cjs +109 -0
  186. package/dist/methods/spendTokens.cjs.map +1 -0
  187. package/dist/methods/spendTokens.es.js +107 -0
  188. package/dist/methods/spendTokens.es.js.map +1 -0
  189. package/dist/methods/systemGrant.cjs +190 -0
  190. package/dist/methods/systemGrant.cjs.map +1 -0
  191. package/dist/methods/systemGrant.es.js +188 -0
  192. package/dist/methods/systemGrant.es.js.map +1 -0
  193. package/dist/methods/token.cjs +117 -0
  194. package/dist/methods/token.cjs.map +1 -0
  195. package/dist/methods/token.es.js +115 -0
  196. package/dist/methods/token.es.js.map +1 -0
  197. package/dist/methods/toolCall.cjs +91 -0
  198. package/dist/methods/toolCall.cjs.map +1 -0
  199. package/dist/methods/toolCall.es.js +89 -0
  200. package/dist/methods/toolCall.es.js.map +1 -0
  201. package/dist/methods/transaction.cjs +305 -0
  202. package/dist/methods/transaction.cjs.map +1 -0
  203. package/dist/methods/transaction.es.js +303 -0
  204. package/dist/methods/transaction.es.js.map +1 -0
  205. package/dist/methods/tx.cjs +443 -0
  206. package/dist/methods/tx.cjs.map +1 -0
  207. package/dist/methods/tx.es.js +437 -0
  208. package/dist/methods/tx.es.js.map +1 -0
  209. package/dist/methods/user.cjs +269 -0
  210. package/dist/methods/user.cjs.map +1 -0
  211. package/dist/methods/user.es.js +266 -0
  212. package/dist/methods/user.es.js.map +1 -0
  213. package/dist/methods/userGroup.cjs +518 -0
  214. package/dist/methods/userGroup.cjs.map +1 -0
  215. package/dist/methods/userGroup.es.js +516 -0
  216. package/dist/methods/userGroup.es.js.map +1 -0
  217. package/dist/migrations/tenantIndexes.cjs +85 -0
  218. package/dist/migrations/tenantIndexes.cjs.map +1 -0
  219. package/dist/migrations/tenantIndexes.es.js +82 -0
  220. package/dist/migrations/tenantIndexes.es.js.map +1 -0
  221. package/dist/models/accessRole.cjs +12 -0
  222. package/dist/models/accessRole.cjs.map +1 -0
  223. package/dist/models/accessRole.es.js +10 -0
  224. package/dist/models/accessRole.es.js.map +1 -0
  225. package/dist/models/aclEntry.cjs +12 -0
  226. package/dist/models/aclEntry.cjs.map +1 -0
  227. package/dist/models/aclEntry.es.js +10 -0
  228. package/dist/models/aclEntry.es.js.map +1 -0
  229. package/dist/models/action.cjs +12 -0
  230. package/dist/models/action.cjs.map +1 -0
  231. package/dist/models/action.es.js +10 -0
  232. package/dist/models/action.es.js.map +1 -0
  233. package/dist/models/agent.cjs +12 -0
  234. package/dist/models/agent.cjs.map +1 -0
  235. package/dist/models/agent.es.js +10 -0
  236. package/dist/models/agent.es.js.map +1 -0
  237. package/dist/models/agentApiKey.cjs +12 -0
  238. package/dist/models/agentApiKey.cjs.map +1 -0
  239. package/dist/models/agentApiKey.es.js +10 -0
  240. package/dist/models/agentApiKey.es.js.map +1 -0
  241. package/dist/models/agentCategory.cjs +13 -0
  242. package/dist/models/agentCategory.cjs.map +1 -0
  243. package/dist/models/agentCategory.es.js +11 -0
  244. package/dist/models/agentCategory.es.js.map +1 -0
  245. package/dist/models/assistant.cjs +12 -0
  246. package/dist/models/assistant.cjs.map +1 -0
  247. package/dist/models/assistant.es.js +10 -0
  248. package/dist/models/assistant.es.js.map +1 -0
  249. package/dist/models/balance.cjs +12 -0
  250. package/dist/models/balance.cjs.map +1 -0
  251. package/dist/models/balance.es.js +10 -0
  252. package/dist/models/balance.es.js.map +1 -0
  253. package/dist/models/banner.cjs +12 -0
  254. package/dist/models/banner.cjs.map +1 -0
  255. package/dist/models/banner.es.js +10 -0
  256. package/dist/models/banner.es.js.map +1 -0
  257. package/dist/models/config.cjs +12 -0
  258. package/dist/models/config.cjs.map +1 -0
  259. package/dist/models/config.es.js +10 -0
  260. package/dist/models/config.es.js.map +1 -0
  261. package/dist/models/conversationTag.cjs +13 -0
  262. package/dist/models/conversationTag.cjs.map +1 -0
  263. package/dist/models/conversationTag.es.js +11 -0
  264. package/dist/models/conversationTag.es.js.map +1 -0
  265. package/dist/models/convo.cjs +23 -0
  266. package/dist/models/convo.cjs.map +1 -0
  267. package/dist/models/convo.es.js +21 -0
  268. package/dist/models/convo.es.js.map +1 -0
  269. package/dist/models/file.cjs +12 -0
  270. package/dist/models/file.cjs.map +1 -0
  271. package/dist/models/file.es.js +10 -0
  272. package/dist/models/file.es.js.map +1 -0
  273. package/dist/models/group.cjs +12 -0
  274. package/dist/models/group.cjs.map +1 -0
  275. package/dist/models/group.es.js +10 -0
  276. package/dist/models/group.es.js.map +1 -0
  277. package/dist/models/index.cjs +73 -0
  278. package/dist/models/index.cjs.map +1 -0
  279. package/dist/models/index.es.js +71 -0
  280. package/dist/models/index.es.js.map +1 -0
  281. package/dist/models/key.cjs +12 -0
  282. package/dist/models/key.cjs.map +1 -0
  283. package/dist/models/key.es.js +10 -0
  284. package/dist/models/key.es.js.map +1 -0
  285. package/dist/models/mcpServer.cjs +12 -0
  286. package/dist/models/mcpServer.cjs.map +1 -0
  287. package/dist/models/mcpServer.es.js +10 -0
  288. package/dist/models/mcpServer.es.js.map +1 -0
  289. package/dist/models/memory.cjs +12 -0
  290. package/dist/models/memory.cjs.map +1 -0
  291. package/dist/models/memory.es.js +10 -0
  292. package/dist/models/memory.es.js.map +1 -0
  293. package/dist/models/message.cjs +22 -0
  294. package/dist/models/message.cjs.map +1 -0
  295. package/dist/models/message.es.js +20 -0
  296. package/dist/models/message.es.js.map +1 -0
  297. package/dist/models/pluginAuth.cjs +12 -0
  298. package/dist/models/pluginAuth.cjs.map +1 -0
  299. package/dist/models/pluginAuth.es.js +10 -0
  300. package/dist/models/pluginAuth.es.js.map +1 -0
  301. package/dist/models/plugins/mongoMeili.cjs +547 -0
  302. package/dist/models/plugins/mongoMeili.cjs.map +1 -0
  303. package/dist/models/plugins/mongoMeili.es.js +545 -0
  304. package/dist/models/plugins/mongoMeili.es.js.map +1 -0
  305. package/dist/models/plugins/tenantIsolation.cjs +140 -0
  306. package/dist/models/plugins/tenantIsolation.cjs.map +1 -0
  307. package/dist/models/plugins/tenantIsolation.es.js +138 -0
  308. package/dist/models/plugins/tenantIsolation.es.js.map +1 -0
  309. package/dist/models/preset.cjs +12 -0
  310. package/dist/models/preset.cjs.map +1 -0
  311. package/dist/models/preset.es.js +10 -0
  312. package/dist/models/preset.es.js.map +1 -0
  313. package/dist/models/prompt.cjs +12 -0
  314. package/dist/models/prompt.cjs.map +1 -0
  315. package/dist/models/prompt.es.js +10 -0
  316. package/dist/models/prompt.es.js.map +1 -0
  317. package/dist/models/promptGroup.cjs +13 -0
  318. package/dist/models/promptGroup.cjs.map +1 -0
  319. package/dist/models/promptGroup.es.js +11 -0
  320. package/dist/models/promptGroup.es.js.map +1 -0
  321. package/dist/models/role.cjs +12 -0
  322. package/dist/models/role.cjs.map +1 -0
  323. package/dist/models/role.es.js +10 -0
  324. package/dist/models/role.es.js.map +1 -0
  325. package/dist/models/session.cjs +12 -0
  326. package/dist/models/session.cjs.map +1 -0
  327. package/dist/models/session.es.js +10 -0
  328. package/dist/models/session.es.js.map +1 -0
  329. package/dist/models/sharedLink.cjs +12 -0
  330. package/dist/models/sharedLink.cjs.map +1 -0
  331. package/dist/models/sharedLink.es.js +10 -0
  332. package/dist/models/sharedLink.es.js.map +1 -0
  333. package/dist/models/systemGrant.cjs +16 -0
  334. package/dist/models/systemGrant.cjs.map +1 -0
  335. package/dist/models/systemGrant.es.js +14 -0
  336. package/dist/models/systemGrant.es.js.map +1 -0
  337. package/dist/models/token.cjs +12 -0
  338. package/dist/models/token.cjs.map +1 -0
  339. package/dist/models/token.es.js +10 -0
  340. package/dist/models/token.es.js.map +1 -0
  341. package/dist/models/toolCall.cjs +12 -0
  342. package/dist/models/toolCall.cjs.map +1 -0
  343. package/dist/models/toolCall.es.js +10 -0
  344. package/dist/models/toolCall.es.js.map +1 -0
  345. package/dist/models/transaction.cjs +12 -0
  346. package/dist/models/transaction.cjs.map +1 -0
  347. package/dist/models/transaction.es.js +10 -0
  348. package/dist/models/transaction.es.js.map +1 -0
  349. package/dist/models/user.cjs +12 -0
  350. package/dist/models/user.cjs.map +1 -0
  351. package/dist/models/user.es.js +10 -0
  352. package/dist/models/user.es.js.map +1 -0
  353. package/dist/schema/accessRole.cjs +34 -0
  354. package/dist/schema/accessRole.cjs.map +1 -0
  355. package/dist/schema/accessRole.es.js +32 -0
  356. package/dist/schema/accessRole.es.js.map +1 -0
  357. package/dist/schema/aclEntry.cjs +74 -0
  358. package/dist/schema/aclEntry.cjs.map +1 -0
  359. package/dist/schema/aclEntry.es.js +72 -0
  360. package/dist/schema/aclEntry.es.js.map +1 -0
  361. package/dist/schema/action.cjs +54 -0
  362. package/dist/schema/action.cjs.map +1 -0
  363. package/dist/schema/action.es.js +52 -0
  364. package/dist/schema/action.es.js.map +1 -0
  365. package/dist/schema/agent.cjs +128 -0
  366. package/dist/schema/agent.cjs.map +1 -0
  367. package/dist/schema/agent.es.js +126 -0
  368. package/dist/schema/agent.es.js.map +1 -0
  369. package/dist/schema/agentApiKey.cjs +50 -0
  370. package/dist/schema/agentApiKey.cjs.map +1 -0
  371. package/dist/schema/agentApiKey.es.js +48 -0
  372. package/dist/schema/agentApiKey.es.js.map +1 -0
  373. package/dist/schema/agentCategory.cjs +49 -0
  374. package/dist/schema/agentCategory.cjs.map +1 -0
  375. package/dist/schema/agentCategory.es.js +47 -0
  376. package/dist/schema/agentCategory.es.js.map +1 -0
  377. package/dist/schema/assistant.cjs +42 -0
  378. package/dist/schema/assistant.cjs.map +1 -0
  379. package/dist/schema/assistant.es.js +40 -0
  380. package/dist/schema/assistant.es.js.map +1 -0
  381. package/dist/schema/balance.cjs +47 -0
  382. package/dist/schema/balance.cjs.map +1 -0
  383. package/dist/schema/balance.es.js +45 -0
  384. package/dist/schema/balance.es.js.map +1 -0
  385. package/dist/schema/banner.cjs +42 -0
  386. package/dist/schema/banner.cjs.map +1 -0
  387. package/dist/schema/banner.es.js +40 -0
  388. package/dist/schema/banner.es.js.map +1 -0
  389. package/dist/schema/categories.cjs +23 -0
  390. package/dist/schema/categories.cjs.map +1 -0
  391. package/dist/schema/categories.es.js +21 -0
  392. package/dist/schema/categories.es.js.map +1 -0
  393. package/dist/schema/config.cjs +59 -0
  394. package/dist/schema/config.cjs.map +1 -0
  395. package/dist/schema/config.es.js +57 -0
  396. package/dist/schema/config.es.js.map +1 -0
  397. package/dist/schema/conversationTag.cjs +36 -0
  398. package/dist/schema/conversationTag.cjs.map +1 -0
  399. package/dist/schema/conversationTag.es.js +34 -0
  400. package/dist/schema/conversationTag.es.js.map +1 -0
  401. package/dist/schema/convo.cjs +52 -0
  402. package/dist/schema/convo.cjs.map +1 -0
  403. package/dist/schema/convo.es.js +50 -0
  404. package/dist/schema/convo.es.js.map +1 -0
  405. package/dist/schema/defaults.cjs +168 -0
  406. package/dist/schema/defaults.cjs.map +1 -0
  407. package/dist/schema/defaults.es.js +166 -0
  408. package/dist/schema/defaults.es.js.map +1 -0
  409. package/dist/schema/file.cjs +92 -0
  410. package/dist/schema/file.cjs.map +1 -0
  411. package/dist/schema/file.es.js +90 -0
  412. package/dist/schema/file.es.js.map +1 -0
  413. package/dist/schema/group.cjs +56 -0
  414. package/dist/schema/group.cjs.map +1 -0
  415. package/dist/schema/group.es.js +54 -0
  416. package/dist/schema/group.es.js.map +1 -0
  417. package/dist/schema/key.cjs +30 -0
  418. package/dist/schema/key.cjs.map +1 -0
  419. package/dist/schema/key.es.js +28 -0
  420. package/dist/schema/key.es.js.map +1 -0
  421. package/dist/schema/mcpServer.cjs +33 -0
  422. package/dist/schema/mcpServer.cjs.map +1 -0
  423. package/dist/schema/mcpServer.es.js +31 -0
  424. package/dist/schema/mcpServer.es.js.map +1 -0
  425. package/dist/schema/memory.cjs +39 -0
  426. package/dist/schema/memory.cjs.map +1 -0
  427. package/dist/schema/memory.es.js +37 -0
  428. package/dist/schema/memory.es.js.map +1 -0
  429. package/dist/schema/message.cjs +167 -0
  430. package/dist/schema/message.cjs.map +1 -0
  431. package/dist/schema/message.es.js +165 -0
  432. package/dist/schema/message.es.js.map +1 -0
  433. package/dist/schema/pluginAuth.cjs +28 -0
  434. package/dist/schema/pluginAuth.cjs.map +1 -0
  435. package/dist/schema/pluginAuth.es.js +26 -0
  436. package/dist/schema/pluginAuth.es.js.map +1 -0
  437. package/dist/schema/preset.cjs +36 -0
  438. package/dist/schema/preset.cjs.map +1 -0
  439. package/dist/schema/preset.es.js +34 -0
  440. package/dist/schema/preset.es.js.map +1 -0
  441. package/dist/schema/prompt.cjs +36 -0
  442. package/dist/schema/prompt.cjs.map +1 -0
  443. package/dist/schema/prompt.es.js +34 -0
  444. package/dist/schema/prompt.es.js.map +1 -0
  445. package/dist/schema/promptGroup.cjs +65 -0
  446. package/dist/schema/promptGroup.cjs.map +1 -0
  447. package/dist/schema/promptGroup.es.js +63 -0
  448. package/dist/schema/promptGroup.es.js.map +1 -0
  449. package/dist/schema/role.cjs +84 -0
  450. package/dist/schema/role.cjs.map +1 -0
  451. package/dist/schema/role.es.js +82 -0
  452. package/dist/schema/role.es.js.map +1 -0
  453. package/dist/schema/session.cjs +27 -0
  454. package/dist/schema/session.cjs.map +1 -0
  455. package/dist/schema/session.es.js +25 -0
  456. package/dist/schema/session.es.js.map +1 -0
  457. package/dist/schema/share.cjs +40 -0
  458. package/dist/schema/share.cjs.map +1 -0
  459. package/dist/schema/share.es.js +38 -0
  460. package/dist/schema/share.es.js.map +1 -0
  461. package/dist/schema/systemGrant.cjs +66 -0
  462. package/dist/schema/systemGrant.cjs.map +1 -0
  463. package/dist/schema/systemGrant.es.js +64 -0
  464. package/dist/schema/systemGrant.es.js.map +1 -0
  465. package/dist/schema/token.cjs +45 -0
  466. package/dist/schema/token.cjs.map +1 -0
  467. package/dist/schema/token.es.js +43 -0
  468. package/dist/schema/token.es.js.map +1 -0
  469. package/dist/schema/toolCall.cjs +44 -0
  470. package/dist/schema/toolCall.cjs.map +1 -0
  471. package/dist/schema/toolCall.es.js +42 -0
  472. package/dist/schema/toolCall.es.js.map +1 -0
  473. package/dist/schema/transaction.cjs +48 -0
  474. package/dist/schema/transaction.cjs.map +1 -0
  475. package/dist/schema/transaction.es.js +46 -0
  476. package/dist/schema/transaction.es.js.map +1 -0
  477. package/dist/schema/user.cjs +165 -0
  478. package/dist/schema/user.cjs.map +1 -0
  479. package/dist/schema/user.es.js +163 -0
  480. package/dist/schema/user.es.js.map +1 -0
  481. package/dist/types/admin/capabilities.d.ts +2 -0
  482. package/dist/types/methods/config.d.ts +1 -0
  483. package/dist/utils/object-traverse.cjs +158 -0
  484. package/dist/utils/object-traverse.cjs.map +1 -0
  485. package/dist/utils/object-traverse.es.js +156 -0
  486. package/dist/utils/object-traverse.es.js.map +1 -0
  487. package/dist/utils/principal.cjs +24 -0
  488. package/dist/utils/principal.cjs.map +1 -0
  489. package/dist/utils/principal.es.js +22 -0
  490. package/dist/utils/principal.es.js.map +1 -0
  491. package/dist/utils/string.cjs +11 -0
  492. package/dist/utils/string.cjs.map +1 -0
  493. package/dist/utils/string.es.js +9 -0
  494. package/dist/utils/string.es.js.map +1 -0
  495. package/dist/utils/tempChatRetention.cjs +70 -0
  496. package/dist/utils/tempChatRetention.cjs.map +1 -0
  497. package/dist/utils/tempChatRetention.es.js +64 -0
  498. package/dist/utils/tempChatRetention.es.js.map +1 -0
  499. package/dist/utils/transactions.cjs +60 -0
  500. package/dist/utils/transactions.cjs.map +1 -0
  501. package/dist/utils/transactions.es.js +56 -0
  502. package/dist/utils/transactions.es.js.map +1 -0
  503. package/package.json +2 -1
@@ -0,0 +1,257 @@
1
+ import logger from '../config/winston.es.js';
2
+ import { nanoid } from 'nanoid';
3
+
4
+ const NORMALIZED_LIMIT_DEFAULT = 20;
5
+ const MAX_CREATE_RETRIES = 5;
6
+ const RETRY_BASE_DELAY_MS = 25;
7
+ /**
8
+ * Helper to check if an error is a MongoDB duplicate key error.
9
+ * Since serverName is the only unique index on MCPServer, any E11000 error
10
+ * during creation is necessarily a serverName collision.
11
+ */
12
+ function isDuplicateKeyError(error) {
13
+ if (error && typeof error === 'object' && 'code' in error) {
14
+ const mongoError = error;
15
+ return mongoError.code === 11000;
16
+ }
17
+ return false;
18
+ }
19
+ /**
20
+ * Escapes special regex characters in a string so they are treated literally.
21
+ */
22
+ function escapeRegex(str) {
23
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
24
+ }
25
+ /**
26
+ * Generates a URL-friendly server name from a title.
27
+ * Converts to lowercase, replaces spaces with hyphens, removes special characters.
28
+ */
29
+ function generateServerNameFromTitle(title) {
30
+ const slug = title
31
+ .toLowerCase()
32
+ .trim()
33
+ .replace(/[^a-z0-9\s-]/g, '') // Remove special chars except spaces and hyphens
34
+ .replace(/\s+/g, '-') // Replace spaces with hyphens
35
+ .replace(/-+/g, '-') // Remove consecutive hyphens
36
+ .replace(/^-|-$/g, ''); // Trim leading/trailing hyphens
37
+ return slug || 'mcp-server'; // Fallback if empty
38
+ }
39
+ function createMCPServerMethods(mongoose) {
40
+ /**
41
+ * Finds the next available server name by checking for duplicates.
42
+ * If baseName exists, returns baseName-2, baseName-3, etc.
43
+ */
44
+ async function findNextAvailableServerName(baseName) {
45
+ const MCPServer = mongoose.models.MCPServer;
46
+ // Find all servers with matching base name pattern (baseName or baseName-N)
47
+ const escapedBaseName = escapeRegex(baseName);
48
+ const existing = await MCPServer.find({
49
+ serverName: { $regex: `^${escapedBaseName}(-\\d+)?$` },
50
+ })
51
+ .select('serverName')
52
+ .lean();
53
+ if (existing.length === 0) {
54
+ return baseName;
55
+ }
56
+ // Extract numbers from existing names
57
+ const numbers = existing.map((s) => {
58
+ const match = s.serverName.match(/-(\d+)$/);
59
+ return match ? parseInt(match[1], 10) : 1;
60
+ });
61
+ const maxNumber = Math.max(...numbers);
62
+ return `${baseName}-${maxNumber + 1}`;
63
+ }
64
+ /**
65
+ * Create a new MCP server with retry logic for handling race conditions.
66
+ * When multiple requests try to create servers with the same title simultaneously,
67
+ * they may get the same serverName from findNextAvailableServerName() before any
68
+ * creates the record (TOCTOU race condition). This is handled by retrying with
69
+ * exponential backoff when a duplicate key error occurs.
70
+ * @param data - Object containing config (with title, description, url, etc.) and author
71
+ * @returns The created MCP server document
72
+ */
73
+ async function createMCPServer(data) {
74
+ const MCPServer = mongoose.models.MCPServer;
75
+ let lastError;
76
+ for (let attempt = 0; attempt < MAX_CREATE_RETRIES; attempt++) {
77
+ try {
78
+ // Generate serverName from title, with fallback to nanoid if no title
79
+ // Important: regenerate on each attempt to get fresh available name
80
+ let serverName;
81
+ if (data.config.title) {
82
+ const baseSlug = generateServerNameFromTitle(data.config.title);
83
+ serverName = await findNextAvailableServerName(baseSlug);
84
+ }
85
+ else {
86
+ serverName = `mcp-${nanoid(16)}`;
87
+ }
88
+ const newServer = await MCPServer.create({
89
+ serverName,
90
+ config: data.config,
91
+ author: data.author,
92
+ });
93
+ return newServer.toObject();
94
+ }
95
+ catch (error) {
96
+ lastError = error;
97
+ // Only retry on duplicate key errors (serverName collision)
98
+ if (isDuplicateKeyError(error) && attempt < MAX_CREATE_RETRIES - 1) {
99
+ // Exponential backoff: 10ms, 20ms, 40ms
100
+ const delay = RETRY_BASE_DELAY_MS * Math.pow(2, attempt);
101
+ logger.debug(`[createMCPServer] Duplicate serverName detected, retrying (attempt ${attempt + 2}/${MAX_CREATE_RETRIES}) after ${delay}ms`);
102
+ await new Promise((resolve) => setTimeout(resolve, delay));
103
+ continue;
104
+ }
105
+ // Not a duplicate key error or out of retries - throw immediately
106
+ throw error;
107
+ }
108
+ }
109
+ // Should not reach here, but TypeScript requires a return
110
+ throw lastError;
111
+ }
112
+ /**
113
+ * Find an MCP server by serverName
114
+ * @param serverName - The unique server name identifier
115
+ * @returns The MCP server document or null
116
+ */
117
+ async function findMCPServerByServerName(serverName) {
118
+ const MCPServer = mongoose.models.MCPServer;
119
+ return await MCPServer.findOne({ serverName }).lean();
120
+ }
121
+ /**
122
+ * Find an MCP server by MongoDB ObjectId
123
+ * @param _id - The MongoDB ObjectId
124
+ * @returns The MCP server document or null
125
+ */
126
+ async function findMCPServerByObjectId(_id) {
127
+ const MCPServer = mongoose.models.MCPServer;
128
+ return await MCPServer.findById(_id).lean();
129
+ }
130
+ /**
131
+ * Find MCP servers by author
132
+ * @param authorId - The author's ObjectId or string
133
+ * @returns Array of MCP server documents
134
+ */
135
+ async function findMCPServersByAuthor(authorId) {
136
+ const MCPServer = mongoose.models.MCPServer;
137
+ return await MCPServer.find({ author: authorId }).sort({ updatedAt: -1 }).lean();
138
+ }
139
+ /**
140
+ * Get a paginated list of MCP servers by IDs with filtering and search
141
+ * @param ids - Array of ObjectIds to include
142
+ * @param otherParams - Additional filter parameters (e.g., search)
143
+ * @param limit - Page size limit (null for no pagination)
144
+ * @param after - Cursor for pagination
145
+ * @returns Paginated list of MCP servers
146
+ */
147
+ async function getListMCPServersByIds({ ids = [], otherParams = {}, limit = null, after = null, }) {
148
+ const MCPServer = mongoose.models.MCPServer;
149
+ const isPaginated = limit !== null && limit !== undefined;
150
+ const normalizedLimit = isPaginated
151
+ ? Math.min(Math.max(1, parseInt(String(limit)) || NORMALIZED_LIMIT_DEFAULT), 100)
152
+ : null;
153
+ // Build base query combining accessible servers with other filters
154
+ const baseQuery = { ...otherParams, _id: { $in: ids } };
155
+ // Add cursor condition
156
+ if (after) {
157
+ try {
158
+ const cursor = JSON.parse(Buffer.from(after, 'base64').toString('utf8'));
159
+ const { updatedAt, _id } = cursor;
160
+ const cursorCondition = {
161
+ $or: [
162
+ { updatedAt: { $lt: new Date(updatedAt) } },
163
+ { updatedAt: new Date(updatedAt), _id: { $gt: new mongoose.Types.ObjectId(_id) } },
164
+ ],
165
+ };
166
+ // Merge cursor condition with base query
167
+ if (Object.keys(baseQuery).length > 0) {
168
+ baseQuery.$and = [{ ...baseQuery }, cursorCondition];
169
+ // Remove the original conditions from baseQuery to avoid duplication
170
+ Object.keys(baseQuery).forEach((key) => {
171
+ if (key !== '$and') {
172
+ delete baseQuery[key];
173
+ }
174
+ });
175
+ }
176
+ }
177
+ catch (error) {
178
+ // Invalid cursor, ignore
179
+ logger.warn('[getListMCPServersByIds] Invalid cursor provided', error);
180
+ }
181
+ }
182
+ if (normalizedLimit === null) {
183
+ // No pagination - return all matching servers
184
+ const servers = await MCPServer.find(baseQuery).sort({ updatedAt: -1, _id: 1 }).lean();
185
+ return {
186
+ data: servers,
187
+ has_more: false,
188
+ after: null,
189
+ };
190
+ }
191
+ // Paginated query - assign to const to help TypeScript
192
+ const servers = await MCPServer.find(baseQuery)
193
+ .sort({ updatedAt: -1, _id: 1 })
194
+ .limit(normalizedLimit + 1)
195
+ .lean();
196
+ const hasMore = servers.length > normalizedLimit;
197
+ const data = hasMore ? servers.slice(0, normalizedLimit) : servers;
198
+ let nextCursor = null;
199
+ if (hasMore && data.length > 0) {
200
+ const lastItem = data[data.length - 1];
201
+ nextCursor = Buffer.from(JSON.stringify({
202
+ updatedAt: lastItem.updatedAt,
203
+ _id: lastItem._id,
204
+ })).toString('base64');
205
+ }
206
+ return {
207
+ data,
208
+ has_more: hasMore,
209
+ after: nextCursor,
210
+ };
211
+ }
212
+ /**
213
+ * Update an MCP server
214
+ * @param serverName - The MCP server ID
215
+ * @param updateData - Object containing config to update
216
+ * @returns The updated MCP server document or null
217
+ */
218
+ async function updateMCPServer(serverName, updateData) {
219
+ const MCPServer = mongoose.models.MCPServer;
220
+ return await MCPServer.findOneAndUpdate({ serverName }, { $set: updateData }, { new: true, runValidators: true }).lean();
221
+ }
222
+ /**
223
+ * Delete an MCP server
224
+ * @param serverName - The MCP server ID
225
+ * @returns The deleted MCP server document or null
226
+ */
227
+ async function deleteMCPServer(serverName) {
228
+ const MCPServer = mongoose.models.MCPServer;
229
+ return await MCPServer.findOneAndDelete({ serverName }).lean();
230
+ }
231
+ /**
232
+ * Get MCP servers by their serverName strings
233
+ * @param names - Array of serverName strings to fetch
234
+ * @returns Object containing array of MCP server documents
235
+ */
236
+ async function getListMCPServersByNames({ names = [] }) {
237
+ if (names.length === 0) {
238
+ return { data: [] };
239
+ }
240
+ const MCPServer = mongoose.models.MCPServer;
241
+ const servers = await MCPServer.find({ serverName: { $in: names } }).lean();
242
+ return { data: servers };
243
+ }
244
+ return {
245
+ createMCPServer,
246
+ findMCPServerByServerName,
247
+ findMCPServerByObjectId,
248
+ findMCPServersByAuthor,
249
+ getListMCPServersByIds,
250
+ getListMCPServersByNames,
251
+ updateMCPServer,
252
+ deleteMCPServer,
253
+ };
254
+ }
255
+
256
+ export { createMCPServerMethods };
257
+ //# sourceMappingURL=mcpServer.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpServer.es.js","sources":["../../src/methods/mcpServer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ 'use strict';
2
+
3
+ var winston = require('../config/winston.cjs');
4
+
5
+ /**
6
+ * Formats a date in YYYY-MM-DD format
7
+ */
8
+ const formatDate = (date) => {
9
+ return date.toISOString().split('T')[0];
10
+ };
11
+ // Factory function that takes mongoose instance and returns the methods
12
+ function createMemoryMethods(mongoose) {
13
+ /**
14
+ * Creates a new memory entry for a user
15
+ * Throws an error if a memory with the same key already exists
16
+ */
17
+ async function createMemory({ userId, key, value, tokenCount = 0, }) {
18
+ try {
19
+ if ((key === null || key === void 0 ? void 0 : key.toLowerCase()) === 'nothing') {
20
+ return { ok: false };
21
+ }
22
+ const MemoryEntry = mongoose.models.MemoryEntry;
23
+ const existingMemory = await MemoryEntry.findOne({ userId, key });
24
+ if (existingMemory) {
25
+ throw new Error('Memory with this key already exists');
26
+ }
27
+ await MemoryEntry.create({
28
+ userId,
29
+ key,
30
+ value,
31
+ tokenCount,
32
+ updated_at: new Date(),
33
+ });
34
+ return { ok: true };
35
+ }
36
+ catch (error) {
37
+ throw new Error(`Failed to create memory: ${error instanceof Error ? error.message : 'Unknown error'}`);
38
+ }
39
+ }
40
+ /**
41
+ * Sets or updates a memory entry for a user
42
+ */
43
+ async function setMemory({ userId, key, value, tokenCount = 0, }) {
44
+ try {
45
+ if ((key === null || key === void 0 ? void 0 : key.toLowerCase()) === 'nothing') {
46
+ return { ok: false };
47
+ }
48
+ const MemoryEntry = mongoose.models.MemoryEntry;
49
+ await MemoryEntry.findOneAndUpdate({ userId, key }, {
50
+ value,
51
+ tokenCount,
52
+ updated_at: new Date(),
53
+ }, {
54
+ upsert: true,
55
+ new: true,
56
+ });
57
+ return { ok: true };
58
+ }
59
+ catch (error) {
60
+ throw new Error(`Failed to set memory: ${error instanceof Error ? error.message : 'Unknown error'}`);
61
+ }
62
+ }
63
+ /**
64
+ * Deletes a specific memory entry for a user
65
+ */
66
+ async function deleteMemory({ userId, key }) {
67
+ try {
68
+ const MemoryEntry = mongoose.models.MemoryEntry;
69
+ const result = await MemoryEntry.findOneAndDelete({ userId, key });
70
+ return { ok: !!result };
71
+ }
72
+ catch (error) {
73
+ throw new Error(`Failed to delete memory: ${error instanceof Error ? error.message : 'Unknown error'}`);
74
+ }
75
+ }
76
+ /**
77
+ * Gets all memory entries for a user
78
+ */
79
+ async function getAllUserMemories(userId) {
80
+ try {
81
+ const MemoryEntry = mongoose.models.MemoryEntry;
82
+ return (await MemoryEntry.find({ userId }).lean());
83
+ }
84
+ catch (error) {
85
+ throw new Error(`Failed to get all memories: ${error instanceof Error ? error.message : 'Unknown error'}`);
86
+ }
87
+ }
88
+ /**
89
+ * Gets and formats all memories for a user in two different formats
90
+ */
91
+ async function getFormattedMemories({ userId, }) {
92
+ try {
93
+ const memories = await getAllUserMemories(userId);
94
+ if (!memories || memories.length === 0) {
95
+ return { withKeys: '', withoutKeys: '', totalTokens: 0 };
96
+ }
97
+ const sortedMemories = memories.sort((a, b) => new Date(a.updated_at).getTime() - new Date(b.updated_at).getTime());
98
+ const totalTokens = sortedMemories.reduce((sum, memory) => {
99
+ return sum + (memory.tokenCount || 0);
100
+ }, 0);
101
+ const withKeys = sortedMemories
102
+ .map((memory, index) => {
103
+ const date = formatDate(new Date(memory.updated_at));
104
+ const tokenInfo = memory.tokenCount ? ` [${memory.tokenCount} tokens]` : '';
105
+ return `${index + 1}. [${date}]. ["key": "${memory.key}"]${tokenInfo}. ["value": "${memory.value}"]`;
106
+ })
107
+ .join('\n\n');
108
+ const withoutKeys = sortedMemories
109
+ .map((memory, index) => {
110
+ const date = formatDate(new Date(memory.updated_at));
111
+ return `${index + 1}. [${date}]. ${memory.value}`;
112
+ })
113
+ .join('\n\n');
114
+ return { withKeys, withoutKeys, totalTokens };
115
+ }
116
+ catch (error) {
117
+ winston.error('Failed to get formatted memories:', error);
118
+ return { withKeys: '', withoutKeys: '', totalTokens: 0 };
119
+ }
120
+ }
121
+ /**
122
+ * Deletes all memory entries for a user
123
+ */
124
+ async function deleteAllUserMemories(userId) {
125
+ try {
126
+ const MemoryEntry = mongoose.models.MemoryEntry;
127
+ const result = await MemoryEntry.deleteMany({ userId });
128
+ return result.deletedCount;
129
+ }
130
+ catch (error) {
131
+ throw new Error(`Failed to delete all user memories: ${error instanceof Error ? error.message : 'Unknown error'}`);
132
+ }
133
+ }
134
+ return {
135
+ setMemory,
136
+ createMemory,
137
+ deleteMemory,
138
+ getAllUserMemories,
139
+ getFormattedMemories,
140
+ deleteAllUserMemories,
141
+ };
142
+ }
143
+
144
+ exports.createMemoryMethods = createMemoryMethods;
145
+ //# sourceMappingURL=memory.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.cjs","sources":["../../src/methods/memory.ts"],"sourcesContent":[null],"names":["logger"],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import logger from '../config/winston.es.js';
2
+
3
+ /**
4
+ * Formats a date in YYYY-MM-DD format
5
+ */
6
+ const formatDate = (date) => {
7
+ return date.toISOString().split('T')[0];
8
+ };
9
+ // Factory function that takes mongoose instance and returns the methods
10
+ function createMemoryMethods(mongoose) {
11
+ /**
12
+ * Creates a new memory entry for a user
13
+ * Throws an error if a memory with the same key already exists
14
+ */
15
+ async function createMemory({ userId, key, value, tokenCount = 0, }) {
16
+ try {
17
+ if ((key === null || key === void 0 ? void 0 : key.toLowerCase()) === 'nothing') {
18
+ return { ok: false };
19
+ }
20
+ const MemoryEntry = mongoose.models.MemoryEntry;
21
+ const existingMemory = await MemoryEntry.findOne({ userId, key });
22
+ if (existingMemory) {
23
+ throw new Error('Memory with this key already exists');
24
+ }
25
+ await MemoryEntry.create({
26
+ userId,
27
+ key,
28
+ value,
29
+ tokenCount,
30
+ updated_at: new Date(),
31
+ });
32
+ return { ok: true };
33
+ }
34
+ catch (error) {
35
+ throw new Error(`Failed to create memory: ${error instanceof Error ? error.message : 'Unknown error'}`);
36
+ }
37
+ }
38
+ /**
39
+ * Sets or updates a memory entry for a user
40
+ */
41
+ async function setMemory({ userId, key, value, tokenCount = 0, }) {
42
+ try {
43
+ if ((key === null || key === void 0 ? void 0 : key.toLowerCase()) === 'nothing') {
44
+ return { ok: false };
45
+ }
46
+ const MemoryEntry = mongoose.models.MemoryEntry;
47
+ await MemoryEntry.findOneAndUpdate({ userId, key }, {
48
+ value,
49
+ tokenCount,
50
+ updated_at: new Date(),
51
+ }, {
52
+ upsert: true,
53
+ new: true,
54
+ });
55
+ return { ok: true };
56
+ }
57
+ catch (error) {
58
+ throw new Error(`Failed to set memory: ${error instanceof Error ? error.message : 'Unknown error'}`);
59
+ }
60
+ }
61
+ /**
62
+ * Deletes a specific memory entry for a user
63
+ */
64
+ async function deleteMemory({ userId, key }) {
65
+ try {
66
+ const MemoryEntry = mongoose.models.MemoryEntry;
67
+ const result = await MemoryEntry.findOneAndDelete({ userId, key });
68
+ return { ok: !!result };
69
+ }
70
+ catch (error) {
71
+ throw new Error(`Failed to delete memory: ${error instanceof Error ? error.message : 'Unknown error'}`);
72
+ }
73
+ }
74
+ /**
75
+ * Gets all memory entries for a user
76
+ */
77
+ async function getAllUserMemories(userId) {
78
+ try {
79
+ const MemoryEntry = mongoose.models.MemoryEntry;
80
+ return (await MemoryEntry.find({ userId }).lean());
81
+ }
82
+ catch (error) {
83
+ throw new Error(`Failed to get all memories: ${error instanceof Error ? error.message : 'Unknown error'}`);
84
+ }
85
+ }
86
+ /**
87
+ * Gets and formats all memories for a user in two different formats
88
+ */
89
+ async function getFormattedMemories({ userId, }) {
90
+ try {
91
+ const memories = await getAllUserMemories(userId);
92
+ if (!memories || memories.length === 0) {
93
+ return { withKeys: '', withoutKeys: '', totalTokens: 0 };
94
+ }
95
+ const sortedMemories = memories.sort((a, b) => new Date(a.updated_at).getTime() - new Date(b.updated_at).getTime());
96
+ const totalTokens = sortedMemories.reduce((sum, memory) => {
97
+ return sum + (memory.tokenCount || 0);
98
+ }, 0);
99
+ const withKeys = sortedMemories
100
+ .map((memory, index) => {
101
+ const date = formatDate(new Date(memory.updated_at));
102
+ const tokenInfo = memory.tokenCount ? ` [${memory.tokenCount} tokens]` : '';
103
+ return `${index + 1}. [${date}]. ["key": "${memory.key}"]${tokenInfo}. ["value": "${memory.value}"]`;
104
+ })
105
+ .join('\n\n');
106
+ const withoutKeys = sortedMemories
107
+ .map((memory, index) => {
108
+ const date = formatDate(new Date(memory.updated_at));
109
+ return `${index + 1}. [${date}]. ${memory.value}`;
110
+ })
111
+ .join('\n\n');
112
+ return { withKeys, withoutKeys, totalTokens };
113
+ }
114
+ catch (error) {
115
+ logger.error('Failed to get formatted memories:', error);
116
+ return { withKeys: '', withoutKeys: '', totalTokens: 0 };
117
+ }
118
+ }
119
+ /**
120
+ * Deletes all memory entries for a user
121
+ */
122
+ async function deleteAllUserMemories(userId) {
123
+ try {
124
+ const MemoryEntry = mongoose.models.MemoryEntry;
125
+ const result = await MemoryEntry.deleteMany({ userId });
126
+ return result.deletedCount;
127
+ }
128
+ catch (error) {
129
+ throw new Error(`Failed to delete all user memories: ${error instanceof Error ? error.message : 'Unknown error'}`);
130
+ }
131
+ }
132
+ return {
133
+ setMemory,
134
+ createMemory,
135
+ deleteMemory,
136
+ getAllUserMemories,
137
+ getFormattedMemories,
138
+ deleteAllUserMemories,
139
+ };
140
+ }
141
+
142
+ export { createMemoryMethods };
143
+ //# sourceMappingURL=memory.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.es.js","sources":["../../src/methods/memory.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}