@librechat/data-schemas 0.0.43 → 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 (502) 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 -11734
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.es.js +52 -11652
  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/methods/config.d.ts +1 -0
  482. package/dist/utils/object-traverse.cjs +158 -0
  483. package/dist/utils/object-traverse.cjs.map +1 -0
  484. package/dist/utils/object-traverse.es.js +156 -0
  485. package/dist/utils/object-traverse.es.js.map +1 -0
  486. package/dist/utils/principal.cjs +24 -0
  487. package/dist/utils/principal.cjs.map +1 -0
  488. package/dist/utils/principal.es.js +22 -0
  489. package/dist/utils/principal.es.js.map +1 -0
  490. package/dist/utils/string.cjs +11 -0
  491. package/dist/utils/string.cjs.map +1 -0
  492. package/dist/utils/string.es.js +9 -0
  493. package/dist/utils/string.es.js.map +1 -0
  494. package/dist/utils/tempChatRetention.cjs +70 -0
  495. package/dist/utils/tempChatRetention.cjs.map +1 -0
  496. package/dist/utils/tempChatRetention.es.js +64 -0
  497. package/dist/utils/tempChatRetention.es.js.map +1 -0
  498. package/dist/utils/transactions.cjs +60 -0
  499. package/dist/utils/transactions.cjs.map +1 -0
  500. package/dist/utils/transactions.es.js +56 -0
  501. package/dist/utils/transactions.es.js.map +1 -0
  502. package/package.json +2 -1
@@ -0,0 +1,361 @@
1
+ 'use strict';
2
+
3
+ var mongoose = require('mongoose');
4
+ var librechatDataProvider = require('librechat-data-provider');
5
+
6
+ function createAclEntryMethods(mongoose$1) {
7
+ /**
8
+ * Find ACL entries for a specific principal (user or group)
9
+ * @param principalType - The type of principal ('user', 'group')
10
+ * @param principalId - The ID of the principal
11
+ * @param resourceType - Optional filter by resource type
12
+ * @returns Array of ACL entries
13
+ */
14
+ async function findEntriesByPrincipal(principalType, principalId, resourceType) {
15
+ const AclEntry = mongoose$1.models.AclEntry;
16
+ const query = { principalType, principalId };
17
+ if (resourceType) {
18
+ query.resourceType = resourceType;
19
+ }
20
+ return await AclEntry.find(query).lean();
21
+ }
22
+ /**
23
+ * Find ACL entries for a specific resource
24
+ * @param resourceType - The type of resource ('agent', 'project', 'file')
25
+ * @param resourceId - The ID of the resource
26
+ * @returns Array of ACL entries
27
+ */
28
+ async function findEntriesByResource(resourceType, resourceId) {
29
+ const AclEntry = mongoose$1.models.AclEntry;
30
+ return await AclEntry.find({ resourceType, resourceId }).lean();
31
+ }
32
+ /**
33
+ * Find all ACL entries for a set of principals (including public)
34
+ * @param principalsList - List of principals, each containing { principalType, principalId }
35
+ * @param resourceType - The type of resource
36
+ * @param resourceId - The ID of the resource
37
+ * @returns Array of matching ACL entries
38
+ */
39
+ async function findEntriesByPrincipalsAndResource(principalsList, resourceType, resourceId) {
40
+ const AclEntry = mongoose$1.models.AclEntry;
41
+ const principalsQuery = principalsList.map((p) => ({
42
+ principalType: p.principalType,
43
+ ...(p.principalType !== librechatDataProvider.PrincipalType.PUBLIC && { principalId: p.principalId }),
44
+ }));
45
+ return await AclEntry.find({
46
+ $or: principalsQuery,
47
+ resourceType,
48
+ resourceId,
49
+ }).lean();
50
+ }
51
+ /**
52
+ * Check if a set of principals has a specific permission on a resource
53
+ * @param principalsList - List of principals, each containing { principalType, principalId }
54
+ * @param resourceType - The type of resource
55
+ * @param resourceId - The ID of the resource
56
+ * @param permissionBit - The permission bit to check (use PermissionBits enum)
57
+ * @returns Whether any of the principals has the permission
58
+ */
59
+ async function hasPermission(principalsList, resourceType, resourceId, permissionBit) {
60
+ const AclEntry = mongoose$1.models.AclEntry;
61
+ const principalsQuery = principalsList.map((p) => ({
62
+ principalType: p.principalType,
63
+ ...(p.principalType !== librechatDataProvider.PrincipalType.PUBLIC && { principalId: p.principalId }),
64
+ }));
65
+ const entry = await AclEntry.findOne({
66
+ $or: principalsQuery,
67
+ resourceType,
68
+ resourceId,
69
+ permBits: { $bitsAllSet: permissionBit },
70
+ }).lean();
71
+ return !!entry;
72
+ }
73
+ /**
74
+ * Get the combined effective permissions for a set of principals on a resource
75
+ * @param principalsList - List of principals, each containing { principalType, principalId }
76
+ * @param resourceType - The type of resource
77
+ * @param resourceId - The ID of the resource
78
+ * @returns {Promise<number>} Effective permission bitmask
79
+ */
80
+ async function getEffectivePermissions(principalsList, resourceType, resourceId) {
81
+ const aclEntries = await findEntriesByPrincipalsAndResource(principalsList, resourceType, resourceId);
82
+ let effectiveBits = 0;
83
+ for (const entry of aclEntries) {
84
+ effectiveBits |= entry.permBits;
85
+ }
86
+ return effectiveBits;
87
+ }
88
+ /**
89
+ * Get effective permissions for multiple resources in a single query (BATCH)
90
+ * Returns a map of resourceId → effectivePermissionBits
91
+ *
92
+ * @param principalsList - List of principals (user + groups + public)
93
+ * @param resourceType - The type of resource ('MCPSERVER', 'AGENT', etc.)
94
+ * @param resourceIds - Array of resource IDs to check
95
+ * @returns {Promise<Map<string, number>>} Map of resourceId → permission bits
96
+ *
97
+ * @example
98
+ * const principals = await getUserPrincipals({ userId, role });
99
+ * const serverIds = [id1, id2, id3];
100
+ * const permMap = await getEffectivePermissionsForResources(
101
+ * principals,
102
+ * ResourceType.MCPSERVER,
103
+ * serverIds
104
+ * );
105
+ * // permMap.get(id1.toString()) → 7 (VIEW|EDIT|DELETE)
106
+ */
107
+ async function getEffectivePermissionsForResources(principalsList, resourceType, resourceIds) {
108
+ if (!Array.isArray(resourceIds) || resourceIds.length === 0) {
109
+ return new Map();
110
+ }
111
+ const AclEntry = mongoose$1.models.AclEntry;
112
+ const principalsQuery = principalsList.map((p) => ({
113
+ principalType: p.principalType,
114
+ ...(p.principalType !== librechatDataProvider.PrincipalType.PUBLIC && { principalId: p.principalId }),
115
+ }));
116
+ // Batch query for all resources at once
117
+ const aclEntries = await AclEntry.find({
118
+ $or: principalsQuery,
119
+ resourceType,
120
+ resourceId: { $in: resourceIds },
121
+ }).lean();
122
+ // Compute effective permissions per resource
123
+ const permissionsMap = new Map();
124
+ for (const entry of aclEntries) {
125
+ const rid = entry.resourceId.toString();
126
+ const currentBits = permissionsMap.get(rid) || 0;
127
+ permissionsMap.set(rid, currentBits | entry.permBits);
128
+ }
129
+ return permissionsMap;
130
+ }
131
+ /**
132
+ * Grant permission to a principal for a resource
133
+ * @param principalType - The type of principal ('user', 'group', 'public')
134
+ * @param principalId - The ID of the principal (null for 'public')
135
+ * @param resourceType - The type of resource
136
+ * @param resourceId - The ID of the resource
137
+ * @param permBits - The permission bits to grant
138
+ * @param grantedBy - The ID of the user granting the permission
139
+ * @param session - Optional MongoDB session for transactions
140
+ * @param roleId - Optional role ID to associate with this permission
141
+ * @returns The created or updated ACL entry
142
+ */
143
+ async function grantPermission(principalType, principalId, resourceType, resourceId, permBits, grantedBy, session, roleId) {
144
+ const AclEntry = mongoose$1.models.AclEntry;
145
+ const query = {
146
+ principalType,
147
+ resourceType,
148
+ resourceId,
149
+ };
150
+ if (principalType !== librechatDataProvider.PrincipalType.PUBLIC) {
151
+ query.principalId =
152
+ typeof principalId === 'string' && principalType !== librechatDataProvider.PrincipalType.ROLE
153
+ ? new mongoose.Types.ObjectId(principalId)
154
+ : principalId;
155
+ if (principalType === librechatDataProvider.PrincipalType.USER) {
156
+ query.principalModel = librechatDataProvider.PrincipalModel.USER;
157
+ }
158
+ else if (principalType === librechatDataProvider.PrincipalType.GROUP) {
159
+ query.principalModel = librechatDataProvider.PrincipalModel.GROUP;
160
+ }
161
+ else if (principalType === librechatDataProvider.PrincipalType.ROLE) {
162
+ query.principalModel = librechatDataProvider.PrincipalModel.ROLE;
163
+ }
164
+ }
165
+ const update = {
166
+ $set: {
167
+ permBits,
168
+ grantedBy,
169
+ grantedAt: new Date(),
170
+ ...(roleId && { roleId }),
171
+ },
172
+ };
173
+ const options = {
174
+ upsert: true,
175
+ new: true,
176
+ ...(session ? { session } : {}),
177
+ };
178
+ return await AclEntry.findOneAndUpdate(query, update, options);
179
+ }
180
+ /**
181
+ * Revoke permissions from a principal for a resource
182
+ * @param principalType - The type of principal ('user', 'group', 'public')
183
+ * @param principalId - The ID of the principal (null for 'public')
184
+ * @param resourceType - The type of resource
185
+ * @param resourceId - The ID of the resource
186
+ * @param session - Optional MongoDB session for transactions
187
+ * @returns The result of the delete operation
188
+ */
189
+ async function revokePermission(principalType, principalId, resourceType, resourceId, session) {
190
+ const AclEntry = mongoose$1.models.AclEntry;
191
+ const query = {
192
+ principalType,
193
+ resourceType,
194
+ resourceId,
195
+ };
196
+ if (principalType !== librechatDataProvider.PrincipalType.PUBLIC) {
197
+ query.principalId =
198
+ typeof principalId === 'string' && principalType !== librechatDataProvider.PrincipalType.ROLE
199
+ ? new mongoose.Types.ObjectId(principalId)
200
+ : principalId;
201
+ }
202
+ const options = session ? { session } : {};
203
+ return await AclEntry.deleteOne(query, options);
204
+ }
205
+ /**
206
+ * Modify existing permission bits for a principal on a resource
207
+ * @param principalType - The type of principal ('user', 'group', 'public')
208
+ * @param principalId - The ID of the principal (null for 'public')
209
+ * @param resourceType - The type of resource
210
+ * @param resourceId - The ID of the resource
211
+ * @param addBits - Permission bits to add
212
+ * @param removeBits - Permission bits to remove
213
+ * @param session - Optional MongoDB session for transactions
214
+ * @returns The updated ACL entry
215
+ */
216
+ async function modifyPermissionBits(principalType, principalId, resourceType, resourceId, addBits, removeBits, session) {
217
+ const AclEntry = mongoose$1.models.AclEntry;
218
+ const query = {
219
+ principalType,
220
+ resourceType,
221
+ resourceId,
222
+ };
223
+ if (principalType !== librechatDataProvider.PrincipalType.PUBLIC) {
224
+ query.principalId =
225
+ typeof principalId === 'string' && principalType !== librechatDataProvider.PrincipalType.ROLE
226
+ ? new mongoose.Types.ObjectId(principalId)
227
+ : principalId;
228
+ }
229
+ const update = {};
230
+ if (addBits) {
231
+ update.$bit = { permBits: { or: addBits } };
232
+ }
233
+ if (removeBits) {
234
+ if (!update.$bit) {
235
+ update.$bit = {};
236
+ }
237
+ const bitUpdate = update.$bit;
238
+ bitUpdate.permBits = { ...bitUpdate.permBits, and: ~removeBits };
239
+ }
240
+ const options = {
241
+ new: true,
242
+ ...(session ? { session } : {}),
243
+ };
244
+ return await AclEntry.findOneAndUpdate(query, update, options);
245
+ }
246
+ /**
247
+ * Find all resources of a specific type that a set of principals has access to
248
+ * @param principalsList - List of principals, each containing { principalType, principalId }
249
+ * @param resourceType - The type of resource
250
+ * @param requiredPermBit - Required permission bit (use PermissionBits enum)
251
+ * @returns Array of resource IDs
252
+ */
253
+ async function findAccessibleResources(principalsList, resourceType, requiredPermBit) {
254
+ const AclEntry = mongoose$1.models.AclEntry;
255
+ const principalsQuery = principalsList.map((p) => ({
256
+ principalType: p.principalType,
257
+ ...(p.principalType !== librechatDataProvider.PrincipalType.PUBLIC && { principalId: p.principalId }),
258
+ }));
259
+ const entries = await AclEntry.find({
260
+ $or: principalsQuery,
261
+ resourceType,
262
+ permBits: { $bitsAllSet: requiredPermBit },
263
+ }).distinct('resourceId');
264
+ return entries;
265
+ }
266
+ /**
267
+ * Deletes ACL entries matching the given filter.
268
+ * @param filter - MongoDB filter query
269
+ * @param options - Optional query options (e.g., { session })
270
+ */
271
+ async function deleteAclEntries(filter, options) {
272
+ const AclEntry = mongoose$1.models.AclEntry;
273
+ return AclEntry.deleteMany(filter, options || {});
274
+ }
275
+ /**
276
+ * Performs a bulk write operation on ACL entries.
277
+ * @param ops - Array of bulk write operations
278
+ * @param options - Optional query options (e.g., { session })
279
+ */
280
+ async function bulkWriteAclEntries(ops, options) {
281
+ const AclEntry = mongoose$1.models.AclEntry;
282
+ return AclEntry.bulkWrite(ops, options || {});
283
+ }
284
+ /**
285
+ * Finds all publicly accessible resource IDs for a given resource type.
286
+ * @param resourceType - The type of resource
287
+ * @param requiredPermissions - Required permission bits
288
+ */
289
+ async function findPublicResourceIds(resourceType, requiredPermissions) {
290
+ const AclEntry = mongoose$1.models.AclEntry;
291
+ return AclEntry.find({
292
+ principalType: librechatDataProvider.PrincipalType.PUBLIC,
293
+ resourceType,
294
+ permBits: { $bitsAllSet: requiredPermissions },
295
+ }).distinct('resourceId');
296
+ }
297
+ /**
298
+ * Runs an aggregation pipeline on the AclEntry collection.
299
+ * @param pipeline - MongoDB aggregation pipeline stages
300
+ */
301
+ async function aggregateAclEntries(pipeline) {
302
+ const AclEntry = mongoose$1.models.AclEntry;
303
+ return AclEntry.aggregate(pipeline);
304
+ }
305
+ /**
306
+ * Returns resource IDs solely owned by the given user (no other principals
307
+ * hold DELETE on the same resource). Handles both single and array resource types.
308
+ */
309
+ async function getSoleOwnedResourceIds(userObjectId, resourceTypes) {
310
+ const AclEntry = mongoose$1.models.AclEntry;
311
+ const types = Array.isArray(resourceTypes) ? resourceTypes : [resourceTypes];
312
+ const ownedEntries = await AclEntry.find({
313
+ principalType: librechatDataProvider.PrincipalType.USER,
314
+ principalId: userObjectId,
315
+ resourceType: { $in: types },
316
+ permBits: { $bitsAllSet: librechatDataProvider.PermissionBits.DELETE },
317
+ })
318
+ .select('resourceId')
319
+ .lean();
320
+ if (ownedEntries.length === 0) {
321
+ return [];
322
+ }
323
+ const ownedIds = ownedEntries.map((e) => e.resourceId);
324
+ const otherOwners = await AclEntry.aggregate([
325
+ {
326
+ $match: {
327
+ resourceType: { $in: types },
328
+ resourceId: { $in: ownedIds },
329
+ permBits: { $bitsAllSet: librechatDataProvider.PermissionBits.DELETE },
330
+ $or: [
331
+ { principalId: { $ne: userObjectId } },
332
+ { principalType: { $ne: librechatDataProvider.PrincipalType.USER } },
333
+ ],
334
+ },
335
+ },
336
+ { $group: { _id: '$resourceId' } },
337
+ ]);
338
+ const multiOwnerIds = new Set(otherOwners.map((doc) => doc._id.toString()));
339
+ return ownedIds.filter((id) => !multiOwnerIds.has(id.toString()));
340
+ }
341
+ return {
342
+ findEntriesByPrincipal,
343
+ findEntriesByResource,
344
+ findEntriesByPrincipalsAndResource,
345
+ hasPermission,
346
+ getEffectivePermissions,
347
+ getEffectivePermissionsForResources,
348
+ grantPermission,
349
+ revokePermission,
350
+ modifyPermissionBits,
351
+ findAccessibleResources,
352
+ deleteAclEntries,
353
+ bulkWriteAclEntries,
354
+ findPublicResourceIds,
355
+ aggregateAclEntries,
356
+ getSoleOwnedResourceIds,
357
+ };
358
+ }
359
+
360
+ exports.createAclEntryMethods = createAclEntryMethods;
361
+ //# sourceMappingURL=aclEntry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aclEntry.cjs","sources":["../../src/methods/aclEntry.ts"],"sourcesContent":[null],"names":["mongoose","PrincipalType","Types","PrincipalModel","PermissionBits"],"mappings":"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"}