@intlayer/backend 7.0.9-canary.0 → 7.0.9-canary.3

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 (915) hide show
  1. package/README.md +2 -1
  2. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/packages/intlayer/getLocalizedUrl.json +6146 -5120
  3. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/packages/intlayer/getMultilingualUrls.json +5124 -3072
  4. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/packages/intlayer/getPrefix.json +4106 -0
  5. package/dist/cjs/controllers/dictionary.controller.cjs +64 -41
  6. package/dist/cjs/controllers/dictionary.controller.cjs.map +1 -1
  7. package/dist/cjs/emails/MagicLinkEmail.cjs +242 -0
  8. package/dist/cjs/emails/MagicLinkEmail.cjs.map +1 -0
  9. package/dist/cjs/index.cjs +1 -1
  10. package/dist/cjs/index.cjs.map +1 -1
  11. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/index.cjs +16 -0
  12. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/index.cjs.map +1 -0
  13. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.cjs +25 -0
  14. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.cjs.map +1 -0
  15. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.cjs +31 -0
  16. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.cjs.map +1 -0
  17. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/utils.cjs +38 -0
  18. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/utils.cjs.map +1 -0
  19. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/xmlenc.cjs +231 -0
  20. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/xmlenc.cjs.map +1 -0
  21. package/dist/cjs/node_modules/@better-auth/sso/dist/index.cjs +1210 -0
  22. package/dist/cjs/node_modules/@better-auth/sso/dist/index.cjs.map +1 -0
  23. package/dist/cjs/node_modules/@better-fetch/fetch/dist/index.cjs +362 -0
  24. package/dist/cjs/node_modules/@better-fetch/fetch/dist/index.cjs.map +1 -0
  25. package/dist/cjs/node_modules/@xmldom/is-dom-node/dist/index.cjs +89 -0
  26. package/dist/cjs/node_modules/@xmldom/is-dom-node/dist/index.cjs.map +1 -0
  27. package/dist/cjs/node_modules/@xmldom/xmldom/lib/conventions.cjs +110 -0
  28. package/dist/cjs/node_modules/@xmldom/xmldom/lib/conventions.cjs.map +1 -0
  29. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom-parser.cjs +248 -0
  30. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom-parser.cjs.map +1 -0
  31. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom.cjs +1309 -0
  32. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom.cjs.map +1 -0
  33. package/dist/cjs/node_modules/@xmldom/xmldom/lib/entities.cjs +2176 -0
  34. package/dist/cjs/node_modules/@xmldom/xmldom/lib/entities.cjs.map +1 -0
  35. package/dist/cjs/node_modules/@xmldom/xmldom/lib/index.cjs +20 -0
  36. package/dist/cjs/node_modules/@xmldom/xmldom/lib/index.cjs.map +1 -0
  37. package/dist/cjs/node_modules/@xmldom/xmldom/lib/sax.cjs +499 -0
  38. package/dist/cjs/node_modules/@xmldom/xmldom/lib/sax.cjs.map +1 -0
  39. package/dist/cjs/node_modules/asn1/lib/ber/errors.cjs +20 -0
  40. package/dist/cjs/node_modules/asn1/lib/ber/errors.cjs.map +1 -0
  41. package/dist/cjs/node_modules/asn1/lib/ber/index.cjs +28 -0
  42. package/dist/cjs/node_modules/asn1/lib/ber/index.cjs.map +1 -0
  43. package/dist/cjs/node_modules/asn1/lib/ber/reader.cjs +167 -0
  44. package/dist/cjs/node_modules/asn1/lib/ber/reader.cjs.map +1 -0
  45. package/dist/cjs/node_modules/asn1/lib/ber/types.cjs +47 -0
  46. package/dist/cjs/node_modules/asn1/lib/ber/types.cjs.map +1 -0
  47. package/dist/cjs/node_modules/asn1/lib/ber/writer.cjs +223 -0
  48. package/dist/cjs/node_modules/asn1/lib/ber/writer.cjs.map +1 -0
  49. package/dist/cjs/node_modules/asn1/lib/index.cjs +21 -0
  50. package/dist/cjs/node_modules/asn1/lib/index.cjs.map +1 -0
  51. package/dist/cjs/node_modules/camelcase/index.cjs +78 -0
  52. package/dist/cjs/node_modules/camelcase/index.cjs.map +1 -0
  53. package/dist/cjs/node_modules/escape-html/index.cjs +71 -0
  54. package/dist/cjs/node_modules/escape-html/index.cjs.map +1 -0
  55. package/dist/cjs/node_modules/fast-xml-parser/src/fxp.cjs +9 -0
  56. package/dist/cjs/node_modules/fast-xml-parser/src/fxp.cjs.map +1 -0
  57. package/dist/cjs/node_modules/fast-xml-parser/src/util.cjs +29 -0
  58. package/dist/cjs/node_modules/fast-xml-parser/src/util.cjs.map +1 -0
  59. package/dist/cjs/node_modules/fast-xml-parser/src/validator.cjs +244 -0
  60. package/dist/cjs/node_modules/fast-xml-parser/src/validator.cjs.map +1 -0
  61. package/dist/cjs/node_modules/jose/dist/webapi/lib/base64.cjs +14 -0
  62. package/dist/cjs/node_modules/jose/dist/webapi/lib/base64.cjs.map +1 -0
  63. package/dist/cjs/node_modules/jose/dist/webapi/lib/buffer_utils.cjs +10 -0
  64. package/dist/cjs/node_modules/jose/dist/webapi/lib/buffer_utils.cjs.map +1 -0
  65. package/dist/cjs/node_modules/jose/dist/webapi/lib/is_object.cjs +17 -0
  66. package/dist/cjs/node_modules/jose/dist/webapi/lib/is_object.cjs.map +1 -0
  67. package/dist/cjs/node_modules/jose/dist/webapi/util/base64url.cjs +20 -0
  68. package/dist/cjs/node_modules/jose/dist/webapi/util/base64url.cjs.map +1 -0
  69. package/dist/cjs/node_modules/jose/dist/webapi/util/decode_jwt.cjs +32 -0
  70. package/dist/cjs/node_modules/jose/dist/webapi/util/decode_jwt.cjs.map +1 -0
  71. package/dist/cjs/node_modules/jose/dist/webapi/util/errors.cjs +28 -0
  72. package/dist/cjs/node_modules/jose/dist/webapi/util/errors.cjs.map +1 -0
  73. package/dist/cjs/node_modules/node-forge/lib/aes.cjs +604 -0
  74. package/dist/cjs/node_modules/node-forge/lib/aes.cjs.map +1 -0
  75. package/dist/cjs/node_modules/node-forge/lib/aesCipherSuites.cjs +202 -0
  76. package/dist/cjs/node_modules/node-forge/lib/aesCipherSuites.cjs.map +1 -0
  77. package/dist/cjs/node_modules/node-forge/lib/asn1-validator.cjs +83 -0
  78. package/dist/cjs/node_modules/node-forge/lib/asn1-validator.cjs.map +1 -0
  79. package/dist/cjs/node_modules/node-forge/lib/asn1.cjs +945 -0
  80. package/dist/cjs/node_modules/node-forge/lib/asn1.cjs.map +1 -0
  81. package/dist/cjs/node_modules/node-forge/lib/baseN.cjs +144 -0
  82. package/dist/cjs/node_modules/node-forge/lib/baseN.cjs.map +1 -0
  83. package/dist/cjs/node_modules/node-forge/lib/cipher.cjs +193 -0
  84. package/dist/cjs/node_modules/node-forge/lib/cipher.cjs.map +1 -0
  85. package/dist/cjs/node_modules/node-forge/lib/cipherModes.cjs +604 -0
  86. package/dist/cjs/node_modules/node-forge/lib/cipherModes.cjs.map +1 -0
  87. package/dist/cjs/node_modules/node-forge/lib/des.cjs +1194 -0
  88. package/dist/cjs/node_modules/node-forge/lib/des.cjs.map +1 -0
  89. package/dist/cjs/node_modules/node-forge/lib/ed25519.cjs +1027 -0
  90. package/dist/cjs/node_modules/node-forge/lib/ed25519.cjs.map +1 -0
  91. package/dist/cjs/node_modules/node-forge/lib/forge.cjs +22 -0
  92. package/dist/cjs/node_modules/node-forge/lib/forge.cjs.map +1 -0
  93. package/dist/cjs/node_modules/node-forge/lib/hmac.cjs +114 -0
  94. package/dist/cjs/node_modules/node-forge/lib/hmac.cjs.map +1 -0
  95. package/dist/cjs/node_modules/node-forge/lib/index.cjs +73 -0
  96. package/dist/cjs/node_modules/node-forge/lib/index.cjs.map +1 -0
  97. package/dist/cjs/node_modules/node-forge/lib/jsbn.cjs +1263 -0
  98. package/dist/cjs/node_modules/node-forge/lib/jsbn.cjs.map +1 -0
  99. package/dist/cjs/node_modules/node-forge/lib/kem.cjs +153 -0
  100. package/dist/cjs/node_modules/node-forge/lib/kem.cjs.map +1 -0
  101. package/dist/cjs/node_modules/node-forge/lib/log.cjs +248 -0
  102. package/dist/cjs/node_modules/node-forge/lib/log.cjs.map +1 -0
  103. package/dist/cjs/node_modules/node-forge/lib/md.all.cjs +31 -0
  104. package/dist/cjs/node_modules/node-forge/lib/md.all.cjs.map +1 -0
  105. package/dist/cjs/node_modules/node-forge/lib/md.cjs +25 -0
  106. package/dist/cjs/node_modules/node-forge/lib/md.cjs.map +1 -0
  107. package/dist/cjs/node_modules/node-forge/lib/md5.cjs +331 -0
  108. package/dist/cjs/node_modules/node-forge/lib/md5.cjs.map +1 -0
  109. package/dist/cjs/node_modules/node-forge/lib/mgf.cjs +27 -0
  110. package/dist/cjs/node_modules/node-forge/lib/mgf.cjs.map +1 -0
  111. package/dist/cjs/node_modules/node-forge/lib/mgf1.cjs +51 -0
  112. package/dist/cjs/node_modules/node-forge/lib/mgf1.cjs.map +1 -0
  113. package/dist/cjs/node_modules/node-forge/lib/oids.cjs +160 -0
  114. package/dist/cjs/node_modules/node-forge/lib/oids.cjs.map +1 -0
  115. package/dist/cjs/node_modules/node-forge/lib/pbe.cjs +822 -0
  116. package/dist/cjs/node_modules/node-forge/lib/pbe.cjs.map +1 -0
  117. package/dist/cjs/node_modules/node-forge/lib/pbkdf2.cjs +132 -0
  118. package/dist/cjs/node_modules/node-forge/lib/pbkdf2.cjs.map +1 -0
  119. package/dist/cjs/node_modules/node-forge/lib/pem.cjs +182 -0
  120. package/dist/cjs/node_modules/node-forge/lib/pem.cjs.map +1 -0
  121. package/dist/cjs/node_modules/node-forge/lib/pkcs1.cjs +207 -0
  122. package/dist/cjs/node_modules/node-forge/lib/pkcs1.cjs.map +1 -0
  123. package/dist/cjs/node_modules/node-forge/lib/pkcs12.cjs +730 -0
  124. package/dist/cjs/node_modules/node-forge/lib/pkcs12.cjs.map +1 -0
  125. package/dist/cjs/node_modules/node-forge/lib/pkcs7.cjs +648 -0
  126. package/dist/cjs/node_modules/node-forge/lib/pkcs7.cjs.map +1 -0
  127. package/dist/cjs/node_modules/node-forge/lib/pkcs7asn1.cjs +412 -0
  128. package/dist/cjs/node_modules/node-forge/lib/pkcs7asn1.cjs.map +1 -0
  129. package/dist/cjs/node_modules/node-forge/lib/pki.cjs +108 -0
  130. package/dist/cjs/node_modules/node-forge/lib/pki.cjs.map +1 -0
  131. package/dist/cjs/node_modules/node-forge/lib/prime.cjs +200 -0
  132. package/dist/cjs/node_modules/node-forge/lib/prime.cjs.map +1 -0
  133. package/dist/cjs/node_modules/node-forge/lib/prng.cjs +297 -0
  134. package/dist/cjs/node_modules/node-forge/lib/prng.cjs.map +1 -0
  135. package/dist/cjs/node_modules/node-forge/lib/pss.cjs +148 -0
  136. package/dist/cjs/node_modules/node-forge/lib/pss.cjs.map +1 -0
  137. package/dist/cjs/node_modules/node-forge/lib/random.cjs +148 -0
  138. package/dist/cjs/node_modules/node-forge/lib/random.cjs.map +1 -0
  139. package/dist/cjs/node_modules/node-forge/lib/rc2.cjs +545 -0
  140. package/dist/cjs/node_modules/node-forge/lib/rc2.cjs.map +1 -0
  141. package/dist/cjs/node_modules/node-forge/lib/rsa.cjs +1306 -0
  142. package/dist/cjs/node_modules/node-forge/lib/rsa.cjs.map +1 -0
  143. package/dist/cjs/node_modules/node-forge/lib/sha1.cjs +237 -0
  144. package/dist/cjs/node_modules/node-forge/lib/sha1.cjs.map +1 -0
  145. package/dist/cjs/node_modules/node-forge/lib/sha256.cjs +274 -0
  146. package/dist/cjs/node_modules/node-forge/lib/sha256.cjs.map +1 -0
  147. package/dist/cjs/node_modules/node-forge/lib/sha512.cjs +420 -0
  148. package/dist/cjs/node_modules/node-forge/lib/sha512.cjs.map +1 -0
  149. package/dist/cjs/node_modules/node-forge/lib/ssh.cjs +201 -0
  150. package/dist/cjs/node_modules/node-forge/lib/ssh.cjs.map +1 -0
  151. package/dist/cjs/node_modules/node-forge/lib/tls.cjs +3662 -0
  152. package/dist/cjs/node_modules/node-forge/lib/tls.cjs.map +1 -0
  153. package/dist/cjs/node_modules/node-forge/lib/util.cjs +2124 -0
  154. package/dist/cjs/node_modules/node-forge/lib/util.cjs.map +1 -0
  155. package/dist/cjs/node_modules/node-forge/lib/x509.cjs +2171 -0
  156. package/dist/cjs/node_modules/node-forge/lib/x509.cjs.map +1 -0
  157. package/dist/cjs/node_modules/node-rsa/src/NodeRSA.cjs +341 -0
  158. package/dist/cjs/node_modules/node-rsa/src/NodeRSA.cjs.map +1 -0
  159. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/encryptEngines.cjs +26 -0
  160. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/encryptEngines.cjs.map +1 -0
  161. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/io.cjs +65 -0
  162. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/io.cjs.map +1 -0
  163. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/js.cjs +44 -0
  164. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/js.cjs.map +1 -0
  165. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/node12.cjs +49 -0
  166. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/node12.cjs.map +1 -0
  167. package/dist/cjs/node_modules/node-rsa/src/formats/components.cjs +55 -0
  168. package/dist/cjs/node_modules/node-rsa/src/formats/components.cjs.map +1 -0
  169. package/dist/cjs/node_modules/node-rsa/src/formats/formats.cjs +86 -0
  170. package/dist/cjs/node_modules/node-rsa/src/formats/formats.cjs.map +1 -0
  171. package/dist/cjs/node_modules/node-rsa/src/formats/openssh.cjs +177 -0
  172. package/dist/cjs/node_modules/node-rsa/src/formats/openssh.cjs.map +1 -0
  173. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs1.cjs +104 -0
  174. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs1.cjs.map +1 -0
  175. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs8.cjs +131 -0
  176. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs8.cjs.map +1 -0
  177. package/dist/cjs/node_modules/node-rsa/src/libs/jsbn.cjs +1347 -0
  178. package/dist/cjs/node_modules/node-rsa/src/libs/jsbn.cjs.map +1 -0
  179. package/dist/cjs/node_modules/node-rsa/src/libs/rsa.cjs +231 -0
  180. package/dist/cjs/node_modules/node-rsa/src/libs/rsa.cjs.map +1 -0
  181. package/dist/cjs/node_modules/node-rsa/src/schemes/oaep.cjs +123 -0
  182. package/dist/cjs/node_modules/node-rsa/src/schemes/oaep.cjs.map +1 -0
  183. package/dist/cjs/node_modules/node-rsa/src/schemes/pkcs1.cjs +175 -0
  184. package/dist/cjs/node_modules/node-rsa/src/schemes/pkcs1.cjs.map +1 -0
  185. package/dist/cjs/node_modules/node-rsa/src/schemes/pss.cjs +123 -0
  186. package/dist/cjs/node_modules/node-rsa/src/schemes/pss.cjs.map +1 -0
  187. package/dist/cjs/node_modules/node-rsa/src/schemes/schemes.cjs +28 -0
  188. package/dist/cjs/node_modules/node-rsa/src/schemes/schemes.cjs.map +1 -0
  189. package/dist/cjs/node_modules/node-rsa/src/utils.cjs +84 -0
  190. package/dist/cjs/node_modules/node-rsa/src/utils.cjs.map +1 -0
  191. package/dist/cjs/node_modules/pako/index.cjs +25 -0
  192. package/dist/cjs/node_modules/pako/index.cjs.map +1 -0
  193. package/dist/cjs/node_modules/pako/lib/deflate.cjs +311 -0
  194. package/dist/cjs/node_modules/pako/lib/deflate.cjs.map +1 -0
  195. package/dist/cjs/node_modules/pako/lib/inflate.cjs +317 -0
  196. package/dist/cjs/node_modules/pako/lib/inflate.cjs.map +1 -0
  197. package/dist/cjs/node_modules/pako/lib/utils/common.cjs +77 -0
  198. package/dist/cjs/node_modules/pako/lib/utils/common.cjs.map +1 -0
  199. package/dist/cjs/node_modules/pako/lib/utils/strings.cjs +131 -0
  200. package/dist/cjs/node_modules/pako/lib/utils/strings.cjs.map +1 -0
  201. package/dist/cjs/node_modules/pako/lib/zlib/adler32.cjs +29 -0
  202. package/dist/cjs/node_modules/pako/lib/zlib/adler32.cjs.map +1 -0
  203. package/dist/cjs/node_modules/pako/lib/zlib/constants.cjs +43 -0
  204. package/dist/cjs/node_modules/pako/lib/zlib/constants.cjs.map +1 -0
  205. package/dist/cjs/node_modules/pako/lib/zlib/crc32.cjs +31 -0
  206. package/dist/cjs/node_modules/pako/lib/zlib/crc32.cjs.map +1 -0
  207. package/dist/cjs/node_modules/pako/lib/zlib/deflate.cjs +889 -0
  208. package/dist/cjs/node_modules/pako/lib/zlib/deflate.cjs.map +1 -0
  209. package/dist/cjs/node_modules/pako/lib/zlib/gzheader.cjs +27 -0
  210. package/dist/cjs/node_modules/pako/lib/zlib/gzheader.cjs.map +1 -0
  211. package/dist/cjs/node_modules/pako/lib/zlib/inffast.cjs +227 -0
  212. package/dist/cjs/node_modules/pako/lib/zlib/inffast.cjs.map +1 -0
  213. package/dist/cjs/node_modules/pako/lib/zlib/inflate.cjs +1038 -0
  214. package/dist/cjs/node_modules/pako/lib/zlib/inflate.cjs.map +1 -0
  215. package/dist/cjs/node_modules/pako/lib/zlib/inftrees.cjs +278 -0
  216. package/dist/cjs/node_modules/pako/lib/zlib/inftrees.cjs.map +1 -0
  217. package/dist/cjs/node_modules/pako/lib/zlib/messages.cjs +25 -0
  218. package/dist/cjs/node_modules/pako/lib/zlib/messages.cjs.map +1 -0
  219. package/dist/cjs/node_modules/pako/lib/zlib/trees.cjs +626 -0
  220. package/dist/cjs/node_modules/pako/lib/zlib/trees.cjs.map +1 -0
  221. package/dist/cjs/node_modules/pako/lib/zlib/zstream.cjs +29 -0
  222. package/dist/cjs/node_modules/pako/lib/zlib/zstream.cjs.map +1 -0
  223. package/dist/cjs/node_modules/safer-buffer/safer.cjs +52 -0
  224. package/dist/cjs/node_modules/safer-buffer/safer.cjs.map +1 -0
  225. package/dist/cjs/node_modules/samlify/build/index.cjs +120 -0
  226. package/dist/cjs/node_modules/samlify/build/index.cjs.map +1 -0
  227. package/dist/cjs/node_modules/samlify/build/src/api.cjs +36 -0
  228. package/dist/cjs/node_modules/samlify/build/src/api.cjs.map +1 -0
  229. package/dist/cjs/node_modules/samlify/build/src/binding-post.cjs +507 -0
  230. package/dist/cjs/node_modules/samlify/build/src/binding-post.cjs.map +1 -0
  231. package/dist/cjs/node_modules/samlify/build/src/binding-redirect.cjs +342 -0
  232. package/dist/cjs/node_modules/samlify/build/src/binding-redirect.cjs.map +1 -0
  233. package/dist/cjs/node_modules/samlify/build/src/binding-simplesign.cjs +361 -0
  234. package/dist/cjs/node_modules/samlify/build/src/binding-simplesign.cjs.map +1 -0
  235. package/dist/cjs/node_modules/samlify/build/src/entity-idp.cjs +282 -0
  236. package/dist/cjs/node_modules/samlify/build/src/entity-idp.cjs.map +1 -0
  237. package/dist/cjs/node_modules/samlify/build/src/entity-sp.cjs +145 -0
  238. package/dist/cjs/node_modules/samlify/build/src/entity-sp.cjs.map +1 -0
  239. package/dist/cjs/node_modules/samlify/build/src/entity.cjs +256 -0
  240. package/dist/cjs/node_modules/samlify/build/src/entity.cjs.map +1 -0
  241. package/dist/cjs/node_modules/samlify/build/src/extractor.cjs +355 -0
  242. package/dist/cjs/node_modules/samlify/build/src/extractor.cjs.map +1 -0
  243. package/dist/cjs/node_modules/samlify/build/src/flow.cjs +392 -0
  244. package/dist/cjs/node_modules/samlify/build/src/flow.cjs.map +1 -0
  245. package/dist/cjs/node_modules/samlify/build/src/libsaml.cjs +547 -0
  246. package/dist/cjs/node_modules/samlify/build/src/libsaml.cjs.map +1 -0
  247. package/dist/cjs/node_modules/samlify/build/src/metadata-idp.cjs +174 -0
  248. package/dist/cjs/node_modules/samlify/build/src/metadata-idp.cjs.map +1 -0
  249. package/dist/cjs/node_modules/samlify/build/src/metadata-sp.cjs +217 -0
  250. package/dist/cjs/node_modules/samlify/build/src/metadata-sp.cjs.map +1 -0
  251. package/dist/cjs/node_modules/samlify/build/src/metadata.cjs +203 -0
  252. package/dist/cjs/node_modules/samlify/build/src/metadata.cjs.map +1 -0
  253. package/dist/cjs/node_modules/samlify/build/src/urn.cjs +228 -0
  254. package/dist/cjs/node_modules/samlify/build/src/urn.cjs.map +1 -0
  255. package/dist/cjs/node_modules/samlify/build/src/utility.cjs +280 -0
  256. package/dist/cjs/node_modules/samlify/build/src/utility.cjs.map +1 -0
  257. package/dist/cjs/node_modules/samlify/build/src/validator.cjs +56 -0
  258. package/dist/cjs/node_modules/samlify/build/src/validator.cjs.map +1 -0
  259. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/index.cjs +50 -0
  260. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/index.cjs.map +1 -0
  261. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/md5.cjs +25 -0
  262. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/md5.cjs.map +1 -0
  263. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/nil.cjs +18 -0
  264. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/nil.cjs.map +1 -0
  265. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/parse.cjs +42 -0
  266. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/parse.cjs.map +1 -0
  267. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/regex.cjs +18 -0
  268. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/regex.cjs.map +1 -0
  269. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/rng.cjs +28 -0
  270. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/rng.cjs.map +1 -0
  271. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/sha1.cjs +25 -0
  272. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/sha1.cjs.map +1 -0
  273. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/stringify.cjs +27 -0
  274. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/stringify.cjs.map +1 -0
  275. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v1.cjs +69 -0
  276. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v1.cjs.map +1 -0
  277. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v3.cjs +23 -0
  278. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v3.cjs.map +1 -0
  279. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v35.cjs +54 -0
  280. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v35.cjs.map +1 -0
  281. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v4.cjs +34 -0
  282. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v4.cjs.map +1 -0
  283. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v5.cjs +23 -0
  284. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v5.cjs.map +1 -0
  285. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/validate.cjs +23 -0
  286. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/validate.cjs.map +1 -0
  287. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/version.cjs +24 -0
  288. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/version.cjs.map +1 -0
  289. package/dist/cjs/node_modules/xml/lib/escapeForXML.cjs +27 -0
  290. package/dist/cjs/node_modules/xml/lib/escapeForXML.cjs.map +1 -0
  291. package/dist/cjs/node_modules/xml/lib/xml.cjs +186 -0
  292. package/dist/cjs/node_modules/xml/lib/xml.cjs.map +1 -0
  293. package/dist/cjs/node_modules/xml-crypto/lib/c14n-canonicalization.cjs +202 -0
  294. package/dist/cjs/node_modules/xml-crypto/lib/c14n-canonicalization.cjs.map +1 -0
  295. package/dist/cjs/node_modules/xml-crypto/lib/enveloped-signature.cjs +52 -0
  296. package/dist/cjs/node_modules/xml-crypto/lib/enveloped-signature.cjs.map +1 -0
  297. package/dist/cjs/node_modules/xml-crypto/lib/exclusive-canonicalization.cjs +223 -0
  298. package/dist/cjs/node_modules/xml-crypto/lib/exclusive-canonicalization.cjs.map +1 -0
  299. package/dist/cjs/node_modules/xml-crypto/lib/hash-algorithms.cjs +56 -0
  300. package/dist/cjs/node_modules/xml-crypto/lib/hash-algorithms.cjs.map +1 -0
  301. package/dist/cjs/node_modules/xml-crypto/lib/index.cjs +73 -0
  302. package/dist/cjs/node_modules/xml-crypto/lib/index.cjs.map +1 -0
  303. package/dist/cjs/node_modules/xml-crypto/lib/signature-algorithms.cjs +91 -0
  304. package/dist/cjs/node_modules/xml-crypto/lib/signature-algorithms.cjs.map +1 -0
  305. package/dist/cjs/node_modules/xml-crypto/lib/signed-xml.cjs +695 -0
  306. package/dist/cjs/node_modules/xml-crypto/lib/signed-xml.cjs.map +1 -0
  307. package/dist/cjs/node_modules/xml-crypto/lib/types.cjs +58 -0
  308. package/dist/cjs/node_modules/xml-crypto/lib/types.cjs.map +1 -0
  309. package/dist/cjs/node_modules/xml-crypto/lib/utils.cjs +213 -0
  310. package/dist/cjs/node_modules/xml-crypto/lib/utils.cjs.map +1 -0
  311. package/dist/cjs/node_modules/xml-crypto/node_modules/xpath/xpath.cjs +3445 -0
  312. package/dist/cjs/node_modules/xml-crypto/node_modules/xpath/xpath.cjs.map +1 -0
  313. package/dist/cjs/node_modules/xml-escape/index.cjs +30 -0
  314. package/dist/cjs/node_modules/xml-escape/index.cjs.map +1 -0
  315. package/dist/cjs/node_modules/xpath/xpath.cjs +3410 -0
  316. package/dist/cjs/node_modules/xpath/xpath.cjs.map +1 -0
  317. package/dist/cjs/node_modules/zod/v4/classic/errors.cjs +31 -0
  318. package/dist/cjs/node_modules/zod/v4/classic/errors.cjs.map +1 -0
  319. package/dist/cjs/node_modules/zod/v4/classic/iso.cjs +42 -0
  320. package/dist/cjs/node_modules/zod/v4/classic/iso.cjs.map +1 -0
  321. package/dist/cjs/node_modules/zod/v4/classic/parse.cjs +32 -0
  322. package/dist/cjs/node_modules/zod/v4/classic/parse.cjs.map +1 -0
  323. package/dist/cjs/node_modules/zod/v4/classic/schemas.cjs +527 -0
  324. package/dist/cjs/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
  325. package/dist/cjs/node_modules/zod/v4/core/api.cjs +443 -0
  326. package/dist/cjs/node_modules/zod/v4/core/api.cjs.map +1 -0
  327. package/dist/cjs/node_modules/zod/v4/core/checks.cjs +238 -0
  328. package/dist/cjs/node_modules/zod/v4/core/checks.cjs.map +1 -0
  329. package/dist/cjs/node_modules/zod/v4/core/core.cjs +63 -0
  330. package/dist/cjs/node_modules/zod/v4/core/core.cjs.map +1 -0
  331. package/dist/cjs/node_modules/zod/v4/core/doc.cjs +36 -0
  332. package/dist/cjs/node_modules/zod/v4/core/doc.cjs.map +1 -0
  333. package/dist/cjs/node_modules/zod/v4/core/errors.cjs +67 -0
  334. package/dist/cjs/node_modules/zod/v4/core/errors.cjs.map +1 -0
  335. package/dist/cjs/node_modules/zod/v4/core/parse.cjs +124 -0
  336. package/dist/cjs/node_modules/zod/v4/core/parse.cjs.map +1 -0
  337. package/dist/cjs/node_modules/zod/v4/core/regexes.cjs +87 -0
  338. package/dist/cjs/node_modules/zod/v4/core/regexes.cjs.map +1 -0
  339. package/dist/cjs/node_modules/zod/v4/core/registries.cjs +55 -0
  340. package/dist/cjs/node_modules/zod/v4/core/registries.cjs.map +1 -0
  341. package/dist/cjs/node_modules/zod/v4/core/schemas.cjs +1115 -0
  342. package/dist/cjs/node_modules/zod/v4/core/schemas.cjs.map +1 -0
  343. package/dist/cjs/node_modules/zod/v4/core/util.cjs +333 -0
  344. package/dist/cjs/node_modules/zod/v4/core/util.cjs.map +1 -0
  345. package/dist/cjs/node_modules/zod/v4/core/versions.cjs +12 -0
  346. package/dist/cjs/node_modules/zod/v4/core/versions.cjs.map +1 -0
  347. package/dist/cjs/schemas/user.schema.cjs +17 -0
  348. package/dist/cjs/schemas/user.schema.cjs.map +1 -1
  349. package/dist/cjs/services/dictionary.service.cjs +7 -31
  350. package/dist/cjs/services/dictionary.service.cjs.map +1 -1
  351. package/dist/cjs/services/email.service.cjs +13 -0
  352. package/dist/cjs/services/email.service.cjs.map +1 -1
  353. package/dist/cjs/types/user.types.cjs.map +1 -1
  354. package/dist/cjs/utils/auth/getAuth.cjs +60 -26
  355. package/dist/cjs/utils/auth/getAuth.cjs.map +1 -1
  356. package/dist/cjs/utils/mongoDB/connectDB.cjs.map +1 -1
  357. package/dist/esm/_virtual/rolldown_runtime.mjs +43 -0
  358. package/dist/esm/controllers/dictionary.controller.mjs +65 -42
  359. package/dist/esm/controllers/dictionary.controller.mjs.map +1 -1
  360. package/dist/esm/emails/MagicLinkEmail.mjs +239 -0
  361. package/dist/esm/emails/MagicLinkEmail.mjs.map +1 -0
  362. package/dist/esm/index.mjs +1 -1
  363. package/dist/esm/index.mjs.map +1 -1
  364. package/dist/esm/node_modules/@authenio/xml-encryption/lib/index.mjs +13 -0
  365. package/dist/esm/node_modules/@authenio/xml-encryption/lib/index.mjs.map +1 -0
  366. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.mjs +22 -0
  367. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.mjs.map +1 -0
  368. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.mjs +28 -0
  369. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.mjs.map +1 -0
  370. package/dist/esm/node_modules/@authenio/xml-encryption/lib/utils.mjs +35 -0
  371. package/dist/esm/node_modules/@authenio/xml-encryption/lib/utils.mjs.map +1 -0
  372. package/dist/esm/node_modules/@authenio/xml-encryption/lib/xmlenc.mjs +228 -0
  373. package/dist/esm/node_modules/@authenio/xml-encryption/lib/xmlenc.mjs.map +1 -0
  374. package/dist/esm/node_modules/@better-auth/sso/dist/index.mjs +1210 -0
  375. package/dist/esm/node_modules/@better-auth/sso/dist/index.mjs.map +1 -0
  376. package/dist/esm/node_modules/@better-fetch/fetch/dist/index.mjs +359 -0
  377. package/dist/esm/node_modules/@better-fetch/fetch/dist/index.mjs.map +1 -0
  378. package/dist/esm/node_modules/@xmldom/is-dom-node/dist/index.mjs +86 -0
  379. package/dist/esm/node_modules/@xmldom/is-dom-node/dist/index.mjs.map +1 -0
  380. package/dist/esm/node_modules/@xmldom/xmldom/lib/conventions.mjs +107 -0
  381. package/dist/esm/node_modules/@xmldom/xmldom/lib/conventions.mjs.map +1 -0
  382. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom-parser.mjs +245 -0
  383. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom-parser.mjs.map +1 -0
  384. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom.mjs +1306 -0
  385. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom.mjs.map +1 -0
  386. package/dist/esm/node_modules/@xmldom/xmldom/lib/entities.mjs +2173 -0
  387. package/dist/esm/node_modules/@xmldom/xmldom/lib/entities.mjs.map +1 -0
  388. package/dist/esm/node_modules/@xmldom/xmldom/lib/index.mjs +17 -0
  389. package/dist/esm/node_modules/@xmldom/xmldom/lib/index.mjs.map +1 -0
  390. package/dist/esm/node_modules/@xmldom/xmldom/lib/sax.mjs +496 -0
  391. package/dist/esm/node_modules/@xmldom/xmldom/lib/sax.mjs.map +1 -0
  392. package/dist/esm/node_modules/asn1/lib/ber/errors.mjs +17 -0
  393. package/dist/esm/node_modules/asn1/lib/ber/errors.mjs.map +1 -0
  394. package/dist/esm/node_modules/asn1/lib/ber/index.mjs +25 -0
  395. package/dist/esm/node_modules/asn1/lib/ber/index.mjs.map +1 -0
  396. package/dist/esm/node_modules/asn1/lib/ber/reader.mjs +164 -0
  397. package/dist/esm/node_modules/asn1/lib/ber/reader.mjs.map +1 -0
  398. package/dist/esm/node_modules/asn1/lib/ber/types.mjs +44 -0
  399. package/dist/esm/node_modules/asn1/lib/ber/types.mjs.map +1 -0
  400. package/dist/esm/node_modules/asn1/lib/ber/writer.mjs +220 -0
  401. package/dist/esm/node_modules/asn1/lib/ber/writer.mjs.map +1 -0
  402. package/dist/esm/node_modules/asn1/lib/index.mjs +18 -0
  403. package/dist/esm/node_modules/asn1/lib/index.mjs.map +1 -0
  404. package/dist/esm/node_modules/available-typed-arrays/index.mjs +20 -0
  405. package/dist/esm/node_modules/available-typed-arrays/index.mjs.map +1 -0
  406. package/dist/esm/node_modules/base64-js/index.mjs +95 -0
  407. package/dist/esm/node_modules/base64-js/index.mjs.map +1 -0
  408. package/dist/esm/node_modules/buffer/index.mjs +1114 -0
  409. package/dist/esm/node_modules/buffer/index.mjs.map +1 -0
  410. package/dist/esm/node_modules/call-bind/index.mjs +26 -0
  411. package/dist/esm/node_modules/call-bind/index.mjs.map +1 -0
  412. package/dist/esm/node_modules/call-bind-apply-helpers/actualApply.mjs +21 -0
  413. package/dist/esm/node_modules/call-bind-apply-helpers/actualApply.mjs.map +1 -0
  414. package/dist/esm/node_modules/call-bind-apply-helpers/applyBind.mjs +21 -0
  415. package/dist/esm/node_modules/call-bind-apply-helpers/applyBind.mjs.map +1 -0
  416. package/dist/esm/node_modules/call-bind-apply-helpers/functionApply.mjs +13 -0
  417. package/dist/esm/node_modules/call-bind-apply-helpers/functionApply.mjs.map +1 -0
  418. package/dist/esm/node_modules/call-bind-apply-helpers/functionCall.mjs +13 -0
  419. package/dist/esm/node_modules/call-bind-apply-helpers/functionCall.mjs.map +1 -0
  420. package/dist/esm/node_modules/call-bind-apply-helpers/index.mjs +24 -0
  421. package/dist/esm/node_modules/call-bind-apply-helpers/index.mjs.map +1 -0
  422. package/dist/esm/node_modules/call-bind-apply-helpers/reflectApply.mjs +13 -0
  423. package/dist/esm/node_modules/call-bind-apply-helpers/reflectApply.mjs.map +1 -0
  424. package/dist/esm/node_modules/call-bound/index.mjs +23 -0
  425. package/dist/esm/node_modules/call-bound/index.mjs.map +1 -0
  426. package/dist/esm/node_modules/camelcase/index.mjs +75 -0
  427. package/dist/esm/node_modules/camelcase/index.mjs.map +1 -0
  428. package/dist/esm/node_modules/define-data-property/index.mjs +41 -0
  429. package/dist/esm/node_modules/define-data-property/index.mjs.map +1 -0
  430. package/dist/esm/node_modules/dunder-proto/get.mjs +28 -0
  431. package/dist/esm/node_modules/dunder-proto/get.mjs.map +1 -0
  432. package/dist/esm/node_modules/es-define-property/index.mjs +19 -0
  433. package/dist/esm/node_modules/es-define-property/index.mjs.map +1 -0
  434. package/dist/esm/node_modules/es-errors/eval.mjs +13 -0
  435. package/dist/esm/node_modules/es-errors/eval.mjs.map +1 -0
  436. package/dist/esm/node_modules/es-errors/index.mjs +13 -0
  437. package/dist/esm/node_modules/es-errors/index.mjs.map +1 -0
  438. package/dist/esm/node_modules/es-errors/range.mjs +13 -0
  439. package/dist/esm/node_modules/es-errors/range.mjs.map +1 -0
  440. package/dist/esm/node_modules/es-errors/ref.mjs +13 -0
  441. package/dist/esm/node_modules/es-errors/ref.mjs.map +1 -0
  442. package/dist/esm/node_modules/es-errors/syntax.mjs +13 -0
  443. package/dist/esm/node_modules/es-errors/syntax.mjs.map +1 -0
  444. package/dist/esm/node_modules/es-errors/type.mjs +13 -0
  445. package/dist/esm/node_modules/es-errors/type.mjs.map +1 -0
  446. package/dist/esm/node_modules/es-errors/uri.mjs +13 -0
  447. package/dist/esm/node_modules/es-errors/uri.mjs.map +1 -0
  448. package/dist/esm/node_modules/es-object-atoms/index.mjs +13 -0
  449. package/dist/esm/node_modules/es-object-atoms/index.mjs.map +1 -0
  450. package/dist/esm/node_modules/escape-html/index.mjs +68 -0
  451. package/dist/esm/node_modules/escape-html/index.mjs.map +1 -0
  452. package/dist/esm/node_modules/fast-xml-parser/src/fxp.mjs +8 -0
  453. package/dist/esm/node_modules/fast-xml-parser/src/fxp.mjs.map +1 -0
  454. package/dist/esm/node_modules/fast-xml-parser/src/util.mjs +26 -0
  455. package/dist/esm/node_modules/fast-xml-parser/src/util.mjs.map +1 -0
  456. package/dist/esm/node_modules/fast-xml-parser/src/validator.mjs +243 -0
  457. package/dist/esm/node_modules/fast-xml-parser/src/validator.mjs.map +1 -0
  458. package/dist/esm/node_modules/for-each/index.mjs +43 -0
  459. package/dist/esm/node_modules/for-each/index.mjs.map +1 -0
  460. package/dist/esm/node_modules/function-bind/implementation.mjs +59 -0
  461. package/dist/esm/node_modules/function-bind/implementation.mjs.map +1 -0
  462. package/dist/esm/node_modules/function-bind/index.mjs +14 -0
  463. package/dist/esm/node_modules/function-bind/index.mjs.map +1 -0
  464. package/dist/esm/node_modules/generator-function/index.mjs +14 -0
  465. package/dist/esm/node_modules/generator-function/index.mjs.map +1 -0
  466. package/dist/esm/node_modules/get-intrinsic/index.mjs +358 -0
  467. package/dist/esm/node_modules/get-intrinsic/index.mjs.map +1 -0
  468. package/dist/esm/node_modules/get-proto/Object.getPrototypeOf.mjs +15 -0
  469. package/dist/esm/node_modules/get-proto/Object.getPrototypeOf.mjs.map +1 -0
  470. package/dist/esm/node_modules/get-proto/Reflect.getPrototypeOf.mjs +13 -0
  471. package/dist/esm/node_modules/get-proto/Reflect.getPrototypeOf.mjs.map +1 -0
  472. package/dist/esm/node_modules/get-proto/index.mjs +26 -0
  473. package/dist/esm/node_modules/get-proto/index.mjs.map +1 -0
  474. package/dist/esm/node_modules/gopd/gOPD.mjs +13 -0
  475. package/dist/esm/node_modules/gopd/gOPD.mjs.map +1 -0
  476. package/dist/esm/node_modules/gopd/index.mjs +20 -0
  477. package/dist/esm/node_modules/gopd/index.mjs.map +1 -0
  478. package/dist/esm/node_modules/has-property-descriptors/index.mjs +25 -0
  479. package/dist/esm/node_modules/has-property-descriptors/index.mjs.map +1 -0
  480. package/dist/esm/node_modules/has-symbols/index.mjs +22 -0
  481. package/dist/esm/node_modules/has-symbols/index.mjs.map +1 -0
  482. package/dist/esm/node_modules/has-symbols/shams.mjs +36 -0
  483. package/dist/esm/node_modules/has-symbols/shams.mjs.map +1 -0
  484. package/dist/esm/node_modules/has-tostringtag/shams.mjs +17 -0
  485. package/dist/esm/node_modules/has-tostringtag/shams.mjs.map +1 -0
  486. package/dist/esm/node_modules/hasown/index.mjs +17 -0
  487. package/dist/esm/node_modules/hasown/index.mjs.map +1 -0
  488. package/dist/esm/node_modules/ieee754/index.mjs +80 -0
  489. package/dist/esm/node_modules/ieee754/index.mjs.map +1 -0
  490. package/dist/esm/node_modules/inherits/inherits_browser.mjs +31 -0
  491. package/dist/esm/node_modules/inherits/inherits_browser.mjs.map +1 -0
  492. package/dist/esm/node_modules/is-arguments/index.mjs +31 -0
  493. package/dist/esm/node_modules/is-arguments/index.mjs.map +1 -0
  494. package/dist/esm/node_modules/is-callable/index.mjs +87 -0
  495. package/dist/esm/node_modules/is-callable/index.mjs.map +1 -0
  496. package/dist/esm/node_modules/is-generator-function/index.mjs +32 -0
  497. package/dist/esm/node_modules/is-generator-function/index.mjs.map +1 -0
  498. package/dist/esm/node_modules/is-regex/index.mjs +58 -0
  499. package/dist/esm/node_modules/is-regex/index.mjs.map +1 -0
  500. package/dist/esm/node_modules/is-typed-array/index.mjs +17 -0
  501. package/dist/esm/node_modules/is-typed-array/index.mjs.map +1 -0
  502. package/dist/esm/node_modules/jose/dist/webapi/lib/base64.mjs +12 -0
  503. package/dist/esm/node_modules/jose/dist/webapi/lib/base64.mjs.map +1 -0
  504. package/dist/esm/node_modules/jose/dist/webapi/lib/buffer_utils.mjs +8 -0
  505. package/dist/esm/node_modules/jose/dist/webapi/lib/buffer_utils.mjs.map +1 -0
  506. package/dist/esm/node_modules/jose/dist/webapi/lib/is_object.mjs +15 -0
  507. package/dist/esm/node_modules/jose/dist/webapi/lib/is_object.mjs.map +1 -0
  508. package/dist/esm/node_modules/jose/dist/webapi/util/base64url.mjs +19 -0
  509. package/dist/esm/node_modules/jose/dist/webapi/util/base64url.mjs.map +1 -0
  510. package/dist/esm/node_modules/jose/dist/webapi/util/decode_jwt.mjs +31 -0
  511. package/dist/esm/node_modules/jose/dist/webapi/util/decode_jwt.mjs.map +1 -0
  512. package/dist/esm/node_modules/jose/dist/webapi/util/errors.mjs +26 -0
  513. package/dist/esm/node_modules/jose/dist/webapi/util/errors.mjs.map +1 -0
  514. package/dist/esm/node_modules/math-intrinsics/abs.mjs +13 -0
  515. package/dist/esm/node_modules/math-intrinsics/abs.mjs.map +1 -0
  516. package/dist/esm/node_modules/math-intrinsics/floor.mjs +13 -0
  517. package/dist/esm/node_modules/math-intrinsics/floor.mjs.map +1 -0
  518. package/dist/esm/node_modules/math-intrinsics/isNaN.mjs +15 -0
  519. package/dist/esm/node_modules/math-intrinsics/isNaN.mjs.map +1 -0
  520. package/dist/esm/node_modules/math-intrinsics/max.mjs +13 -0
  521. package/dist/esm/node_modules/math-intrinsics/max.mjs.map +1 -0
  522. package/dist/esm/node_modules/math-intrinsics/min.mjs +13 -0
  523. package/dist/esm/node_modules/math-intrinsics/min.mjs.map +1 -0
  524. package/dist/esm/node_modules/math-intrinsics/pow.mjs +13 -0
  525. package/dist/esm/node_modules/math-intrinsics/pow.mjs.map +1 -0
  526. package/dist/esm/node_modules/math-intrinsics/round.mjs +13 -0
  527. package/dist/esm/node_modules/math-intrinsics/round.mjs.map +1 -0
  528. package/dist/esm/node_modules/math-intrinsics/sign.mjs +18 -0
  529. package/dist/esm/node_modules/math-intrinsics/sign.mjs.map +1 -0
  530. package/dist/esm/node_modules/node-forge/lib/aes.mjs +601 -0
  531. package/dist/esm/node_modules/node-forge/lib/aes.mjs.map +1 -0
  532. package/dist/esm/node_modules/node-forge/lib/aesCipherSuites.mjs +199 -0
  533. package/dist/esm/node_modules/node-forge/lib/aesCipherSuites.mjs.map +1 -0
  534. package/dist/esm/node_modules/node-forge/lib/asn1-validator.mjs +80 -0
  535. package/dist/esm/node_modules/node-forge/lib/asn1-validator.mjs.map +1 -0
  536. package/dist/esm/node_modules/node-forge/lib/asn1.mjs +942 -0
  537. package/dist/esm/node_modules/node-forge/lib/asn1.mjs.map +1 -0
  538. package/dist/esm/node_modules/node-forge/lib/baseN.mjs +141 -0
  539. package/dist/esm/node_modules/node-forge/lib/baseN.mjs.map +1 -0
  540. package/dist/esm/node_modules/node-forge/lib/cipher.mjs +190 -0
  541. package/dist/esm/node_modules/node-forge/lib/cipher.mjs.map +1 -0
  542. package/dist/esm/node_modules/node-forge/lib/cipherModes.mjs +601 -0
  543. package/dist/esm/node_modules/node-forge/lib/cipherModes.mjs.map +1 -0
  544. package/dist/esm/node_modules/node-forge/lib/des.mjs +1191 -0
  545. package/dist/esm/node_modules/node-forge/lib/des.mjs.map +1 -0
  546. package/dist/esm/node_modules/node-forge/lib/ed25519.mjs +1024 -0
  547. package/dist/esm/node_modules/node-forge/lib/ed25519.mjs.map +1 -0
  548. package/dist/esm/node_modules/node-forge/lib/forge.mjs +19 -0
  549. package/dist/esm/node_modules/node-forge/lib/forge.mjs.map +1 -0
  550. package/dist/esm/node_modules/node-forge/lib/hmac.mjs +111 -0
  551. package/dist/esm/node_modules/node-forge/lib/hmac.mjs.map +1 -0
  552. package/dist/esm/node_modules/node-forge/lib/index.mjs +70 -0
  553. package/dist/esm/node_modules/node-forge/lib/index.mjs.map +1 -0
  554. package/dist/esm/node_modules/node-forge/lib/jsbn.mjs +1260 -0
  555. package/dist/esm/node_modules/node-forge/lib/jsbn.mjs.map +1 -0
  556. package/dist/esm/node_modules/node-forge/lib/kem.mjs +150 -0
  557. package/dist/esm/node_modules/node-forge/lib/kem.mjs.map +1 -0
  558. package/dist/esm/node_modules/node-forge/lib/log.mjs +245 -0
  559. package/dist/esm/node_modules/node-forge/lib/log.mjs.map +1 -0
  560. package/dist/esm/node_modules/node-forge/lib/md.all.mjs +28 -0
  561. package/dist/esm/node_modules/node-forge/lib/md.all.mjs.map +1 -0
  562. package/dist/esm/node_modules/node-forge/lib/md.mjs +22 -0
  563. package/dist/esm/node_modules/node-forge/lib/md.mjs.map +1 -0
  564. package/dist/esm/node_modules/node-forge/lib/md5.mjs +328 -0
  565. package/dist/esm/node_modules/node-forge/lib/md5.mjs.map +1 -0
  566. package/dist/esm/node_modules/node-forge/lib/mgf.mjs +24 -0
  567. package/dist/esm/node_modules/node-forge/lib/mgf.mjs.map +1 -0
  568. package/dist/esm/node_modules/node-forge/lib/mgf1.mjs +48 -0
  569. package/dist/esm/node_modules/node-forge/lib/mgf1.mjs.map +1 -0
  570. package/dist/esm/node_modules/node-forge/lib/oids.mjs +157 -0
  571. package/dist/esm/node_modules/node-forge/lib/oids.mjs.map +1 -0
  572. package/dist/esm/node_modules/node-forge/lib/pbe.mjs +819 -0
  573. package/dist/esm/node_modules/node-forge/lib/pbe.mjs.map +1 -0
  574. package/dist/esm/node_modules/node-forge/lib/pbkdf2.mjs +130 -0
  575. package/dist/esm/node_modules/node-forge/lib/pbkdf2.mjs.map +1 -0
  576. package/dist/esm/node_modules/node-forge/lib/pem.mjs +179 -0
  577. package/dist/esm/node_modules/node-forge/lib/pem.mjs.map +1 -0
  578. package/dist/esm/node_modules/node-forge/lib/pkcs1.mjs +204 -0
  579. package/dist/esm/node_modules/node-forge/lib/pkcs1.mjs.map +1 -0
  580. package/dist/esm/node_modules/node-forge/lib/pkcs12.mjs +727 -0
  581. package/dist/esm/node_modules/node-forge/lib/pkcs12.mjs.map +1 -0
  582. package/dist/esm/node_modules/node-forge/lib/pkcs7.mjs +645 -0
  583. package/dist/esm/node_modules/node-forge/lib/pkcs7.mjs.map +1 -0
  584. package/dist/esm/node_modules/node-forge/lib/pkcs7asn1.mjs +409 -0
  585. package/dist/esm/node_modules/node-forge/lib/pkcs7asn1.mjs.map +1 -0
  586. package/dist/esm/node_modules/node-forge/lib/pki.mjs +105 -0
  587. package/dist/esm/node_modules/node-forge/lib/pki.mjs.map +1 -0
  588. package/dist/esm/node_modules/node-forge/lib/prime.mjs +197 -0
  589. package/dist/esm/node_modules/node-forge/lib/prime.mjs.map +1 -0
  590. package/dist/esm/node_modules/node-forge/lib/prng.mjs +295 -0
  591. package/dist/esm/node_modules/node-forge/lib/prng.mjs.map +1 -0
  592. package/dist/esm/node_modules/node-forge/lib/pss.mjs +145 -0
  593. package/dist/esm/node_modules/node-forge/lib/pss.mjs.map +1 -0
  594. package/dist/esm/node_modules/node-forge/lib/random.mjs +145 -0
  595. package/dist/esm/node_modules/node-forge/lib/random.mjs.map +1 -0
  596. package/dist/esm/node_modules/node-forge/lib/rc2.mjs +542 -0
  597. package/dist/esm/node_modules/node-forge/lib/rc2.mjs.map +1 -0
  598. package/dist/esm/node_modules/node-forge/lib/rsa.mjs +1304 -0
  599. package/dist/esm/node_modules/node-forge/lib/rsa.mjs.map +1 -0
  600. package/dist/esm/node_modules/node-forge/lib/sha1.mjs +234 -0
  601. package/dist/esm/node_modules/node-forge/lib/sha1.mjs.map +1 -0
  602. package/dist/esm/node_modules/node-forge/lib/sha256.mjs +271 -0
  603. package/dist/esm/node_modules/node-forge/lib/sha256.mjs.map +1 -0
  604. package/dist/esm/node_modules/node-forge/lib/sha512.mjs +417 -0
  605. package/dist/esm/node_modules/node-forge/lib/sha512.mjs.map +1 -0
  606. package/dist/esm/node_modules/node-forge/lib/ssh.mjs +198 -0
  607. package/dist/esm/node_modules/node-forge/lib/ssh.mjs.map +1 -0
  608. package/dist/esm/node_modules/node-forge/lib/tls.mjs +3659 -0
  609. package/dist/esm/node_modules/node-forge/lib/tls.mjs.map +1 -0
  610. package/dist/esm/node_modules/node-forge/lib/util.mjs +2121 -0
  611. package/dist/esm/node_modules/node-forge/lib/util.mjs.map +1 -0
  612. package/dist/esm/node_modules/node-forge/lib/x509.mjs +2168 -0
  613. package/dist/esm/node_modules/node-forge/lib/x509.mjs.map +1 -0
  614. package/dist/esm/node_modules/node-forge/lib.mjs +10 -0
  615. package/dist/esm/node_modules/node-forge/lib.mjs.map +1 -0
  616. package/dist/esm/node_modules/node-rsa/src/NodeRSA.mjs +338 -0
  617. package/dist/esm/node_modules/node-rsa/src/NodeRSA.mjs.map +1 -0
  618. package/dist/esm/node_modules/node-rsa/src/encryptEngines/encryptEngines.mjs +23 -0
  619. package/dist/esm/node_modules/node-rsa/src/encryptEngines/encryptEngines.mjs.map +1 -0
  620. package/dist/esm/node_modules/node-rsa/src/encryptEngines/io.mjs +62 -0
  621. package/dist/esm/node_modules/node-rsa/src/encryptEngines/io.mjs.map +1 -0
  622. package/dist/esm/node_modules/node-rsa/src/encryptEngines/js.mjs +41 -0
  623. package/dist/esm/node_modules/node-rsa/src/encryptEngines/js.mjs.map +1 -0
  624. package/dist/esm/node_modules/node-rsa/src/encryptEngines/node12.mjs +46 -0
  625. package/dist/esm/node_modules/node-rsa/src/encryptEngines/node12.mjs.map +1 -0
  626. package/dist/esm/node_modules/node-rsa/src/formats/components.mjs +52 -0
  627. package/dist/esm/node_modules/node-rsa/src/formats/components.mjs.map +1 -0
  628. package/dist/esm/node_modules/node-rsa/src/formats/formats.mjs +83 -0
  629. package/dist/esm/node_modules/node-rsa/src/formats/formats.mjs.map +1 -0
  630. package/dist/esm/node_modules/node-rsa/src/formats/openssh.mjs +174 -0
  631. package/dist/esm/node_modules/node-rsa/src/formats/openssh.mjs.map +1 -0
  632. package/dist/esm/node_modules/node-rsa/src/formats/pkcs1.mjs +101 -0
  633. package/dist/esm/node_modules/node-rsa/src/formats/pkcs1.mjs.map +1 -0
  634. package/dist/esm/node_modules/node-rsa/src/formats/pkcs8.mjs +128 -0
  635. package/dist/esm/node_modules/node-rsa/src/formats/pkcs8.mjs.map +1 -0
  636. package/dist/esm/node_modules/node-rsa/src/libs/jsbn.mjs +1344 -0
  637. package/dist/esm/node_modules/node-rsa/src/libs/jsbn.mjs.map +1 -0
  638. package/dist/esm/node_modules/node-rsa/src/libs/rsa.mjs +228 -0
  639. package/dist/esm/node_modules/node-rsa/src/libs/rsa.mjs.map +1 -0
  640. package/dist/esm/node_modules/node-rsa/src/schemes/oaep.mjs +120 -0
  641. package/dist/esm/node_modules/node-rsa/src/schemes/oaep.mjs.map +1 -0
  642. package/dist/esm/node_modules/node-rsa/src/schemes/pkcs1.mjs +172 -0
  643. package/dist/esm/node_modules/node-rsa/src/schemes/pkcs1.mjs.map +1 -0
  644. package/dist/esm/node_modules/node-rsa/src/schemes/pss.mjs +120 -0
  645. package/dist/esm/node_modules/node-rsa/src/schemes/pss.mjs.map +1 -0
  646. package/dist/esm/node_modules/node-rsa/src/schemes/schemes.mjs +25 -0
  647. package/dist/esm/node_modules/node-rsa/src/schemes/schemes.mjs.map +1 -0
  648. package/dist/esm/node_modules/node-rsa/src/utils.mjs +81 -0
  649. package/dist/esm/node_modules/node-rsa/src/utils.mjs.map +1 -0
  650. package/dist/esm/node_modules/pako/index.mjs +22 -0
  651. package/dist/esm/node_modules/pako/index.mjs.map +1 -0
  652. package/dist/esm/node_modules/pako/lib/deflate.mjs +308 -0
  653. package/dist/esm/node_modules/pako/lib/deflate.mjs.map +1 -0
  654. package/dist/esm/node_modules/pako/lib/inflate.mjs +314 -0
  655. package/dist/esm/node_modules/pako/lib/inflate.mjs.map +1 -0
  656. package/dist/esm/node_modules/pako/lib/utils/common.mjs +74 -0
  657. package/dist/esm/node_modules/pako/lib/utils/common.mjs.map +1 -0
  658. package/dist/esm/node_modules/pako/lib/utils/strings.mjs +128 -0
  659. package/dist/esm/node_modules/pako/lib/utils/strings.mjs.map +1 -0
  660. package/dist/esm/node_modules/pako/lib/zlib/adler32.mjs +26 -0
  661. package/dist/esm/node_modules/pako/lib/zlib/adler32.mjs.map +1 -0
  662. package/dist/esm/node_modules/pako/lib/zlib/constants.mjs +40 -0
  663. package/dist/esm/node_modules/pako/lib/zlib/constants.mjs.map +1 -0
  664. package/dist/esm/node_modules/pako/lib/zlib/crc32.mjs +28 -0
  665. package/dist/esm/node_modules/pako/lib/zlib/crc32.mjs.map +1 -0
  666. package/dist/esm/node_modules/pako/lib/zlib/deflate.mjs +886 -0
  667. package/dist/esm/node_modules/pako/lib/zlib/deflate.mjs.map +1 -0
  668. package/dist/esm/node_modules/pako/lib/zlib/gzheader.mjs +24 -0
  669. package/dist/esm/node_modules/pako/lib/zlib/gzheader.mjs.map +1 -0
  670. package/dist/esm/node_modules/pako/lib/zlib/inffast.mjs +224 -0
  671. package/dist/esm/node_modules/pako/lib/zlib/inffast.mjs.map +1 -0
  672. package/dist/esm/node_modules/pako/lib/zlib/inflate.mjs +1035 -0
  673. package/dist/esm/node_modules/pako/lib/zlib/inflate.mjs.map +1 -0
  674. package/dist/esm/node_modules/pako/lib/zlib/inftrees.mjs +275 -0
  675. package/dist/esm/node_modules/pako/lib/zlib/inftrees.mjs.map +1 -0
  676. package/dist/esm/node_modules/pako/lib/zlib/messages.mjs +22 -0
  677. package/dist/esm/node_modules/pako/lib/zlib/messages.mjs.map +1 -0
  678. package/dist/esm/node_modules/pako/lib/zlib/trees.mjs +623 -0
  679. package/dist/esm/node_modules/pako/lib/zlib/trees.mjs.map +1 -0
  680. package/dist/esm/node_modules/pako/lib/zlib/zstream.mjs +26 -0
  681. package/dist/esm/node_modules/pako/lib/zlib/zstream.mjs.map +1 -0
  682. package/dist/esm/node_modules/possible-typed-array-names/index.mjs +26 -0
  683. package/dist/esm/node_modules/possible-typed-array-names/index.mjs.map +1 -0
  684. package/dist/esm/node_modules/safe-regex-test/index.mjs +25 -0
  685. package/dist/esm/node_modules/safe-regex-test/index.mjs.map +1 -0
  686. package/dist/esm/node_modules/safer-buffer/safer.mjs +50 -0
  687. package/dist/esm/node_modules/safer-buffer/safer.mjs.map +1 -0
  688. package/dist/esm/node_modules/samlify/build/index.mjs +117 -0
  689. package/dist/esm/node_modules/samlify/build/index.mjs.map +1 -0
  690. package/dist/esm/node_modules/samlify/build/src/api.mjs +33 -0
  691. package/dist/esm/node_modules/samlify/build/src/api.mjs.map +1 -0
  692. package/dist/esm/node_modules/samlify/build/src/binding-post.mjs +504 -0
  693. package/dist/esm/node_modules/samlify/build/src/binding-post.mjs.map +1 -0
  694. package/dist/esm/node_modules/samlify/build/src/binding-redirect.mjs +339 -0
  695. package/dist/esm/node_modules/samlify/build/src/binding-redirect.mjs.map +1 -0
  696. package/dist/esm/node_modules/samlify/build/src/binding-simplesign.mjs +358 -0
  697. package/dist/esm/node_modules/samlify/build/src/binding-simplesign.mjs.map +1 -0
  698. package/dist/esm/node_modules/samlify/build/src/entity-idp.mjs +279 -0
  699. package/dist/esm/node_modules/samlify/build/src/entity-idp.mjs.map +1 -0
  700. package/dist/esm/node_modules/samlify/build/src/entity-sp.mjs +142 -0
  701. package/dist/esm/node_modules/samlify/build/src/entity-sp.mjs.map +1 -0
  702. package/dist/esm/node_modules/samlify/build/src/entity.mjs +253 -0
  703. package/dist/esm/node_modules/samlify/build/src/entity.mjs.map +1 -0
  704. package/dist/esm/node_modules/samlify/build/src/extractor.mjs +352 -0
  705. package/dist/esm/node_modules/samlify/build/src/extractor.mjs.map +1 -0
  706. package/dist/esm/node_modules/samlify/build/src/flow.mjs +389 -0
  707. package/dist/esm/node_modules/samlify/build/src/flow.mjs.map +1 -0
  708. package/dist/esm/node_modules/samlify/build/src/libsaml.mjs +544 -0
  709. package/dist/esm/node_modules/samlify/build/src/libsaml.mjs.map +1 -0
  710. package/dist/esm/node_modules/samlify/build/src/metadata-idp.mjs +171 -0
  711. package/dist/esm/node_modules/samlify/build/src/metadata-idp.mjs.map +1 -0
  712. package/dist/esm/node_modules/samlify/build/src/metadata-sp.mjs +214 -0
  713. package/dist/esm/node_modules/samlify/build/src/metadata-sp.mjs.map +1 -0
  714. package/dist/esm/node_modules/samlify/build/src/metadata.mjs +200 -0
  715. package/dist/esm/node_modules/samlify/build/src/metadata.mjs.map +1 -0
  716. package/dist/esm/node_modules/samlify/build/src/urn.mjs +225 -0
  717. package/dist/esm/node_modules/samlify/build/src/urn.mjs.map +1 -0
  718. package/dist/esm/node_modules/samlify/build/src/utility.mjs +277 -0
  719. package/dist/esm/node_modules/samlify/build/src/utility.mjs.map +1 -0
  720. package/dist/esm/node_modules/samlify/build/src/validator.mjs +53 -0
  721. package/dist/esm/node_modules/samlify/build/src/validator.mjs.map +1 -0
  722. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/index.mjs +39 -0
  723. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/index.mjs.map +1 -0
  724. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/md5.mjs +154 -0
  725. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/md5.mjs.map +1 -0
  726. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/nil.mjs +12 -0
  727. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/nil.mjs.map +1 -0
  728. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/parse.mjs +36 -0
  729. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/parse.mjs.map +1 -0
  730. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/regex.mjs +12 -0
  731. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/regex.mjs.map +1 -0
  732. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/rng.mjs +20 -0
  733. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/rng.mjs.map +1 -0
  734. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/sha1.mjs +101 -0
  735. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/sha1.mjs.map +1 -0
  736. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/stringify.mjs +22 -0
  737. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/stringify.mjs.map +1 -0
  738. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v1.mjs +63 -0
  739. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v1.mjs.map +1 -0
  740. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v3.mjs +17 -0
  741. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v3.mjs.map +1 -0
  742. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v35.mjs +48 -0
  743. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v35.mjs.map +1 -0
  744. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v4.mjs +28 -0
  745. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v4.mjs.map +1 -0
  746. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v5.mjs +17 -0
  747. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v5.mjs.map +1 -0
  748. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/validate.mjs +17 -0
  749. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/validate.mjs.map +1 -0
  750. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/version.mjs +18 -0
  751. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/version.mjs.map +1 -0
  752. package/dist/esm/node_modules/set-function-length/index.mjs +38 -0
  753. package/dist/esm/node_modules/set-function-length/index.mjs.map +1 -0
  754. package/dist/esm/node_modules/util/support/isBufferBrowser.mjs +14 -0
  755. package/dist/esm/node_modules/util/support/isBufferBrowser.mjs.map +1 -0
  756. package/dist/esm/node_modules/util/support/types.mjs +218 -0
  757. package/dist/esm/node_modules/util/support/types.mjs.map +1 -0
  758. package/dist/esm/node_modules/util/util.mjs +443 -0
  759. package/dist/esm/node_modules/util/util.mjs.map +1 -0
  760. package/dist/esm/node_modules/which-typed-array/index.mjs +93 -0
  761. package/dist/esm/node_modules/which-typed-array/index.mjs.map +1 -0
  762. package/dist/esm/node_modules/xml/lib/escapeForXML.mjs +24 -0
  763. package/dist/esm/node_modules/xml/lib/escapeForXML.mjs.map +1 -0
  764. package/dist/esm/node_modules/xml/lib/xml.mjs +183 -0
  765. package/dist/esm/node_modules/xml/lib/xml.mjs.map +1 -0
  766. package/dist/esm/node_modules/xml-crypto/lib/c14n-canonicalization.mjs +199 -0
  767. package/dist/esm/node_modules/xml-crypto/lib/c14n-canonicalization.mjs.map +1 -0
  768. package/dist/esm/node_modules/xml-crypto/lib/enveloped-signature.mjs +49 -0
  769. package/dist/esm/node_modules/xml-crypto/lib/enveloped-signature.mjs.map +1 -0
  770. package/dist/esm/node_modules/xml-crypto/lib/exclusive-canonicalization.mjs +220 -0
  771. package/dist/esm/node_modules/xml-crypto/lib/exclusive-canonicalization.mjs.map +1 -0
  772. package/dist/esm/node_modules/xml-crypto/lib/hash-algorithms.mjs +53 -0
  773. package/dist/esm/node_modules/xml-crypto/lib/hash-algorithms.mjs.map +1 -0
  774. package/dist/esm/node_modules/xml-crypto/lib/index.mjs +70 -0
  775. package/dist/esm/node_modules/xml-crypto/lib/index.mjs.map +1 -0
  776. package/dist/esm/node_modules/xml-crypto/lib/signature-algorithms.mjs +88 -0
  777. package/dist/esm/node_modules/xml-crypto/lib/signature-algorithms.mjs.map +1 -0
  778. package/dist/esm/node_modules/xml-crypto/lib/signed-xml.mjs +693 -0
  779. package/dist/esm/node_modules/xml-crypto/lib/signed-xml.mjs.map +1 -0
  780. package/dist/esm/node_modules/xml-crypto/lib/types.mjs +55 -0
  781. package/dist/esm/node_modules/xml-crypto/lib/types.mjs.map +1 -0
  782. package/dist/esm/node_modules/xml-crypto/lib/utils.mjs +210 -0
  783. package/dist/esm/node_modules/xml-crypto/lib/utils.mjs.map +1 -0
  784. package/dist/esm/node_modules/xml-crypto/node_modules/xpath/xpath.mjs +3442 -0
  785. package/dist/esm/node_modules/xml-crypto/node_modules/xpath/xpath.mjs.map +1 -0
  786. package/dist/esm/node_modules/xml-escape/index.mjs +27 -0
  787. package/dist/esm/node_modules/xml-escape/index.mjs.map +1 -0
  788. package/dist/esm/node_modules/xpath/xpath.mjs +3407 -0
  789. package/dist/esm/node_modules/xpath/xpath.mjs.map +1 -0
  790. package/dist/esm/node_modules/zod/v4/classic/errors.mjs +30 -0
  791. package/dist/esm/node_modules/zod/v4/classic/errors.mjs.map +1 -0
  792. package/dist/esm/node_modules/zod/v4/classic/iso.mjs +38 -0
  793. package/dist/esm/node_modules/zod/v4/classic/iso.mjs.map +1 -0
  794. package/dist/esm/node_modules/zod/v4/classic/parse.mjs +20 -0
  795. package/dist/esm/node_modules/zod/v4/classic/parse.mjs.map +1 -0
  796. package/dist/esm/node_modules/zod/v4/classic/schemas.mjs +519 -0
  797. package/dist/esm/node_modules/zod/v4/classic/schemas.mjs.map +1 -0
  798. package/dist/esm/node_modules/zod/v4/core/api.mjs +395 -0
  799. package/dist/esm/node_modules/zod/v4/core/api.mjs.map +1 -0
  800. package/dist/esm/node_modules/zod/v4/core/checks.mjs +226 -0
  801. package/dist/esm/node_modules/zod/v4/core/checks.mjs.map +1 -0
  802. package/dist/esm/node_modules/zod/v4/core/core.mjs +57 -0
  803. package/dist/esm/node_modules/zod/v4/core/core.mjs.map +1 -0
  804. package/dist/esm/node_modules/zod/v4/core/doc.mjs +34 -0
  805. package/dist/esm/node_modules/zod/v4/core/doc.mjs.map +1 -0
  806. package/dist/esm/node_modules/zod/v4/core/errors.mjs +63 -0
  807. package/dist/esm/node_modules/zod/v4/core/errors.mjs.map +1 -0
  808. package/dist/esm/node_modules/zod/v4/core/parse.mjs +110 -0
  809. package/dist/esm/node_modules/zod/v4/core/parse.mjs.map +1 -0
  810. package/dist/esm/node_modules/zod/v4/core/regexes.mjs +60 -0
  811. package/dist/esm/node_modules/zod/v4/core/regexes.mjs.map +1 -0
  812. package/dist/esm/node_modules/zod/v4/core/registries.mjs +53 -0
  813. package/dist/esm/node_modules/zod/v4/core/registries.mjs.map +1 -0
  814. package/dist/esm/node_modules/zod/v4/core/schemas.mjs +1069 -0
  815. package/dist/esm/node_modules/zod/v4/core/schemas.mjs.map +1 -0
  816. package/dist/esm/node_modules/zod/v4/core/util.mjs +302 -0
  817. package/dist/esm/node_modules/zod/v4/core/util.mjs.map +1 -0
  818. package/dist/esm/node_modules/zod/v4/core/versions.mjs +10 -0
  819. package/dist/esm/node_modules/zod/v4/core/versions.mjs.map +1 -0
  820. package/dist/esm/schemas/user.schema.mjs +17 -0
  821. package/dist/esm/schemas/user.schema.mjs.map +1 -1
  822. package/dist/esm/services/dictionary.service.mjs +8 -31
  823. package/dist/esm/services/dictionary.service.mjs.map +1 -1
  824. package/dist/esm/services/email.service.mjs +13 -0
  825. package/dist/esm/services/email.service.mjs.map +1 -1
  826. package/dist/esm/types/user.types.mjs.map +1 -1
  827. package/dist/esm/utils/auth/getAuth.mjs +61 -27
  828. package/dist/esm/utils/auth/getAuth.mjs.map +1 -1
  829. package/dist/esm/utils/mongoDB/connectDB.mjs.map +1 -1
  830. package/dist/types/MagicLinkEmail.d.ts +8 -0
  831. package/dist/types/MagicLinkEmail.d.ts.map +1 -0
  832. package/dist/types/controllers/ai.controller.d.ts.map +1 -1
  833. package/dist/types/controllers/dictionary.controller.d.ts +18 -5
  834. package/dist/types/controllers/dictionary.controller.d.ts.map +1 -1
  835. package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
  836. package/dist/types/controllers/stripe.controller.d.ts.map +1 -1
  837. package/dist/types/emails/InviteUserEmail.d.ts +4 -4
  838. package/dist/types/emails/MagicLinkEmail.d.ts +31 -0
  839. package/dist/types/emails/MagicLinkEmail.d.ts.map +1 -0
  840. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +4 -4
  841. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts.map +1 -1
  842. package/dist/types/emails/PasswordChangeConfirmation.d.ts +4 -4
  843. package/dist/types/emails/PasswordChangeConfirmation.d.ts.map +1 -1
  844. package/dist/types/emails/ResetUserPassword.d.ts +4 -4
  845. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +4 -4
  846. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts.map +1 -1
  847. package/dist/types/emails/SubscriptionPaymentError.d.ts +4 -4
  848. package/dist/types/emails/SubscriptionPaymentError.d.ts.map +1 -1
  849. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +4 -4
  850. package/dist/types/emails/ValidateUserEmail.d.ts +4 -4
  851. package/dist/types/emails/Welcome.d.ts +4 -4
  852. package/dist/types/export.d.ts +1 -3
  853. package/dist/types/models/dictionary.model.d.ts +4 -4
  854. package/dist/types/models/dictionary.model.d.ts.map +1 -1
  855. package/dist/types/models/discussion.model.d.ts +2 -2
  856. package/dist/types/models/discussion.model.d.ts.map +1 -1
  857. package/dist/types/models/oAuth2.model.d.ts +3 -3
  858. package/dist/types/models/oAuth2.model.d.ts.map +1 -1
  859. package/dist/types/routes/ai.routes.d.ts.map +1 -1
  860. package/dist/types/routes/newsletter.routes.d.ts.map +1 -1
  861. package/dist/types/schemas/dictionary.schema.d.ts +6 -6
  862. package/dist/types/schemas/discussion.schema.d.ts +6 -6
  863. package/dist/types/schemas/discussion.schema.d.ts.map +1 -1
  864. package/dist/types/schemas/oAuth2.schema.d.ts +5 -5
  865. package/dist/types/schemas/oAuth2.schema.d.ts.map +1 -1
  866. package/dist/types/schemas/organization.schema.d.ts +6 -6
  867. package/dist/types/schemas/session.schema.d.ts +6 -6
  868. package/dist/types/schemas/tag.schema.d.ts +6 -6
  869. package/dist/types/schemas/user.schema.d.ts +6 -6
  870. package/dist/types/schemas/user.schema.d.ts.map +1 -1
  871. package/dist/types/services/dictionary.service.d.ts +1 -12
  872. package/dist/types/services/dictionary.service.d.ts.map +1 -1
  873. package/dist/types/services/email.service.d.ts +21 -10
  874. package/dist/types/services/email.service.d.ts.map +1 -1
  875. package/dist/types/types/dictionary.types.d.ts +1 -0
  876. package/dist/types/types/dictionary.types.d.ts.map +1 -1
  877. package/dist/types/types/user.types.d.ts +1 -0
  878. package/dist/types/types/user.types.d.ts.map +1 -1
  879. package/dist/types/utils/auth/getAuth.d.ts.map +1 -1
  880. package/dist/types/utils/filtersAndPagination/getDictionaryFiltersAndPagination.d.ts +2 -2
  881. package/dist/types/utils/filtersAndPagination/getDiscussionFiltersAndPagination.d.ts +2 -2
  882. package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts +2 -2
  883. package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts +2 -2
  884. package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts +2 -2
  885. package/dist/types/utils/mongoDB/connectDB.d.ts +2 -2
  886. package/dist/types/utils/mongoDB/connectDB.d.ts.map +1 -1
  887. package/package.json +38 -33
  888. package/dist/assets/controllers/test.json +0 -4
  889. package/dist/cjs/routes/audit.routes.cjs +0 -35
  890. package/dist/cjs/routes/audit.routes.cjs.map +0 -1
  891. package/dist/cjs/schemas/audit.schema.cjs +0 -65
  892. package/dist/cjs/schemas/audit.schema.cjs.map +0 -1
  893. package/dist/cjs/services/audit.service.cjs +0 -49
  894. package/dist/cjs/services/audit.service.cjs.map +0 -1
  895. package/dist/cjs/types/audit.types.cjs +0 -0
  896. package/dist/esm/routes/audit.routes.mjs +0 -31
  897. package/dist/esm/routes/audit.routes.mjs.map +0 -1
  898. package/dist/esm/schemas/audit.schema.mjs +0 -63
  899. package/dist/esm/schemas/audit.schema.mjs.map +0 -1
  900. package/dist/esm/services/audit.service.mjs +0 -46
  901. package/dist/esm/services/audit.service.mjs.map +0 -1
  902. package/dist/esm/types/audit.types.mjs +0 -0
  903. package/dist/types/emails/index.d.ts.map +0 -1
  904. package/dist/types/export.d.ts.map +0 -1
  905. package/dist/types/index.d.ts.map +0 -1
  906. package/dist/types/routes/audit.routes.d.ts +0 -29
  907. package/dist/types/routes/audit.routes.d.ts.map +0 -1
  908. package/dist/types/schemas/audit.schema.d.ts +0 -19
  909. package/dist/types/schemas/audit.schema.d.ts.map +0 -1
  910. package/dist/types/services/audit.service.d.ts +0 -36
  911. package/dist/types/services/audit.service.d.ts.map +0 -1
  912. package/dist/types/types/audit.types.d.ts +0 -29
  913. package/dist/types/types/audit.types.d.ts.map +0 -1
  914. package/dist/types/utils/access.d.ts.map +0 -1
  915. package/dist/types/utils/errors/index.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["z.object","z.string","z.enum","saml","z.array","z.boolean","z.record","z.any"],"sources":["../../../../../../../../node_modules/@better-auth/sso/dist/index.mjs"],"sourcesContent":["import { generateState } from 'better-auth';\nimport { APIError, sessionMiddleware } from 'better-auth/api';\nimport { parseState, validateAuthorizationCode, validateToken, handleOAuthUserInfo, createAuthorizationURL } from 'better-auth/oauth2';\nimport { createAuthEndpoint } from 'better-auth/plugins';\nimport * as z from 'zod/v4';\nimport * as saml from 'samlify';\nimport { betterFetch, BetterFetchError } from '@better-fetch/fetch';\nimport { decodeJwt } from 'jose';\nimport { setSessionCookie } from 'better-auth/cookies';\nimport { XMLValidator } from 'fast-xml-parser';\n\nconst fastValidator = {\n async validate(xml) {\n const isValid = XMLValidator.validate(xml, {\n allowBooleanAttributes: true\n });\n if (isValid === true) return \"SUCCESS_VALIDATE_XML\";\n throw \"ERR_INVALID_XML\";\n }\n};\nsaml.setSchemaValidator(fastValidator);\nfunction safeJsonParse(value) {\n if (!value) return null;\n if (typeof value === \"object\") {\n return value;\n }\n if (typeof value === \"string\") {\n try {\n return JSON.parse(value);\n } catch (error) {\n throw new Error(\n `Failed to parse JSON: ${error instanceof Error ? error.message : \"Unknown error\"}`\n );\n }\n }\n return null;\n}\nconst sso = (options) => {\n return {\n id: \"sso\",\n endpoints: {\n spMetadata: createAuthEndpoint(\n \"/sso/saml2/sp/metadata\",\n {\n method: \"GET\",\n query: z.object({\n providerId: z.string(),\n format: z.enum([\"xml\", \"json\"]).default(\"xml\")\n }),\n metadata: {\n openapi: {\n summary: \"Get Service Provider metadata\",\n description: \"Returns the SAML metadata for the Service Provider\",\n responses: {\n \"200\": {\n description: \"SAML metadata in XML format\"\n }\n }\n }\n }\n },\n async (ctx) => {\n const provider = await ctx.context.adapter.findOne({\n model: \"ssoProvider\",\n where: [\n {\n field: \"providerId\",\n value: ctx.query.providerId\n }\n ]\n });\n if (!provider) {\n throw new APIError(\"NOT_FOUND\", {\n message: \"No provider found for the given providerId\"\n });\n }\n const parsedSamlConfig = safeJsonParse(\n provider.samlConfig\n );\n if (!parsedSamlConfig) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid SAML configuration\"\n });\n }\n const sp = parsedSamlConfig.spMetadata.metadata ? saml.ServiceProvider({\n metadata: parsedSamlConfig.spMetadata.metadata\n }) : saml.SPMetadata({\n entityID: parsedSamlConfig.spMetadata?.entityID || parsedSamlConfig.issuer,\n assertionConsumerService: [\n {\n Binding: \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n Location: parsedSamlConfig.callbackUrl || `${ctx.context.baseURL}/sso/saml2/sp/acs/${provider.id}`\n }\n ],\n wantMessageSigned: parsedSamlConfig.wantAssertionsSigned || false,\n nameIDFormat: parsedSamlConfig.identifierFormat ? [parsedSamlConfig.identifierFormat] : void 0\n });\n return new Response(sp.getMetadata(), {\n headers: {\n \"Content-Type\": \"application/xml\"\n }\n });\n }\n ),\n registerSSOProvider: createAuthEndpoint(\n \"/sso/register\",\n {\n method: \"POST\",\n body: z.object({\n providerId: z.string({}).meta({\n description: \"The ID of the provider. This is used to identify the provider during login and callback\"\n }),\n issuer: z.string({}).meta({\n description: \"The issuer of the provider\"\n }),\n domain: z.string({}).meta({\n description: \"The domain of the provider. This is used for email matching\"\n }),\n oidcConfig: z.object({\n clientId: z.string({}).meta({\n description: \"The client ID\"\n }),\n clientSecret: z.string({}).meta({\n description: \"The client secret\"\n }),\n authorizationEndpoint: z.string({}).meta({\n description: \"The authorization endpoint\"\n }).optional(),\n tokenEndpoint: z.string({}).meta({\n description: \"The token endpoint\"\n }).optional(),\n userInfoEndpoint: z.string({}).meta({\n description: \"The user info endpoint\"\n }).optional(),\n tokenEndpointAuthentication: z.enum([\"client_secret_post\", \"client_secret_basic\"]).optional(),\n jwksEndpoint: z.string({}).meta({\n description: \"The JWKS endpoint\"\n }).optional(),\n discoveryEndpoint: z.string().optional(),\n scopes: z.array(z.string(), {}).meta({\n description: \"The scopes to request. Defaults to ['openid', 'email', 'profile', 'offline_access']\"\n }).optional(),\n pkce: z.boolean({}).meta({\n description: \"Whether to use PKCE for the authorization flow\"\n }).default(true).optional(),\n mapping: z.object({\n id: z.string({}).meta({\n description: \"Field mapping for user ID (defaults to 'sub')\"\n }),\n email: z.string({}).meta({\n description: \"Field mapping for email (defaults to 'email')\"\n }),\n emailVerified: z.string({}).meta({\n description: \"Field mapping for email verification (defaults to 'email_verified')\"\n }).optional(),\n name: z.string({}).meta({\n description: \"Field mapping for name (defaults to 'name')\"\n }),\n image: z.string({}).meta({\n description: \"Field mapping for image (defaults to 'picture')\"\n }).optional(),\n extraFields: z.record(z.string(), z.any()).optional()\n }).optional()\n }).optional(),\n samlConfig: z.object({\n entryPoint: z.string({}).meta({\n description: \"The entry point of the provider\"\n }),\n cert: z.string({}).meta({\n description: \"The certificate of the provider\"\n }),\n callbackUrl: z.string({}).meta({\n description: \"The callback URL of the provider\"\n }),\n audience: z.string().optional(),\n idpMetadata: z.object({\n metadata: z.string().optional(),\n entityID: z.string().optional(),\n cert: z.string().optional(),\n privateKey: z.string().optional(),\n privateKeyPass: z.string().optional(),\n isAssertionEncrypted: z.boolean().optional(),\n encPrivateKey: z.string().optional(),\n encPrivateKeyPass: z.string().optional(),\n singleSignOnService: z.array(\n z.object({\n Binding: z.string().meta({\n description: \"The binding type for the SSO service\"\n }),\n Location: z.string().meta({\n description: \"The URL for the SSO service\"\n })\n })\n ).optional().meta({\n description: \"Single Sign-On service configuration\"\n })\n }).optional(),\n spMetadata: z.object({\n metadata: z.string().optional(),\n entityID: z.string().optional(),\n binding: z.string().optional(),\n privateKey: z.string().optional(),\n privateKeyPass: z.string().optional(),\n isAssertionEncrypted: z.boolean().optional(),\n encPrivateKey: z.string().optional(),\n encPrivateKeyPass: z.string().optional()\n }),\n wantAssertionsSigned: z.boolean().optional(),\n signatureAlgorithm: z.string().optional(),\n digestAlgorithm: z.string().optional(),\n identifierFormat: z.string().optional(),\n privateKey: z.string().optional(),\n decryptionPvk: z.string().optional(),\n additionalParams: z.record(z.string(), z.any()).optional(),\n mapping: z.object({\n id: z.string({}).meta({\n description: \"Field mapping for user ID (defaults to 'nameID')\"\n }),\n email: z.string({}).meta({\n description: \"Field mapping for email (defaults to 'email')\"\n }),\n emailVerified: z.string({}).meta({\n description: \"Field mapping for email verification\"\n }).optional(),\n name: z.string({}).meta({\n description: \"Field mapping for name (defaults to 'displayName')\"\n }),\n firstName: z.string({}).meta({\n description: \"Field mapping for first name (defaults to 'givenName')\"\n }).optional(),\n lastName: z.string({}).meta({\n description: \"Field mapping for last name (defaults to 'surname')\"\n }).optional(),\n extraFields: z.record(z.string(), z.any()).optional()\n }).optional()\n }).optional(),\n organizationId: z.string({}).meta({\n description: \"If organization plugin is enabled, the organization id to link the provider to\"\n }).optional(),\n overrideUserInfo: z.boolean({}).meta({\n description: \"Override user info with the provider info. Defaults to false\"\n }).default(false).optional()\n }),\n use: [sessionMiddleware],\n metadata: {\n openapi: {\n summary: \"Register an OIDC provider\",\n description: \"This endpoint is used to register an OIDC provider. This is used to configure the provider and link it to an organization\",\n responses: {\n \"200\": {\n description: \"OIDC provider created successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n issuer: {\n type: \"string\",\n format: \"uri\",\n description: \"The issuer URL of the provider\"\n },\n domain: {\n type: \"string\",\n description: \"The domain of the provider, used for email matching\"\n },\n oidcConfig: {\n type: \"object\",\n properties: {\n issuer: {\n type: \"string\",\n format: \"uri\",\n description: \"The issuer URL of the provider\"\n },\n pkce: {\n type: \"boolean\",\n description: \"Whether PKCE is enabled for the authorization flow\"\n },\n clientId: {\n type: \"string\",\n description: \"The client ID for the provider\"\n },\n clientSecret: {\n type: \"string\",\n description: \"The client secret for the provider\"\n },\n authorizationEndpoint: {\n type: \"string\",\n format: \"uri\",\n nullable: true,\n description: \"The authorization endpoint URL\"\n },\n discoveryEndpoint: {\n type: \"string\",\n format: \"uri\",\n description: \"The discovery endpoint URL\"\n },\n userInfoEndpoint: {\n type: \"string\",\n format: \"uri\",\n nullable: true,\n description: \"The user info endpoint URL\"\n },\n scopes: {\n type: \"array\",\n items: { type: \"string\" },\n nullable: true,\n description: \"The scopes requested from the provider\"\n },\n tokenEndpoint: {\n type: \"string\",\n format: \"uri\",\n nullable: true,\n description: \"The token endpoint URL\"\n },\n tokenEndpointAuthentication: {\n type: \"string\",\n enum: [\n \"client_secret_post\",\n \"client_secret_basic\"\n ],\n nullable: true,\n description: \"Authentication method for the token endpoint\"\n },\n jwksEndpoint: {\n type: \"string\",\n format: \"uri\",\n nullable: true,\n description: \"The JWKS endpoint URL\"\n },\n mapping: {\n type: \"object\",\n nullable: true,\n properties: {\n id: {\n type: \"string\",\n description: \"Field mapping for user ID (defaults to 'sub')\"\n },\n email: {\n type: \"string\",\n description: \"Field mapping for email (defaults to 'email')\"\n },\n emailVerified: {\n type: \"string\",\n nullable: true,\n description: \"Field mapping for email verification (defaults to 'email_verified')\"\n },\n name: {\n type: \"string\",\n description: \"Field mapping for name (defaults to 'name')\"\n },\n image: {\n type: \"string\",\n nullable: true,\n description: \"Field mapping for image (defaults to 'picture')\"\n },\n extraFields: {\n type: \"object\",\n additionalProperties: { type: \"string\" },\n nullable: true,\n description: \"Additional field mappings\"\n }\n },\n required: [\"id\", \"email\", \"name\"]\n }\n },\n required: [\n \"issuer\",\n \"pkce\",\n \"clientId\",\n \"clientSecret\",\n \"discoveryEndpoint\"\n ],\n description: \"OIDC configuration for the provider\"\n },\n organizationId: {\n type: \"string\",\n nullable: true,\n description: \"ID of the linked organization, if any\"\n },\n userId: {\n type: \"string\",\n description: \"ID of the user who registered the provider\"\n },\n providerId: {\n type: \"string\",\n description: \"Unique identifier for the provider\"\n },\n redirectURI: {\n type: \"string\",\n format: \"uri\",\n description: \"The redirect URI for the provider callback\"\n }\n },\n required: [\n \"issuer\",\n \"domain\",\n \"oidcConfig\",\n \"userId\",\n \"providerId\",\n \"redirectURI\"\n ]\n }\n }\n }\n }\n }\n }\n }\n },\n async (ctx) => {\n const user = ctx.context.session?.user;\n if (!user) {\n throw new APIError(\"UNAUTHORIZED\");\n }\n const limit = typeof options?.providersLimit === \"function\" ? await options.providersLimit(user) : options?.providersLimit ?? 10;\n if (!limit) {\n throw new APIError(\"FORBIDDEN\", {\n message: \"SSO provider registration is disabled\"\n });\n }\n const providers = await ctx.context.adapter.findMany({\n model: \"ssoProvider\",\n where: [{ field: \"userId\", value: user.id }]\n });\n if (providers.length >= limit) {\n throw new APIError(\"FORBIDDEN\", {\n message: \"You have reached the maximum number of SSO providers\"\n });\n }\n const body = ctx.body;\n const issuerValidator = z.string().url();\n if (issuerValidator.safeParse(body.issuer).error) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid issuer. Must be a valid URL\"\n });\n }\n if (ctx.body.organizationId) {\n const organization = await ctx.context.adapter.findOne({\n model: \"member\",\n where: [\n {\n field: \"userId\",\n value: user.id\n },\n {\n field: \"organizationId\",\n value: ctx.body.organizationId\n }\n ]\n });\n if (!organization) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"You are not a member of the organization\"\n });\n }\n }\n const existingProvider = await ctx.context.adapter.findOne({\n model: \"ssoProvider\",\n where: [\n {\n field: \"providerId\",\n value: body.providerId\n }\n ]\n });\n if (existingProvider) {\n ctx.context.logger.info(\n `SSO provider creation attempt with existing providerId: ${body.providerId}`\n );\n throw new APIError(\"UNPROCESSABLE_ENTITY\", {\n message: \"SSO provider with this providerId already exists\"\n });\n }\n const provider = await ctx.context.adapter.create({\n model: \"ssoProvider\",\n data: {\n issuer: body.issuer,\n domain: body.domain,\n oidcConfig: body.oidcConfig ? JSON.stringify({\n issuer: body.issuer,\n clientId: body.oidcConfig.clientId,\n clientSecret: body.oidcConfig.clientSecret,\n authorizationEndpoint: body.oidcConfig.authorizationEndpoint,\n tokenEndpoint: body.oidcConfig.tokenEndpoint,\n tokenEndpointAuthentication: body.oidcConfig.tokenEndpointAuthentication,\n jwksEndpoint: body.oidcConfig.jwksEndpoint,\n pkce: body.oidcConfig.pkce,\n discoveryEndpoint: body.oidcConfig.discoveryEndpoint || `${body.issuer}/.well-known/openid-configuration`,\n mapping: body.oidcConfig.mapping,\n scopes: body.oidcConfig.scopes,\n userInfoEndpoint: body.oidcConfig.userInfoEndpoint,\n overrideUserInfo: ctx.body.overrideUserInfo || options?.defaultOverrideUserInfo || false\n }) : null,\n samlConfig: body.samlConfig ? JSON.stringify({\n issuer: body.issuer,\n entryPoint: body.samlConfig.entryPoint,\n cert: body.samlConfig.cert,\n callbackUrl: body.samlConfig.callbackUrl,\n audience: body.samlConfig.audience,\n idpMetadata: body.samlConfig.idpMetadata,\n spMetadata: body.samlConfig.spMetadata,\n wantAssertionsSigned: body.samlConfig.wantAssertionsSigned,\n signatureAlgorithm: body.samlConfig.signatureAlgorithm,\n digestAlgorithm: body.samlConfig.digestAlgorithm,\n identifierFormat: body.samlConfig.identifierFormat,\n privateKey: body.samlConfig.privateKey,\n decryptionPvk: body.samlConfig.decryptionPvk,\n additionalParams: body.samlConfig.additionalParams,\n mapping: body.samlConfig.mapping\n }) : null,\n organizationId: body.organizationId,\n userId: ctx.context.session.user.id,\n providerId: body.providerId\n }\n });\n return ctx.json({\n ...provider,\n oidcConfig: JSON.parse(\n provider.oidcConfig\n ),\n samlConfig: JSON.parse(\n provider.samlConfig\n ),\n redirectURI: `${ctx.context.baseURL}/sso/callback/${provider.providerId}`\n });\n }\n ),\n signInSSO: createAuthEndpoint(\n \"/sign-in/sso\",\n {\n method: \"POST\",\n body: z.object({\n email: z.string({}).meta({\n description: \"The email address to sign in with. This is used to identify the issuer to sign in with. It's optional if the issuer is provided\"\n }).optional(),\n organizationSlug: z.string({}).meta({\n description: \"The slug of the organization to sign in with\"\n }).optional(),\n providerId: z.string({}).meta({\n description: \"The ID of the provider to sign in with. This can be provided instead of email or issuer\"\n }).optional(),\n domain: z.string({}).meta({\n description: \"The domain of the provider.\"\n }).optional(),\n callbackURL: z.string({}).meta({\n description: \"The URL to redirect to after login\"\n }),\n errorCallbackURL: z.string({}).meta({\n description: \"The URL to redirect to after login\"\n }).optional(),\n newUserCallbackURL: z.string({}).meta({\n description: \"The URL to redirect to after login if the user is new\"\n }).optional(),\n scopes: z.array(z.string(), {}).meta({\n description: \"Scopes to request from the provider.\"\n }).optional(),\n requestSignUp: z.boolean({}).meta({\n description: \"Explicitly request sign-up. Useful when disableImplicitSignUp is true for this provider\"\n }).optional(),\n providerType: z.enum([\"oidc\", \"saml\"]).optional()\n }),\n metadata: {\n openapi: {\n summary: \"Sign in with SSO provider\",\n description: \"This endpoint is used to sign in with an SSO provider. It redirects to the provider's authorization URL\",\n requestBody: {\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n email: {\n type: \"string\",\n description: \"The email address to sign in with. This is used to identify the issuer to sign in with. It's optional if the issuer is provided\"\n },\n issuer: {\n type: \"string\",\n description: \"The issuer identifier, this is the URL of the provider and can be used to verify the provider and identify the provider during login. It's optional if the email is provided\"\n },\n providerId: {\n type: \"string\",\n description: \"The ID of the provider to sign in with. This can be provided instead of email or issuer\"\n },\n callbackURL: {\n type: \"string\",\n description: \"The URL to redirect to after login\"\n },\n errorCallbackURL: {\n type: \"string\",\n description: \"The URL to redirect to after login\"\n },\n newUserCallbackURL: {\n type: \"string\",\n description: \"The URL to redirect to after login if the user is new\"\n }\n },\n required: [\"callbackURL\"]\n }\n }\n }\n },\n responses: {\n \"200\": {\n description: \"Authorization URL generated successfully for SSO sign-in\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n url: {\n type: \"string\",\n format: \"uri\",\n description: \"The authorization URL to redirect the user to for SSO sign-in\"\n },\n redirect: {\n type: \"boolean\",\n description: \"Indicates that the client should redirect to the provided URL\",\n enum: [true]\n }\n },\n required: [\"url\", \"redirect\"]\n }\n }\n }\n }\n }\n }\n }\n },\n async (ctx) => {\n const body = ctx.body;\n let { email, organizationSlug, providerId, domain } = body;\n if (!options?.defaultSSO?.length && !email && !organizationSlug && !domain && !providerId) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"email, organizationSlug, domain or providerId is required\"\n });\n }\n domain = body.domain || email?.split(\"@\")[1];\n let orgId = \"\";\n if (organizationSlug) {\n orgId = await ctx.context.adapter.findOne({\n model: \"organization\",\n where: [\n {\n field: \"slug\",\n value: organizationSlug\n }\n ]\n }).then((res) => {\n if (!res) {\n return \"\";\n }\n return res.id;\n });\n }\n let provider = null;\n if (options?.defaultSSO?.length) {\n const matchingDefault = providerId ? options.defaultSSO.find(\n (defaultProvider) => defaultProvider.providerId === providerId\n ) : options.defaultSSO.find(\n (defaultProvider) => defaultProvider.domain === domain\n );\n if (matchingDefault) {\n provider = {\n issuer: matchingDefault.samlConfig?.issuer || matchingDefault.oidcConfig?.issuer || \"\",\n providerId: matchingDefault.providerId,\n userId: \"default\",\n oidcConfig: matchingDefault.oidcConfig,\n samlConfig: matchingDefault.samlConfig\n };\n }\n }\n if (!providerId && !orgId && !domain) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"providerId, orgId or domain is required\"\n });\n }\n if (!provider) {\n provider = await ctx.context.adapter.findOne({\n model: \"ssoProvider\",\n where: [\n {\n field: providerId ? \"providerId\" : orgId ? \"organizationId\" : \"domain\",\n value: providerId || orgId || domain\n }\n ]\n }).then((res) => {\n if (!res) {\n return null;\n }\n return {\n ...res,\n oidcConfig: res.oidcConfig ? safeJsonParse(\n res.oidcConfig\n ) || void 0 : void 0,\n samlConfig: res.samlConfig ? safeJsonParse(\n res.samlConfig\n ) || void 0 : void 0\n };\n });\n }\n if (!provider) {\n throw new APIError(\"NOT_FOUND\", {\n message: \"No provider found for the issuer\"\n });\n }\n if (body.providerType) {\n if (body.providerType === \"oidc\" && !provider.oidcConfig) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"OIDC provider is not configured\"\n });\n }\n if (body.providerType === \"saml\" && !provider.samlConfig) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"SAML provider is not configured\"\n });\n }\n }\n if (provider.oidcConfig && body.providerType !== \"saml\") {\n const state = await generateState(ctx);\n const redirectURI = `${ctx.context.baseURL}/sso/callback/${provider.providerId}`;\n const authorizationURL = await createAuthorizationURL({\n id: provider.issuer,\n options: {\n clientId: provider.oidcConfig.clientId,\n clientSecret: provider.oidcConfig.clientSecret\n },\n redirectURI,\n state: state.state,\n codeVerifier: provider.oidcConfig.pkce ? state.codeVerifier : void 0,\n scopes: ctx.body.scopes || provider.oidcConfig.scopes || [\n \"openid\",\n \"email\",\n \"profile\",\n \"offline_access\"\n ],\n authorizationEndpoint: provider.oidcConfig.authorizationEndpoint\n });\n return ctx.json({\n url: authorizationURL.toString(),\n redirect: true\n });\n }\n if (provider.samlConfig) {\n const parsedSamlConfig = typeof provider.samlConfig === \"object\" ? provider.samlConfig : safeJsonParse(\n provider.samlConfig\n );\n if (!parsedSamlConfig) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid SAML configuration\"\n });\n }\n const sp = saml.ServiceProvider({\n metadata: parsedSamlConfig.spMetadata.metadata,\n allowCreate: true\n });\n const idp = saml.IdentityProvider({\n metadata: parsedSamlConfig.idpMetadata?.metadata,\n entityID: parsedSamlConfig.idpMetadata?.entityID,\n encryptCert: parsedSamlConfig.idpMetadata?.cert,\n singleSignOnService: parsedSamlConfig.idpMetadata?.singleSignOnService\n });\n const loginRequest = sp.createLoginRequest(\n idp,\n \"redirect\"\n );\n if (!loginRequest) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid SAML request\"\n });\n }\n return ctx.json({\n url: `${loginRequest.context}&RelayState=${encodeURIComponent(\n body.callbackURL\n )}`,\n redirect: true\n });\n }\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid SSO provider\"\n });\n }\n ),\n callbackSSO: createAuthEndpoint(\n \"/sso/callback/:providerId\",\n {\n method: \"GET\",\n query: z.object({\n code: z.string().optional(),\n state: z.string(),\n error: z.string().optional(),\n error_description: z.string().optional()\n }),\n metadata: {\n isAction: false,\n openapi: {\n summary: \"Callback URL for SSO provider\",\n description: \"This endpoint is used as the callback URL for SSO providers. It handles the authorization code and exchanges it for an access token\",\n responses: {\n \"302\": {\n description: \"Redirects to the callback URL\"\n }\n }\n }\n }\n },\n async (ctx) => {\n const { code, state, error, error_description } = ctx.query;\n const stateData = await parseState(ctx);\n if (!stateData) {\n const errorURL2 = ctx.context.options.onAPIError?.errorURL || `${ctx.context.baseURL}/error`;\n throw ctx.redirect(`${errorURL2}?error=invalid_state`);\n }\n const { callbackURL, errorURL, newUserURL, requestSignUp } = stateData;\n if (!code || error) {\n throw ctx.redirect(\n `${errorURL || callbackURL}?error=${error}&error_description=${error_description}`\n );\n }\n let provider = null;\n if (options?.defaultSSO?.length) {\n const matchingDefault = options.defaultSSO.find(\n (defaultProvider) => defaultProvider.providerId === ctx.params.providerId\n );\n if (matchingDefault) {\n provider = {\n ...matchingDefault,\n issuer: matchingDefault.oidcConfig?.issuer || \"\",\n userId: \"default\"\n };\n }\n }\n if (!provider) {\n provider = await ctx.context.adapter.findOne({\n model: \"ssoProvider\",\n where: [\n {\n field: \"providerId\",\n value: ctx.params.providerId\n }\n ]\n }).then((res) => {\n if (!res) {\n return null;\n }\n return {\n ...res,\n oidcConfig: safeJsonParse(res.oidcConfig) || void 0\n };\n });\n }\n if (!provider) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=provider not found`\n );\n }\n let config = provider.oidcConfig;\n if (!config) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=provider not found`\n );\n }\n const discovery = await betterFetch(config.discoveryEndpoint);\n if (discovery.data) {\n config = {\n tokenEndpoint: discovery.data.token_endpoint,\n tokenEndpointAuthentication: discovery.data.token_endpoint_auth_method,\n userInfoEndpoint: discovery.data.userinfo_endpoint,\n scopes: [\"openid\", \"email\", \"profile\", \"offline_access\"],\n ...config\n };\n }\n if (!config.tokenEndpoint) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=token_endpoint_not_found`\n );\n }\n const tokenResponse = await validateAuthorizationCode({\n code,\n codeVerifier: config.pkce ? stateData.codeVerifier : void 0,\n redirectURI: `${ctx.context.baseURL}/sso/callback/${provider.providerId}`,\n options: {\n clientId: config.clientId,\n clientSecret: config.clientSecret\n },\n tokenEndpoint: config.tokenEndpoint,\n authentication: config.tokenEndpointAuthentication === \"client_secret_post\" ? \"post\" : \"basic\"\n }).catch((e) => {\n if (e instanceof BetterFetchError) {\n throw ctx.redirect(\n `${errorURL || callbackURL}?error=invalid_provider&error_description=${e.message}`\n );\n }\n return null;\n });\n if (!tokenResponse) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=token_response_not_found`\n );\n }\n let userInfo = null;\n if (tokenResponse.idToken) {\n const idToken = decodeJwt(tokenResponse.idToken);\n if (!config.jwksEndpoint) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=jwks_endpoint_not_found`\n );\n }\n const verified = await validateToken(\n tokenResponse.idToken,\n config.jwksEndpoint\n ).catch((e) => {\n ctx.context.logger.error(e);\n return null;\n });\n if (!verified) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=token_not_verified`\n );\n }\n if (verified.payload.iss !== provider.issuer) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=issuer_mismatch`\n );\n }\n const mapping = config.mapping || {};\n userInfo = {\n ...Object.fromEntries(\n Object.entries(mapping.extraFields || {}).map(\n ([key, value]) => [key, verified.payload[value]]\n )\n ),\n id: idToken[mapping.id || \"sub\"],\n email: idToken[mapping.email || \"email\"],\n emailVerified: options?.trustEmailVerified ? idToken[mapping.emailVerified || \"email_verified\"] : false,\n name: idToken[mapping.name || \"name\"],\n image: idToken[mapping.image || \"picture\"]\n };\n }\n if (!userInfo) {\n if (!config.userInfoEndpoint) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=user_info_endpoint_not_found`\n );\n }\n const userInfoResponse = await betterFetch(config.userInfoEndpoint, {\n headers: {\n Authorization: `Bearer ${tokenResponse.accessToken}`\n }\n });\n if (userInfoResponse.error) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=${userInfoResponse.error.message}`\n );\n }\n userInfo = userInfoResponse.data;\n }\n if (!userInfo.email || !userInfo.id) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=invalid_provider&error_description=missing_user_info`\n );\n }\n const linked = await handleOAuthUserInfo(ctx, {\n userInfo: {\n email: userInfo.email,\n name: userInfo.name || userInfo.email,\n id: userInfo.id,\n image: userInfo.image,\n emailVerified: options?.trustEmailVerified ? userInfo.emailVerified || false : false\n },\n account: {\n idToken: tokenResponse.idToken,\n accessToken: tokenResponse.accessToken,\n refreshToken: tokenResponse.refreshToken,\n accountId: userInfo.id,\n providerId: provider.providerId,\n accessTokenExpiresAt: tokenResponse.accessTokenExpiresAt,\n refreshTokenExpiresAt: tokenResponse.refreshTokenExpiresAt,\n scope: tokenResponse.scopes?.join(\",\")\n },\n callbackURL,\n disableSignUp: options?.disableImplicitSignUp && !requestSignUp,\n overrideUserInfo: config.overrideUserInfo\n });\n if (linked.error) {\n throw ctx.redirect(\n `${errorURL || callbackURL}/error?error=${linked.error}`\n );\n }\n const { session, user } = linked.data;\n if (options?.provisionUser) {\n await options.provisionUser({\n user,\n userInfo,\n token: tokenResponse,\n provider\n });\n }\n if (provider.organizationId && !options?.organizationProvisioning?.disabled) {\n const isOrgPluginEnabled = ctx.context.options.plugins?.find(\n (plugin) => plugin.id === \"organization\"\n );\n if (isOrgPluginEnabled) {\n const isAlreadyMember = await ctx.context.adapter.findOne({\n model: \"member\",\n where: [\n { field: \"organizationId\", value: provider.organizationId },\n { field: \"userId\", value: user.id }\n ]\n });\n if (!isAlreadyMember) {\n const role = options?.organizationProvisioning?.getRole ? await options.organizationProvisioning.getRole({\n user,\n userInfo,\n token: tokenResponse,\n provider\n }) : options?.organizationProvisioning?.defaultRole || \"member\";\n await ctx.context.adapter.create({\n model: \"member\",\n data: {\n organizationId: provider.organizationId,\n userId: user.id,\n role,\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date()\n }\n });\n }\n }\n }\n await setSessionCookie(ctx, {\n session,\n user\n });\n let toRedirectTo;\n try {\n const url = linked.isRegister ? newUserURL || callbackURL : callbackURL;\n toRedirectTo = url.toString();\n } catch {\n toRedirectTo = linked.isRegister ? newUserURL || callbackURL : callbackURL;\n }\n throw ctx.redirect(toRedirectTo);\n }\n ),\n callbackSSOSAML: createAuthEndpoint(\n \"/sso/saml2/callback/:providerId\",\n {\n method: \"POST\",\n body: z.object({\n SAMLResponse: z.string(),\n RelayState: z.string().optional()\n }),\n metadata: {\n isAction: false,\n openapi: {\n summary: \"Callback URL for SAML provider\",\n description: \"This endpoint is used as the callback URL for SAML providers.\",\n responses: {\n \"302\": {\n description: \"Redirects to the callback URL\"\n },\n \"400\": {\n description: \"Invalid SAML response\"\n },\n \"401\": {\n description: \"Unauthorized - SAML authentication failed\"\n }\n }\n }\n }\n },\n async (ctx) => {\n const { SAMLResponse, RelayState } = ctx.body;\n const { providerId } = ctx.params;\n let provider = null;\n if (options?.defaultSSO?.length) {\n const matchingDefault = options.defaultSSO.find(\n (defaultProvider) => defaultProvider.providerId === providerId\n );\n if (matchingDefault) {\n provider = {\n ...matchingDefault,\n userId: \"default\",\n issuer: matchingDefault.samlConfig?.issuer || \"\"\n };\n }\n }\n if (!provider) {\n provider = await ctx.context.adapter.findOne({\n model: \"ssoProvider\",\n where: [{ field: \"providerId\", value: providerId }]\n }).then((res) => {\n if (!res) return null;\n return {\n ...res,\n samlConfig: res.samlConfig ? safeJsonParse(\n res.samlConfig\n ) || void 0 : void 0\n };\n });\n }\n if (!provider) {\n throw new APIError(\"NOT_FOUND\", {\n message: \"No provider found for the given providerId\"\n });\n }\n const parsedSamlConfig = safeJsonParse(\n provider.samlConfig\n );\n if (!parsedSamlConfig) {\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid SAML configuration\"\n });\n }\n const idpData = parsedSamlConfig.idpMetadata;\n let idp = null;\n if (!idpData?.metadata) {\n idp = saml.IdentityProvider({\n entityID: idpData?.entityID || parsedSamlConfig.issuer,\n singleSignOnService: [\n {\n Binding: \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\n Location: parsedSamlConfig.entryPoint\n }\n ],\n signingCert: idpData?.cert || parsedSamlConfig.cert,\n wantAuthnRequestsSigned: parsedSamlConfig.wantAssertionsSigned || false,\n isAssertionEncrypted: idpData?.isAssertionEncrypted || false,\n encPrivateKey: idpData?.encPrivateKey,\n encPrivateKeyPass: idpData?.encPrivateKeyPass\n });\n } else {\n idp = saml.IdentityProvider({\n metadata: idpData.metadata,\n privateKey: idpData.privateKey,\n privateKeyPass: idpData.privateKeyPass,\n isAssertionEncrypted: idpData.isAssertionEncrypted,\n encPrivateKey: idpData.encPrivateKey,\n encPrivateKeyPass: idpData.encPrivateKeyPass\n });\n }\n const spData = parsedSamlConfig.spMetadata;\n const sp = saml.ServiceProvider({\n metadata: spData?.metadata,\n entityID: spData?.entityID || parsedSamlConfig.issuer,\n assertionConsumerService: spData?.metadata ? void 0 : [\n {\n Binding: \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n Location: parsedSamlConfig.callbackUrl\n }\n ],\n privateKey: spData?.privateKey || parsedSamlConfig.privateKey,\n privateKeyPass: spData?.privateKeyPass,\n isAssertionEncrypted: spData?.isAssertionEncrypted || false,\n encPrivateKey: spData?.encPrivateKey,\n encPrivateKeyPass: spData?.encPrivateKeyPass,\n wantMessageSigned: parsedSamlConfig.wantAssertionsSigned || false,\n nameIDFormat: parsedSamlConfig.identifierFormat ? [parsedSamlConfig.identifierFormat] : void 0\n });\n let parsedResponse;\n try {\n const decodedResponse = Buffer.from(\n SAMLResponse,\n \"base64\"\n ).toString(\"utf-8\");\n try {\n parsedResponse = await sp.parseLoginResponse(idp, \"post\", {\n body: {\n SAMLResponse,\n RelayState: RelayState || void 0\n }\n });\n } catch (parseError) {\n const nameIDMatch = decodedResponse.match(\n /<saml2:NameID[^>]*>([^<]+)<\\/saml2:NameID>/\n );\n if (!nameIDMatch) throw parseError;\n parsedResponse = {\n extract: {\n nameID: nameIDMatch[1],\n attributes: { nameID: nameIDMatch[1] },\n sessionIndex: {},\n conditions: {}\n }\n };\n }\n if (!parsedResponse?.extract) {\n throw new Error(\"Invalid SAML response structure\");\n }\n } catch (error) {\n ctx.context.logger.error(\"SAML response validation failed\", {\n error,\n decodedResponse: Buffer.from(SAMLResponse, \"base64\").toString(\n \"utf-8\"\n )\n });\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid SAML response\",\n details: error instanceof Error ? error.message : String(error)\n });\n }\n const { extract } = parsedResponse;\n const attributes = extract.attributes || {};\n const mapping = parsedSamlConfig.mapping ?? {};\n const userInfo = {\n ...Object.fromEntries(\n Object.entries(mapping.extraFields || {}).map(([key, value]) => [\n key,\n attributes[value]\n ])\n ),\n id: attributes[mapping.id || \"nameID\"] || extract.nameID,\n email: attributes[mapping.email || \"email\"] || extract.nameID,\n name: [\n attributes[mapping.firstName || \"givenName\"],\n attributes[mapping.lastName || \"surname\"]\n ].filter(Boolean).join(\" \") || attributes[mapping.name || \"displayName\"] || extract.nameID,\n emailVerified: options?.trustEmailVerified && mapping.emailVerified ? attributes[mapping.emailVerified] || false : false\n };\n if (!userInfo.id || !userInfo.email) {\n ctx.context.logger.error(\n \"Missing essential user info from SAML response\",\n {\n attributes: Object.keys(attributes),\n mapping,\n extractedId: userInfo.id,\n extractedEmail: userInfo.email\n }\n );\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Unable to extract user ID or email from SAML response\"\n });\n }\n let user;\n const existingUser = await ctx.context.adapter.findOne({\n model: \"user\",\n where: [\n {\n field: \"email\",\n value: userInfo.email\n }\n ]\n });\n if (existingUser) {\n user = existingUser;\n } else {\n user = await ctx.context.adapter.create({\n model: \"user\",\n data: {\n email: userInfo.email,\n name: userInfo.name,\n emailVerified: userInfo.emailVerified,\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date()\n }\n });\n }\n const account = await ctx.context.adapter.findOne({\n model: \"account\",\n where: [\n { field: \"userId\", value: user.id },\n { field: \"providerId\", value: provider.providerId },\n { field: \"accountId\", value: userInfo.id }\n ]\n });\n if (!account) {\n await ctx.context.adapter.create({\n model: \"account\",\n data: {\n userId: user.id,\n providerId: provider.providerId,\n accountId: userInfo.id,\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date(),\n accessToken: \"\",\n refreshToken: \"\"\n }\n });\n }\n if (options?.provisionUser) {\n await options.provisionUser({\n user,\n userInfo,\n provider\n });\n }\n if (provider.organizationId && !options?.organizationProvisioning?.disabled) {\n const isOrgPluginEnabled = ctx.context.options.plugins?.find(\n (plugin) => plugin.id === \"organization\"\n );\n if (isOrgPluginEnabled) {\n const isAlreadyMember = await ctx.context.adapter.findOne({\n model: \"member\",\n where: [\n { field: \"organizationId\", value: provider.organizationId },\n { field: \"userId\", value: user.id }\n ]\n });\n if (!isAlreadyMember) {\n const role = options?.organizationProvisioning?.getRole ? await options.organizationProvisioning.getRole({\n user,\n userInfo,\n provider\n }) : options?.organizationProvisioning?.defaultRole || \"member\";\n await ctx.context.adapter.create({\n model: \"member\",\n data: {\n organizationId: provider.organizationId,\n userId: user.id,\n role,\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date()\n }\n });\n }\n }\n }\n let session = await ctx.context.internalAdapter.createSession(user.id, ctx);\n await setSessionCookie(ctx, { session, user });\n const callbackUrl = RelayState || parsedSamlConfig.callbackUrl || ctx.context.baseURL;\n throw ctx.redirect(callbackUrl);\n }\n ),\n acsEndpoint: createAuthEndpoint(\n \"/sso/saml2/sp/acs/:providerId\",\n {\n method: \"POST\",\n params: z.object({\n providerId: z.string().optional()\n }),\n body: z.object({\n SAMLResponse: z.string(),\n RelayState: z.string().optional()\n }),\n metadata: {\n isAction: false,\n openapi: {\n summary: \"SAML Assertion Consumer Service\",\n description: \"Handles SAML responses from IdP after successful authentication\",\n responses: {\n \"302\": {\n description: \"Redirects to the callback URL after successful authentication\"\n }\n }\n }\n }\n },\n async (ctx) => {\n const { SAMLResponse, RelayState = \"\" } = ctx.body;\n const { providerId } = ctx.params;\n let provider = null;\n if (options?.defaultSSO?.length) {\n const matchingDefault = providerId ? options.defaultSSO.find(\n (defaultProvider) => defaultProvider.providerId === providerId\n ) : options.defaultSSO[0];\n if (matchingDefault) {\n provider = {\n issuer: matchingDefault.samlConfig?.issuer || \"\",\n providerId: matchingDefault.providerId,\n userId: \"default\",\n samlConfig: matchingDefault.samlConfig\n };\n }\n } else {\n provider = await ctx.context.adapter.findOne({\n model: \"ssoProvider\",\n where: [\n {\n field: \"providerId\",\n value: providerId ?? \"sso\"\n }\n ]\n }).then((res) => {\n if (!res) return null;\n return {\n ...res,\n samlConfig: res.samlConfig ? safeJsonParse(\n res.samlConfig\n ) || void 0 : void 0\n };\n });\n }\n if (!provider?.samlConfig) {\n throw new APIError(\"NOT_FOUND\", {\n message: \"No SAML provider found\"\n });\n }\n const parsedSamlConfig = provider.samlConfig;\n const sp = saml.ServiceProvider({\n entityID: parsedSamlConfig.spMetadata?.entityID || parsedSamlConfig.issuer,\n assertionConsumerService: [\n {\n Binding: \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n Location: parsedSamlConfig.callbackUrl || `${ctx.context.baseURL}/sso/saml2/sp/acs/${providerId}`\n }\n ],\n wantMessageSigned: parsedSamlConfig.wantAssertionsSigned || false,\n metadata: parsedSamlConfig.spMetadata?.metadata,\n privateKey: parsedSamlConfig.spMetadata?.privateKey || parsedSamlConfig.privateKey,\n privateKeyPass: parsedSamlConfig.spMetadata?.privateKeyPass,\n nameIDFormat: parsedSamlConfig.identifierFormat ? [parsedSamlConfig.identifierFormat] : void 0\n });\n const idpData = parsedSamlConfig.idpMetadata;\n const idp = !idpData?.metadata ? saml.IdentityProvider({\n entityID: idpData?.entityID || parsedSamlConfig.issuer,\n singleSignOnService: idpData?.singleSignOnService || [\n {\n Binding: \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\",\n Location: parsedSamlConfig.entryPoint\n }\n ],\n signingCert: idpData?.cert || parsedSamlConfig.cert\n }) : saml.IdentityProvider({\n metadata: idpData.metadata\n });\n let parsedResponse;\n try {\n let decodedResponse = Buffer.from(SAMLResponse, \"base64\").toString(\n \"utf-8\"\n );\n if (!decodedResponse.includes(\"StatusCode\")) {\n const insertPoint = decodedResponse.indexOf(\"</saml2:Issuer>\");\n if (insertPoint !== -1) {\n decodedResponse = decodedResponse.slice(0, insertPoint + 14) + '<saml2:Status><saml2:StatusCode Value=\"urn:oasis:names:tc:SAML:2.0:status:Success\"/></saml2:Status>' + decodedResponse.slice(insertPoint + 14);\n }\n } else if (!decodedResponse.includes(\"saml2:Success\")) {\n decodedResponse = decodedResponse.replace(\n /<saml2:StatusCode Value=\"[^\"]+\"/,\n '<saml2:StatusCode Value=\"urn:oasis:names:tc:SAML:2.0:status:Success\"'\n );\n }\n try {\n parsedResponse = await sp.parseLoginResponse(idp, \"post\", {\n body: {\n SAMLResponse,\n RelayState: RelayState || void 0\n }\n });\n } catch (parseError) {\n const nameIDMatch = decodedResponse.match(\n /<saml2:NameID[^>]*>([^<]+)<\\/saml2:NameID>/\n );\n if (!nameIDMatch) throw parseError;\n parsedResponse = {\n extract: {\n nameID: nameIDMatch[1],\n attributes: { nameID: nameIDMatch[1] },\n sessionIndex: {},\n conditions: {}\n }\n };\n }\n if (!parsedResponse?.extract) {\n throw new Error(\"Invalid SAML response structure\");\n }\n } catch (error) {\n ctx.context.logger.error(\"SAML response validation failed\", {\n error,\n decodedResponse: Buffer.from(SAMLResponse, \"base64\").toString(\n \"utf-8\"\n )\n });\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Invalid SAML response\",\n details: error instanceof Error ? error.message : String(error)\n });\n }\n const { extract } = parsedResponse;\n const attributes = extract.attributes || {};\n const mapping = parsedSamlConfig.mapping ?? {};\n const userInfo = {\n ...Object.fromEntries(\n Object.entries(mapping.extraFields || {}).map(([key, value]) => [\n key,\n attributes[value]\n ])\n ),\n id: attributes[mapping.id || \"nameID\"] || extract.nameID,\n email: attributes[mapping.email || \"email\"] || extract.nameID,\n name: [\n attributes[mapping.firstName || \"givenName\"],\n attributes[mapping.lastName || \"surname\"]\n ].filter(Boolean).join(\" \") || attributes[mapping.name || \"displayName\"] || extract.nameID,\n emailVerified: options?.trustEmailVerified && mapping.emailVerified ? attributes[mapping.emailVerified] || false : false\n };\n if (!userInfo.id || !userInfo.email) {\n ctx.context.logger.error(\n \"Missing essential user info from SAML response\",\n {\n attributes: Object.keys(attributes),\n mapping,\n extractedId: userInfo.id,\n extractedEmail: userInfo.email\n }\n );\n throw new APIError(\"BAD_REQUEST\", {\n message: \"Unable to extract user ID or email from SAML response\"\n });\n }\n let user;\n const existingUser = await ctx.context.adapter.findOne({\n model: \"user\",\n where: [\n {\n field: \"email\",\n value: userInfo.email\n }\n ]\n });\n if (existingUser) {\n const account = await ctx.context.adapter.findOne({\n model: \"account\",\n where: [\n { field: \"userId\", value: existingUser.id },\n { field: \"providerId\", value: provider.providerId },\n { field: \"accountId\", value: userInfo.id }\n ]\n });\n if (!account) {\n const isTrustedProvider = ctx.context.options.account?.accountLinking?.trustedProviders?.includes(\n provider.providerId\n );\n if (!isTrustedProvider) {\n throw ctx.redirect(\n `${parsedSamlConfig.callbackUrl}?error=account_not_found`\n );\n }\n await ctx.context.adapter.create({\n model: \"account\",\n data: {\n userId: existingUser.id,\n providerId: provider.providerId,\n accountId: userInfo.id,\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date(),\n accessToken: \"\",\n refreshToken: \"\"\n }\n });\n }\n user = existingUser;\n } else {\n user = await ctx.context.adapter.create({\n model: \"user\",\n data: {\n email: userInfo.email,\n name: userInfo.name,\n emailVerified: options?.trustEmailVerified ? userInfo.emailVerified || false : false,\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date()\n }\n });\n await ctx.context.adapter.create({\n model: \"account\",\n data: {\n userId: user.id,\n providerId: provider.providerId,\n accountId: userInfo.id,\n accessToken: \"\",\n refreshToken: \"\",\n accessTokenExpiresAt: /* @__PURE__ */ new Date(),\n refreshTokenExpiresAt: /* @__PURE__ */ new Date(),\n scope: \"\",\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date()\n }\n });\n }\n if (options?.provisionUser) {\n await options.provisionUser({\n user,\n userInfo,\n provider\n });\n }\n if (provider.organizationId && !options?.organizationProvisioning?.disabled) {\n const isOrgPluginEnabled = ctx.context.options.plugins?.find(\n (plugin) => plugin.id === \"organization\"\n );\n if (isOrgPluginEnabled) {\n const isAlreadyMember = await ctx.context.adapter.findOne({\n model: \"member\",\n where: [\n { field: \"organizationId\", value: provider.organizationId },\n { field: \"userId\", value: user.id }\n ]\n });\n if (!isAlreadyMember) {\n const role = options?.organizationProvisioning?.getRole ? await options.organizationProvisioning.getRole({\n user,\n userInfo,\n provider\n }) : options?.organizationProvisioning?.defaultRole || \"member\";\n await ctx.context.adapter.create({\n model: \"member\",\n data: {\n organizationId: provider.organizationId,\n userId: user.id,\n role,\n createdAt: /* @__PURE__ */ new Date(),\n updatedAt: /* @__PURE__ */ new Date()\n }\n });\n }\n }\n }\n let session = await ctx.context.internalAdapter.createSession(user.id, ctx);\n await setSessionCookie(ctx, { session, user });\n const callbackUrl = RelayState || parsedSamlConfig.callbackUrl || ctx.context.baseURL;\n throw ctx.redirect(callbackUrl);\n }\n )\n },\n schema: {\n ssoProvider: {\n fields: {\n issuer: {\n type: \"string\",\n required: true\n },\n oidcConfig: {\n type: \"string\",\n required: false\n },\n samlConfig: {\n type: \"string\",\n required: false\n },\n userId: {\n type: \"string\",\n references: {\n model: \"user\",\n field: \"id\"\n }\n },\n providerId: {\n type: \"string\",\n required: true,\n unique: true\n },\n organizationId: {\n type: \"string\",\n required: false\n },\n domain: {\n type: \"string\",\n required: true\n }\n }\n }\n }\n };\n};\n\nexport { sso };\n"],"x_google_ignoreList":[0],"mappings":"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AM;WACN,QAAQ;WACR,UAAU;WACV,aAAa;WACd;UACD,mBAAmB;WACjB,MAAM;WACN,QAAQ;WACR,aAAa;WACd;UACD,kBAAkB;WAChB,MAAM;WACN,QAAQ;WACR,UAAU;WACV,aAAa;WACd;UACD,QAAQ;WACN,MAAM;WACN,OAAO,EAAE,MAAM,UAAU;WACzB,UAAU;WACV,aAAa;WACd;UACD,eAAe;WACb,MAAM;WACN,QAAQ;WACR,UAAU;WACV,aAAa;WACd;UACD,6BAA6B;WAC3B,MAAM;WACN,MAAM,CACJ,sBACA,sBACD;WACD,UAAU;WACV,aAAa;WACd;UACD,cAAc;WACZ,MAAM;WACN,QAAQ;WACR,UAAU;WACV,aAAa;WACd;UACD,SAAS;WACP,MAAM;WACN,UAAU;WACV,YAAY;YACV,IAAI;aACF,MAAM;aACN,aAAa;aACd;YACD,OAAO;aACL,MAAM;aACN,aAAa;aACd;YACD,eAAe;aACb,MAAM;aACN,UAAU;aACV,aAAa;aACd;YACD,MAAM;aACJ,MAAM;aACN,aAAa;aACd;YACD,OAAO;aACL,MAAM;aACN,UAAU;aACV,aAAa;aACd;YACD,aAAa;aACX,MAAM;aACN,sBAAsB,EAAE,MAAM,UAAU;aACxC,UAAU;aACV,aAAa;aACd;YACF;WACD,UAAU;YAAC;YAAM;YAAS;YAAO;WAClC;UACF;SACD,UAAU;UACR;UACA;UACA;UACA;UACA;UACD;SACD,aAAa;SACd;QACD,gBAAgB;SACd,MAAM;SACN,UAAU;SACV,aAAa;SACd;QACD,QAAQ;SACN,MAAM;SACN,aAAa;SACd;QACD,YAAY;SACV,MAAM;SACN,aAAa;SACd;QACD,aAAa;SACX,MAAM;SACN,QAAQ;SACR,aAAa;SACd;QACF;OACD,UAAU;QACR;QACA;QACA;QACA;QACA;QACA;QACD;OACF,EACF,EACF;MACF,EACF;KACF,EACF;IACF,EACD,OAAO,QAAQ;IACb,MAAM,OAAO,IAAI,QAAQ,SAAS;AAClC,QAAI,CAAC,KACH,OAAM,IAAI,SAAS,eAAe;IAEpC,MAAM,QAAQ,OAAO,SAAS,mBAAmB,aAAa,MAAM,QAAQ,eAAe,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"}
@@ -0,0 +1,359 @@
1
+ //#region ../../node_modules/@better-fetch/fetch/dist/index.js
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value
13
+ }) : obj[key] = value;
14
+ var __spreadValues = (a, b) => {
15
+ for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols) {
17
+ for (var prop of __getOwnPropSymbols(b)) if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var BetterFetchError = class extends Error {
23
+ constructor(status, statusText, error) {
24
+ super(statusText || status.toString(), { cause: error });
25
+ this.status = status;
26
+ this.statusText = statusText;
27
+ this.error = error;
28
+ }
29
+ };
30
+ var initializePlugins = async (url, options) => {
31
+ var _a, _b, _c, _d, _e, _f;
32
+ let opts = options || {};
33
+ const hooks = {
34
+ onRequest: [options == null ? void 0 : options.onRequest],
35
+ onResponse: [options == null ? void 0 : options.onResponse],
36
+ onSuccess: [options == null ? void 0 : options.onSuccess],
37
+ onError: [options == null ? void 0 : options.onError],
38
+ onRetry: [options == null ? void 0 : options.onRetry]
39
+ };
40
+ if (!options || !(options == null ? void 0 : options.plugins)) return {
41
+ url,
42
+ options: opts,
43
+ hooks
44
+ };
45
+ for (const plugin of (options == null ? void 0 : options.plugins) || []) {
46
+ if (plugin.init) {
47
+ const pluginRes = await ((_a = plugin.init) == null ? void 0 : _a.call(plugin, url.toString(), options));
48
+ opts = pluginRes.options || opts;
49
+ url = pluginRes.url;
50
+ }
51
+ hooks.onRequest.push((_b = plugin.hooks) == null ? void 0 : _b.onRequest);
52
+ hooks.onResponse.push((_c = plugin.hooks) == null ? void 0 : _c.onResponse);
53
+ hooks.onSuccess.push((_d = plugin.hooks) == null ? void 0 : _d.onSuccess);
54
+ hooks.onError.push((_e = plugin.hooks) == null ? void 0 : _e.onError);
55
+ hooks.onRetry.push((_f = plugin.hooks) == null ? void 0 : _f.onRetry);
56
+ }
57
+ return {
58
+ url,
59
+ options: opts,
60
+ hooks
61
+ };
62
+ };
63
+ var LinearRetryStrategy = class {
64
+ constructor(options) {
65
+ this.options = options;
66
+ }
67
+ shouldAttemptRetry(attempt, response) {
68
+ if (this.options.shouldRetry) return Promise.resolve(attempt < this.options.attempts && this.options.shouldRetry(response));
69
+ return Promise.resolve(attempt < this.options.attempts);
70
+ }
71
+ getDelay() {
72
+ return this.options.delay;
73
+ }
74
+ };
75
+ var ExponentialRetryStrategy = class {
76
+ constructor(options) {
77
+ this.options = options;
78
+ }
79
+ shouldAttemptRetry(attempt, response) {
80
+ if (this.options.shouldRetry) return Promise.resolve(attempt < this.options.attempts && this.options.shouldRetry(response));
81
+ return Promise.resolve(attempt < this.options.attempts);
82
+ }
83
+ getDelay(attempt) {
84
+ return Math.min(this.options.maxDelay, this.options.baseDelay * 2 ** attempt);
85
+ }
86
+ };
87
+ function createRetryStrategy(options) {
88
+ if (typeof options === "number") return new LinearRetryStrategy({
89
+ type: "linear",
90
+ attempts: options,
91
+ delay: 1e3
92
+ });
93
+ switch (options.type) {
94
+ case "linear": return new LinearRetryStrategy(options);
95
+ case "exponential": return new ExponentialRetryStrategy(options);
96
+ default: throw new Error("Invalid retry strategy");
97
+ }
98
+ }
99
+ var getAuthHeader = async (options) => {
100
+ const headers = {};
101
+ const getValue = async (value) => typeof value === "function" ? await value() : value;
102
+ if (options == null ? void 0 : options.auth) {
103
+ if (options.auth.type === "Bearer") {
104
+ const token = await getValue(options.auth.token);
105
+ if (!token) return headers;
106
+ headers["authorization"] = `Bearer ${token}`;
107
+ } else if (options.auth.type === "Basic") {
108
+ const username = getValue(options.auth.username);
109
+ const password = getValue(options.auth.password);
110
+ if (!username || !password) return headers;
111
+ headers["authorization"] = `Basic ${btoa(`${username}:${password}`)}`;
112
+ } else if (options.auth.type === "Custom") {
113
+ const value = getValue(options.auth.value);
114
+ if (!value) return headers;
115
+ headers["authorization"] = `${getValue(options.auth.prefix)} ${value}`;
116
+ }
117
+ }
118
+ return headers;
119
+ };
120
+ var JSON_RE = /^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;
121
+ function detectResponseType(request) {
122
+ const _contentType = request.headers.get("content-type");
123
+ const textTypes = /* @__PURE__ */ new Set([
124
+ "image/svg",
125
+ "application/xml",
126
+ "application/xhtml",
127
+ "application/html"
128
+ ]);
129
+ if (!_contentType) return "json";
130
+ const contentType = _contentType.split(";").shift() || "";
131
+ if (JSON_RE.test(contentType)) return "json";
132
+ if (textTypes.has(contentType) || contentType.startsWith("text/")) return "text";
133
+ return "blob";
134
+ }
135
+ function isJSONParsable(value) {
136
+ try {
137
+ JSON.parse(value);
138
+ return true;
139
+ } catch (error) {
140
+ return false;
141
+ }
142
+ }
143
+ function isJSONSerializable(value) {
144
+ if (value === void 0) return false;
145
+ const t = typeof value;
146
+ if (t === "string" || t === "number" || t === "boolean" || t === null) return true;
147
+ if (t !== "object") return false;
148
+ if (Array.isArray(value)) return true;
149
+ if (value.buffer) return false;
150
+ return value.constructor && value.constructor.name === "Object" || typeof value.toJSON === "function";
151
+ }
152
+ function jsonParse(text) {
153
+ try {
154
+ return JSON.parse(text);
155
+ } catch (error) {
156
+ return text;
157
+ }
158
+ }
159
+ function isFunction(value) {
160
+ return typeof value === "function";
161
+ }
162
+ function getFetch(options) {
163
+ if (options == null ? void 0 : options.customFetchImpl) return options.customFetchImpl;
164
+ if (typeof globalThis !== "undefined" && isFunction(globalThis.fetch)) return globalThis.fetch;
165
+ if (typeof window !== "undefined" && isFunction(window.fetch)) return window.fetch;
166
+ throw new Error("No fetch implementation found");
167
+ }
168
+ async function getHeaders(opts) {
169
+ const headers = new Headers(opts == null ? void 0 : opts.headers);
170
+ const authHeader = await getAuthHeader(opts);
171
+ for (const [key, value] of Object.entries(authHeader || {})) headers.set(key, value);
172
+ if (!headers.has("content-type")) {
173
+ const t = detectContentType(opts == null ? void 0 : opts.body);
174
+ if (t) headers.set("content-type", t);
175
+ }
176
+ return headers;
177
+ }
178
+ function detectContentType(body) {
179
+ if (isJSONSerializable(body)) return "application/json";
180
+ return null;
181
+ }
182
+ function getBody(options) {
183
+ if (!(options == null ? void 0 : options.body)) return null;
184
+ const headers = new Headers(options == null ? void 0 : options.headers);
185
+ if (isJSONSerializable(options.body) && !headers.has("content-type")) {
186
+ for (const [key, value] of Object.entries(options == null ? void 0 : options.body)) if (value instanceof Date) options.body[key] = value.toISOString();
187
+ return JSON.stringify(options.body);
188
+ }
189
+ return options.body;
190
+ }
191
+ function getMethod(url, options) {
192
+ var _a;
193
+ if (options == null ? void 0 : options.method) return options.method.toUpperCase();
194
+ if (url.startsWith("@")) {
195
+ const pMethod = (_a = url.split("@")[1]) == null ? void 0 : _a.split("/")[0];
196
+ if (!methods.includes(pMethod)) return (options == null ? void 0 : options.body) ? "POST" : "GET";
197
+ return pMethod.toUpperCase();
198
+ }
199
+ return (options == null ? void 0 : options.body) ? "POST" : "GET";
200
+ }
201
+ function getTimeout(options, controller) {
202
+ let abortTimeout;
203
+ if (!(options == null ? void 0 : options.signal) && (options == null ? void 0 : options.timeout)) abortTimeout = setTimeout(() => controller == null ? void 0 : controller.abort(), options == null ? void 0 : options.timeout);
204
+ return {
205
+ abortTimeout,
206
+ clearTimeout: () => {
207
+ if (abortTimeout) clearTimeout(abortTimeout);
208
+ }
209
+ };
210
+ }
211
+ var ValidationError = class _ValidationError extends Error {
212
+ constructor(issues, message) {
213
+ super(message || JSON.stringify(issues, null, 2));
214
+ this.issues = issues;
215
+ Object.setPrototypeOf(this, _ValidationError.prototype);
216
+ }
217
+ };
218
+ async function parseStandardSchema(schema, input) {
219
+ let result = await schema["~standard"].validate(input);
220
+ if (result.issues) throw new ValidationError(result.issues);
221
+ return result.value;
222
+ }
223
+ var methods = [
224
+ "get",
225
+ "post",
226
+ "put",
227
+ "patch",
228
+ "delete"
229
+ ];
230
+ function getURL2(url, option) {
231
+ let { baseURL, params, query } = option || {
232
+ query: {},
233
+ params: {},
234
+ baseURL: ""
235
+ };
236
+ let basePath = url.startsWith("http") ? url.split("/").slice(0, 3).join("/") : baseURL || "";
237
+ if (url.startsWith("@")) {
238
+ const m = url.toString().split("@")[1].split("/")[0];
239
+ if (methods.includes(m)) url = url.replace(`@${m}/`, "/");
240
+ }
241
+ if (!basePath.endsWith("/")) basePath += "/";
242
+ let [path, urlQuery] = url.replace(basePath, "").split("?");
243
+ const queryParams = new URLSearchParams(urlQuery);
244
+ for (const [key, value] of Object.entries(query || {})) {
245
+ if (value == null) continue;
246
+ queryParams.set(key, String(value));
247
+ }
248
+ if (params) if (Array.isArray(params)) {
249
+ const paramPaths = path.split("/").filter((p) => p.startsWith(":"));
250
+ for (const [index, key] of paramPaths.entries()) {
251
+ const value = params[index];
252
+ path = path.replace(key, value);
253
+ }
254
+ } else for (const [key, value] of Object.entries(params)) path = path.replace(`:${key}`, String(value));
255
+ path = path.split("/").map(encodeURIComponent).join("/");
256
+ if (path.startsWith("/")) path = path.slice(1);
257
+ let queryParamString = queryParams.toString();
258
+ queryParamString = queryParamString.length > 0 ? `?${queryParamString}`.replace(/\+/g, "%20") : "";
259
+ if (!basePath.startsWith("http")) return `${basePath}${path}${queryParamString}`;
260
+ return new URL(`${path}${queryParamString}`, basePath);
261
+ }
262
+ var betterFetch = async (url, options) => {
263
+ var _a, _b, _c, _d, _e, _f, _g, _h;
264
+ const { hooks, url: __url, options: opts } = await initializePlugins(url, options);
265
+ const fetch = getFetch(opts);
266
+ const controller = new AbortController();
267
+ const signal = (_a = opts.signal) != null ? _a : controller.signal;
268
+ const _url = getURL2(__url, opts);
269
+ const body = getBody(opts);
270
+ const headers = await getHeaders(opts);
271
+ const method = getMethod(__url, opts);
272
+ let context = __spreadProps(__spreadValues({}, opts), {
273
+ url: _url,
274
+ headers,
275
+ body,
276
+ method,
277
+ signal
278
+ });
279
+ for (const onRequest of hooks.onRequest) if (onRequest) {
280
+ const res = await onRequest(context);
281
+ if (res instanceof Object) context = res;
282
+ }
283
+ if ("pipeTo" in context && typeof context.pipeTo === "function" || typeof ((_b = options == null ? void 0 : options.body) == null ? void 0 : _b.pipe) === "function") {
284
+ if (!("duplex" in context)) context.duplex = "half";
285
+ }
286
+ const { clearTimeout: clearTimeout2 } = getTimeout(opts, controller);
287
+ let response = await fetch(context.url, context);
288
+ clearTimeout2();
289
+ const responseContext = {
290
+ response,
291
+ request: context
292
+ };
293
+ for (const onResponse of hooks.onResponse) if (onResponse) {
294
+ const r = await onResponse(__spreadProps(__spreadValues({}, responseContext), { response: ((_c = options == null ? void 0 : options.hookOptions) == null ? void 0 : _c.cloneResponse) ? response.clone() : response }));
295
+ if (r instanceof Response) response = r;
296
+ else if (r instanceof Object) response = r.response;
297
+ }
298
+ if (response.ok) {
299
+ if (!(context.method !== "HEAD")) return {
300
+ data: "",
301
+ error: null
302
+ };
303
+ const responseType = detectResponseType(response);
304
+ const successContext = {
305
+ data: "",
306
+ response,
307
+ request: context
308
+ };
309
+ if (responseType === "json" || responseType === "text") {
310
+ const text = await response.text();
311
+ successContext.data = await ((_d = context.jsonParser) != null ? _d : jsonParse)(text);
312
+ } else successContext.data = await response[responseType]();
313
+ if (context == null ? void 0 : context.output) {
314
+ if (context.output && !context.disableValidation) successContext.data = await parseStandardSchema(context.output, successContext.data);
315
+ }
316
+ for (const onSuccess of hooks.onSuccess) if (onSuccess) await onSuccess(__spreadProps(__spreadValues({}, successContext), { response: ((_e = options == null ? void 0 : options.hookOptions) == null ? void 0 : _e.cloneResponse) ? response.clone() : response }));
317
+ if (options == null ? void 0 : options.throw) return successContext.data;
318
+ return {
319
+ data: successContext.data,
320
+ error: null
321
+ };
322
+ }
323
+ const parser = (_f = options == null ? void 0 : options.jsonParser) != null ? _f : jsonParse;
324
+ const responseText = await response.text();
325
+ const isJSONResponse = isJSONParsable(responseText);
326
+ const errorObject = isJSONResponse ? await parser(responseText) : null;
327
+ const errorContext = {
328
+ response,
329
+ responseText,
330
+ request: context,
331
+ error: __spreadProps(__spreadValues({}, errorObject), {
332
+ status: response.status,
333
+ statusText: response.statusText
334
+ })
335
+ };
336
+ for (const onError of hooks.onError) if (onError) await onError(__spreadProps(__spreadValues({}, errorContext), { response: ((_g = options == null ? void 0 : options.hookOptions) == null ? void 0 : _g.cloneResponse) ? response.clone() : response }));
337
+ if (options == null ? void 0 : options.retry) {
338
+ const retryStrategy = createRetryStrategy(options.retry);
339
+ const _retryAttempt = (_h = options.retryAttempt) != null ? _h : 0;
340
+ if (await retryStrategy.shouldAttemptRetry(_retryAttempt, response)) {
341
+ for (const onRetry of hooks.onRetry) if (onRetry) await onRetry(responseContext);
342
+ const delay = retryStrategy.getDelay(_retryAttempt);
343
+ await new Promise((resolve) => setTimeout(resolve, delay));
344
+ return await betterFetch(url, __spreadProps(__spreadValues({}, options), { retryAttempt: _retryAttempt + 1 }));
345
+ }
346
+ }
347
+ if (options == null ? void 0 : options.throw) throw new BetterFetchError(response.status, response.statusText, isJSONResponse ? errorObject : responseText);
348
+ return {
349
+ data: null,
350
+ error: __spreadProps(__spreadValues({}, errorObject), {
351
+ status: response.status,
352
+ statusText: response.statusText
353
+ })
354
+ };
355
+ };
356
+
357
+ //#endregion
358
+ export { BetterFetchError, betterFetch };
359
+ //# sourceMappingURL=index.mjs.map