@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,232 @@
1
+ import logger from '../config/winston.es.js';
2
+
3
+ function createConversationTagMethods(mongoose) {
4
+ /**
5
+ * Retrieves all conversation tags for a user.
6
+ */
7
+ async function getConversationTags(user) {
8
+ try {
9
+ const ConversationTag = mongoose.models.ConversationTag;
10
+ return await ConversationTag.find({ user }).sort({ position: 1 }).lean();
11
+ }
12
+ catch (error) {
13
+ logger.error('[getConversationTags] Error getting conversation tags', error);
14
+ throw new Error('Error getting conversation tags');
15
+ }
16
+ }
17
+ /**
18
+ * Creates a new conversation tag.
19
+ */
20
+ async function createConversationTag(user, data) {
21
+ try {
22
+ const ConversationTag = mongoose.models.ConversationTag;
23
+ const Conversation = mongoose.models.Conversation;
24
+ const { tag, description, addToConversation, conversationId } = data;
25
+ const existingTag = await ConversationTag.findOne({ user, tag }).lean();
26
+ if (existingTag) {
27
+ return existingTag;
28
+ }
29
+ const maxPosition = await ConversationTag.findOne({ user }).sort('-position').lean();
30
+ const position = ((maxPosition === null || maxPosition === void 0 ? void 0 : maxPosition.position) || 0) + 1;
31
+ const newTag = await ConversationTag.findOneAndUpdate({ tag, user }, {
32
+ tag,
33
+ user,
34
+ count: addToConversation ? 1 : 0,
35
+ position,
36
+ description,
37
+ $setOnInsert: { createdAt: new Date() },
38
+ }, {
39
+ new: true,
40
+ upsert: true,
41
+ lean: true,
42
+ });
43
+ if (addToConversation && conversationId) {
44
+ await Conversation.findOneAndUpdate({ user, conversationId }, { $addToSet: { tags: tag } }, { new: true });
45
+ }
46
+ return newTag;
47
+ }
48
+ catch (error) {
49
+ logger.error('[createConversationTag] Error creating conversation tag', error);
50
+ throw new Error('Error creating conversation tag');
51
+ }
52
+ }
53
+ /**
54
+ * Adjusts positions of tags when a tag's position is changed.
55
+ */
56
+ async function adjustPositions(user, oldPosition, newPosition) {
57
+ if (oldPosition === newPosition) {
58
+ return;
59
+ }
60
+ const ConversationTag = mongoose.models.ConversationTag;
61
+ const update = oldPosition < newPosition ? { $inc: { position: -1 } } : { $inc: { position: 1 } };
62
+ const position = oldPosition < newPosition
63
+ ? {
64
+ $gt: Math.min(oldPosition, newPosition),
65
+ $lte: Math.max(oldPosition, newPosition),
66
+ }
67
+ : {
68
+ $gte: Math.min(oldPosition, newPosition),
69
+ $lt: Math.max(oldPosition, newPosition),
70
+ };
71
+ await ConversationTag.updateMany({ user, position }, update);
72
+ }
73
+ /**
74
+ * Updates an existing conversation tag.
75
+ */
76
+ async function updateConversationTag(user, oldTag, data) {
77
+ try {
78
+ const ConversationTag = mongoose.models.ConversationTag;
79
+ const Conversation = mongoose.models.Conversation;
80
+ const { tag: newTag, description, position } = data;
81
+ const existingTag = await ConversationTag.findOne({ user, tag: oldTag }).lean();
82
+ if (!existingTag) {
83
+ return null;
84
+ }
85
+ if (newTag && newTag !== oldTag) {
86
+ const tagAlreadyExists = await ConversationTag.findOne({ user, tag: newTag }).lean();
87
+ if (tagAlreadyExists) {
88
+ throw new Error('Tag already exists');
89
+ }
90
+ await Conversation.updateMany({ user, tags: oldTag }, { $set: { 'tags.$': newTag } });
91
+ }
92
+ const updateData = {};
93
+ if (newTag) {
94
+ updateData.tag = newTag;
95
+ }
96
+ if (description !== undefined) {
97
+ updateData.description = description;
98
+ }
99
+ if (position !== undefined) {
100
+ await adjustPositions(user, existingTag.position, position);
101
+ updateData.position = position;
102
+ }
103
+ return await ConversationTag.findOneAndUpdate({ user, tag: oldTag }, updateData, {
104
+ new: true,
105
+ lean: true,
106
+ });
107
+ }
108
+ catch (error) {
109
+ logger.error('[updateConversationTag] Error updating conversation tag', error);
110
+ throw new Error('Error updating conversation tag');
111
+ }
112
+ }
113
+ /**
114
+ * Deletes a conversation tag.
115
+ */
116
+ async function deleteConversationTag(user, tag) {
117
+ try {
118
+ const ConversationTag = mongoose.models.ConversationTag;
119
+ const Conversation = mongoose.models.Conversation;
120
+ const deletedTag = await ConversationTag.findOneAndDelete({ user, tag }).lean();
121
+ if (!deletedTag) {
122
+ return null;
123
+ }
124
+ await Conversation.updateMany({ user, tags: tag }, { $pullAll: { tags: [tag] } });
125
+ await ConversationTag.updateMany({ user, position: { $gt: deletedTag.position } }, { $inc: { position: -1 } });
126
+ return deletedTag;
127
+ }
128
+ catch (error) {
129
+ logger.error('[deleteConversationTag] Error deleting conversation tag', error);
130
+ throw new Error('Error deleting conversation tag');
131
+ }
132
+ }
133
+ /**
134
+ * Updates tags for a specific conversation.
135
+ */
136
+ async function updateTagsForConversation(user, conversationId, tags) {
137
+ var _a;
138
+ try {
139
+ const ConversationTag = mongoose.models.ConversationTag;
140
+ const Conversation = mongoose.models.Conversation;
141
+ const conversation = await Conversation.findOne({ user, conversationId }).lean();
142
+ if (!conversation) {
143
+ throw new Error('Conversation not found');
144
+ }
145
+ const oldTags = new Set((_a = conversation.tags) !== null && _a !== void 0 ? _a : []);
146
+ const newTags = new Set(tags);
147
+ const addedTags = [...newTags].filter((tag) => !oldTags.has(tag));
148
+ const removedTags = [...oldTags].filter((tag) => !newTags.has(tag));
149
+ const bulkOps = [];
150
+ for (const tag of addedTags) {
151
+ bulkOps.push({
152
+ updateOne: {
153
+ filter: { user, tag },
154
+ update: { $inc: { count: 1 } },
155
+ upsert: true,
156
+ },
157
+ });
158
+ }
159
+ for (const tag of removedTags) {
160
+ bulkOps.push({
161
+ updateOne: {
162
+ filter: { user, tag },
163
+ update: { $inc: { count: -1 } },
164
+ },
165
+ });
166
+ }
167
+ if (bulkOps.length > 0) {
168
+ await ConversationTag.bulkWrite(bulkOps);
169
+ }
170
+ const updatedConversation = (await Conversation.findOneAndUpdate({ user, conversationId }, { $set: { tags: [...newTags] } }, { new: true })).toObject();
171
+ return updatedConversation.tags;
172
+ }
173
+ catch (error) {
174
+ logger.error('[updateTagsForConversation] Error updating tags', error);
175
+ throw new Error('Error updating tags for conversation');
176
+ }
177
+ }
178
+ /**
179
+ * Increments tag counts for existing tags only.
180
+ */
181
+ async function bulkIncrementTagCounts(user, tags) {
182
+ if (!tags || tags.length === 0) {
183
+ return;
184
+ }
185
+ try {
186
+ const ConversationTag = mongoose.models.ConversationTag;
187
+ const uniqueTags = [...new Set(tags.filter(Boolean))];
188
+ if (uniqueTags.length === 0) {
189
+ return;
190
+ }
191
+ const bulkOps = uniqueTags.map((tag) => ({
192
+ updateOne: {
193
+ filter: { user, tag },
194
+ update: { $inc: { count: 1 } },
195
+ },
196
+ }));
197
+ const result = await ConversationTag.bulkWrite(bulkOps);
198
+ if (result && result.modifiedCount > 0) {
199
+ logger.debug(`user: ${user} | Incremented tag counts - modified ${result.modifiedCount} tags`);
200
+ }
201
+ }
202
+ catch (error) {
203
+ logger.error('[bulkIncrementTagCounts] Error incrementing tag counts', error);
204
+ }
205
+ }
206
+ /**
207
+ * Deletes all conversation tags matching the given filter.
208
+ */
209
+ async function deleteConversationTags(filter) {
210
+ try {
211
+ const ConversationTag = mongoose.models.ConversationTag;
212
+ const result = await ConversationTag.deleteMany(filter);
213
+ return result.deletedCount;
214
+ }
215
+ catch (error) {
216
+ logger.error('[deleteConversationTags] Error deleting conversation tags', error);
217
+ throw new Error('Error deleting conversation tags');
218
+ }
219
+ }
220
+ return {
221
+ getConversationTags,
222
+ createConversationTag,
223
+ updateConversationTag,
224
+ deleteConversationTag,
225
+ deleteConversationTags,
226
+ bulkIncrementTagCounts,
227
+ updateTagsForConversation,
228
+ };
229
+ }
230
+
231
+ export { createConversationTagMethods };
232
+ //# sourceMappingURL=conversationTag.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversationTag.es.js","sources":["../../src/methods/conversationTag.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,315 @@
1
+ 'use strict';
2
+
3
+ var winston = require('../config/winston.cjs');
4
+ var librechatDataProvider = require('librechat-data-provider');
5
+
6
+ /** Factory function that takes mongoose instance and returns the file methods */
7
+ function createFileMethods(mongoose) {
8
+ /**
9
+ * Finds a file by its file_id with additional query options.
10
+ * @param file_id - The unique identifier of the file
11
+ * @param options - Query options for filtering, projection, etc.
12
+ * @returns A promise that resolves to the file document or null
13
+ */
14
+ async function findFileById(file_id, options = {}) {
15
+ const File = mongoose.models.File;
16
+ return File.findOne({ file_id, ...options }).lean();
17
+ }
18
+ /**
19
+ * Retrieves files matching a given filter, sorted by the most recently updated.
20
+ * @param filter - The filter criteria to apply
21
+ * @param _sortOptions - Optional sort parameters
22
+ * @param selectFields - Fields to include/exclude in the query results. Default excludes the 'text' field
23
+ * @param options - Additional query options (userId, agentId for ACL)
24
+ * @returns A promise that resolves to an array of file documents
25
+ */
26
+ async function getFiles(filter, _sortOptions, selectFields) {
27
+ const File = mongoose.models.File;
28
+ const sortOptions = { updatedAt: -1, ..._sortOptions };
29
+ const query = File.find(filter);
30
+ if (selectFields != null) {
31
+ query.select(selectFields);
32
+ }
33
+ else {
34
+ query.select({ text: 0 });
35
+ }
36
+ return await query.sort(sortOptions).lean();
37
+ }
38
+ /**
39
+ * Retrieves tool files (files that are embedded or have a fileIdentifier) from an array of file IDs.
40
+ * Note: execute_code files are handled separately by getCodeGeneratedFiles.
41
+ * @param fileIds - Array of file_id strings to search for
42
+ * @param toolResourceSet - Optional filter for tool resources
43
+ * @returns Files that match the criteria
44
+ */
45
+ async function getToolFilesByIds(fileIds, toolResourceSet) {
46
+ if (!fileIds || !fileIds.length || !(toolResourceSet === null || toolResourceSet === void 0 ? void 0 : toolResourceSet.size)) {
47
+ return [];
48
+ }
49
+ try {
50
+ const orConditions = [];
51
+ if (toolResourceSet.has(librechatDataProvider.EToolResources.context)) {
52
+ orConditions.push({ text: { $exists: true, $ne: null }, context: librechatDataProvider.FileContext.agents });
53
+ }
54
+ if (toolResourceSet.has(librechatDataProvider.EToolResources.file_search)) {
55
+ orConditions.push({ embedded: true });
56
+ }
57
+ // If no conditions to match, return empty
58
+ if (orConditions.length === 0) {
59
+ return [];
60
+ }
61
+ const filter = {
62
+ file_id: { $in: fileIds },
63
+ context: { $ne: librechatDataProvider.FileContext.execute_code },
64
+ $or: orConditions,
65
+ };
66
+ const selectFields = { text: 0 };
67
+ const sortOptions = { updatedAt: -1 };
68
+ const results = await getFiles(filter, sortOptions, selectFields);
69
+ return results !== null && results !== void 0 ? results : [];
70
+ }
71
+ catch (error) {
72
+ winston.error('[getToolFilesByIds] Error retrieving tool files:', error);
73
+ throw new Error('Error retrieving tool files');
74
+ }
75
+ }
76
+ /**
77
+ * Retrieves files generated by code execution for a given conversation.
78
+ * These files are stored locally with fileIdentifier metadata for code env re-upload.
79
+ *
80
+ * @param conversationId - The conversation ID to search for
81
+ * @param messageIds - Array of messageIds to filter by (for linear thread filtering).
82
+ * While technically optional, this function returns empty if not provided.
83
+ * This is intentional: code-generated files must be filtered by thread to avoid
84
+ * including files from other branches of a conversation.
85
+ * @returns Files generated by code execution in the conversation, filtered by messageIds
86
+ */
87
+ async function getCodeGeneratedFiles(conversationId, messageIds) {
88
+ if (!conversationId) {
89
+ return [];
90
+ }
91
+ /**
92
+ * Return early if messageIds not provided - this is intentional behavior.
93
+ * Code-generated files must be filtered by thread messageIds to ensure we only
94
+ * return files relevant to the current conversation branch, not orphaned files
95
+ * from other branches or deleted messages.
96
+ */
97
+ if (!messageIds || messageIds.length === 0) {
98
+ return [];
99
+ }
100
+ try {
101
+ const filter = {
102
+ conversationId,
103
+ context: librechatDataProvider.FileContext.execute_code,
104
+ messageId: { $exists: true, $in: messageIds },
105
+ 'metadata.fileIdentifier': { $exists: true },
106
+ };
107
+ const selectFields = { text: 0 };
108
+ const sortOptions = { createdAt: 1 };
109
+ const results = await getFiles(filter, sortOptions, selectFields);
110
+ return results !== null && results !== void 0 ? results : [];
111
+ }
112
+ catch (error) {
113
+ winston.error('[getCodeGeneratedFiles] Error retrieving code generated files:', error);
114
+ return [];
115
+ }
116
+ }
117
+ /**
118
+ * Retrieves user-uploaded execute_code files (not code-generated) by their file IDs.
119
+ * These are files with fileIdentifier metadata but context is NOT execute_code (e.g., agents or message_attachment).
120
+ * File IDs should be collected from message.files arrays in the current thread.
121
+ * @param fileIds - Array of file IDs to fetch (from message.files in the thread)
122
+ * @returns User-uploaded execute_code files
123
+ */
124
+ async function getUserCodeFiles(fileIds) {
125
+ if (!fileIds || fileIds.length === 0) {
126
+ return [];
127
+ }
128
+ try {
129
+ const filter = {
130
+ file_id: { $in: fileIds },
131
+ context: { $ne: librechatDataProvider.FileContext.execute_code },
132
+ 'metadata.fileIdentifier': { $exists: true },
133
+ };
134
+ const selectFields = { text: 0 };
135
+ const sortOptions = { createdAt: 1 };
136
+ const results = await getFiles(filter, sortOptions, selectFields);
137
+ return results !== null && results !== void 0 ? results : [];
138
+ }
139
+ catch (error) {
140
+ winston.error('[getUserCodeFiles] Error retrieving user code files:', error);
141
+ return [];
142
+ }
143
+ }
144
+ /**
145
+ * Atomically claims a file_id for a code-execution output by compound key.
146
+ * Uses $setOnInsert so concurrent calls for the same (filename, conversationId)
147
+ * converge on a single record instead of creating duplicates.
148
+ */
149
+ async function claimCodeFile(data) {
150
+ const File = mongoose.models.File;
151
+ const result = await File.findOneAndUpdate({
152
+ filename: data.filename,
153
+ conversationId: data.conversationId,
154
+ context: librechatDataProvider.FileContext.execute_code,
155
+ }, { $setOnInsert: { file_id: data.file_id, user: data.user } }, { upsert: true, new: true }).lean();
156
+ if (!result) {
157
+ throw new Error(`[claimCodeFile] Failed to claim file "${data.filename}" for conversation ${data.conversationId}`);
158
+ }
159
+ return result;
160
+ }
161
+ /**
162
+ * Creates a new file with a TTL of 1 hour.
163
+ * @param data - The file data to be created, must contain file_id
164
+ * @param disableTTL - Whether to disable the TTL
165
+ * @returns A promise that resolves to the created file document
166
+ */
167
+ async function createFile(data, disableTTL) {
168
+ const File = mongoose.models.File;
169
+ const fileData = {
170
+ ...data,
171
+ expiresAt: new Date(Date.now() + 3600 * 1000),
172
+ };
173
+ if (disableTTL) {
174
+ delete fileData.expiresAt;
175
+ }
176
+ return File.findOneAndUpdate({ file_id: data.file_id }, fileData, {
177
+ new: true,
178
+ upsert: true,
179
+ }).lean();
180
+ }
181
+ /**
182
+ * Updates a file identified by file_id with new data and removes the TTL.
183
+ * @param data - The data to update, must contain file_id
184
+ * @returns A promise that resolves to the updated file document
185
+ */
186
+ async function updateFile(data) {
187
+ const File = mongoose.models.File;
188
+ const { file_id, ...update } = data;
189
+ const updateOperation = {
190
+ $set: update,
191
+ $unset: { expiresAt: '' },
192
+ };
193
+ return File.findOneAndUpdate({ file_id }, updateOperation, {
194
+ new: true,
195
+ }).lean();
196
+ }
197
+ /**
198
+ * Increments the usage of a file identified by file_id.
199
+ * @param data - The data to update, must contain file_id and the increment value for usage
200
+ * @returns A promise that resolves to the updated file document
201
+ */
202
+ async function updateFileUsage(data) {
203
+ const File = mongoose.models.File;
204
+ const { file_id, inc = 1 } = data;
205
+ const updateOperation = {
206
+ $inc: { usage: inc },
207
+ $unset: { expiresAt: '', temp_file_id: '' },
208
+ };
209
+ return File.findOneAndUpdate({ file_id }, updateOperation, {
210
+ new: true,
211
+ }).lean();
212
+ }
213
+ /**
214
+ * Deletes a file identified by file_id.
215
+ * @param file_id - The unique identifier of the file to delete
216
+ * @returns A promise that resolves to the deleted file document or null
217
+ */
218
+ async function deleteFile(file_id) {
219
+ const File = mongoose.models.File;
220
+ return File.findOneAndDelete({ file_id }).lean();
221
+ }
222
+ /**
223
+ * Deletes a file identified by a filter.
224
+ * @param filter - The filter criteria to apply
225
+ * @returns A promise that resolves to the deleted file document or null
226
+ */
227
+ async function deleteFileByFilter(filter) {
228
+ const File = mongoose.models.File;
229
+ return File.findOneAndDelete(filter).lean();
230
+ }
231
+ /**
232
+ * Deletes multiple files identified by an array of file_ids.
233
+ * @param file_ids - The unique identifiers of the files to delete
234
+ * @param user - Optional user ID to filter by
235
+ * @returns A promise that resolves to the result of the deletion operation
236
+ */
237
+ async function deleteFiles(file_ids, user) {
238
+ const File = mongoose.models.File;
239
+ let deleteQuery = { file_id: { $in: file_ids } };
240
+ if (user) {
241
+ deleteQuery = { user: user };
242
+ }
243
+ return File.deleteMany(deleteQuery);
244
+ }
245
+ /**
246
+ * Batch updates files with new signed URLs in MongoDB
247
+ * @param updates - Array of updates in the format { file_id, filepath }
248
+ */
249
+ async function batchUpdateFiles(updates) {
250
+ if (!updates || updates.length === 0) {
251
+ return;
252
+ }
253
+ const File = mongoose.models.File;
254
+ const bulkOperations = updates.map((update) => ({
255
+ updateOne: {
256
+ filter: { file_id: update.file_id },
257
+ update: { $set: { filepath: update.filepath } },
258
+ },
259
+ }));
260
+ const result = await File.bulkWrite(bulkOperations);
261
+ winston.info(`Updated ${result.modifiedCount} files with new S3 URLs`);
262
+ }
263
+ /**
264
+ * Updates usage tracking for multiple files.
265
+ * Processes files and optional fileIds, updating their usage count in the database.
266
+ *
267
+ * @param files - Array of file objects to process
268
+ * @param fileIds - Optional array of file IDs to process
269
+ * @returns Array of updated file documents (with null results filtered out)
270
+ */
271
+ async function updateFilesUsage(files, fileIds) {
272
+ const promises = [];
273
+ const seen = new Set();
274
+ for (const file of files) {
275
+ const { file_id } = file;
276
+ if (seen.has(file_id)) {
277
+ continue;
278
+ }
279
+ seen.add(file_id);
280
+ promises.push(updateFileUsage({ file_id }));
281
+ }
282
+ if (!fileIds) {
283
+ const results = await Promise.all(promises);
284
+ return results.filter((result) => result != null);
285
+ }
286
+ for (const file_id of fileIds) {
287
+ if (seen.has(file_id)) {
288
+ continue;
289
+ }
290
+ seen.add(file_id);
291
+ promises.push(updateFileUsage({ file_id }));
292
+ }
293
+ const results = await Promise.all(promises);
294
+ return results.filter((result) => result != null);
295
+ }
296
+ return {
297
+ findFileById,
298
+ getFiles,
299
+ getToolFilesByIds,
300
+ getCodeGeneratedFiles,
301
+ getUserCodeFiles,
302
+ claimCodeFile,
303
+ createFile,
304
+ updateFile,
305
+ updateFileUsage,
306
+ deleteFile,
307
+ deleteFiles,
308
+ deleteFileByFilter,
309
+ batchUpdateFiles,
310
+ updateFilesUsage,
311
+ };
312
+ }
313
+
314
+ exports.createFileMethods = createFileMethods;
315
+ //# sourceMappingURL=file.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.cjs","sources":["../../src/methods/file.ts"],"sourcesContent":[null],"names":["EToolResources","FileContext","logger"],"mappings":"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"}