@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,93 @@
1
+ 'use strict';
2
+
3
+ var winston = require('winston');
4
+ require('winston-daily-rotate-file');
5
+ var parsers = require('./parsers.cjs');
6
+ var utils = require('./utils.cjs');
7
+
8
+ const logDir = utils.getLogDirectory();
9
+ const { NODE_ENV, DEBUG_LOGGING, CONSOLE_JSON, DEBUG_CONSOLE } = process.env;
10
+ const useConsoleJson = typeof CONSOLE_JSON === 'string' && CONSOLE_JSON.toLowerCase() === 'true';
11
+ const useDebugConsole = typeof DEBUG_CONSOLE === 'string' && DEBUG_CONSOLE.toLowerCase() === 'true';
12
+ const useDebugLogging = typeof DEBUG_LOGGING === 'string' && DEBUG_LOGGING.toLowerCase() === 'true';
13
+ const levels = {
14
+ error: 0,
15
+ warn: 1,
16
+ info: 2,
17
+ http: 3,
18
+ verbose: 4,
19
+ debug: 5,
20
+ activity: 6,
21
+ silly: 7,
22
+ };
23
+ winston.addColors({
24
+ info: 'green',
25
+ warn: 'italic yellow',
26
+ error: 'red',
27
+ debug: 'blue',
28
+ });
29
+ const level = () => {
30
+ const env = NODE_ENV || 'development';
31
+ return env === 'development' ? 'debug' : 'warn';
32
+ };
33
+ const fileFormat = winston.format.combine(parsers.redactFormat(), winston.format.timestamp({ format: () => new Date().toISOString() }), winston.format.errors({ stack: true }), winston.format.splat());
34
+ const transports = [
35
+ new winston.transports.DailyRotateFile({
36
+ level: 'error',
37
+ filename: `${logDir}/error-%DATE%.log`,
38
+ datePattern: 'YYYY-MM-DD',
39
+ zippedArchive: true,
40
+ maxSize: '20m',
41
+ maxFiles: '14d',
42
+ format: winston.format.combine(fileFormat, winston.format.json()),
43
+ }),
44
+ ];
45
+ if (useDebugLogging) {
46
+ transports.push(new winston.transports.DailyRotateFile({
47
+ level: 'debug',
48
+ filename: `${logDir}/debug-%DATE%.log`,
49
+ datePattern: 'YYYY-MM-DD',
50
+ zippedArchive: true,
51
+ maxSize: '20m',
52
+ maxFiles: '14d',
53
+ format: winston.format.combine(fileFormat, parsers.debugTraverse),
54
+ }));
55
+ }
56
+ const consoleFormat = winston.format.combine(parsers.redactFormat(), winston.format.colorize({ all: true }), winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.printf((info) => {
57
+ const message = `${info.timestamp} ${info.level}: ${info.message}`;
58
+ return info.level.includes('error') ? parsers.redactMessage(message) : message;
59
+ }));
60
+ let consoleLogLevel = 'info';
61
+ if (useDebugConsole) {
62
+ consoleLogLevel = 'debug';
63
+ }
64
+ // Add console transport
65
+ if (useDebugConsole) {
66
+ transports.push(new winston.transports.Console({
67
+ level: consoleLogLevel,
68
+ format: useConsoleJson
69
+ ? winston.format.combine(fileFormat, parsers.jsonTruncateFormat(), winston.format.json())
70
+ : winston.format.combine(fileFormat, parsers.debugTraverse),
71
+ }));
72
+ }
73
+ else if (useConsoleJson) {
74
+ transports.push(new winston.transports.Console({
75
+ level: consoleLogLevel,
76
+ format: winston.format.combine(fileFormat, parsers.jsonTruncateFormat(), winston.format.json()),
77
+ }));
78
+ }
79
+ else {
80
+ transports.push(new winston.transports.Console({
81
+ level: consoleLogLevel,
82
+ format: consoleFormat,
83
+ }));
84
+ }
85
+ // Create logger
86
+ const logger = winston.createLogger({
87
+ level: level(),
88
+ levels,
89
+ transports,
90
+ });
91
+
92
+ module.exports = logger;
93
+ //# sourceMappingURL=winston.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"winston.cjs","sources":["../../src/config/winston.ts"],"sourcesContent":[null],"names":["getLogDirectory","redactFormat","debugTraverse","redactMessage","jsonTruncateFormat"],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import winston from 'winston';
2
+ import 'winston-daily-rotate-file';
3
+ import { redactFormat, debugTraverse, redactMessage, jsonTruncateFormat } from './parsers.es.js';
4
+ import { getLogDirectory } from './utils.es.js';
5
+
6
+ const logDir = getLogDirectory();
7
+ const { NODE_ENV, DEBUG_LOGGING, CONSOLE_JSON, DEBUG_CONSOLE } = process.env;
8
+ const useConsoleJson = typeof CONSOLE_JSON === 'string' && CONSOLE_JSON.toLowerCase() === 'true';
9
+ const useDebugConsole = typeof DEBUG_CONSOLE === 'string' && DEBUG_CONSOLE.toLowerCase() === 'true';
10
+ const useDebugLogging = typeof DEBUG_LOGGING === 'string' && DEBUG_LOGGING.toLowerCase() === 'true';
11
+ const levels = {
12
+ error: 0,
13
+ warn: 1,
14
+ info: 2,
15
+ http: 3,
16
+ verbose: 4,
17
+ debug: 5,
18
+ activity: 6,
19
+ silly: 7,
20
+ };
21
+ winston.addColors({
22
+ info: 'green',
23
+ warn: 'italic yellow',
24
+ error: 'red',
25
+ debug: 'blue',
26
+ });
27
+ const level = () => {
28
+ const env = NODE_ENV || 'development';
29
+ return env === 'development' ? 'debug' : 'warn';
30
+ };
31
+ const fileFormat = winston.format.combine(redactFormat(), winston.format.timestamp({ format: () => new Date().toISOString() }), winston.format.errors({ stack: true }), winston.format.splat());
32
+ const transports = [
33
+ new winston.transports.DailyRotateFile({
34
+ level: 'error',
35
+ filename: `${logDir}/error-%DATE%.log`,
36
+ datePattern: 'YYYY-MM-DD',
37
+ zippedArchive: true,
38
+ maxSize: '20m',
39
+ maxFiles: '14d',
40
+ format: winston.format.combine(fileFormat, winston.format.json()),
41
+ }),
42
+ ];
43
+ if (useDebugLogging) {
44
+ transports.push(new winston.transports.DailyRotateFile({
45
+ level: 'debug',
46
+ filename: `${logDir}/debug-%DATE%.log`,
47
+ datePattern: 'YYYY-MM-DD',
48
+ zippedArchive: true,
49
+ maxSize: '20m',
50
+ maxFiles: '14d',
51
+ format: winston.format.combine(fileFormat, debugTraverse),
52
+ }));
53
+ }
54
+ const consoleFormat = winston.format.combine(redactFormat(), winston.format.colorize({ all: true }), winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.printf((info) => {
55
+ const message = `${info.timestamp} ${info.level}: ${info.message}`;
56
+ return info.level.includes('error') ? redactMessage(message) : message;
57
+ }));
58
+ let consoleLogLevel = 'info';
59
+ if (useDebugConsole) {
60
+ consoleLogLevel = 'debug';
61
+ }
62
+ // Add console transport
63
+ if (useDebugConsole) {
64
+ transports.push(new winston.transports.Console({
65
+ level: consoleLogLevel,
66
+ format: useConsoleJson
67
+ ? winston.format.combine(fileFormat, jsonTruncateFormat(), winston.format.json())
68
+ : winston.format.combine(fileFormat, debugTraverse),
69
+ }));
70
+ }
71
+ else if (useConsoleJson) {
72
+ transports.push(new winston.transports.Console({
73
+ level: consoleLogLevel,
74
+ format: winston.format.combine(fileFormat, jsonTruncateFormat(), winston.format.json()),
75
+ }));
76
+ }
77
+ else {
78
+ transports.push(new winston.transports.Console({
79
+ level: consoleLogLevel,
80
+ format: consoleFormat,
81
+ }));
82
+ }
83
+ // Create logger
84
+ const logger = winston.createLogger({
85
+ level: level(),
86
+ levels,
87
+ transports,
88
+ });
89
+
90
+ export { logger as default };
91
+ //# sourceMappingURL=winston.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"winston.es.js","sources":["../../src/config/winston.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ 'use strict';
2
+
3
+ require('dotenv/config');
4
+ var jwt = require('jsonwebtoken');
5
+ var crypto = require('node:crypto');
6
+
7
+ var _a, _b;
8
+ const { webcrypto } = crypto;
9
+ /** Use hex decoding for both key and IV for legacy methods */
10
+ const key = Buffer.from((_a = process.env.CREDS_KEY) !== null && _a !== void 0 ? _a : '', 'hex');
11
+ const iv = Buffer.from((_b = process.env.CREDS_IV) !== null && _b !== void 0 ? _b : '', 'hex');
12
+ const algorithm = 'AES-CBC';
13
+ async function signPayload({ payload, secret, expirationTime, }) {
14
+ return jwt.sign(payload, secret, { expiresIn: expirationTime });
15
+ }
16
+ async function hashToken(str) {
17
+ const data = new TextEncoder().encode(str);
18
+ const hashBuffer = await webcrypto.subtle.digest('SHA-256', data);
19
+ return Buffer.from(hashBuffer).toString('hex');
20
+ }
21
+ /** --- Legacy v1/v2 Setup: AES-CBC with fixed key and IV --- */
22
+ /**
23
+ * Encrypts a value using AES-CBC
24
+ * @param value - The plaintext to encrypt
25
+ * @returns The encrypted string in hex format
26
+ */
27
+ async function encrypt(value) {
28
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
29
+ 'encrypt',
30
+ ]);
31
+ const encoder = new TextEncoder();
32
+ const data = encoder.encode(value);
33
+ const encryptedBuffer = await webcrypto.subtle.encrypt({ name: algorithm, iv: iv }, cryptoKey, data);
34
+ return Buffer.from(encryptedBuffer).toString('hex');
35
+ }
36
+ /**
37
+ * Decrypts an encrypted value using AES-CBC
38
+ * @param encryptedValue - The encrypted string in hex format
39
+ * @returns The decrypted plaintext
40
+ */
41
+ async function decrypt(encryptedValue) {
42
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
43
+ 'decrypt',
44
+ ]);
45
+ const encryptedBuffer = Buffer.from(encryptedValue, 'hex');
46
+ const decryptedBuffer = await webcrypto.subtle.decrypt({ name: algorithm, iv: iv }, cryptoKey, encryptedBuffer);
47
+ const decoder = new TextDecoder();
48
+ return decoder.decode(decryptedBuffer);
49
+ }
50
+ /** --- v2: AES-CBC with a random IV per encryption --- */
51
+ /**
52
+ * Encrypts a value using AES-CBC with a random IV per encryption
53
+ * @param value - The plaintext to encrypt
54
+ * @returns The encrypted string with IV prepended (iv:ciphertext format)
55
+ */
56
+ async function encryptV2(value) {
57
+ const gen_iv = webcrypto.getRandomValues(new Uint8Array(16));
58
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
59
+ 'encrypt',
60
+ ]);
61
+ const encoder = new TextEncoder();
62
+ const data = encoder.encode(value);
63
+ const encryptedBuffer = await webcrypto.subtle.encrypt({ name: algorithm, iv: gen_iv }, cryptoKey, data);
64
+ return Buffer.from(gen_iv).toString('hex') + ':' + Buffer.from(encryptedBuffer).toString('hex');
65
+ }
66
+ /**
67
+ * Decrypts an encrypted value using AES-CBC with random IV
68
+ * @param encryptedValue - The encrypted string in iv:ciphertext format
69
+ * @returns The decrypted plaintext
70
+ */
71
+ async function decryptV2(encryptedValue) {
72
+ var _a;
73
+ const parts = encryptedValue.split(':');
74
+ if (parts.length === 1) {
75
+ return parts[0];
76
+ }
77
+ const gen_iv = Buffer.from((_a = parts.shift()) !== null && _a !== void 0 ? _a : '', 'hex');
78
+ const encrypted = parts.join(':');
79
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
80
+ 'decrypt',
81
+ ]);
82
+ const encryptedBuffer = Buffer.from(encrypted, 'hex');
83
+ const decryptedBuffer = await webcrypto.subtle.decrypt({ name: algorithm, iv: gen_iv }, cryptoKey, encryptedBuffer);
84
+ const decoder = new TextDecoder();
85
+ return decoder.decode(decryptedBuffer);
86
+ }
87
+ /** --- v3: AES-256-CTR using Node's crypto functions --- */
88
+ const algorithm_v3 = 'aes-256-ctr';
89
+ /**
90
+ * Encrypts a value using AES-256-CTR.
91
+ * Note: AES-256 requires a 32-byte key. Ensure that process.env.CREDS_KEY is a 64-character hex string.
92
+ * @param value - The plaintext to encrypt.
93
+ * @returns The encrypted string with a "v3:" prefix.
94
+ */
95
+ function encryptV3(value) {
96
+ if (key.length !== 32) {
97
+ throw new Error(`Invalid key length: expected 32 bytes, got ${key.length} bytes`);
98
+ }
99
+ const iv_v3 = crypto.randomBytes(16);
100
+ const cipher = crypto.createCipheriv(algorithm_v3, key, iv_v3);
101
+ const encrypted = Buffer.concat([cipher.update(value, 'utf8'), cipher.final()]);
102
+ return `v3:${iv_v3.toString('hex')}:${encrypted.toString('hex')}`;
103
+ }
104
+ /**
105
+ * Decrypts an encrypted value using AES-256-CTR.
106
+ * @param encryptedValue - The encrypted string with "v3:" prefix.
107
+ * @returns The decrypted plaintext.
108
+ */
109
+ function decryptV3(encryptedValue) {
110
+ const parts = encryptedValue.split(':');
111
+ if (parts[0] !== 'v3') {
112
+ throw new Error('Not a v3 encrypted value');
113
+ }
114
+ const iv_v3 = Buffer.from(parts[1], 'hex');
115
+ const encryptedText = Buffer.from(parts.slice(2).join(':'), 'hex');
116
+ const decipher = crypto.createDecipheriv(algorithm_v3, key, iv_v3);
117
+ const decrypted = Buffer.concat([decipher.update(encryptedText), decipher.final()]);
118
+ return decrypted.toString('utf8');
119
+ }
120
+ /**
121
+ * Generates random values as a hex string
122
+ * @param length - The number of random bytes to generate
123
+ * @returns The random values as a hex string
124
+ */
125
+ async function getRandomValues(length) {
126
+ if (!Number.isInteger(length) || length <= 0) {
127
+ throw new Error('Length must be a positive integer');
128
+ }
129
+ const randomValues = new Uint8Array(length);
130
+ webcrypto.getRandomValues(randomValues);
131
+ return Buffer.from(randomValues).toString('hex');
132
+ }
133
+ /**
134
+ * Computes SHA-256 hash for the given input.
135
+ * @param input - The input to hash.
136
+ * @returns The SHA-256 hash of the input.
137
+ */
138
+ async function hashBackupCode(input) {
139
+ const encoder = new TextEncoder();
140
+ const data = encoder.encode(input);
141
+ const hashBuffer = await webcrypto.subtle.digest('SHA-256', data);
142
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
143
+ return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
144
+ }
145
+
146
+ exports.decrypt = decrypt;
147
+ exports.decryptV2 = decryptV2;
148
+ exports.decryptV3 = decryptV3;
149
+ exports.encrypt = encrypt;
150
+ exports.encryptV2 = encryptV2;
151
+ exports.encryptV3 = encryptV3;
152
+ exports.getRandomValues = getRandomValues;
153
+ exports.hashBackupCode = hashBackupCode;
154
+ exports.hashToken = hashToken;
155
+ exports.signPayload = signPayload;
156
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/crypto/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import 'dotenv/config';
2
+ import jwt from 'jsonwebtoken';
3
+ import crypto from 'node:crypto';
4
+
5
+ var _a, _b;
6
+ const { webcrypto } = crypto;
7
+ /** Use hex decoding for both key and IV for legacy methods */
8
+ const key = Buffer.from((_a = process.env.CREDS_KEY) !== null && _a !== void 0 ? _a : '', 'hex');
9
+ const iv = Buffer.from((_b = process.env.CREDS_IV) !== null && _b !== void 0 ? _b : '', 'hex');
10
+ const algorithm = 'AES-CBC';
11
+ async function signPayload({ payload, secret, expirationTime, }) {
12
+ return jwt.sign(payload, secret, { expiresIn: expirationTime });
13
+ }
14
+ async function hashToken(str) {
15
+ const data = new TextEncoder().encode(str);
16
+ const hashBuffer = await webcrypto.subtle.digest('SHA-256', data);
17
+ return Buffer.from(hashBuffer).toString('hex');
18
+ }
19
+ /** --- Legacy v1/v2 Setup: AES-CBC with fixed key and IV --- */
20
+ /**
21
+ * Encrypts a value using AES-CBC
22
+ * @param value - The plaintext to encrypt
23
+ * @returns The encrypted string in hex format
24
+ */
25
+ async function encrypt(value) {
26
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
27
+ 'encrypt',
28
+ ]);
29
+ const encoder = new TextEncoder();
30
+ const data = encoder.encode(value);
31
+ const encryptedBuffer = await webcrypto.subtle.encrypt({ name: algorithm, iv: iv }, cryptoKey, data);
32
+ return Buffer.from(encryptedBuffer).toString('hex');
33
+ }
34
+ /**
35
+ * Decrypts an encrypted value using AES-CBC
36
+ * @param encryptedValue - The encrypted string in hex format
37
+ * @returns The decrypted plaintext
38
+ */
39
+ async function decrypt(encryptedValue) {
40
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
41
+ 'decrypt',
42
+ ]);
43
+ const encryptedBuffer = Buffer.from(encryptedValue, 'hex');
44
+ const decryptedBuffer = await webcrypto.subtle.decrypt({ name: algorithm, iv: iv }, cryptoKey, encryptedBuffer);
45
+ const decoder = new TextDecoder();
46
+ return decoder.decode(decryptedBuffer);
47
+ }
48
+ /** --- v2: AES-CBC with a random IV per encryption --- */
49
+ /**
50
+ * Encrypts a value using AES-CBC with a random IV per encryption
51
+ * @param value - The plaintext to encrypt
52
+ * @returns The encrypted string with IV prepended (iv:ciphertext format)
53
+ */
54
+ async function encryptV2(value) {
55
+ const gen_iv = webcrypto.getRandomValues(new Uint8Array(16));
56
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
57
+ 'encrypt',
58
+ ]);
59
+ const encoder = new TextEncoder();
60
+ const data = encoder.encode(value);
61
+ const encryptedBuffer = await webcrypto.subtle.encrypt({ name: algorithm, iv: gen_iv }, cryptoKey, data);
62
+ return Buffer.from(gen_iv).toString('hex') + ':' + Buffer.from(encryptedBuffer).toString('hex');
63
+ }
64
+ /**
65
+ * Decrypts an encrypted value using AES-CBC with random IV
66
+ * @param encryptedValue - The encrypted string in iv:ciphertext format
67
+ * @returns The decrypted plaintext
68
+ */
69
+ async function decryptV2(encryptedValue) {
70
+ var _a;
71
+ const parts = encryptedValue.split(':');
72
+ if (parts.length === 1) {
73
+ return parts[0];
74
+ }
75
+ const gen_iv = Buffer.from((_a = parts.shift()) !== null && _a !== void 0 ? _a : '', 'hex');
76
+ const encrypted = parts.join(':');
77
+ const cryptoKey = await webcrypto.subtle.importKey('raw', key, { name: algorithm }, false, [
78
+ 'decrypt',
79
+ ]);
80
+ const encryptedBuffer = Buffer.from(encrypted, 'hex');
81
+ const decryptedBuffer = await webcrypto.subtle.decrypt({ name: algorithm, iv: gen_iv }, cryptoKey, encryptedBuffer);
82
+ const decoder = new TextDecoder();
83
+ return decoder.decode(decryptedBuffer);
84
+ }
85
+ /** --- v3: AES-256-CTR using Node's crypto functions --- */
86
+ const algorithm_v3 = 'aes-256-ctr';
87
+ /**
88
+ * Encrypts a value using AES-256-CTR.
89
+ * Note: AES-256 requires a 32-byte key. Ensure that process.env.CREDS_KEY is a 64-character hex string.
90
+ * @param value - The plaintext to encrypt.
91
+ * @returns The encrypted string with a "v3:" prefix.
92
+ */
93
+ function encryptV3(value) {
94
+ if (key.length !== 32) {
95
+ throw new Error(`Invalid key length: expected 32 bytes, got ${key.length} bytes`);
96
+ }
97
+ const iv_v3 = crypto.randomBytes(16);
98
+ const cipher = crypto.createCipheriv(algorithm_v3, key, iv_v3);
99
+ const encrypted = Buffer.concat([cipher.update(value, 'utf8'), cipher.final()]);
100
+ return `v3:${iv_v3.toString('hex')}:${encrypted.toString('hex')}`;
101
+ }
102
+ /**
103
+ * Decrypts an encrypted value using AES-256-CTR.
104
+ * @param encryptedValue - The encrypted string with "v3:" prefix.
105
+ * @returns The decrypted plaintext.
106
+ */
107
+ function decryptV3(encryptedValue) {
108
+ const parts = encryptedValue.split(':');
109
+ if (parts[0] !== 'v3') {
110
+ throw new Error('Not a v3 encrypted value');
111
+ }
112
+ const iv_v3 = Buffer.from(parts[1], 'hex');
113
+ const encryptedText = Buffer.from(parts.slice(2).join(':'), 'hex');
114
+ const decipher = crypto.createDecipheriv(algorithm_v3, key, iv_v3);
115
+ const decrypted = Buffer.concat([decipher.update(encryptedText), decipher.final()]);
116
+ return decrypted.toString('utf8');
117
+ }
118
+ /**
119
+ * Generates random values as a hex string
120
+ * @param length - The number of random bytes to generate
121
+ * @returns The random values as a hex string
122
+ */
123
+ async function getRandomValues(length) {
124
+ if (!Number.isInteger(length) || length <= 0) {
125
+ throw new Error('Length must be a positive integer');
126
+ }
127
+ const randomValues = new Uint8Array(length);
128
+ webcrypto.getRandomValues(randomValues);
129
+ return Buffer.from(randomValues).toString('hex');
130
+ }
131
+ /**
132
+ * Computes SHA-256 hash for the given input.
133
+ * @param input - The input to hash.
134
+ * @returns The SHA-256 hash of the input.
135
+ */
136
+ async function hashBackupCode(input) {
137
+ const encoder = new TextEncoder();
138
+ const data = encoder.encode(input);
139
+ const hashBuffer = await webcrypto.subtle.digest('SHA-256', data);
140
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
141
+ return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
142
+ }
143
+
144
+ export { decrypt, decryptV2, decryptV3, encrypt, encryptV2, encryptV3, getRandomValues, hashBackupCode, hashToken, signPayload };
145
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../src/crypto/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}