better-auth 1.4.6 → 1.4.7-beta.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 (720) hide show
  1. package/dist/{chunk-DieNfLhd.mjs → _virtual/rolldown_runtime.mjs} +1 -12
  2. package/dist/adapters/drizzle-adapter/drizzle-adapter.d.mts +48 -0
  3. package/dist/adapters/drizzle-adapter/drizzle-adapter.mjs +286 -0
  4. package/dist/adapters/drizzle-adapter/drizzle-adapter.mjs.map +1 -0
  5. package/dist/adapters/drizzle-adapter/index.d.mts +1 -46
  6. package/dist/adapters/drizzle-adapter/index.mjs +1 -283
  7. package/dist/adapters/index.d.mts +2 -1
  8. package/dist/adapters/index.mjs +2 -1
  9. package/dist/adapters/index.mjs.map +1 -0
  10. package/dist/{bun-sqlite-dialect-BGIIaWxx.mjs → adapters/kysely-adapter/bun-sqlite-dialect.mjs} +2 -1
  11. package/dist/adapters/kysely-adapter/bun-sqlite-dialect.mjs.map +1 -0
  12. package/dist/adapters/kysely-adapter/dialect.d.mts +18 -0
  13. package/dist/{dialect-BHuPIP4Z.mjs → adapters/kysely-adapter/dialect.mjs} +4 -3
  14. package/dist/adapters/kysely-adapter/dialect.mjs.map +1 -0
  15. package/dist/adapters/kysely-adapter/index.d.mts +3 -46
  16. package/dist/adapters/kysely-adapter/index.mjs +2 -294
  17. package/dist/adapters/kysely-adapter/kysely-adapter.d.mts +36 -0
  18. package/dist/adapters/kysely-adapter/kysely-adapter.mjs +296 -0
  19. package/dist/adapters/kysely-adapter/kysely-adapter.mjs.map +1 -0
  20. package/dist/{node-sqlite-dialect-DL3qojbZ.mjs → adapters/kysely-adapter/node-sqlite-dialect.mjs} +2 -1
  21. package/dist/adapters/kysely-adapter/node-sqlite-dialect.mjs.map +1 -0
  22. package/dist/{types-Bde2wFm4.d.mts → adapters/kysely-adapter/types.d.mts} +2 -1
  23. package/dist/adapters/memory-adapter/index.d.mts +1 -13
  24. package/dist/adapters/memory-adapter/index.mjs +1 -210
  25. package/dist/adapters/memory-adapter/memory-adapter.d.mts +15 -0
  26. package/dist/adapters/memory-adapter/memory-adapter.mjs +213 -0
  27. package/dist/adapters/memory-adapter/memory-adapter.mjs.map +1 -0
  28. package/dist/adapters/mongodb-adapter/index.d.mts +1 -34
  29. package/dist/adapters/mongodb-adapter/index.mjs +1 -388
  30. package/dist/adapters/mongodb-adapter/mongodb-adapter.d.mts +36 -0
  31. package/dist/adapters/mongodb-adapter/mongodb-adapter.mjs +391 -0
  32. package/dist/adapters/mongodb-adapter/mongodb-adapter.mjs.map +1 -0
  33. package/dist/adapters/prisma-adapter/index.d.mts +1 -33
  34. package/dist/adapters/prisma-adapter/index.mjs +1 -215
  35. package/dist/adapters/prisma-adapter/prisma-adapter.d.mts +35 -0
  36. package/dist/adapters/prisma-adapter/prisma-adapter.mjs +218 -0
  37. package/dist/adapters/prisma-adapter/prisma-adapter.mjs.map +1 -0
  38. package/dist/adapters/test.d.mts +2 -1
  39. package/dist/adapters/test.mjs +3 -3
  40. package/dist/adapters/test.mjs.map +1 -0
  41. package/dist/api/index.d.mts +3742 -3
  42. package/dist/api/index.mjs +200 -11
  43. package/dist/api/index.mjs.map +1 -0
  44. package/dist/api/middlewares/index.d.mts +2 -0
  45. package/dist/api/middlewares/index.mjs +4 -0
  46. package/dist/api/middlewares/oauth.d.mts +18 -0
  47. package/dist/api/middlewares/oauth.mjs +8 -0
  48. package/dist/api/middlewares/oauth.mjs.map +1 -0
  49. package/dist/api/middlewares/origin-check.d.mts +14 -0
  50. package/dist/api/middlewares/origin-check.mjs +53 -0
  51. package/dist/api/middlewares/origin-check.mjs.map +1 -0
  52. package/dist/api/rate-limiter/index.mjs +160 -0
  53. package/dist/api/rate-limiter/index.mjs.map +1 -0
  54. package/dist/api/routes/account.d.mts +417 -0
  55. package/dist/api/routes/account.mjs +454 -0
  56. package/dist/api/routes/account.mjs.map +1 -0
  57. package/dist/api/routes/callback.d.mts +31 -0
  58. package/dist/api/routes/callback.mjs +176 -0
  59. package/dist/api/routes/callback.mjs.map +1 -0
  60. package/dist/api/routes/email-verification.d.mts +158 -0
  61. package/dist/api/routes/email-verification.mjs +291 -0
  62. package/dist/api/routes/email-verification.mjs.map +1 -0
  63. package/dist/api/routes/error.d.mts +28 -0
  64. package/dist/api/routes/error.mjs +386 -0
  65. package/dist/api/routes/error.mjs.map +1 -0
  66. package/dist/api/routes/index.d.mts +11 -0
  67. package/dist/api/routes/index.mjs +13 -0
  68. package/dist/api/routes/ok.d.mts +36 -0
  69. package/dist/api/routes/ok.mjs +30 -0
  70. package/dist/api/routes/ok.mjs.map +1 -0
  71. package/dist/api/routes/reset-password.d.mts +127 -0
  72. package/dist/api/routes/reset-password.mjs +169 -0
  73. package/dist/api/routes/reset-password.mjs.map +1 -0
  74. package/dist/api/routes/session.d.mts +407 -0
  75. package/dist/{session-BYq-s4dF.mjs → api/routes/session.mjs} +17 -4
  76. package/dist/api/routes/session.mjs.map +1 -0
  77. package/dist/api/routes/sign-in.d.mts +170 -0
  78. package/dist/api/routes/sign-in.mjs +252 -0
  79. package/dist/api/routes/sign-in.mjs.map +1 -0
  80. package/dist/api/routes/sign-out.d.mts +36 -0
  81. package/dist/api/routes/sign-out.mjs +33 -0
  82. package/dist/api/routes/sign-out.mjs.map +1 -0
  83. package/dist/api/routes/sign-up.d.mts +151 -0
  84. package/dist/api/routes/sign-up.mjs +218 -0
  85. package/dist/api/routes/sign-up.mjs.map +1 -0
  86. package/dist/api/routes/update-user.d.mts +437 -0
  87. package/dist/api/routes/update-user.mjs +493 -0
  88. package/dist/api/routes/update-user.mjs.map +1 -0
  89. package/dist/api/to-auth-endpoints.mjs +179 -0
  90. package/dist/api/to-auth-endpoints.mjs.map +1 -0
  91. package/dist/auth/auth.d.mts +15 -0
  92. package/dist/auth/auth.mjs +16 -0
  93. package/dist/auth/auth.mjs.map +1 -0
  94. package/dist/auth/base.mjs +43 -0
  95. package/dist/auth/base.mjs.map +1 -0
  96. package/dist/auth/index.d.mts +1 -0
  97. package/dist/auth/index.mjs +3 -0
  98. package/dist/auth/minimal.d.mts +4 -3
  99. package/dist/auth/minimal.mjs +4 -28
  100. package/dist/auth/minimal.mjs.map +1 -0
  101. package/dist/auth/trusted-origins.mjs +31 -0
  102. package/dist/auth/trusted-origins.mjs.map +1 -0
  103. package/dist/client/broadcast-channel.d.mts +20 -0
  104. package/dist/client/broadcast-channel.mjs +46 -0
  105. package/dist/client/broadcast-channel.mjs.map +1 -0
  106. package/dist/client/config.mjs +89 -0
  107. package/dist/client/config.mjs.map +1 -0
  108. package/dist/client/fetch-plugins.mjs +18 -0
  109. package/dist/client/fetch-plugins.mjs.map +1 -0
  110. package/dist/client/focus-manager.d.mts +11 -0
  111. package/dist/client/focus-manager.mjs +32 -0
  112. package/dist/client/focus-manager.mjs.map +1 -0
  113. package/dist/client/index.d.mts +18 -211
  114. package/dist/client/index.mjs +20 -5
  115. package/dist/client/index.mjs.map +1 -0
  116. package/dist/client/lynx/index.d.mts +20 -63
  117. package/dist/client/lynx/index.mjs +5 -48
  118. package/dist/client/lynx/index.mjs.map +1 -0
  119. package/dist/client/lynx/lynx-store.d.mts +47 -0
  120. package/dist/client/lynx/lynx-store.mjs +47 -0
  121. package/dist/client/lynx/lynx-store.mjs.map +1 -0
  122. package/dist/client/online-manager.d.mts +12 -0
  123. package/dist/client/online-manager.mjs +35 -0
  124. package/dist/client/online-manager.mjs.map +1 -0
  125. package/dist/{parser-g6CH-tVp.mjs → client/parser.mjs} +2 -1
  126. package/dist/client/parser.mjs.map +1 -0
  127. package/dist/client/path-to-object.d.mts +57 -0
  128. package/dist/client/plugins/index.d.mts +46 -851
  129. package/dist/client/plugins/index.mjs +21 -504
  130. package/dist/client/plugins/infer-plugin.d.mts +16 -0
  131. package/dist/client/plugins/infer-plugin.mjs +11 -0
  132. package/dist/client/plugins/infer-plugin.mjs.map +1 -0
  133. package/dist/client/proxy.mjs +76 -0
  134. package/dist/client/proxy.mjs.map +1 -0
  135. package/dist/client/query.d.mts +22 -0
  136. package/dist/client/query.mjs +98 -0
  137. package/dist/client/query.mjs.map +1 -0
  138. package/dist/client/react/index.d.mts +20 -63
  139. package/dist/client/react/index.mjs +5 -48
  140. package/dist/client/react/index.mjs.map +1 -0
  141. package/dist/client/react/react-store.d.mts +47 -0
  142. package/dist/client/react/react-store.mjs +47 -0
  143. package/dist/client/react/react-store.mjs.map +1 -0
  144. package/dist/client/session-atom.mjs +29 -0
  145. package/dist/client/session-atom.mjs.map +1 -0
  146. package/dist/client/session-refresh.d.mts +22 -0
  147. package/dist/client/session-refresh.mjs +122 -0
  148. package/dist/client/session-refresh.mjs.map +1 -0
  149. package/dist/client/solid/index.d.mts +5 -5
  150. package/dist/client/solid/index.mjs +5 -25
  151. package/dist/client/solid/index.mjs.map +1 -0
  152. package/dist/client/solid/solid-store.mjs +24 -0
  153. package/dist/client/solid/solid-store.mjs.map +1 -0
  154. package/dist/client/svelte/index.d.mts +19 -19
  155. package/dist/client/svelte/index.mjs +4 -4
  156. package/dist/client/svelte/index.mjs.map +1 -0
  157. package/dist/client/types.d.mts +55 -0
  158. package/dist/client/vanilla.d.mts +123 -0
  159. package/dist/{client-BJRbyWu7.mjs → client/vanilla.mjs} +4 -14
  160. package/dist/client/vanilla.mjs.map +1 -0
  161. package/dist/client/vue/index.d.mts +19 -19
  162. package/dist/client/vue/index.mjs +5 -27
  163. package/dist/client/vue/index.mjs.map +1 -0
  164. package/dist/client/vue/vue-store.mjs +26 -0
  165. package/dist/client/vue/vue-store.mjs.map +1 -0
  166. package/dist/{base-vYFdAXPf.mjs → context/create-context.mjs} +15 -133
  167. package/dist/context/create-context.mjs.map +1 -0
  168. package/dist/context/helpers.mjs +59 -0
  169. package/dist/context/helpers.mjs.map +1 -0
  170. package/dist/context/init-minimal.mjs +21 -0
  171. package/dist/context/init-minimal.mjs.map +1 -0
  172. package/dist/{auth-B0dDDQwu.mjs → context/init.mjs} +6 -15
  173. package/dist/context/init.mjs.map +1 -0
  174. package/dist/cookies/cookie-utils.d.mts +19 -0
  175. package/dist/cookies/cookie-utils.mjs +66 -0
  176. package/dist/cookies/cookie-utils.mjs.map +1 -0
  177. package/dist/cookies/index.d.mts +66 -4
  178. package/dist/cookies/index.mjs +280 -5
  179. package/dist/cookies/index.mjs.map +1 -0
  180. package/dist/cookies/session-store.d.mts +36 -0
  181. package/dist/cookies/session-store.mjs +200 -0
  182. package/dist/cookies/session-store.mjs.map +1 -0
  183. package/dist/crypto/buffer.d.mts +8 -0
  184. package/dist/crypto/buffer.mjs +18 -0
  185. package/dist/crypto/buffer.mjs.map +1 -0
  186. package/dist/crypto/index.d.mts +7 -26
  187. package/dist/crypto/index.mjs +23 -2
  188. package/dist/crypto/index.mjs.map +1 -0
  189. package/dist/crypto/jwt.d.mts +8 -0
  190. package/dist/crypto/jwt.mjs +95 -0
  191. package/dist/crypto/jwt.mjs.map +1 -0
  192. package/dist/crypto/password.d.mts +12 -0
  193. package/dist/crypto/password.mjs +36 -0
  194. package/dist/crypto/password.mjs.map +1 -0
  195. package/dist/crypto/random.d.mts +5 -0
  196. package/dist/crypto/random.mjs +8 -0
  197. package/dist/crypto/random.mjs.map +1 -0
  198. package/dist/db/adapter-base.d.mts +8 -0
  199. package/dist/db/adapter-base.mjs +28 -0
  200. package/dist/db/adapter-base.mjs.map +1 -0
  201. package/dist/db/adapter-kysely.d.mts +8 -0
  202. package/dist/db/adapter-kysely.mjs +21 -0
  203. package/dist/db/adapter-kysely.mjs.map +1 -0
  204. package/dist/db/field-converter.d.mts +8 -0
  205. package/dist/db/field-converter.mjs +21 -0
  206. package/dist/db/field-converter.mjs.map +1 -0
  207. package/dist/db/field.d.mts +78 -0
  208. package/dist/db/field.mjs +11 -0
  209. package/dist/db/field.mjs.map +1 -0
  210. package/dist/db/get-migration.d.mts +23 -0
  211. package/dist/db/get-migration.mjs +339 -0
  212. package/dist/db/get-migration.mjs.map +1 -0
  213. package/dist/db/get-schema.d.mts +11 -0
  214. package/dist/db/get-schema.mjs +39 -0
  215. package/dist/db/get-schema.mjs.map +1 -0
  216. package/dist/db/index.d.mts +10 -2
  217. package/dist/db/index.mjs +40 -5
  218. package/dist/db/index.mjs.map +1 -0
  219. package/dist/db/internal-adapter.d.mts +14 -0
  220. package/dist/db/internal-adapter.mjs +560 -0
  221. package/dist/db/internal-adapter.mjs.map +1 -0
  222. package/dist/db/schema.d.mts +80 -0
  223. package/dist/{schema-dfOF7vRb.mjs → db/schema.mjs} +2 -7
  224. package/dist/db/schema.mjs.map +1 -0
  225. package/dist/db/to-zod.d.mts +36 -0
  226. package/dist/db/to-zod.mjs +26 -0
  227. package/dist/db/to-zod.mjs.map +1 -0
  228. package/dist/db/with-hooks.d.mts +33 -0
  229. package/dist/db/with-hooks.mjs +148 -0
  230. package/dist/db/with-hooks.mjs.map +1 -0
  231. package/dist/index.d.mts +37 -4
  232. package/dist/index.mjs +6 -14
  233. package/dist/integrations/next-js.d.mts +6 -5
  234. package/dist/integrations/next-js.mjs +5 -6
  235. package/dist/integrations/next-js.mjs.map +1 -0
  236. package/dist/integrations/node.d.mts +4 -3
  237. package/dist/integrations/node.mjs +2 -1
  238. package/dist/integrations/node.mjs.map +1 -0
  239. package/dist/integrations/solid-start.d.mts +2 -1
  240. package/dist/integrations/solid-start.mjs +2 -1
  241. package/dist/integrations/solid-start.mjs.map +1 -0
  242. package/dist/integrations/svelte-kit.d.mts +5 -5
  243. package/dist/integrations/svelte-kit.mjs +5 -6
  244. package/dist/integrations/svelte-kit.mjs.map +1 -0
  245. package/dist/integrations/tanstack-start.d.mts +6 -5
  246. package/dist/integrations/tanstack-start.mjs +5 -6
  247. package/dist/integrations/tanstack-start.mjs.map +1 -0
  248. package/dist/oauth2/index.d.mts +3 -50
  249. package/dist/oauth2/index.mjs +3 -10
  250. package/dist/oauth2/link-account.d.mts +48 -0
  251. package/dist/oauth2/link-account.mjs +141 -0
  252. package/dist/oauth2/link-account.mjs.map +1 -0
  253. package/dist/oauth2/state.d.mts +26 -0
  254. package/dist/{utils-C4Ub_EYH.mjs → oauth2/state.mjs} +5 -12
  255. package/dist/oauth2/state.mjs.map +1 -0
  256. package/dist/oauth2/utils.d.mts +8 -0
  257. package/dist/oauth2/utils.mjs +22 -0
  258. package/dist/oauth2/utils.mjs.map +1 -0
  259. package/dist/{index-B1fASdrI.d.mts → plugins/access/access.d.mts} +3 -14
  260. package/dist/{access-BCQibqkF.mjs → plugins/access/access.mjs} +2 -1
  261. package/dist/plugins/access/access.mjs.map +1 -0
  262. package/dist/plugins/access/index.d.mts +2 -1
  263. package/dist/plugins/access/index.mjs +1 -1
  264. package/dist/plugins/access/types.d.mts +17 -0
  265. package/dist/plugins/additional-fields/client.d.mts +96 -0
  266. package/dist/plugins/additional-fields/client.mjs +11 -0
  267. package/dist/plugins/additional-fields/client.mjs.map +1 -0
  268. package/dist/plugins/admin/access/index.d.mts +1 -136
  269. package/dist/plugins/admin/access/index.mjs +1 -2
  270. package/dist/plugins/admin/access/statement.d.mts +118 -0
  271. package/dist/{access-DZRRE6Tq.mjs → plugins/admin/access/statement.mjs} +4 -2
  272. package/dist/plugins/admin/access/statement.mjs.map +1 -0
  273. package/dist/plugins/admin/admin.d.mts +822 -0
  274. package/dist/plugins/admin/admin.mjs +96 -0
  275. package/dist/plugins/admin/admin.mjs.map +1 -0
  276. package/dist/plugins/admin/client.d.mts +66 -0
  277. package/dist/plugins/admin/client.mjs +34 -0
  278. package/dist/plugins/admin/client.mjs.map +1 -0
  279. package/dist/plugins/admin/error-codes.mjs +30 -0
  280. package/dist/plugins/admin/error-codes.mjs.map +1 -0
  281. package/dist/{has-permission-BxveqtYZ.mjs → plugins/admin/has-permission.mjs} +4 -2
  282. package/dist/plugins/admin/has-permission.mjs.map +1 -0
  283. package/dist/plugins/admin/index.d.mts +2 -22
  284. package/dist/plugins/admin/index.mjs +1 -15
  285. package/dist/{admin-D3dkvy2B.mjs → plugins/admin/routes.mjs} +26 -152
  286. package/dist/plugins/admin/routes.mjs.map +1 -0
  287. package/dist/plugins/admin/schema.d.mts +40 -0
  288. package/dist/plugins/admin/schema.mjs +34 -0
  289. package/dist/plugins/admin/schema.mjs.map +1 -0
  290. package/dist/plugins/admin/types.d.mts +88 -0
  291. package/dist/plugins/anonymous/client.d.mts +19 -0
  292. package/dist/plugins/anonymous/client.mjs +16 -0
  293. package/dist/plugins/anonymous/client.mjs.map +1 -0
  294. package/dist/plugins/anonymous/error-codes.mjs +13 -0
  295. package/dist/plugins/anonymous/error-codes.mjs.map +1 -0
  296. package/dist/plugins/anonymous/index.d.mts +75 -4
  297. package/dist/plugins/anonymous/index.mjs +109 -12
  298. package/dist/plugins/anonymous/index.mjs.map +1 -0
  299. package/dist/plugins/anonymous/schema.d.mts +16 -0
  300. package/dist/plugins/anonymous/schema.mjs +11 -0
  301. package/dist/plugins/anonymous/schema.mjs.map +1 -0
  302. package/dist/plugins/anonymous/types.d.mts +60 -0
  303. package/dist/plugins/api-key/adapter.mjs +311 -0
  304. package/dist/plugins/api-key/adapter.mjs.map +1 -0
  305. package/dist/plugins/api-key/client.d.mts +17 -0
  306. package/dist/plugins/api-key/client.mjs +16 -0
  307. package/dist/plugins/api-key/client.mjs.map +1 -0
  308. package/dist/plugins/api-key/index.d.mts +1092 -0
  309. package/dist/plugins/api-key/index.mjs +158 -0
  310. package/dist/plugins/api-key/index.mjs.map +1 -0
  311. package/dist/plugins/api-key/rate-limit.mjs +73 -0
  312. package/dist/plugins/api-key/rate-limit.mjs.map +1 -0
  313. package/dist/plugins/api-key/routes/create-api-key.mjs +250 -0
  314. package/dist/plugins/api-key/routes/create-api-key.mjs.map +1 -0
  315. package/dist/plugins/api-key/routes/delete-all-expired-api-keys.mjs +24 -0
  316. package/dist/plugins/api-key/routes/delete-all-expired-api-keys.mjs.map +1 -0
  317. package/dist/plugins/api-key/routes/delete-api-key.mjs +72 -0
  318. package/dist/plugins/api-key/routes/delete-api-key.mjs.map +1 -0
  319. package/dist/plugins/api-key/routes/get-api-key.mjs +155 -0
  320. package/dist/plugins/api-key/routes/get-api-key.mjs.map +1 -0
  321. package/dist/plugins/api-key/routes/index.mjs +71 -0
  322. package/dist/plugins/api-key/routes/index.mjs.map +1 -0
  323. package/dist/plugins/api-key/routes/list-api-keys.mjs +159 -0
  324. package/dist/plugins/api-key/routes/list-api-keys.mjs.map +1 -0
  325. package/dist/plugins/api-key/routes/update-api-key.mjs +245 -0
  326. package/dist/plugins/api-key/routes/update-api-key.mjs.map +1 -0
  327. package/dist/plugins/api-key/routes/verify-api-key.mjs +225 -0
  328. package/dist/plugins/api-key/routes/verify-api-key.mjs.map +1 -0
  329. package/dist/plugins/api-key/schema.d.mts +199 -0
  330. package/dist/plugins/api-key/schema.mjs +130 -0
  331. package/dist/plugins/api-key/schema.mjs.map +1 -0
  332. package/dist/plugins/api-key/types.d.mts +331 -0
  333. package/dist/plugins/bearer/index.d.mts +37 -2
  334. package/dist/plugins/bearer/index.mjs +64 -6
  335. package/dist/plugins/bearer/index.mjs.map +1 -0
  336. package/dist/plugins/captcha/constants.d.mts +11 -0
  337. package/dist/plugins/captcha/constants.mjs +22 -0
  338. package/dist/plugins/captcha/constants.mjs.map +1 -0
  339. package/dist/plugins/captcha/error-codes.mjs +16 -0
  340. package/dist/plugins/captcha/error-codes.mjs.map +1 -0
  341. package/dist/plugins/captcha/index.d.mts +13 -2
  342. package/dist/plugins/captcha/index.mjs +58 -3
  343. package/dist/plugins/captcha/index.mjs.map +1 -0
  344. package/dist/{index-CNMCZNM-.d.mts → plugins/captcha/types.d.mts} +3 -18
  345. package/dist/plugins/captcha/utils.mjs +11 -0
  346. package/dist/plugins/captcha/utils.mjs.map +1 -0
  347. package/dist/plugins/captcha/verify-handlers/captchafox.mjs +27 -0
  348. package/dist/plugins/captcha/verify-handlers/captchafox.mjs.map +1 -0
  349. package/dist/plugins/captcha/verify-handlers/cloudflare-turnstile.mjs +25 -0
  350. package/dist/plugins/captcha/verify-handlers/cloudflare-turnstile.mjs.map +1 -0
  351. package/dist/plugins/captcha/verify-handlers/google-recaptcha.mjs +29 -0
  352. package/dist/plugins/captcha/verify-handlers/google-recaptcha.mjs.map +1 -0
  353. package/dist/plugins/captcha/verify-handlers/h-captcha.mjs +27 -0
  354. package/dist/plugins/captcha/verify-handlers/h-captcha.mjs.map +1 -0
  355. package/dist/plugins/captcha/verify-handlers/index.mjs +6 -0
  356. package/dist/plugins/custom-session/client.d.mts +17 -0
  357. package/dist/plugins/custom-session/client.mjs +11 -0
  358. package/dist/plugins/custom-session/client.mjs.map +1 -0
  359. package/dist/plugins/custom-session/index.d.mts +65 -4
  360. package/dist/plugins/custom-session/index.mjs +68 -13
  361. package/dist/plugins/custom-session/index.mjs.map +1 -0
  362. package/dist/plugins/device-authorization/client.d.mts +17 -0
  363. package/dist/plugins/device-authorization/client.mjs +18 -0
  364. package/dist/plugins/device-authorization/client.mjs.map +1 -0
  365. package/dist/plugins/device-authorization/error-codes.mjs +21 -0
  366. package/dist/plugins/device-authorization/error-codes.mjs.map +1 -0
  367. package/dist/plugins/device-authorization/index.d.mts +384 -2
  368. package/dist/plugins/device-authorization/index.mjs +48 -10
  369. package/dist/plugins/device-authorization/index.mjs.map +1 -0
  370. package/dist/{device-authorization-ChLp9Fps.mjs → plugins/device-authorization/routes.mjs} +7 -114
  371. package/dist/plugins/device-authorization/routes.mjs.map +1 -0
  372. package/dist/plugins/device-authorization/schema.mjs +57 -0
  373. package/dist/plugins/device-authorization/schema.mjs.map +1 -0
  374. package/dist/plugins/email-otp/client.d.mts +14 -0
  375. package/dist/plugins/email-otp/client.mjs +15 -0
  376. package/dist/plugins/email-otp/client.mjs.map +1 -0
  377. package/dist/plugins/email-otp/index.d.mts +373 -2
  378. package/dist/plugins/email-otp/index.mjs +105 -13
  379. package/dist/plugins/email-otp/index.mjs.map +1 -0
  380. package/dist/plugins/email-otp/otp-token.mjs +29 -0
  381. package/dist/plugins/email-otp/otp-token.mjs.map +1 -0
  382. package/dist/{email-otp-LCFGutjQ.mjs → plugins/email-otp/routes.mjs} +40 -176
  383. package/dist/plugins/email-otp/routes.mjs.map +1 -0
  384. package/dist/plugins/email-otp/types.d.mts +74 -0
  385. package/dist/plugins/email-otp/utils.mjs +17 -0
  386. package/dist/plugins/email-otp/utils.mjs.map +1 -0
  387. package/dist/plugins/generic-oauth/client.d.mts +19 -0
  388. package/dist/plugins/generic-oauth/client.mjs +11 -0
  389. package/dist/plugins/generic-oauth/client.mjs.map +1 -0
  390. package/dist/plugins/generic-oauth/error-codes.mjs +15 -0
  391. package/dist/plugins/generic-oauth/error-codes.mjs.map +1 -0
  392. package/dist/plugins/generic-oauth/index.d.mts +188 -2
  393. package/dist/plugins/generic-oauth/index.mjs +133 -12
  394. package/dist/plugins/generic-oauth/index.mjs.map +1 -0
  395. package/dist/plugins/generic-oauth/providers/auth0.d.mts +37 -0
  396. package/dist/plugins/generic-oauth/providers/auth0.mjs +62 -0
  397. package/dist/plugins/generic-oauth/providers/auth0.mjs.map +1 -0
  398. package/dist/plugins/generic-oauth/providers/hubspot.d.mts +37 -0
  399. package/dist/plugins/generic-oauth/providers/hubspot.mjs +60 -0
  400. package/dist/plugins/generic-oauth/providers/hubspot.mjs.map +1 -0
  401. package/dist/plugins/generic-oauth/providers/index.d.mts +7 -0
  402. package/dist/plugins/generic-oauth/providers/index.mjs +9 -0
  403. package/dist/plugins/generic-oauth/providers/keycloak.d.mts +37 -0
  404. package/dist/plugins/generic-oauth/providers/keycloak.mjs +62 -0
  405. package/dist/plugins/generic-oauth/providers/keycloak.mjs.map +1 -0
  406. package/dist/plugins/generic-oauth/providers/line.d.mts +55 -0
  407. package/dist/plugins/generic-oauth/providers/line.mjs +91 -0
  408. package/dist/plugins/generic-oauth/providers/line.mjs.map +1 -0
  409. package/dist/plugins/generic-oauth/providers/microsoft-entra-id.d.mts +37 -0
  410. package/dist/plugins/generic-oauth/providers/microsoft-entra-id.mjs +66 -0
  411. package/dist/plugins/generic-oauth/providers/microsoft-entra-id.mjs.map +1 -0
  412. package/dist/plugins/generic-oauth/providers/okta.d.mts +37 -0
  413. package/dist/plugins/generic-oauth/providers/okta.mjs +62 -0
  414. package/dist/plugins/generic-oauth/providers/okta.mjs.map +1 -0
  415. package/dist/plugins/generic-oauth/providers/slack.d.mts +30 -0
  416. package/dist/plugins/generic-oauth/providers/slack.mjs +61 -0
  417. package/dist/plugins/generic-oauth/providers/slack.mjs.map +1 -0
  418. package/dist/plugins/generic-oauth/routes.mjs +394 -0
  419. package/dist/plugins/generic-oauth/routes.mjs.map +1 -0
  420. package/dist/plugins/generic-oauth/types.d.mts +145 -0
  421. package/dist/plugins/haveibeenpwned/index.d.mts +37 -2
  422. package/dist/plugins/haveibeenpwned/index.mjs +53 -12
  423. package/dist/plugins/haveibeenpwned/index.mjs.map +1 -0
  424. package/dist/plugins/index.d.mts +61 -24
  425. package/dist/plugins/index.mjs +44 -41
  426. package/dist/plugins/jwt/adapter.mjs +27 -0
  427. package/dist/plugins/jwt/adapter.mjs.map +1 -0
  428. package/dist/plugins/jwt/client.d.mts +40 -0
  429. package/dist/plugins/jwt/client.mjs +19 -0
  430. package/dist/plugins/jwt/client.mjs.map +1 -0
  431. package/dist/plugins/jwt/index.d.mts +217 -4
  432. package/dist/plugins/jwt/index.mjs +201 -12
  433. package/dist/plugins/jwt/index.mjs.map +1 -0
  434. package/dist/plugins/jwt/schema.d.mts +26 -0
  435. package/dist/plugins/jwt/schema.mjs +23 -0
  436. package/dist/plugins/jwt/schema.mjs.map +1 -0
  437. package/dist/plugins/jwt/sign.d.mts +9 -0
  438. package/dist/plugins/jwt/sign.mjs +66 -0
  439. package/dist/plugins/jwt/sign.mjs.map +1 -0
  440. package/dist/plugins/jwt/types.d.mts +194 -0
  441. package/dist/plugins/jwt/utils.d.mts +33 -0
  442. package/dist/plugins/jwt/utils.mjs +64 -0
  443. package/dist/plugins/jwt/utils.mjs.map +1 -0
  444. package/dist/plugins/jwt/verify.d.mts +13 -0
  445. package/dist/plugins/jwt/verify.mjs +43 -0
  446. package/dist/plugins/jwt/verify.mjs.map +1 -0
  447. package/dist/plugins/last-login-method/client.d.mts +38 -0
  448. package/dist/plugins/last-login-method/client.mjs +32 -0
  449. package/dist/plugins/last-login-method/client.mjs.map +1 -0
  450. package/dist/plugins/last-login-method/index.d.mts +110 -0
  451. package/dist/plugins/last-login-method/index.mjs +81 -0
  452. package/dist/plugins/last-login-method/index.mjs.map +1 -0
  453. package/dist/plugins/magic-link/client.d.mts +10 -0
  454. package/dist/plugins/magic-link/client.mjs +11 -0
  455. package/dist/plugins/magic-link/client.mjs.map +1 -0
  456. package/dist/plugins/magic-link/index.d.mts +179 -2
  457. package/dist/plugins/magic-link/index.mjs +172 -12
  458. package/dist/plugins/magic-link/index.mjs.map +1 -0
  459. package/dist/plugins/magic-link/utils.mjs +12 -0
  460. package/dist/plugins/magic-link/utils.mjs.map +1 -0
  461. package/dist/plugins/mcp/authorize.mjs +133 -0
  462. package/dist/plugins/mcp/authorize.mjs.map +1 -0
  463. package/dist/plugins/mcp/index.d.mts +450 -0
  464. package/dist/plugins/mcp/index.mjs +709 -0
  465. package/dist/plugins/mcp/index.mjs.map +1 -0
  466. package/dist/plugins/multi-session/client.d.mts +14 -0
  467. package/dist/plugins/multi-session/client.mjs +17 -0
  468. package/dist/plugins/multi-session/client.mjs.map +1 -0
  469. package/dist/plugins/multi-session/index.d.mts +192 -4
  470. package/dist/plugins/multi-session/index.mjs +149 -12
  471. package/dist/plugins/multi-session/index.mjs.map +1 -0
  472. package/dist/plugins/oauth-proxy/index.d.mts +85 -2
  473. package/dist/plugins/oauth-proxy/index.mjs +292 -13
  474. package/dist/plugins/oauth-proxy/index.mjs.map +1 -0
  475. package/dist/plugins/oauth-proxy/utils.mjs +37 -0
  476. package/dist/plugins/oauth-proxy/utils.mjs.map +1 -0
  477. package/dist/plugins/oidc-provider/authorize.mjs +194 -0
  478. package/dist/plugins/oidc-provider/authorize.mjs.map +1 -0
  479. package/dist/plugins/oidc-provider/client.d.mts +12 -0
  480. package/dist/plugins/oidc-provider/client.mjs +11 -0
  481. package/dist/plugins/oidc-provider/client.mjs.map +1 -0
  482. package/dist/plugins/oidc-provider/error.mjs +17 -0
  483. package/dist/plugins/oidc-provider/error.mjs.map +1 -0
  484. package/dist/plugins/oidc-provider/index.d.mts +695 -23
  485. package/dist/plugins/oidc-provider/index.mjs +1089 -13
  486. package/dist/plugins/oidc-provider/index.mjs.map +1 -0
  487. package/dist/plugins/oidc-provider/schema.d.mts +160 -0
  488. package/dist/plugins/oidc-provider/schema.mjs +132 -0
  489. package/dist/plugins/oidc-provider/schema.mjs.map +1 -0
  490. package/dist/plugins/oidc-provider/types.d.mts +517 -0
  491. package/dist/plugins/oidc-provider/utils/prompt.mjs +19 -0
  492. package/dist/plugins/oidc-provider/utils/prompt.mjs.map +1 -0
  493. package/dist/plugins/oidc-provider/utils.mjs +15 -0
  494. package/dist/plugins/oidc-provider/utils.mjs.map +1 -0
  495. package/dist/plugins/one-tap/client.d.mts +104 -0
  496. package/dist/plugins/one-tap/client.mjs +155 -0
  497. package/dist/plugins/one-tap/client.mjs.map +1 -0
  498. package/dist/plugins/one-tap/index.d.mts +75 -2
  499. package/dist/plugins/one-tap/index.mjs +109 -12
  500. package/dist/plugins/one-tap/index.mjs.map +1 -0
  501. package/dist/plugins/one-time-token/client.d.mts +10 -0
  502. package/dist/plugins/one-time-token/client.mjs +11 -0
  503. package/dist/plugins/one-time-token/client.mjs.map +1 -0
  504. package/dist/plugins/one-time-token/index.d.mts +111 -4
  505. package/dist/plugins/one-time-token/index.mjs +59 -12
  506. package/dist/plugins/one-time-token/index.mjs.map +1 -0
  507. package/dist/plugins/one-time-token/utils.mjs +12 -0
  508. package/dist/plugins/one-time-token/utils.mjs.map +1 -0
  509. package/dist/{index-DOcLs18d.d.mts → plugins/open-api/generator.d.mts} +2 -90
  510. package/dist/plugins/open-api/generator.mjs +299 -0
  511. package/dist/plugins/open-api/generator.mjs.map +1 -0
  512. package/dist/plugins/open-api/index.d.mts +89 -2
  513. package/dist/plugins/open-api/index.mjs +65 -12
  514. package/dist/plugins/open-api/index.mjs.map +1 -0
  515. package/dist/{open-api-CDXFoNkR.mjs → plugins/open-api/logo.mjs} +2 -356
  516. package/dist/plugins/open-api/logo.mjs.map +1 -0
  517. package/dist/plugins/organization/access/index.d.mts +1 -22
  518. package/dist/plugins/organization/access/index.mjs +1 -2
  519. package/dist/plugins/organization/access/statement.d.mts +249 -0
  520. package/dist/{access-BktEfzR6.mjs → plugins/organization/access/statement.mjs} +4 -2
  521. package/dist/plugins/organization/access/statement.mjs.map +1 -0
  522. package/dist/plugins/organization/adapter.mjs +614 -0
  523. package/dist/plugins/organization/adapter.mjs.map +1 -0
  524. package/dist/plugins/organization/call.mjs +19 -0
  525. package/dist/plugins/organization/call.mjs.map +1 -0
  526. package/dist/plugins/organization/client.d.mts +357 -0
  527. package/dist/plugins/organization/client.mjs +105 -0
  528. package/dist/plugins/organization/client.mjs.map +1 -0
  529. package/dist/plugins/organization/error-codes.d.mts +62 -0
  530. package/dist/plugins/organization/error-codes.mjs +65 -0
  531. package/dist/plugins/organization/error-codes.mjs.map +1 -0
  532. package/dist/plugins/organization/has-permission.mjs +35 -0
  533. package/dist/plugins/organization/has-permission.mjs.map +1 -0
  534. package/dist/plugins/organization/index.d.mts +5 -22
  535. package/dist/plugins/organization/index.mjs +1 -14
  536. package/dist/plugins/organization/organization.d.mts +385 -0
  537. package/dist/plugins/organization/organization.mjs +427 -0
  538. package/dist/plugins/organization/organization.mjs.map +1 -0
  539. package/dist/plugins/organization/permission.d.mts +26 -0
  540. package/dist/{permission-BZUPzNK6.mjs → plugins/organization/permission.mjs} +2 -1
  541. package/dist/plugins/organization/permission.mjs.map +1 -0
  542. package/dist/plugins/organization/routes/crud-access-control.d.mts +312 -0
  543. package/dist/plugins/organization/routes/crud-access-control.mjs +655 -0
  544. package/dist/plugins/organization/routes/crud-access-control.mjs.map +1 -0
  545. package/dist/plugins/organization/routes/crud-invites.d.mts +762 -0
  546. package/dist/plugins/organization/routes/crud-invites.mjs +531 -0
  547. package/dist/plugins/organization/routes/crud-invites.mjs.map +1 -0
  548. package/dist/plugins/organization/routes/crud-members.d.mts +688 -0
  549. package/dist/plugins/organization/routes/crud-members.mjs +485 -0
  550. package/dist/plugins/organization/routes/crud-members.mjs.map +1 -0
  551. package/dist/plugins/organization/routes/crud-org.d.mts +508 -0
  552. package/dist/plugins/organization/routes/crud-org.mjs +442 -0
  553. package/dist/plugins/organization/routes/crud-org.mjs.map +1 -0
  554. package/dist/plugins/organization/routes/crud-team.d.mts +787 -0
  555. package/dist/plugins/organization/routes/crud-team.mjs +682 -0
  556. package/dist/plugins/organization/routes/crud-team.mjs.map +1 -0
  557. package/dist/plugins/organization/schema.d.mts +373 -0
  558. package/dist/plugins/organization/schema.mjs +68 -0
  559. package/dist/plugins/organization/schema.mjs.map +1 -0
  560. package/dist/plugins/organization/types.d.mts +719 -0
  561. package/dist/plugins/phone-number/client.d.mts +15 -0
  562. package/dist/plugins/phone-number/client.mjs +17 -0
  563. package/dist/plugins/phone-number/client.mjs.map +1 -0
  564. package/dist/plugins/phone-number/error-codes.mjs +21 -0
  565. package/dist/plugins/phone-number/error-codes.mjs.map +1 -0
  566. package/dist/plugins/phone-number/index.d.mts +301 -4
  567. package/dist/plugins/phone-number/index.mjs +47 -12
  568. package/dist/plugins/phone-number/index.mjs.map +1 -0
  569. package/dist/{phone-number-VZ7X_qf0.mjs → plugins/phone-number/routes.mjs} +15 -87
  570. package/dist/plugins/phone-number/routes.mjs.map +1 -0
  571. package/dist/plugins/phone-number/schema.d.mts +23 -0
  572. package/dist/plugins/phone-number/schema.mjs +20 -0
  573. package/dist/plugins/phone-number/schema.mjs.map +1 -0
  574. package/dist/plugins/phone-number/types.d.mts +119 -0
  575. package/dist/plugins/siwe/client.d.mts +10 -0
  576. package/dist/plugins/siwe/client.mjs +11 -0
  577. package/dist/plugins/siwe/client.mjs.map +1 -0
  578. package/dist/plugins/siwe/index.d.mts +84 -4
  579. package/dist/plugins/siwe/index.mjs +201 -12
  580. package/dist/plugins/siwe/index.mjs.map +1 -0
  581. package/dist/plugins/siwe/schema.d.mts +35 -0
  582. package/dist/plugins/siwe/schema.mjs +32 -0
  583. package/dist/plugins/siwe/schema.mjs.map +1 -0
  584. package/dist/plugins/siwe/types.d.mts +45 -0
  585. package/dist/plugins/two-factor/backup-codes/index.d.mts +278 -0
  586. package/dist/plugins/two-factor/backup-codes/index.mjs +276 -0
  587. package/dist/plugins/two-factor/backup-codes/index.mjs.map +1 -0
  588. package/dist/plugins/two-factor/client.d.mts +38 -0
  589. package/dist/{client-7xkXfvW4.mjs → plugins/two-factor/client.mjs} +2 -1
  590. package/dist/plugins/two-factor/client.mjs.map +1 -0
  591. package/dist/plugins/two-factor/constant.mjs +8 -0
  592. package/dist/plugins/two-factor/constant.mjs.map +1 -0
  593. package/dist/plugins/two-factor/error-code.d.mts +15 -0
  594. package/dist/plugins/two-factor/error-code.mjs +18 -0
  595. package/dist/plugins/two-factor/error-code.mjs.map +1 -0
  596. package/dist/plugins/two-factor/index.d.mts +656 -4
  597. package/dist/plugins/two-factor/index.mjs +207 -14
  598. package/dist/plugins/two-factor/index.mjs.map +1 -0
  599. package/dist/plugins/two-factor/otp/index.d.mts +213 -0
  600. package/dist/plugins/two-factor/otp/index.mjs +201 -0
  601. package/dist/plugins/two-factor/otp/index.mjs.map +1 -0
  602. package/dist/plugins/two-factor/schema.d.mts +41 -0
  603. package/dist/plugins/two-factor/schema.mjs +36 -0
  604. package/dist/plugins/two-factor/schema.mjs.map +1 -0
  605. package/dist/plugins/two-factor/totp/index.d.mts +206 -0
  606. package/dist/plugins/two-factor/totp/index.mjs +149 -0
  607. package/dist/plugins/two-factor/totp/index.mjs.map +1 -0
  608. package/dist/plugins/two-factor/types.d.mts +57 -0
  609. package/dist/plugins/two-factor/utils.mjs +12 -0
  610. package/dist/plugins/two-factor/utils.mjs.map +1 -0
  611. package/dist/plugins/two-factor/verify-two-factor.mjs +88 -0
  612. package/dist/plugins/two-factor/verify-two-factor.mjs.map +1 -0
  613. package/dist/plugins/username/client.d.mts +14 -0
  614. package/dist/plugins/username/client.mjs +15 -0
  615. package/dist/plugins/username/client.mjs.map +1 -0
  616. package/dist/plugins/username/error-codes.d.mts +14 -0
  617. package/dist/plugins/username/error-codes.mjs +17 -0
  618. package/dist/plugins/username/error-codes.mjs.map +1 -0
  619. package/dist/plugins/username/index.d.mts +241 -3
  620. package/dist/plugins/username/index.mjs +255 -12
  621. package/dist/plugins/username/index.mjs.map +1 -0
  622. package/dist/plugins/username/schema.d.mts +33 -0
  623. package/dist/plugins/username/schema.mjs +26 -0
  624. package/dist/plugins/username/schema.mjs.map +1 -0
  625. package/dist/test-utils/headers.d.mts +9 -0
  626. package/dist/test-utils/headers.mjs +24 -0
  627. package/dist/test-utils/headers.mjs.map +1 -0
  628. package/dist/test-utils/index.d.mts +2 -11870
  629. package/dist/test-utils/index.mjs +2 -264
  630. package/dist/test-utils/test-instance.d.mts +11451 -0
  631. package/dist/test-utils/test-instance.mjs +212 -0
  632. package/dist/test-utils/test-instance.mjs.map +1 -0
  633. package/dist/types/adapter.d.mts +25 -0
  634. package/dist/types/api.d.mts +30 -0
  635. package/dist/types/auth.d.mts +30 -0
  636. package/dist/{helper-BBvhhJRX.d.mts → types/helper.d.mts} +2 -1
  637. package/dist/types/index.d.mts +9 -4
  638. package/dist/types/models.d.mts +18 -0
  639. package/dist/{plugins-DLdyc73z.d.mts → types/plugins.d.mts} +3 -2
  640. package/dist/utils/boolean.mjs +8 -0
  641. package/dist/utils/boolean.mjs.map +1 -0
  642. package/dist/utils/constants.mjs +6 -0
  643. package/dist/utils/constants.mjs.map +1 -0
  644. package/dist/utils/date.mjs +8 -0
  645. package/dist/utils/date.mjs.map +1 -0
  646. package/dist/utils/get-request-ip.d.mts +7 -0
  647. package/dist/{get-request-ip-G2Tcmzbb.mjs → utils/get-request-ip.mjs} +2 -1
  648. package/dist/utils/get-request-ip.mjs.map +1 -0
  649. package/dist/utils/hashing.mjs +21 -0
  650. package/dist/utils/hashing.mjs.map +1 -0
  651. package/dist/utils/hide-metadata.d.mts +7 -0
  652. package/dist/utils/hide-metadata.mjs +6 -0
  653. package/dist/utils/hide-metadata.mjs.map +1 -0
  654. package/dist/utils/index.d.mts +4 -0
  655. package/dist/utils/index.mjs +5 -0
  656. package/dist/utils/is-atom.mjs +8 -0
  657. package/dist/utils/is-atom.mjs.map +1 -0
  658. package/dist/utils/is-promise.mjs +8 -0
  659. package/dist/utils/is-promise.mjs.map +1 -0
  660. package/dist/utils/middleware-response.mjs +6 -0
  661. package/dist/utils/middleware-response.mjs.map +1 -0
  662. package/dist/{password-BRmR7rWA.mjs → utils/password.mjs} +2 -1
  663. package/dist/utils/password.mjs.map +1 -0
  664. package/dist/{plugin-helper-BneBaGtD.mjs → utils/plugin-helper.mjs} +2 -1
  665. package/dist/utils/plugin-helper.mjs.map +1 -0
  666. package/dist/utils/shim.mjs +24 -0
  667. package/dist/utils/shim.mjs.map +1 -0
  668. package/dist/utils/time.d.mts +21 -0
  669. package/dist/utils/time.mjs +100 -0
  670. package/dist/utils/time.mjs.map +1 -0
  671. package/dist/{url-B7VXiggp.mjs → utils/url.mjs} +6 -5
  672. package/dist/utils/url.mjs.map +1 -0
  673. package/dist/utils/wildcard.mjs +108 -0
  674. package/dist/utils/wildcard.mjs.map +1 -0
  675. package/package.json +44 -7
  676. package/dist/anonymous-DdvvZkp2.mjs +0 -124
  677. package/dist/api-D0cF0fk5.mjs +0 -3228
  678. package/dist/bearer-BokOr6kW.mjs +0 -63
  679. package/dist/captcha-av_BAGRz.mjs +0 -178
  680. package/dist/cookies-CT1-kARg.mjs +0 -539
  681. package/dist/crypto-DgVHxgLL.mjs +0 -164
  682. package/dist/custom-session-BOf6qJyT.mjs +0 -67
  683. package/dist/esm-CyZgw_uF.mjs +0 -4090
  684. package/dist/generic-oauth-DNGQf7pj.mjs +0 -954
  685. package/dist/get-migration-CDvYpogu.mjs +0 -1190
  686. package/dist/haveibeenpwned-Be4wVme3.mjs +0 -53
  687. package/dist/index-B01OM6Wg.d.mts +0 -471
  688. package/dist/index-BInUfw2R.d.mts +0 -460
  689. package/dist/index-BZSqJoCN.d.mts +0 -6319
  690. package/dist/index-Bc5A5Xje.d.mts +0 -65
  691. package/dist/index-Bd216dFj.d.mts +0 -36
  692. package/dist/index-BpQUAVLc.d.mts +0 -444
  693. package/dist/index-C3Osl3iH.d.mts +0 -182
  694. package/dist/index-CRKlsq0c.d.mts +0 -144
  695. package/dist/index-CTqO-57U.d.mts +0 -113
  696. package/dist/index-CircvHXF.d.mts +0 -76
  697. package/dist/index-CkZRXsqi.d.mts +0 -559
  698. package/dist/index-Cm6yBUc4.d.mts +0 -206
  699. package/dist/index-CmCL4oIp.d.mts +0 -160
  700. package/dist/index-CpKH-xWB.d.mts +0 -36
  701. package/dist/index-D4n3RgcF.d.mts +0 -76
  702. package/dist/index-D50id6l_.d.mts +0 -110
  703. package/dist/index-D6frN7IY.d.mts +0 -1503
  704. package/dist/index-DF8xqi-5.d.mts +0 -283
  705. package/dist/index-K6Y-wVlZ.d.mts +0 -9319
  706. package/dist/index-iRK1LqiD.d.mts +0 -393
  707. package/dist/jwt-o3U8nmVY.mjs +0 -461
  708. package/dist/magic-link-BHNPUuy4.mjs +0 -178
  709. package/dist/multi-session-C1lYHMcQ.mjs +0 -148
  710. package/dist/oauth-proxy-Czg2s3uK.mjs +0 -295
  711. package/dist/oidc-provider-CDvxiCPp.mjs +0 -1429
  712. package/dist/one-tap-DoWUMtQ5.mjs +0 -114
  713. package/dist/one-time-token-DnKJcDhF.mjs +0 -65
  714. package/dist/organization-BTyHxn_-.mjs +0 -3937
  715. package/dist/plugins-BU90BfUc.mjs +0 -2662
  716. package/dist/promise-CL99vzc3.mjs +0 -23147
  717. package/dist/proxy-DNjQepc2.mjs +0 -521
  718. package/dist/siwe-BNO0Sihp.mjs +0 -247
  719. package/dist/two-factor-DsiBWAeX.mjs +0 -929
  720. package/dist/username-DcCXmY8e.mjs +0 -289
@@ -1,13 +1,8 @@
1
- import { createRequire } from "node:module";
2
-
3
1
  //#region rolldown:runtime
4
- var __create = Object.create;
5
2
  var __defProp = Object.defineProperty;
6
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getProtoOf = Object.getPrototypeOf;
9
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
11
6
  var __export = (all, symbols) => {
12
7
  let target = {};
13
8
  for (var name in all) {
@@ -42,12 +37,6 @@ var __reExport = (target, mod, secondTarget, symbols) => {
42
37
  }
43
38
  __copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default");
44
39
  };
45
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
46
- value: mod,
47
- enumerable: true
48
- }) : target, mod));
49
- var __toDynamicImportESM = (isNodeMode) => (mod) => __toESM(mod.default, isNodeMode);
50
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
51
40
 
52
41
  //#endregion
53
- export { __toDynamicImportESM as a, __require as i, __export as n, __toESM as o, __reExport as r, __commonJSMin as t };
42
+ export { __export, __reExport };
@@ -0,0 +1,48 @@
1
+ import { BetterAuthOptions } from "@better-auth/core";
2
+ import { DBAdapter, DBAdapterDebugLogOption } from "@better-auth/core/db/adapter";
3
+
4
+ //#region src/adapters/drizzle-adapter/drizzle-adapter.d.ts
5
+ interface DB {
6
+ [key: string]: any;
7
+ }
8
+ interface DrizzleAdapterConfig {
9
+ /**
10
+ * The schema object that defines the tables and fields
11
+ */
12
+ schema?: Record<string, any> | undefined;
13
+ /**
14
+ * The database provider
15
+ */
16
+ provider: "pg" | "mysql" | "sqlite";
17
+ /**
18
+ * If the table names in the schema are plural
19
+ * set this to true. For example, if the schema
20
+ * has an object with a key "users" instead of "user"
21
+ */
22
+ usePlural?: boolean | undefined;
23
+ /**
24
+ * Enable debug logs for the adapter
25
+ *
26
+ * @default false
27
+ */
28
+ debugLogs?: DBAdapterDebugLogOption | undefined;
29
+ /**
30
+ * By default snake case is used for table and field names
31
+ * when the CLI is used to generate the schema. If you want
32
+ * to use camel case, set this to true.
33
+ * @default false
34
+ */
35
+ camelCase?: boolean | undefined;
36
+ /**
37
+ * Whether to execute multiple operations in a transaction.
38
+ *
39
+ * If the database doesn't support transactions,
40
+ * set this to `false` and operations will be executed sequentially.
41
+ * @default false
42
+ */
43
+ transaction?: boolean | undefined;
44
+ }
45
+ declare const drizzleAdapter: (db: DB, config: DrizzleAdapterConfig) => (options: BetterAuthOptions) => DBAdapter<BetterAuthOptions>;
46
+ //#endregion
47
+ export { DB, DrizzleAdapterConfig, drizzleAdapter };
48
+ //# sourceMappingURL=drizzle-adapter.d.mts.map
@@ -0,0 +1,286 @@
1
+ import { logger } from "@better-auth/core/env";
2
+ import { BetterAuthError } from "@better-auth/core/error";
3
+ import { createAdapterFactory } from "@better-auth/core/db/adapter";
4
+ import { and, asc, count, desc, eq, gt, gte, inArray, like, lt, lte, ne, notInArray, or, sql } from "drizzle-orm";
5
+
6
+ //#region src/adapters/drizzle-adapter/drizzle-adapter.ts
7
+ const drizzleAdapter = (db, config) => {
8
+ let lazyOptions = null;
9
+ const createCustomAdapter = (db$1) => ({ getFieldName, options }) => {
10
+ function getSchema(model) {
11
+ const schema = config.schema || db$1._.fullSchema;
12
+ if (!schema) throw new BetterAuthError("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");
13
+ const schemaModel = schema[model];
14
+ if (!schemaModel) throw new BetterAuthError(`[# Drizzle Adapter]: The model "${model}" was not found in the schema object. Please pass the schema directly to the adapter options.`);
15
+ return schemaModel;
16
+ }
17
+ const withReturning = async (model, builder, data, where) => {
18
+ if (config.provider !== "mysql") return (await builder.returning())[0];
19
+ await builder.execute();
20
+ const schemaModel = getSchema(model);
21
+ const builderVal = builder.config?.values;
22
+ if (where?.length) {
23
+ const clause = convertWhereClause(where.map((w) => {
24
+ if (data[w.field] !== void 0) return {
25
+ ...w,
26
+ value: data[w.field]
27
+ };
28
+ return w;
29
+ }), model);
30
+ return (await db$1.select().from(schemaModel).where(...clause))[0];
31
+ } else if (builderVal && builderVal[0]?.id?.value) {
32
+ let tId = builderVal[0]?.id?.value;
33
+ if (!tId) tId = (await db$1.select({ id: sql`LAST_INSERT_ID()` }).from(schemaModel).orderBy(desc(schemaModel.id)).limit(1))[0].id;
34
+ return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, tId)).limit(1).execute())[0];
35
+ } else if (data.id) return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, data.id)).limit(1).execute())[0];
36
+ else {
37
+ if (!("id" in schemaModel)) throw new BetterAuthError(`The model "${model}" does not have an "id" field. Please use the "id" field as your primary key.`);
38
+ return (await db$1.select().from(schemaModel).orderBy(desc(schemaModel.id)).limit(1).execute())[0];
39
+ }
40
+ };
41
+ function convertWhereClause(where, model) {
42
+ const schemaModel = getSchema(model);
43
+ if (!where) return [];
44
+ if (where.length === 1) {
45
+ const w = where[0];
46
+ if (!w) return [];
47
+ const field = getFieldName({
48
+ model,
49
+ field: w.field
50
+ });
51
+ if (!schemaModel[field]) throw new BetterAuthError(`The field "${w.field}" does not exist in the schema for the model "${model}". Please update your schema.`);
52
+ if (w.operator === "in") {
53
+ if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
54
+ return [inArray(schemaModel[field], w.value)];
55
+ }
56
+ if (w.operator === "not_in") {
57
+ if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
58
+ return [notInArray(schemaModel[field], w.value)];
59
+ }
60
+ if (w.operator === "contains") return [like(schemaModel[field], `%${w.value}%`)];
61
+ if (w.operator === "starts_with") return [like(schemaModel[field], `${w.value}%`)];
62
+ if (w.operator === "ends_with") return [like(schemaModel[field], `%${w.value}`)];
63
+ if (w.operator === "lt") return [lt(schemaModel[field], w.value)];
64
+ if (w.operator === "lte") return [lte(schemaModel[field], w.value)];
65
+ if (w.operator === "ne") return [ne(schemaModel[field], w.value)];
66
+ if (w.operator === "gt") return [gt(schemaModel[field], w.value)];
67
+ if (w.operator === "gte") return [gte(schemaModel[field], w.value)];
68
+ return [eq(schemaModel[field], w.value)];
69
+ }
70
+ const andGroup = where.filter((w) => w.connector === "AND" || !w.connector);
71
+ const orGroup = where.filter((w) => w.connector === "OR");
72
+ const andClause = and(...andGroup.map((w) => {
73
+ const field = getFieldName({
74
+ model,
75
+ field: w.field
76
+ });
77
+ if (w.operator === "in") {
78
+ if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
79
+ return inArray(schemaModel[field], w.value);
80
+ }
81
+ if (w.operator === "not_in") {
82
+ if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
83
+ return notInArray(schemaModel[field], w.value);
84
+ }
85
+ if (w.operator === "contains") return like(schemaModel[field], `%${w.value}%`);
86
+ if (w.operator === "starts_with") return like(schemaModel[field], `${w.value}%`);
87
+ if (w.operator === "ends_with") return like(schemaModel[field], `%${w.value}`);
88
+ if (w.operator === "lt") return lt(schemaModel[field], w.value);
89
+ if (w.operator === "lte") return lte(schemaModel[field], w.value);
90
+ if (w.operator === "gt") return gt(schemaModel[field], w.value);
91
+ if (w.operator === "gte") return gte(schemaModel[field], w.value);
92
+ if (w.operator === "ne") return ne(schemaModel[field], w.value);
93
+ return eq(schemaModel[field], w.value);
94
+ }));
95
+ const orClause = or(...orGroup.map((w) => {
96
+ const field = getFieldName({
97
+ model,
98
+ field: w.field
99
+ });
100
+ if (w.operator === "in") {
101
+ if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
102
+ return inArray(schemaModel[field], w.value);
103
+ }
104
+ if (w.operator === "not_in") {
105
+ if (!Array.isArray(w.value)) throw new BetterAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
106
+ return notInArray(schemaModel[field], w.value);
107
+ }
108
+ if (w.operator === "contains") return like(schemaModel[field], `%${w.value}%`);
109
+ if (w.operator === "starts_with") return like(schemaModel[field], `${w.value}%`);
110
+ if (w.operator === "ends_with") return like(schemaModel[field], `%${w.value}`);
111
+ if (w.operator === "lt") return lt(schemaModel[field], w.value);
112
+ if (w.operator === "lte") return lte(schemaModel[field], w.value);
113
+ if (w.operator === "gt") return gt(schemaModel[field], w.value);
114
+ if (w.operator === "gte") return gte(schemaModel[field], w.value);
115
+ if (w.operator === "ne") return ne(schemaModel[field], w.value);
116
+ return eq(schemaModel[field], w.value);
117
+ }));
118
+ const clause = [];
119
+ if (andGroup.length) clause.push(andClause);
120
+ if (orGroup.length) clause.push(orClause);
121
+ return clause;
122
+ }
123
+ function checkMissingFields(schema, model, values) {
124
+ if (!schema) throw new BetterAuthError("Drizzle adapter failed to initialize. Drizzle Schema not found. Please provide a schema object in the adapter options object.");
125
+ for (const key in values) if (!schema[key]) throw new BetterAuthError(`The field "${key}" does not exist in the "${model}" Drizzle schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli@latest generate".`);
126
+ }
127
+ return {
128
+ async create({ model, data: values }) {
129
+ const schemaModel = getSchema(model);
130
+ checkMissingFields(schemaModel, model, values);
131
+ return await withReturning(model, db$1.insert(schemaModel).values(values), values);
132
+ },
133
+ async findOne({ model, where, join }) {
134
+ const schemaModel = getSchema(model);
135
+ const clause = convertWhereClause(where, model);
136
+ if (options.experimental?.joins) if (!db$1.query || !db$1.query[model]) {
137
+ logger.error(`[# Drizzle Adapter]: The model "${model}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx @better-auth/cli@latest generate".`);
138
+ logger.info("Falling back to regular query");
139
+ } else {
140
+ let includes;
141
+ const pluralJoinResults = [];
142
+ if (join) {
143
+ includes = {};
144
+ const joinEntries = Object.entries(join);
145
+ for (const [model$1, joinAttr] of joinEntries) {
146
+ const limit = joinAttr.limit ?? options.advanced?.database?.defaultFindManyLimit ?? 100;
147
+ const isUnique = joinAttr.relation === "one-to-one";
148
+ const pluralSuffix = isUnique || config.usePlural ? "" : "s";
149
+ includes[`${model$1}${pluralSuffix}`] = isUnique ? true : { limit };
150
+ if (!isUnique) pluralJoinResults.push(`${model$1}${pluralSuffix}`);
151
+ }
152
+ }
153
+ const res$1 = await db$1.query[model].findFirst({
154
+ where: clause[0],
155
+ with: includes
156
+ });
157
+ if (res$1) for (const pluralJoinResult of pluralJoinResults) {
158
+ let singularKey = !config.usePlural ? pluralJoinResult.slice(0, -1) : pluralJoinResult;
159
+ res$1[singularKey] = res$1[pluralJoinResult];
160
+ if (pluralJoinResult !== singularKey) delete res$1[pluralJoinResult];
161
+ }
162
+ return res$1;
163
+ }
164
+ const res = await db$1.select().from(schemaModel).where(...clause);
165
+ if (!res.length) return null;
166
+ return res[0];
167
+ },
168
+ async findMany({ model, where, sortBy, limit, offset, join }) {
169
+ const schemaModel = getSchema(model);
170
+ const clause = where ? convertWhereClause(where, model) : [];
171
+ const sortFn = sortBy?.direction === "desc" ? desc : asc;
172
+ if (options.experimental?.joins) if (!db$1.query[model]) {
173
+ logger.error(`[# Drizzle Adapter]: The model "${model}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx @better-auth/cli@latest generate".`);
174
+ logger.info("Falling back to regular query");
175
+ } else {
176
+ let includes;
177
+ const pluralJoinResults = [];
178
+ if (join) {
179
+ includes = {};
180
+ const joinEntries = Object.entries(join);
181
+ for (const [model$1, joinAttr] of joinEntries) {
182
+ const isUnique = joinAttr.relation === "one-to-one";
183
+ const limit$1 = joinAttr.limit ?? options.advanced?.database?.defaultFindManyLimit ?? 100;
184
+ let pluralSuffix = isUnique || config.usePlural ? "" : "s";
185
+ includes[`${model$1}${pluralSuffix}`] = isUnique ? true : { limit: limit$1 };
186
+ if (!isUnique) pluralJoinResults.push(`${model$1}${pluralSuffix}`);
187
+ }
188
+ }
189
+ let orderBy = void 0;
190
+ if (sortBy?.field) orderBy = [sortFn(schemaModel[getFieldName({
191
+ model,
192
+ field: sortBy?.field
193
+ })])];
194
+ let res = await db$1.query[model].findMany({
195
+ where: clause[0],
196
+ with: includes,
197
+ limit: limit ?? 100,
198
+ offset: offset ?? 0,
199
+ orderBy
200
+ });
201
+ if (res) for (const item of res) for (const pluralJoinResult of pluralJoinResults) {
202
+ const singularKey = !config.usePlural ? pluralJoinResult.slice(0, -1) : pluralJoinResult;
203
+ if (singularKey === pluralJoinResult) continue;
204
+ item[singularKey] = item[pluralJoinResult];
205
+ delete item[pluralJoinResult];
206
+ }
207
+ return res;
208
+ }
209
+ let builder = db$1.select().from(schemaModel);
210
+ const effectiveLimit = limit;
211
+ const effectiveOffset = offset;
212
+ if (typeof effectiveLimit !== "undefined") builder = builder.limit(effectiveLimit);
213
+ if (typeof effectiveOffset !== "undefined") builder = builder.offset(effectiveOffset);
214
+ if (sortBy?.field) builder = builder.orderBy(sortFn(schemaModel[getFieldName({
215
+ model,
216
+ field: sortBy?.field
217
+ })]));
218
+ return await builder.where(...clause);
219
+ },
220
+ async count({ model, where }) {
221
+ const schemaModel = getSchema(model);
222
+ const clause = where ? convertWhereClause(where, model) : [];
223
+ return (await db$1.select({ count: count() }).from(schemaModel).where(...clause))[0].count;
224
+ },
225
+ async update({ model, where, update: values }) {
226
+ const schemaModel = getSchema(model);
227
+ const clause = convertWhereClause(where, model);
228
+ return await withReturning(model, db$1.update(schemaModel).set(values).where(...clause), values, where);
229
+ },
230
+ async updateMany({ model, where, update: values }) {
231
+ const schemaModel = getSchema(model);
232
+ const clause = convertWhereClause(where, model);
233
+ return await db$1.update(schemaModel).set(values).where(...clause);
234
+ },
235
+ async delete({ model, where }) {
236
+ const schemaModel = getSchema(model);
237
+ const clause = convertWhereClause(where, model);
238
+ return await db$1.delete(schemaModel).where(...clause);
239
+ },
240
+ async deleteMany({ model, where }) {
241
+ const schemaModel = getSchema(model);
242
+ const clause = convertWhereClause(where, model);
243
+ const res = await db$1.delete(schemaModel).where(...clause);
244
+ let count$1 = 0;
245
+ if (res && "rowCount" in res) count$1 = res.rowCount;
246
+ else if (Array.isArray(res)) count$1 = res.length;
247
+ else if (res && ("affectedRows" in res || "rowsAffected" in res || "changes" in res)) count$1 = res.affectedRows ?? res.rowsAffected ?? res.changes;
248
+ if (typeof count$1 !== "number") logger.error("[Drizzle Adapter] The result of the deleteMany operation is not a number. This is likely a bug in the adapter. Please report this issue to the Better Auth team.", {
249
+ res,
250
+ model,
251
+ where
252
+ });
253
+ return count$1;
254
+ },
255
+ options: config
256
+ };
257
+ };
258
+ let adapterOptions = null;
259
+ adapterOptions = {
260
+ config: {
261
+ adapterId: "drizzle",
262
+ adapterName: "Drizzle Adapter",
263
+ usePlural: config.usePlural ?? false,
264
+ debugLogs: config.debugLogs ?? false,
265
+ supportsUUIDs: config.provider === "pg" ? true : false,
266
+ supportsJSON: config.provider === "pg" ? true : false,
267
+ supportsArrays: config.provider === "pg" ? true : false,
268
+ transaction: config.transaction ?? false ? (cb) => db.transaction((tx) => {
269
+ return cb(createAdapterFactory({
270
+ config: adapterOptions.config,
271
+ adapter: createCustomAdapter(tx)
272
+ })(lazyOptions));
273
+ }) : false
274
+ },
275
+ adapter: createCustomAdapter(db)
276
+ };
277
+ const adapter = createAdapterFactory(adapterOptions);
278
+ return (options) => {
279
+ lazyOptions = options;
280
+ return adapter(options);
281
+ };
282
+ };
283
+
284
+ //#endregion
285
+ export { drizzleAdapter };
286
+ //# sourceMappingURL=drizzle-adapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-adapter.mjs","names":["lazyOptions: BetterAuthOptions | null","db","clause: SQL<unknown>[]","includes:\n\t\t\t\t\t\t\t\t| Record<string, { limit: number } | boolean>\n\t\t\t\t\t\t\t\t| undefined","pluralJoinResults: string[]","model","res","limit","orderBy: SQL<unknown>[] | undefined","count","adapterOptions: AdapterFactoryOptions | null"],"sources":["../../../src/adapters/drizzle-adapter/drizzle-adapter.ts"],"sourcesContent":["import type { BetterAuthOptions } from \"@better-auth/core\";\nimport type {\n\tAdapterFactoryCustomizeAdapterCreator,\n\tAdapterFactoryOptions,\n\tDBAdapter,\n\tDBAdapterDebugLogOption,\n\tWhere,\n} from \"@better-auth/core/db/adapter\";\nimport { createAdapterFactory } from \"@better-auth/core/db/adapter\";\nimport { logger } from \"@better-auth/core/env\";\nimport { BetterAuthError } from \"@better-auth/core/error\";\nimport type { SQL } from \"drizzle-orm\";\nimport {\n\tand,\n\tasc,\n\tcount,\n\tdesc,\n\teq,\n\tgt,\n\tgte,\n\tinArray,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnotInArray,\n\tor,\n\tsql,\n} from \"drizzle-orm\";\n\nexport interface DB {\n\t[key: string]: any;\n}\n\nexport interface DrizzleAdapterConfig {\n\t/**\n\t * The schema object that defines the tables and fields\n\t */\n\tschema?: Record<string, any> | undefined;\n\t/**\n\t * The database provider\n\t */\n\tprovider: \"pg\" | \"mysql\" | \"sqlite\";\n\t/**\n\t * If the table names in the schema are plural\n\t * set this to true. For example, if the schema\n\t * has an object with a key \"users\" instead of \"user\"\n\t */\n\tusePlural?: boolean | undefined;\n\t/**\n\t * Enable debug logs for the adapter\n\t *\n\t * @default false\n\t */\n\tdebugLogs?: DBAdapterDebugLogOption | undefined;\n\t/**\n\t * By default snake case is used for table and field names\n\t * when the CLI is used to generate the schema. If you want\n\t * to use camel case, set this to true.\n\t * @default false\n\t */\n\tcamelCase?: boolean | undefined;\n\t/**\n\t * Whether to execute multiple operations in a transaction.\n\t *\n\t * If the database doesn't support transactions,\n\t * set this to `false` and operations will be executed sequentially.\n\t * @default false\n\t */\n\ttransaction?: boolean | undefined;\n}\n\nexport const drizzleAdapter = (db: DB, config: DrizzleAdapterConfig) => {\n\tlet lazyOptions: BetterAuthOptions | null = null;\n\tconst createCustomAdapter =\n\t\t(db: DB): AdapterFactoryCustomizeAdapterCreator =>\n\t\t({ getFieldName, options }) => {\n\t\t\tfunction getSchema(model: string) {\n\t\t\t\tconst schema = config.schema || db._.fullSchema;\n\t\t\t\tif (!schema) {\n\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\"Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst schemaModel = schema[model];\n\t\t\t\tif (!schemaModel) {\n\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t`[# Drizzle Adapter]: The model \"${model}\" was not found in the schema object. Please pass the schema directly to the adapter options.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn schemaModel;\n\t\t\t}\n\t\t\tconst withReturning = async (\n\t\t\t\tmodel: string,\n\t\t\t\tbuilder: any,\n\t\t\t\tdata: Record<string, any>,\n\t\t\t\twhere?: Where[] | undefined,\n\t\t\t) => {\n\t\t\t\tif (config.provider !== \"mysql\") {\n\t\t\t\t\tconst c = await builder.returning();\n\t\t\t\t\treturn c[0];\n\t\t\t\t}\n\t\t\t\tawait builder.execute();\n\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\tconst builderVal = builder.config?.values;\n\t\t\t\tif (where?.length) {\n\t\t\t\t\t// If we're updating a field that's in the where clause, use the new value\n\t\t\t\t\tconst updatedWhere = where.map((w) => {\n\t\t\t\t\t\t// If this field was updated, use the new value for lookup\n\t\t\t\t\t\tif (data[w.field] !== undefined) {\n\t\t\t\t\t\t\treturn { ...w, value: data[w.field] };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn w;\n\t\t\t\t\t});\n\n\t\t\t\t\tconst clause = convertWhereClause(updatedWhere, model);\n\t\t\t\t\tconst res = await db\n\t\t\t\t\t\t.select()\n\t\t\t\t\t\t.from(schemaModel)\n\t\t\t\t\t\t.where(...clause);\n\t\t\t\t\treturn res[0];\n\t\t\t\t} else if (builderVal && builderVal[0]?.id?.value) {\n\t\t\t\t\tlet tId = builderVal[0]?.id?.value;\n\t\t\t\t\tif (!tId) {\n\t\t\t\t\t\t//get last inserted id\n\t\t\t\t\t\tconst lastInsertId = await db\n\t\t\t\t\t\t\t.select({ id: sql`LAST_INSERT_ID()` })\n\t\t\t\t\t\t\t.from(schemaModel)\n\t\t\t\t\t\t\t.orderBy(desc(schemaModel.id))\n\t\t\t\t\t\t\t.limit(1);\n\t\t\t\t\t\ttId = lastInsertId[0].id;\n\t\t\t\t\t}\n\t\t\t\t\tconst res = await db\n\t\t\t\t\t\t.select()\n\t\t\t\t\t\t.from(schemaModel)\n\t\t\t\t\t\t.where(eq(schemaModel.id, tId))\n\t\t\t\t\t\t.limit(1)\n\t\t\t\t\t\t.execute();\n\t\t\t\t\treturn res[0];\n\t\t\t\t} else if (data.id) {\n\t\t\t\t\tconst res = await db\n\t\t\t\t\t\t.select()\n\t\t\t\t\t\t.from(schemaModel)\n\t\t\t\t\t\t.where(eq(schemaModel.id, data.id))\n\t\t\t\t\t\t.limit(1)\n\t\t\t\t\t\t.execute();\n\t\t\t\t\treturn res[0];\n\t\t\t\t} else {\n\t\t\t\t\t// If the user doesn't have `id` as a field, then this will fail.\n\t\t\t\t\t// We expect that they defined `id` in all of their models.\n\t\t\t\t\tif (!(\"id\" in schemaModel)) {\n\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t`The model \"${model}\" does not have an \"id\" field. Please use the \"id\" field as your primary key.`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tconst res = await db\n\t\t\t\t\t\t.select()\n\t\t\t\t\t\t.from(schemaModel)\n\t\t\t\t\t\t.orderBy(desc(schemaModel.id))\n\t\t\t\t\t\t.limit(1)\n\t\t\t\t\t\t.execute();\n\t\t\t\t\treturn res[0];\n\t\t\t\t}\n\t\t\t};\n\t\t\tfunction convertWhereClause(where: Where[], model: string) {\n\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\tif (!where) return [];\n\t\t\t\tif (where.length === 1) {\n\t\t\t\t\tconst w = where[0];\n\t\t\t\t\tif (!w) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t\tconst field = getFieldName({ model, field: w.field });\n\t\t\t\t\tif (!schemaModel[field]) {\n\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t`The field \"${w.field}\" does not exist in the schema for the model \"${model}\". Please update your schema.`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (w.operator === \"in\") {\n\t\t\t\t\t\tif (!Array.isArray(w.value)) {\n\t\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t\t`The value for the field \"${w.field}\" must be an array when using the \"in\" operator.`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [inArray(schemaModel[field], w.value)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"not_in\") {\n\t\t\t\t\t\tif (!Array.isArray(w.value)) {\n\t\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t\t`The value for the field \"${w.field}\" must be an array when using the \"not_in\" operator.`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [notInArray(schemaModel[field], w.value)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"contains\") {\n\t\t\t\t\t\treturn [like(schemaModel[field], `%${w.value}%`)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"starts_with\") {\n\t\t\t\t\t\treturn [like(schemaModel[field], `${w.value}%`)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"ends_with\") {\n\t\t\t\t\t\treturn [like(schemaModel[field], `%${w.value}`)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"lt\") {\n\t\t\t\t\t\treturn [lt(schemaModel[field], w.value)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"lte\") {\n\t\t\t\t\t\treturn [lte(schemaModel[field], w.value)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"ne\") {\n\t\t\t\t\t\treturn [ne(schemaModel[field], w.value)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"gt\") {\n\t\t\t\t\t\treturn [gt(schemaModel[field], w.value)];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (w.operator === \"gte\") {\n\t\t\t\t\t\treturn [gte(schemaModel[field], w.value)];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [eq(schemaModel[field], w.value)];\n\t\t\t\t}\n\t\t\t\tconst andGroup = where.filter(\n\t\t\t\t\t(w) => w.connector === \"AND\" || !w.connector,\n\t\t\t\t);\n\t\t\t\tconst orGroup = where.filter((w) => w.connector === \"OR\");\n\n\t\t\t\tconst andClause = and(\n\t\t\t\t\t...andGroup.map((w) => {\n\t\t\t\t\t\tconst field = getFieldName({ model, field: w.field });\n\t\t\t\t\t\tif (w.operator === \"in\") {\n\t\t\t\t\t\t\tif (!Array.isArray(w.value)) {\n\t\t\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t\t\t`The value for the field \"${w.field}\" must be an array when using the \"in\" operator.`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn inArray(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"not_in\") {\n\t\t\t\t\t\t\tif (!Array.isArray(w.value)) {\n\t\t\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t\t\t`The value for the field \"${w.field}\" must be an array when using the \"not_in\" operator.`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn notInArray(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"contains\") {\n\t\t\t\t\t\t\treturn like(schemaModel[field], `%${w.value}%`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"starts_with\") {\n\t\t\t\t\t\t\treturn like(schemaModel[field], `${w.value}%`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"ends_with\") {\n\t\t\t\t\t\t\treturn like(schemaModel[field], `%${w.value}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"lt\") {\n\t\t\t\t\t\t\treturn lt(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"lte\") {\n\t\t\t\t\t\t\treturn lte(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"gt\") {\n\t\t\t\t\t\t\treturn gt(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"gte\") {\n\t\t\t\t\t\t\treturn gte(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"ne\") {\n\t\t\t\t\t\t\treturn ne(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn eq(schemaModel[field], w.value);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tconst orClause = or(\n\t\t\t\t\t...orGroup.map((w) => {\n\t\t\t\t\t\tconst field = getFieldName({ model, field: w.field });\n\t\t\t\t\t\tif (w.operator === \"in\") {\n\t\t\t\t\t\t\tif (!Array.isArray(w.value)) {\n\t\t\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t\t\t`The value for the field \"${w.field}\" must be an array when using the \"in\" operator.`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn inArray(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"not_in\") {\n\t\t\t\t\t\t\tif (!Array.isArray(w.value)) {\n\t\t\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t\t\t`The value for the field \"${w.field}\" must be an array when using the \"not_in\" operator.`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn notInArray(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"contains\") {\n\t\t\t\t\t\t\treturn like(schemaModel[field], `%${w.value}%`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"starts_with\") {\n\t\t\t\t\t\t\treturn like(schemaModel[field], `${w.value}%`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"ends_with\") {\n\t\t\t\t\t\t\treturn like(schemaModel[field], `%${w.value}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"lt\") {\n\t\t\t\t\t\t\treturn lt(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"lte\") {\n\t\t\t\t\t\t\treturn lte(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"gt\") {\n\t\t\t\t\t\t\treturn gt(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"gte\") {\n\t\t\t\t\t\t\treturn gte(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (w.operator === \"ne\") {\n\t\t\t\t\t\t\treturn ne(schemaModel[field], w.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn eq(schemaModel[field], w.value);\n\t\t\t\t\t}),\n\t\t\t\t);\n\n\t\t\t\tconst clause: SQL<unknown>[] = [];\n\n\t\t\t\tif (andGroup.length) clause.push(andClause!);\n\t\t\t\tif (orGroup.length) clause.push(orClause!);\n\t\t\t\treturn clause;\n\t\t\t}\n\t\t\tfunction checkMissingFields(\n\t\t\t\tschema: Record<string, any>,\n\t\t\t\tmodel: string,\n\t\t\t\tvalues: Record<string, any>,\n\t\t\t) {\n\t\t\t\tif (!schema) {\n\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\"Drizzle adapter failed to initialize. Drizzle Schema not found. Please provide a schema object in the adapter options object.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tfor (const key in values) {\n\t\t\t\t\tif (!schema[key]) {\n\t\t\t\t\t\tthrow new BetterAuthError(\n\t\t\t\t\t\t\t`The field \"${key}\" does not exist in the \"${model}\" Drizzle schema. Please update your drizzle schema or re-generate using \"npx @better-auth/cli@latest generate\".`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tasync create({ model, data: values }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tcheckMissingFields(schemaModel, model, values);\n\t\t\t\t\tconst builder = db.insert(schemaModel).values(values);\n\t\t\t\t\tconst returned = await withReturning(model, builder, values);\n\t\t\t\t\treturn returned;\n\t\t\t\t},\n\t\t\t\tasync findOne({ model, where, join }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tconst clause = convertWhereClause(where, model);\n\n\t\t\t\t\tif (options.experimental?.joins) {\n\t\t\t\t\t\tif (!db.query || !db.query[model]) {\n\t\t\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t\t\t`[# Drizzle Adapter]: The model \"${model}\" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using \"npx @better-auth/cli@latest generate\".`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tlogger.info(\"Falling back to regular query\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet includes:\n\t\t\t\t\t\t\t\t| Record<string, { limit: number } | boolean>\n\t\t\t\t\t\t\t\t| undefined;\n\n\t\t\t\t\t\t\tconst pluralJoinResults: string[] = [];\n\t\t\t\t\t\t\tif (join) {\n\t\t\t\t\t\t\t\tincludes = {};\n\t\t\t\t\t\t\t\tconst joinEntries = Object.entries(join);\n\t\t\t\t\t\t\t\tfor (const [model, joinAttr] of joinEntries) {\n\t\t\t\t\t\t\t\t\tconst limit =\n\t\t\t\t\t\t\t\t\t\tjoinAttr.limit ??\n\t\t\t\t\t\t\t\t\t\toptions.advanced?.database?.defaultFindManyLimit ??\n\t\t\t\t\t\t\t\t\t\t100;\n\t\t\t\t\t\t\t\t\tconst isUnique = joinAttr.relation === \"one-to-one\";\n\t\t\t\t\t\t\t\t\tconst pluralSuffix = isUnique || config.usePlural ? \"\" : \"s\";\n\t\t\t\t\t\t\t\t\tincludes[`${model}${pluralSuffix}`] = isUnique\n\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t: { limit };\n\t\t\t\t\t\t\t\t\tif (!isUnique) {\n\t\t\t\t\t\t\t\t\t\tpluralJoinResults.push(`${model}${pluralSuffix}`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlet query = db.query[model].findFirst({\n\t\t\t\t\t\t\t\twhere: clause[0],\n\t\t\t\t\t\t\t\twith: includes,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst res = await query;\n\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tfor (const pluralJoinResult of pluralJoinResults) {\n\t\t\t\t\t\t\t\t\tlet singularKey = !config.usePlural\n\t\t\t\t\t\t\t\t\t\t? pluralJoinResult.slice(0, -1)\n\t\t\t\t\t\t\t\t\t\t: pluralJoinResult;\n\t\t\t\t\t\t\t\t\tres[singularKey] = res[pluralJoinResult];\n\t\t\t\t\t\t\t\t\tif (pluralJoinResult !== singularKey) {\n\t\t\t\t\t\t\t\t\t\tdelete res[pluralJoinResult];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet query = db\n\t\t\t\t\t\t.select()\n\t\t\t\t\t\t.from(schemaModel)\n\t\t\t\t\t\t.where(...clause);\n\n\t\t\t\t\tconst res = await query;\n\n\t\t\t\t\tif (!res.length) return null;\n\t\t\t\t\treturn res[0];\n\t\t\t\t},\n\t\t\t\tasync findMany({ model, where, sortBy, limit, offset, join }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tconst clause = where ? convertWhereClause(where, model) : [];\n\t\t\t\t\tconst sortFn = sortBy?.direction === \"desc\" ? desc : asc;\n\n\t\t\t\t\tif (options.experimental?.joins) {\n\t\t\t\t\t\tif (!db.query[model]) {\n\t\t\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t\t\t`[# Drizzle Adapter]: The model \"${model}\" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using \"npx @better-auth/cli@latest generate\".`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tlogger.info(\"Falling back to regular query\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet includes:\n\t\t\t\t\t\t\t\t| Record<string, { limit: number } | boolean>\n\t\t\t\t\t\t\t\t| undefined;\n\n\t\t\t\t\t\t\tconst pluralJoinResults: string[] = [];\n\t\t\t\t\t\t\tif (join) {\n\t\t\t\t\t\t\t\tincludes = {};\n\t\t\t\t\t\t\t\tconst joinEntries = Object.entries(join);\n\t\t\t\t\t\t\t\tfor (const [model, joinAttr] of joinEntries) {\n\t\t\t\t\t\t\t\t\tconst isUnique = joinAttr.relation === \"one-to-one\";\n\t\t\t\t\t\t\t\t\tconst limit =\n\t\t\t\t\t\t\t\t\t\tjoinAttr.limit ??\n\t\t\t\t\t\t\t\t\t\toptions.advanced?.database?.defaultFindManyLimit ??\n\t\t\t\t\t\t\t\t\t\t100;\n\t\t\t\t\t\t\t\t\tlet pluralSuffix = isUnique || config.usePlural ? \"\" : \"s\";\n\t\t\t\t\t\t\t\t\tincludes[`${model}${pluralSuffix}`] = isUnique\n\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t: { limit };\n\t\t\t\t\t\t\t\t\tif (!isUnique)\n\t\t\t\t\t\t\t\t\t\tpluralJoinResults.push(`${model}${pluralSuffix}`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlet orderBy: SQL<unknown>[] | undefined = undefined;\n\t\t\t\t\t\t\tif (sortBy?.field) {\n\t\t\t\t\t\t\t\torderBy = [\n\t\t\t\t\t\t\t\t\tsortFn(\n\t\t\t\t\t\t\t\t\t\tschemaModel[getFieldName({ model, field: sortBy?.field })],\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlet query = db.query[model].findMany({\n\t\t\t\t\t\t\t\twhere: clause[0],\n\t\t\t\t\t\t\t\twith: includes,\n\t\t\t\t\t\t\t\tlimit: limit ?? 100,\n\t\t\t\t\t\t\t\toffset: offset ?? 0,\n\t\t\t\t\t\t\t\torderBy,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tlet res = await query;\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tfor (const item of res) {\n\t\t\t\t\t\t\t\t\tfor (const pluralJoinResult of pluralJoinResults) {\n\t\t\t\t\t\t\t\t\t\tconst singularKey = !config.usePlural\n\t\t\t\t\t\t\t\t\t\t\t? pluralJoinResult.slice(0, -1)\n\t\t\t\t\t\t\t\t\t\t\t: pluralJoinResult;\n\t\t\t\t\t\t\t\t\t\tif (singularKey === pluralJoinResult) continue;\n\t\t\t\t\t\t\t\t\t\titem[singularKey] = item[pluralJoinResult];\n\t\t\t\t\t\t\t\t\t\tdelete item[pluralJoinResult];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet builder = db.select().from(schemaModel);\n\n\t\t\t\t\tconst effectiveLimit = limit;\n\t\t\t\t\tconst effectiveOffset = offset;\n\n\t\t\t\t\tif (typeof effectiveLimit !== \"undefined\") {\n\t\t\t\t\t\tbuilder = builder.limit(effectiveLimit);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof effectiveOffset !== \"undefined\") {\n\t\t\t\t\t\tbuilder = builder.offset(effectiveOffset);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (sortBy?.field) {\n\t\t\t\t\t\tbuilder = builder.orderBy(\n\t\t\t\t\t\t\tsortFn(\n\t\t\t\t\t\t\t\tschemaModel[getFieldName({ model, field: sortBy?.field })],\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst res = await builder.where(...clause);\n\t\t\t\t\treturn res;\n\t\t\t\t},\n\t\t\t\tasync count({ model, where }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tconst clause = where ? convertWhereClause(where, model) : [];\n\t\t\t\t\tconst res = await db\n\t\t\t\t\t\t.select({ count: count() })\n\t\t\t\t\t\t.from(schemaModel)\n\t\t\t\t\t\t.where(...clause);\n\t\t\t\t\treturn res[0].count;\n\t\t\t\t},\n\t\t\t\tasync update({ model, where, update: values }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tconst clause = convertWhereClause(where, model);\n\t\t\t\t\tconst builder = db\n\t\t\t\t\t\t.update(schemaModel)\n\t\t\t\t\t\t.set(values)\n\t\t\t\t\t\t.where(...clause);\n\t\t\t\t\treturn await withReturning(model, builder, values as any, where);\n\t\t\t\t},\n\t\t\t\tasync updateMany({ model, where, update: values }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tconst clause = convertWhereClause(where, model);\n\t\t\t\t\tconst builder = db\n\t\t\t\t\t\t.update(schemaModel)\n\t\t\t\t\t\t.set(values)\n\t\t\t\t\t\t.where(...clause);\n\t\t\t\t\treturn await builder;\n\t\t\t\t},\n\t\t\t\tasync delete({ model, where }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tconst clause = convertWhereClause(where, model);\n\t\t\t\t\tconst builder = db.delete(schemaModel).where(...clause);\n\t\t\t\t\treturn await builder;\n\t\t\t\t},\n\t\t\t\tasync deleteMany({ model, where }) {\n\t\t\t\t\tconst schemaModel = getSchema(model);\n\t\t\t\t\tconst clause = convertWhereClause(where, model);\n\t\t\t\t\tconst builder = db.delete(schemaModel).where(...clause);\n\t\t\t\t\tconst res = await builder;\n\t\t\t\t\tlet count = 0;\n\t\t\t\t\tif (res && \"rowCount\" in res) count = res.rowCount;\n\t\t\t\t\telse if (Array.isArray(res)) count = res.length;\n\t\t\t\t\telse if (\n\t\t\t\t\t\tres &&\n\t\t\t\t\t\t(\"affectedRows\" in res || \"rowsAffected\" in res || \"changes\" in res)\n\t\t\t\t\t)\n\t\t\t\t\t\tcount = res.affectedRows ?? res.rowsAffected ?? res.changes;\n\t\t\t\t\tif (typeof count !== \"number\") {\n\t\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t\t\"[Drizzle Adapter] The result of the deleteMany operation is not a number. This is likely a bug in the adapter. Please report this issue to the Better Auth team.\",\n\t\t\t\t\t\t\t{ res, model, where },\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn count;\n\t\t\t\t},\n\t\t\t\toptions: config,\n\t\t\t};\n\t\t};\n\tlet adapterOptions: AdapterFactoryOptions | null = null;\n\tadapterOptions = {\n\t\tconfig: {\n\t\t\tadapterId: \"drizzle\",\n\t\t\tadapterName: \"Drizzle Adapter\",\n\t\t\tusePlural: config.usePlural ?? false,\n\t\t\tdebugLogs: config.debugLogs ?? false,\n\t\t\tsupportsUUIDs: config.provider === \"pg\" ? true : false,\n\t\t\tsupportsJSON:\n\t\t\t\tconfig.provider === \"pg\" // even though mysql also supports it, mysql requires to pass stringified json anyway.\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\tsupportsArrays: config.provider === \"pg\" ? true : false,\n\t\t\ttransaction:\n\t\t\t\t(config.transaction ?? false)\n\t\t\t\t\t? (cb) =>\n\t\t\t\t\t\t\tdb.transaction((tx: DB) => {\n\t\t\t\t\t\t\t\tconst adapter = createAdapterFactory({\n\t\t\t\t\t\t\t\t\tconfig: adapterOptions!.config,\n\t\t\t\t\t\t\t\t\tadapter: createCustomAdapter(tx),\n\t\t\t\t\t\t\t\t})(lazyOptions!);\n\t\t\t\t\t\t\t\treturn cb(adapter);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t: false,\n\t\t},\n\t\tadapter: createCustomAdapter(db),\n\t};\n\tconst adapter = createAdapterFactory(adapterOptions);\n\treturn (options: BetterAuthOptions): DBAdapter<BetterAuthOptions> => {\n\t\tlazyOptions = options;\n\t\treturn adapter(options);\n\t};\n};\n"],"mappings":"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"}
@@ -1,47 +1,2 @@
1
- import { BetterAuthOptions } from "@better-auth/core";
2
- import { DBAdapter, DBAdapterDebugLogOption } from "@better-auth/core/db/adapter";
3
-
4
- //#region src/adapters/drizzle-adapter/drizzle-adapter.d.ts
5
- interface DB {
6
- [key: string]: any;
7
- }
8
- interface DrizzleAdapterConfig {
9
- /**
10
- * The schema object that defines the tables and fields
11
- */
12
- schema?: Record<string, any> | undefined;
13
- /**
14
- * The database provider
15
- */
16
- provider: "pg" | "mysql" | "sqlite";
17
- /**
18
- * If the table names in the schema are plural
19
- * set this to true. For example, if the schema
20
- * has an object with a key "users" instead of "user"
21
- */
22
- usePlural?: boolean | undefined;
23
- /**
24
- * Enable debug logs for the adapter
25
- *
26
- * @default false
27
- */
28
- debugLogs?: DBAdapterDebugLogOption | undefined;
29
- /**
30
- * By default snake case is used for table and field names
31
- * when the CLI is used to generate the schema. If you want
32
- * to use camel case, set this to true.
33
- * @default false
34
- */
35
- camelCase?: boolean | undefined;
36
- /**
37
- * Whether to execute multiple operations in a transaction.
38
- *
39
- * If the database doesn't support transactions,
40
- * set this to `false` and operations will be executed sequentially.
41
- * @default false
42
- */
43
- transaction?: boolean | undefined;
44
- }
45
- declare const drizzleAdapter: (db: DB, config: DrizzleAdapterConfig) => (options: BetterAuthOptions) => DBAdapter<BetterAuthOptions>;
46
- //#endregion
1
+ import { DB, DrizzleAdapterConfig, drizzleAdapter } from "./drizzle-adapter.mjs";
47
2
  export { DB, DrizzleAdapterConfig, drizzleAdapter };