@librechat/data-schemas 0.0.43 → 0.0.45

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 +7 -1
@@ -0,0 +1,518 @@
1
+ 'use strict';
2
+
3
+ var mongoose = require('mongoose');
4
+ var librechatDataProvider = require('librechat-data-provider');
5
+
6
+ function createUserGroupMethods(mongoose$1) {
7
+ /**
8
+ * Find a group by its ID
9
+ * @param groupId - The group ID
10
+ * @param projection - Optional projection of fields to return
11
+ * @param session - Optional MongoDB session for transactions
12
+ * @returns The group document or null if not found
13
+ */
14
+ async function findGroupById(groupId, projection = {}, session) {
15
+ const Group = mongoose$1.models.Group;
16
+ const query = Group.findOne({ _id: groupId }, projection);
17
+ if (session) {
18
+ query.session(session);
19
+ }
20
+ return await query.lean();
21
+ }
22
+ /**
23
+ * Find a group by its external ID (e.g., Entra ID)
24
+ * @param idOnTheSource - The external ID
25
+ * @param source - The source ('entra' or 'local')
26
+ * @param projection - Optional projection of fields to return
27
+ * @param session - Optional MongoDB session for transactions
28
+ * @returns The group document or null if not found
29
+ */
30
+ async function findGroupByExternalId(idOnTheSource, source = 'entra', projection = {}, session) {
31
+ const Group = mongoose$1.models.Group;
32
+ const query = Group.findOne({ idOnTheSource, source }, projection);
33
+ if (session) {
34
+ query.session(session);
35
+ }
36
+ return await query.lean();
37
+ }
38
+ /**
39
+ * Find groups by name pattern (case-insensitive partial match)
40
+ * @param namePattern - The name pattern to search for
41
+ * @param source - Optional source filter ('entra', 'local', or null for all)
42
+ * @param limit - Maximum number of results to return
43
+ * @param session - Optional MongoDB session for transactions
44
+ * @returns Array of matching groups
45
+ */
46
+ async function findGroupsByNamePattern(namePattern, source = null, limit = 20, session) {
47
+ const Group = mongoose$1.models.Group;
48
+ const regex = new RegExp(namePattern, 'i');
49
+ const query = {
50
+ $or: [{ name: regex }, { email: regex }, { description: regex }],
51
+ };
52
+ if (source) {
53
+ query.source = source;
54
+ }
55
+ const dbQuery = Group.find(query).limit(limit);
56
+ if (session) {
57
+ dbQuery.session(session);
58
+ }
59
+ return await dbQuery.lean();
60
+ }
61
+ /**
62
+ * Find all groups a user is a member of by their ID or idOnTheSource
63
+ * @param userId - The user ID
64
+ * @param session - Optional MongoDB session for transactions
65
+ * @returns Array of groups the user is a member of
66
+ */
67
+ async function findGroupsByMemberId(userId, session) {
68
+ const User = mongoose$1.models.User;
69
+ const Group = mongoose$1.models.Group;
70
+ const userQuery = User.findById(userId, 'idOnTheSource');
71
+ if (session) {
72
+ userQuery.session(session);
73
+ }
74
+ const user = (await userQuery.lean());
75
+ if (!user) {
76
+ return [];
77
+ }
78
+ const userIdOnTheSource = user.idOnTheSource || userId.toString();
79
+ const query = Group.find({ memberIds: userIdOnTheSource });
80
+ if (session) {
81
+ query.session(session);
82
+ }
83
+ return await query.lean();
84
+ }
85
+ /**
86
+ * Create a new group
87
+ * @param groupData - Group data including name, source, and optional idOnTheSource
88
+ * @param session - Optional MongoDB session for transactions
89
+ * @returns The created group
90
+ */
91
+ async function createGroup(groupData, session) {
92
+ const Group = mongoose$1.models.Group;
93
+ const options = session ? { session } : {};
94
+ return await Group.create([groupData], options).then((groups) => groups[0]);
95
+ }
96
+ /**
97
+ * Update or create a group by external ID
98
+ * @param idOnTheSource - The external ID
99
+ * @param source - The source ('entra' or 'local')
100
+ * @param updateData - Data to update or set if creating
101
+ * @param session - Optional MongoDB session for transactions
102
+ * @returns The updated or created group
103
+ */
104
+ async function upsertGroupByExternalId(idOnTheSource, source, updateData, session) {
105
+ const Group = mongoose$1.models.Group;
106
+ const options = {
107
+ new: true,
108
+ upsert: true,
109
+ ...(session ? { session } : {}),
110
+ };
111
+ return await Group.findOneAndUpdate({ idOnTheSource, source }, { $set: updateData }, options);
112
+ }
113
+ /**
114
+ * Add a user to a group
115
+ * Only updates Group.memberIds (one-way relationship)
116
+ * Note: memberIds stores idOnTheSource values, not ObjectIds
117
+ *
118
+ * @param userId - The user ID
119
+ * @param groupId - The group ID to add
120
+ * @param session - Optional MongoDB session for transactions
121
+ * @returns The user and updated group documents
122
+ */
123
+ async function addUserToGroup(userId, groupId, session) {
124
+ const User = mongoose$1.models.User;
125
+ const Group = mongoose$1.models.Group;
126
+ const options = { new: true, ...(session ? { session } : {}) };
127
+ const user = (await User.findById(userId, 'idOnTheSource', options).lean());
128
+ if (!user) {
129
+ throw new Error(`User not found: ${userId}`);
130
+ }
131
+ const userIdOnTheSource = user.idOnTheSource || userId.toString();
132
+ const updatedGroup = await Group.findByIdAndUpdate(groupId, { $addToSet: { memberIds: userIdOnTheSource } }, options).lean();
133
+ return { user: user, group: updatedGroup };
134
+ }
135
+ /**
136
+ * Remove a user from a group
137
+ * Only updates Group.memberIds (one-way relationship)
138
+ * Note: memberIds stores idOnTheSource values, not ObjectIds
139
+ *
140
+ * @param userId - The user ID
141
+ * @param groupId - The group ID to remove
142
+ * @param session - Optional MongoDB session for transactions
143
+ * @returns The user and updated group documents
144
+ */
145
+ async function removeUserFromGroup(userId, groupId, session) {
146
+ const User = mongoose$1.models.User;
147
+ const Group = mongoose$1.models.Group;
148
+ const options = { new: true, ...(session ? { session } : {}) };
149
+ const user = (await User.findById(userId, 'idOnTheSource', options).lean());
150
+ if (!user) {
151
+ throw new Error(`User not found: ${userId}`);
152
+ }
153
+ const userIdOnTheSource = user.idOnTheSource || userId.toString();
154
+ const updatedGroup = await Group.findByIdAndUpdate(groupId, { $pullAll: { memberIds: [userIdOnTheSource] } }, options).lean();
155
+ return { user: user, group: updatedGroup };
156
+ }
157
+ /**
158
+ * Get all groups a user is a member of
159
+ * @param userId - The user ID
160
+ * @param session - Optional MongoDB session for transactions
161
+ * @returns Array of group documents
162
+ */
163
+ async function getUserGroups(userId, session) {
164
+ return await findGroupsByMemberId(userId, session);
165
+ }
166
+ /**
167
+ * Get a list of all principal identifiers for a user (user ID + group IDs + public)
168
+ * For use in permission checks
169
+ * @param params - Parameters object
170
+ * @param params.userId - The user ID
171
+ * @param params.role - Optional user role (if not provided, will query from DB)
172
+ * @param session - Optional MongoDB session for transactions
173
+ * @returns Array of principal objects with type and id
174
+ */
175
+ /**
176
+ * TODO(#12091): This method has no tenantId parameter — it returns ALL group
177
+ * memberships for a user regardless of tenant. In multi-tenant mode, group
178
+ * principals from other tenants will be included in capability checks, which
179
+ * could grant cross-tenant capabilities. Add tenantId filtering here when
180
+ * tenant isolation is activated.
181
+ */
182
+ async function getUserPrincipals(params, session) {
183
+ const { userId, role } = params;
184
+ /** `userId` must be an `ObjectId` for USER principal since ACL entries store `ObjectId`s */
185
+ const userObjectId = typeof userId === 'string' ? new mongoose.Types.ObjectId(userId) : userId;
186
+ const principals = [
187
+ { principalType: librechatDataProvider.PrincipalType.USER, principalId: userObjectId },
188
+ ];
189
+ // If role is not provided, query user to get it
190
+ let userRole = role;
191
+ if (userRole === undefined) {
192
+ const User = mongoose$1.models.User;
193
+ const query = User.findById(userId).select('role');
194
+ if (session) {
195
+ query.session(session);
196
+ }
197
+ const user = await query.lean();
198
+ userRole = user === null || user === void 0 ? void 0 : user.role;
199
+ }
200
+ // Add role as a principal if user has one
201
+ if (userRole && userRole.trim()) {
202
+ principals.push({ principalType: librechatDataProvider.PrincipalType.ROLE, principalId: userRole });
203
+ }
204
+ const userGroups = await getUserGroups(userId, session);
205
+ if (userGroups && userGroups.length > 0) {
206
+ userGroups.forEach((group) => {
207
+ principals.push({ principalType: librechatDataProvider.PrincipalType.GROUP, principalId: group._id });
208
+ });
209
+ }
210
+ principals.push({ principalType: librechatDataProvider.PrincipalType.PUBLIC });
211
+ return principals;
212
+ }
213
+ /**
214
+ * Sync a user's Entra ID group memberships
215
+ * @param userId - The user ID
216
+ * @param entraGroups - Array of Entra groups with id and name
217
+ * @param session - Optional MongoDB session for transactions
218
+ * @returns The updated user with new group memberships
219
+ */
220
+ async function syncUserEntraGroups(userId, entraGroups, session) {
221
+ var _a;
222
+ const User = mongoose$1.models.User;
223
+ const Group = mongoose$1.models.Group;
224
+ const query = User.findById(userId, { idOnTheSource: 1 });
225
+ if (session) {
226
+ query.session(session);
227
+ }
228
+ const user = (await query.lean());
229
+ if (!user) {
230
+ throw new Error(`User not found: ${userId}`);
231
+ }
232
+ /** Get user's idOnTheSource for storing in group.memberIds */
233
+ const userIdOnTheSource = user.idOnTheSource || userId.toString();
234
+ const entraIdMap = new Map();
235
+ const addedGroups = [];
236
+ const removedGroups = [];
237
+ for (const entraGroup of entraGroups) {
238
+ entraIdMap.set(entraGroup.id, true);
239
+ let group = await findGroupByExternalId(entraGroup.id, 'entra', {}, session);
240
+ if (!group) {
241
+ group = await createGroup({
242
+ name: entraGroup.name,
243
+ description: entraGroup.description,
244
+ email: entraGroup.email,
245
+ idOnTheSource: entraGroup.id,
246
+ source: 'entra',
247
+ memberIds: [userIdOnTheSource],
248
+ }, session);
249
+ addedGroups.push(group);
250
+ }
251
+ else if (!((_a = group.memberIds) === null || _a === void 0 ? void 0 : _a.includes(userIdOnTheSource))) {
252
+ const { group: updatedGroup } = await addUserToGroup(userId, group._id, session);
253
+ if (updatedGroup) {
254
+ addedGroups.push(updatedGroup);
255
+ }
256
+ }
257
+ }
258
+ const groupsQuery = Group.find({ source: 'entra', memberIds: userIdOnTheSource }, { _id: 1, idOnTheSource: 1 });
259
+ if (session) {
260
+ groupsQuery.session(session);
261
+ }
262
+ const existingGroups = (await groupsQuery.lean());
263
+ for (const group of existingGroups) {
264
+ if (group.idOnTheSource && !entraIdMap.has(group.idOnTheSource)) {
265
+ const { group: removedGroup } = await removeUserFromGroup(userId, group._id, session);
266
+ if (removedGroup) {
267
+ removedGroups.push(removedGroup);
268
+ }
269
+ }
270
+ }
271
+ const userQuery = User.findById(userId);
272
+ if (session) {
273
+ userQuery.session(session);
274
+ }
275
+ const updatedUser = await userQuery.lean();
276
+ if (!updatedUser) {
277
+ throw new Error(`User not found after update: ${userId}`);
278
+ }
279
+ return {
280
+ user: updatedUser,
281
+ addedGroups,
282
+ removedGroups,
283
+ };
284
+ }
285
+ /**
286
+ * Calculate relevance score for a search result
287
+ * @param item - The search result item
288
+ * @param searchPattern - The search pattern
289
+ * @returns Relevance score (0-100)
290
+ */
291
+ function calculateRelevanceScore(item, searchPattern) {
292
+ const exactRegex = new RegExp(`^${searchPattern}$`, 'i');
293
+ const startsWithPattern = searchPattern.toLowerCase();
294
+ /** Get searchable text based on type */
295
+ const searchableFields = item.type === librechatDataProvider.PrincipalType.USER
296
+ ? [item.name, item.email, item.username].filter(Boolean)
297
+ : [item.name, item.email, item.description].filter(Boolean);
298
+ let maxScore = 0;
299
+ for (const field of searchableFields) {
300
+ if (!field)
301
+ continue;
302
+ const fieldLower = field.toLowerCase();
303
+ let score = 0;
304
+ /** Exact match gets highest score */
305
+ if (exactRegex.test(field)) {
306
+ score = 100;
307
+ }
308
+ else if (fieldLower.startsWith(startsWithPattern)) {
309
+ /** Starts with query gets high score */
310
+ score = 80;
311
+ }
312
+ else if (fieldLower.includes(startsWithPattern)) {
313
+ /** Contains query gets medium score */
314
+ score = 50;
315
+ }
316
+ else {
317
+ /** Default score for regex match */
318
+ score = 10;
319
+ }
320
+ maxScore = Math.max(maxScore, score);
321
+ }
322
+ return maxScore;
323
+ }
324
+ /**
325
+ * Sort principals by relevance score and type priority
326
+ * @param results - Array of results with _searchScore property
327
+ * @returns Sorted array
328
+ */
329
+ function sortPrincipalsByRelevance(results) {
330
+ return results.sort((a, b) => {
331
+ if (b._searchScore !== a._searchScore) {
332
+ return (b._searchScore || 0) - (a._searchScore || 0);
333
+ }
334
+ if (a.type !== b.type) {
335
+ return a.type === librechatDataProvider.PrincipalType.USER ? -1 : 1;
336
+ }
337
+ const aName = a.name || a.email || '';
338
+ const bName = b.name || b.email || '';
339
+ return aName.localeCompare(bName);
340
+ });
341
+ }
342
+ /**
343
+ * Transform user object to TPrincipalSearchResult format
344
+ * @param user - User object from database
345
+ * @returns Transformed user result
346
+ */
347
+ function transformUserToTPrincipalSearchResult(user) {
348
+ return {
349
+ id: user.id,
350
+ type: librechatDataProvider.PrincipalType.USER,
351
+ name: user.name || user.email,
352
+ email: user.email,
353
+ username: user.username,
354
+ avatar: user.avatar,
355
+ provider: user.provider,
356
+ source: 'local',
357
+ idOnTheSource: user.idOnTheSource || user.id,
358
+ };
359
+ }
360
+ /**
361
+ * Transform group object to TPrincipalSearchResult format
362
+ * @param group - Group object from database
363
+ * @returns Transformed group result
364
+ */
365
+ function transformGroupToTPrincipalSearchResult(group) {
366
+ var _a, _b;
367
+ return {
368
+ id: (_a = group._id) === null || _a === void 0 ? void 0 : _a.toString(),
369
+ type: librechatDataProvider.PrincipalType.GROUP,
370
+ name: group.name,
371
+ email: group.email,
372
+ avatar: group.avatar,
373
+ description: group.description,
374
+ source: group.source || 'local',
375
+ memberCount: group.memberIds ? group.memberIds.length : 0,
376
+ idOnTheSource: group.idOnTheSource || ((_b = group._id) === null || _b === void 0 ? void 0 : _b.toString()),
377
+ };
378
+ }
379
+ /**
380
+ * Search for principals (users and groups) by pattern matching on name/email
381
+ * Returns combined results in TPrincipalSearchResult format without sorting
382
+ * @param searchPattern - The pattern to search for
383
+ * @param limitPerType - Maximum number of results to return
384
+ * @param typeFilter - Optional array of types to filter by, or null for all types
385
+ * @param session - Optional MongoDB session for transactions
386
+ * @returns Array of principals in TPrincipalSearchResult format
387
+ */
388
+ async function searchPrincipals(searchPattern, limitPerType = 10, typeFilter = null, session) {
389
+ if (!searchPattern || searchPattern.trim().length === 0) {
390
+ return [];
391
+ }
392
+ const trimmedPattern = searchPattern.trim();
393
+ const promises = [];
394
+ if (!typeFilter || typeFilter.includes(librechatDataProvider.PrincipalType.USER)) {
395
+ /** Note: searchUsers is imported from ~/models and needs to be passed in or implemented */
396
+ const userFields = 'name email username avatar provider idOnTheSource';
397
+ /** For now, we'll use a direct query instead of searchUsers */
398
+ const User = mongoose$1.models.User;
399
+ const regex = new RegExp(trimmedPattern, 'i');
400
+ const userQuery = User.find({
401
+ $or: [{ name: regex }, { email: regex }, { username: regex }],
402
+ })
403
+ .select(userFields)
404
+ .limit(limitPerType);
405
+ if (session) {
406
+ userQuery.session(session);
407
+ }
408
+ promises.push(userQuery.lean().then((users) => users.map((user) => {
409
+ var _a;
410
+ const userWithId = user;
411
+ return transformUserToTPrincipalSearchResult({
412
+ id: ((_a = userWithId._id) === null || _a === void 0 ? void 0 : _a.toString()) || '',
413
+ name: userWithId.name,
414
+ email: userWithId.email,
415
+ username: userWithId.username,
416
+ avatar: userWithId.avatar,
417
+ provider: userWithId.provider,
418
+ });
419
+ })));
420
+ }
421
+ else {
422
+ promises.push(Promise.resolve([]));
423
+ }
424
+ if (!typeFilter || typeFilter.includes(librechatDataProvider.PrincipalType.GROUP)) {
425
+ promises.push(findGroupsByNamePattern(trimmedPattern, null, limitPerType, session).then((groups) => groups.map(transformGroupToTPrincipalSearchResult)));
426
+ }
427
+ else {
428
+ promises.push(Promise.resolve([]));
429
+ }
430
+ if (!typeFilter || typeFilter.includes(librechatDataProvider.PrincipalType.ROLE)) {
431
+ const Role = mongoose$1.models.Role;
432
+ if (Role) {
433
+ const regex = new RegExp(trimmedPattern, 'i');
434
+ const roleQuery = Role.find({ name: regex }).select('name').limit(limitPerType);
435
+ if (session) {
436
+ roleQuery.session(session);
437
+ }
438
+ promises.push(roleQuery.lean().then((roles) => roles.map((role) => ({
439
+ /** Role name as ID */
440
+ id: role.name,
441
+ type: librechatDataProvider.PrincipalType.ROLE,
442
+ name: role.name,
443
+ source: 'local',
444
+ idOnTheSource: role.name,
445
+ }))));
446
+ }
447
+ }
448
+ else {
449
+ promises.push(Promise.resolve([]));
450
+ }
451
+ const results = await Promise.all(promises);
452
+ const combined = results.flat();
453
+ return combined;
454
+ }
455
+ /**
456
+ * Removes a user from all groups they belong to.
457
+ * @param userId - The user ID (or ObjectId) of the member to remove
458
+ */
459
+ async function removeUserFromAllGroups(userId) {
460
+ const Group = mongoose$1.models.Group;
461
+ await Group.updateMany({ memberIds: userId }, { $pullAll: { memberIds: [userId] } });
462
+ }
463
+ /**
464
+ * Finds a single group matching the given filter.
465
+ * @param filter - MongoDB filter query
466
+ */
467
+ async function findGroupByQuery(filter, session) {
468
+ const Group = mongoose$1.models.Group;
469
+ const query = Group.findOne(filter);
470
+ if (session) {
471
+ query.session(session);
472
+ }
473
+ return query.lean();
474
+ }
475
+ /**
476
+ * Updates a group by its ID.
477
+ * @param groupId - The group's ObjectId
478
+ * @param data - Fields to set via $set
479
+ */
480
+ async function updateGroupById(groupId, data, session) {
481
+ const Group = mongoose$1.models.Group;
482
+ const options = { new: true, ...(session ? { session } : {}) };
483
+ return Group.findByIdAndUpdate(groupId, { $set: data }, options).lean();
484
+ }
485
+ /**
486
+ * Bulk-updates groups matching a filter.
487
+ * @param filter - MongoDB filter query
488
+ * @param update - Update operations
489
+ * @param options - Optional query options (e.g., { session })
490
+ */
491
+ async function bulkUpdateGroups(filter, update, options) {
492
+ const Group = mongoose$1.models.Group;
493
+ return Group.updateMany(filter, update, options || {});
494
+ }
495
+ return {
496
+ findGroupById,
497
+ findGroupByExternalId,
498
+ findGroupsByNamePattern,
499
+ findGroupsByMemberId,
500
+ createGroup,
501
+ upsertGroupByExternalId,
502
+ addUserToGroup,
503
+ removeUserFromGroup,
504
+ removeUserFromAllGroups,
505
+ findGroupByQuery,
506
+ updateGroupById,
507
+ bulkUpdateGroups,
508
+ getUserGroups,
509
+ getUserPrincipals,
510
+ syncUserEntraGroups,
511
+ searchPrincipals,
512
+ calculateRelevanceScore,
513
+ sortPrincipalsByRelevance,
514
+ };
515
+ }
516
+
517
+ exports.createUserGroupMethods = createUserGroupMethods;
518
+ //# sourceMappingURL=userGroup.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userGroup.cjs","sources":["../../src/methods/userGroup.ts"],"sourcesContent":[null],"names":["mongoose","Types","PrincipalType"],"mappings":"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"}