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