better-auth 1.2.6-beta.7 → 1.2.7-beta.1

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 (273) hide show
  1. package/dist/adapters/drizzle-adapter/index.cjs +186 -249
  2. package/dist/adapters/drizzle-adapter/index.d.cts +11 -49
  3. package/dist/adapters/drizzle-adapter/index.d.mts +11 -49
  4. package/dist/adapters/drizzle-adapter/index.d.ts +11 -49
  5. package/dist/adapters/drizzle-adapter/index.mjs +186 -249
  6. package/dist/adapters/index.cjs +26 -0
  7. package/dist/adapters/index.d.cts +17 -0
  8. package/dist/adapters/index.d.mts +17 -0
  9. package/dist/adapters/index.d.ts +17 -0
  10. package/dist/adapters/index.mjs +20 -0
  11. package/dist/adapters/kysely-adapter/index.cjs +7 -7
  12. package/dist/adapters/kysely-adapter/index.d.cts +17 -49
  13. package/dist/adapters/kysely-adapter/index.d.mts +17 -49
  14. package/dist/adapters/kysely-adapter/index.d.ts +17 -49
  15. package/dist/adapters/kysely-adapter/index.mjs +8 -8
  16. package/dist/adapters/memory-adapter/index.cjs +7 -8
  17. package/dist/adapters/memory-adapter/index.d.cts +9 -49
  18. package/dist/adapters/memory-adapter/index.d.mts +9 -49
  19. package/dist/adapters/memory-adapter/index.d.ts +9 -49
  20. package/dist/adapters/memory-adapter/index.mjs +8 -9
  21. package/dist/adapters/mongodb-adapter/index.cjs +2 -2
  22. package/dist/adapters/mongodb-adapter/index.d.cts +4 -4
  23. package/dist/adapters/mongodb-adapter/index.d.mts +4 -4
  24. package/dist/adapters/mongodb-adapter/index.d.ts +4 -4
  25. package/dist/adapters/mongodb-adapter/index.mjs +3 -3
  26. package/dist/adapters/prisma-adapter/index.cjs +130 -203
  27. package/dist/adapters/prisma-adapter/index.d.cts +17 -49
  28. package/dist/adapters/prisma-adapter/index.d.mts +17 -49
  29. package/dist/adapters/prisma-adapter/index.d.ts +17 -49
  30. package/dist/adapters/prisma-adapter/index.mjs +131 -204
  31. package/dist/adapters/test.cjs +710 -377
  32. package/dist/adapters/test.d.cts +64 -5
  33. package/dist/adapters/test.d.mts +64 -5
  34. package/dist/adapters/test.d.ts +64 -5
  35. package/dist/adapters/test.mjs +712 -380
  36. package/dist/api/index.cjs +61 -25
  37. package/dist/api/index.d.cts +3 -3
  38. package/dist/api/index.d.mts +3 -3
  39. package/dist/api/index.d.ts +3 -3
  40. package/dist/api/index.mjs +63 -27
  41. package/dist/client/index.d.cts +3 -3
  42. package/dist/client/index.d.mts +3 -3
  43. package/dist/client/index.d.ts +3 -3
  44. package/dist/client/plugins/index.cjs +13 -15
  45. package/dist/client/plugins/index.d.cts +80 -19
  46. package/dist/client/plugins/index.d.mts +80 -19
  47. package/dist/client/plugins/index.d.ts +80 -19
  48. package/dist/client/plugins/index.mjs +13 -16
  49. package/dist/client/react/index.cjs +4 -4
  50. package/dist/client/react/index.d.cts +3 -3
  51. package/dist/client/react/index.d.mts +3 -3
  52. package/dist/client/react/index.d.ts +3 -3
  53. package/dist/client/solid/index.d.cts +3 -3
  54. package/dist/client/solid/index.d.mts +3 -3
  55. package/dist/client/solid/index.d.ts +3 -3
  56. package/dist/client/svelte/index.d.cts +3 -3
  57. package/dist/client/svelte/index.d.mts +3 -3
  58. package/dist/client/svelte/index.d.ts +3 -3
  59. package/dist/client/vue/index.d.cts +3 -3
  60. package/dist/client/vue/index.d.mts +3 -3
  61. package/dist/client/vue/index.d.ts +3 -3
  62. package/dist/cookies/index.cjs +13 -2
  63. package/dist/cookies/index.d.cts +3 -3
  64. package/dist/cookies/index.d.mts +3 -3
  65. package/dist/cookies/index.d.ts +3 -3
  66. package/dist/cookies/index.mjs +13 -2
  67. package/dist/db/index.cjs +6 -5
  68. package/dist/db/index.d.cts +4 -4
  69. package/dist/db/index.d.mts +4 -4
  70. package/dist/db/index.d.ts +4 -4
  71. package/dist/db/index.mjs +7 -6
  72. package/dist/index.cjs +11 -7
  73. package/dist/index.d.cts +4 -4
  74. package/dist/index.d.mts +4 -4
  75. package/dist/index.d.ts +4 -4
  76. package/dist/index.mjs +14 -10
  77. package/dist/integrations/next-js.cjs +4 -5
  78. package/dist/integrations/next-js.d.cts +3 -3
  79. package/dist/integrations/next-js.d.mts +3 -3
  80. package/dist/integrations/next-js.d.ts +3 -3
  81. package/dist/integrations/next-js.mjs +5 -6
  82. package/dist/integrations/node.d.cts +3 -3
  83. package/dist/integrations/node.d.mts +3 -3
  84. package/dist/integrations/node.d.ts +3 -3
  85. package/dist/integrations/react-start.cjs +5 -6
  86. package/dist/integrations/react-start.d.cts +3 -3
  87. package/dist/integrations/react-start.d.mts +3 -3
  88. package/dist/integrations/react-start.d.ts +3 -3
  89. package/dist/integrations/react-start.mjs +6 -7
  90. package/dist/integrations/svelte-kit.d.cts +3 -3
  91. package/dist/integrations/svelte-kit.d.mts +3 -3
  92. package/dist/integrations/svelte-kit.d.ts +3 -3
  93. package/dist/oauth2/index.d.cts +5 -5
  94. package/dist/oauth2/index.d.mts +5 -5
  95. package/dist/oauth2/index.d.ts +5 -5
  96. package/dist/plugins/access/index.d.cts +1 -1
  97. package/dist/plugins/access/index.d.mts +1 -1
  98. package/dist/plugins/access/index.d.ts +1 -1
  99. package/dist/plugins/admin/access/index.d.cts +1 -1
  100. package/dist/plugins/admin/access/index.d.mts +1 -1
  101. package/dist/plugins/admin/access/index.d.ts +1 -1
  102. package/dist/plugins/admin/index.cjs +4 -4
  103. package/dist/plugins/admin/index.d.cts +74 -14
  104. package/dist/plugins/admin/index.d.mts +74 -14
  105. package/dist/plugins/admin/index.d.ts +74 -14
  106. package/dist/plugins/admin/index.mjs +5 -5
  107. package/dist/plugins/anonymous/index.cjs +4 -5
  108. package/dist/plugins/anonymous/index.d.cts +3 -3
  109. package/dist/plugins/anonymous/index.d.mts +3 -3
  110. package/dist/plugins/anonymous/index.d.ts +3 -3
  111. package/dist/plugins/anonymous/index.mjs +5 -6
  112. package/dist/plugins/bearer/index.cjs +2 -2
  113. package/dist/plugins/bearer/index.d.cts +3 -3
  114. package/dist/plugins/bearer/index.d.mts +3 -3
  115. package/dist/plugins/bearer/index.d.ts +3 -3
  116. package/dist/plugins/bearer/index.mjs +3 -3
  117. package/dist/plugins/captcha/index.cjs +110 -45
  118. package/dist/plugins/captcha/index.d.cts +26 -6
  119. package/dist/plugins/captcha/index.d.mts +26 -6
  120. package/dist/plugins/captcha/index.d.ts +26 -6
  121. package/dist/plugins/captcha/index.mjs +110 -45
  122. package/dist/plugins/custom-session/index.cjs +24 -5
  123. package/dist/plugins/custom-session/index.d.cts +25 -6
  124. package/dist/plugins/custom-session/index.d.mts +25 -6
  125. package/dist/plugins/custom-session/index.d.ts +25 -6
  126. package/dist/plugins/custom-session/index.mjs +25 -6
  127. package/dist/plugins/email-otp/index.cjs +96 -30
  128. package/dist/plugins/email-otp/index.d.cts +33 -10
  129. package/dist/plugins/email-otp/index.d.mts +33 -10
  130. package/dist/plugins/email-otp/index.d.ts +33 -10
  131. package/dist/plugins/email-otp/index.mjs +97 -31
  132. package/dist/plugins/generic-oauth/index.cjs +81 -20
  133. package/dist/plugins/generic-oauth/index.d.cts +46 -3
  134. package/dist/plugins/generic-oauth/index.d.mts +46 -3
  135. package/dist/plugins/generic-oauth/index.d.ts +46 -3
  136. package/dist/plugins/generic-oauth/index.mjs +82 -21
  137. package/dist/plugins/haveibeenpwned/index.cjs +98 -0
  138. package/dist/plugins/haveibeenpwned/index.d.cts +36 -0
  139. package/dist/plugins/haveibeenpwned/index.d.mts +36 -0
  140. package/dist/plugins/haveibeenpwned/index.d.ts +36 -0
  141. package/dist/plugins/haveibeenpwned/index.mjs +96 -0
  142. package/dist/plugins/index.cjs +583 -19
  143. package/dist/plugins/index.d.cts +7 -5
  144. package/dist/plugins/index.d.mts +7 -5
  145. package/dist/plugins/index.d.ts +7 -5
  146. package/dist/plugins/index.mjs +583 -21
  147. package/dist/plugins/jwt/index.cjs +45 -21
  148. package/dist/plugins/jwt/index.d.cts +52 -6
  149. package/dist/plugins/jwt/index.d.mts +52 -6
  150. package/dist/plugins/jwt/index.d.ts +52 -6
  151. package/dist/plugins/jwt/index.mjs +46 -22
  152. package/dist/plugins/magic-link/index.cjs +3 -3
  153. package/dist/plugins/magic-link/index.mjs +4 -4
  154. package/dist/plugins/multi-session/index.cjs +3 -3
  155. package/dist/plugins/multi-session/index.d.cts +3 -3
  156. package/dist/plugins/multi-session/index.d.mts +3 -3
  157. package/dist/plugins/multi-session/index.d.ts +3 -3
  158. package/dist/plugins/multi-session/index.mjs +4 -4
  159. package/dist/plugins/oauth-proxy/index.cjs +4 -4
  160. package/dist/plugins/oauth-proxy/index.d.cts +3 -3
  161. package/dist/plugins/oauth-proxy/index.d.mts +3 -3
  162. package/dist/plugins/oauth-proxy/index.d.ts +3 -3
  163. package/dist/plugins/oauth-proxy/index.mjs +5 -5
  164. package/dist/plugins/oidc-provider/index.cjs +227 -8
  165. package/dist/plugins/oidc-provider/index.d.cts +215 -3
  166. package/dist/plugins/oidc-provider/index.d.mts +215 -3
  167. package/dist/plugins/oidc-provider/index.d.ts +215 -3
  168. package/dist/plugins/oidc-provider/index.mjs +228 -9
  169. package/dist/plugins/one-tap/index.cjs +5 -5
  170. package/dist/plugins/one-tap/index.mjs +6 -6
  171. package/dist/plugins/one-time-token/index.cjs +119 -0
  172. package/dist/plugins/one-time-token/index.d.cts +134 -0
  173. package/dist/plugins/one-time-token/index.d.mts +134 -0
  174. package/dist/plugins/one-time-token/index.d.ts +134 -0
  175. package/dist/plugins/one-time-token/index.mjs +117 -0
  176. package/dist/plugins/open-api/index.cjs +3 -3
  177. package/dist/plugins/open-api/index.d.cts +3 -3
  178. package/dist/plugins/open-api/index.d.mts +3 -3
  179. package/dist/plugins/open-api/index.d.ts +3 -3
  180. package/dist/plugins/open-api/index.mjs +4 -4
  181. package/dist/plugins/organization/access/index.d.cts +1 -1
  182. package/dist/plugins/organization/access/index.d.mts +1 -1
  183. package/dist/plugins/organization/access/index.d.ts +1 -1
  184. package/dist/plugins/organization/index.cjs +4 -4
  185. package/dist/plugins/organization/index.d.cts +708 -55
  186. package/dist/plugins/organization/index.d.mts +708 -55
  187. package/dist/plugins/organization/index.d.ts +708 -55
  188. package/dist/plugins/organization/index.mjs +5 -5
  189. package/dist/plugins/passkey/index.cjs +82 -8
  190. package/dist/plugins/passkey/index.d.cts +72 -3
  191. package/dist/plugins/passkey/index.d.mts +72 -3
  192. package/dist/plugins/passkey/index.d.ts +72 -3
  193. package/dist/plugins/passkey/index.mjs +83 -9
  194. package/dist/plugins/phone-number/index.cjs +194 -26
  195. package/dist/plugins/phone-number/index.d.cts +132 -8
  196. package/dist/plugins/phone-number/index.d.mts +132 -8
  197. package/dist/plugins/phone-number/index.d.ts +132 -8
  198. package/dist/plugins/phone-number/index.mjs +195 -27
  199. package/dist/plugins/sso/index.cjs +190 -7
  200. package/dist/plugins/sso/index.d.cts +181 -15
  201. package/dist/plugins/sso/index.d.mts +181 -15
  202. package/dist/plugins/sso/index.d.ts +181 -15
  203. package/dist/plugins/sso/index.mjs +191 -8
  204. package/dist/plugins/two-factor/index.cjs +443 -92
  205. package/dist/plugins/two-factor/index.d.cts +230 -396
  206. package/dist/plugins/two-factor/index.d.mts +230 -396
  207. package/dist/plugins/two-factor/index.d.ts +230 -396
  208. package/dist/plugins/two-factor/index.mjs +431 -80
  209. package/dist/plugins/username/index.cjs +34 -31
  210. package/dist/plugins/username/index.d.cts +15 -12
  211. package/dist/plugins/username/index.d.mts +15 -12
  212. package/dist/plugins/username/index.d.ts +15 -12
  213. package/dist/plugins/username/index.mjs +35 -32
  214. package/dist/shared/better-auth.1DR6suCQ.mjs +307 -0
  215. package/dist/shared/{better-auth.BSsp73pg.cjs → better-auth.B7cZ2juS.cjs} +15 -14
  216. package/dist/shared/{better-auth.bKwabe3I.d.mts → better-auth.B88xucNq.d.mts} +529 -39
  217. package/dist/shared/{better-auth.CApEjVDP.cjs → better-auth.BW8BpneG.cjs} +4 -1
  218. package/dist/shared/{better-auth.BiQsvaIP.d.cts → better-auth.BcU1Kjyq.d.cts} +2051 -518
  219. package/dist/shared/better-auth.BfG24BjZ.cjs +118 -0
  220. package/dist/shared/{better-auth.A3TjrU8G.mjs → better-auth.Bk5IMdhM.mjs} +32 -12
  221. package/dist/shared/{better-auth.D9VnBkRI.mjs → better-auth.Bm9HxIzE.mjs} +47 -24
  222. package/dist/shared/{better-auth.BRf6Iynu.d.ts → better-auth.Bwc-6kOr.d.ts} +1 -1
  223. package/dist/shared/{better-auth.D-oLmHIj.d.mts → better-auth.CA2hFK4N.d.ts} +2051 -518
  224. package/dist/shared/{better-auth.Dmhe30iW.d.mts → better-auth.CGukGrxT.d.cts} +1 -1
  225. package/dist/shared/{better-auth.CsSpq0zL.cjs → better-auth.CHUzBidy.cjs} +46 -23
  226. package/dist/shared/{better-auth.DWRligF8.d.cts → better-auth.CT9J6rD-.d.cts} +539 -7
  227. package/dist/shared/better-auth.CVCo5Z2T.cjs +310 -0
  228. package/dist/shared/{better-auth.D4jH-sJA.mjs → better-auth.CWwVo_61.mjs} +458 -118
  229. package/dist/shared/{better-auth.Bi8FQwDD.d.cts → better-auth.CYegVoq1.d.cts} +1 -1
  230. package/dist/shared/{better-auth.Bi8FQwDD.d.mts → better-auth.CYegVoq1.d.mts} +1 -1
  231. package/dist/shared/{better-auth.Bi8FQwDD.d.ts → better-auth.CYegVoq1.d.ts} +1 -1
  232. package/dist/shared/{better-auth.CepcSj5H.mjs → better-auth.Cc72UxUH.mjs} +1 -2
  233. package/dist/shared/{better-auth.BWp5dztg.d.ts → better-auth.CmN4mlPh.d.ts} +539 -7
  234. package/dist/shared/{better-auth.DH3YjMQH.mjs → better-auth.Cqykj82J.mjs} +1 -1
  235. package/dist/shared/{better-auth.wcdMj2cT.d.mts → better-auth.DIt2e3lu.d.mts} +539 -7
  236. package/dist/shared/{better-auth.BANAxdkL.d.ts → better-auth.DNTAFSt1.d.ts} +529 -39
  237. package/dist/shared/{better-auth.DU2QNVc_.d.ts → better-auth.DQ7OSJbI.d.mts} +2051 -518
  238. package/dist/shared/{better-auth.DLTzKoOS.cjs → better-auth.DSVbLSt7.cjs} +4 -1
  239. package/dist/shared/{better-auth.B2Fw1vhH.d.cts → better-auth.DTiSPWEk.d.cts} +529 -39
  240. package/dist/shared/better-auth.DURsStt9.mjs +116 -0
  241. package/dist/shared/{better-auth.BIjcZ_vt.cjs → better-auth.DYoLD99C.cjs} +31 -11
  242. package/dist/shared/{better-auth.CV1L7TPV.cjs → better-auth.D_ZIX1O8.cjs} +317 -47
  243. package/dist/shared/{better-auth.C5H9XEzZ.cjs → better-auth.DcWKCjjf.cjs} +1 -2
  244. package/dist/shared/{better-auth.BDYXUcLv.cjs → better-auth.Dg0siV5C.cjs} +457 -117
  245. package/dist/shared/better-auth.DjryM8pE.cjs +760 -0
  246. package/dist/shared/{better-auth.DPBQN9Fs.mjs → better-auth.Dn_Ms1Uf.mjs} +318 -48
  247. package/dist/shared/{better-auth.DiG4KL2x.mjs → better-auth.OuYYTHC7.mjs} +4 -1
  248. package/dist/shared/{better-auth.DtC8i3pf.d.cts → better-auth.S1jimRbX.d.mts} +1 -1
  249. package/dist/shared/better-auth.SPmq4a4z.d.mts +344 -0
  250. package/dist/shared/{better-auth.cOCrlspr.mjs → better-auth.bkwPl2G4.mjs} +4 -1
  251. package/dist/shared/better-auth.cp2rC2iM.d.ts +344 -0
  252. package/dist/shared/better-auth.eVy4DZvP.d.cts +344 -0
  253. package/dist/shared/{better-auth.BrOpzmqo.mjs → better-auth.iKoUsdFE.mjs} +15 -14
  254. package/dist/shared/better-auth.rSYJCd3o.mjs +758 -0
  255. package/dist/social-providers/index.cjs +75 -3
  256. package/dist/social-providers/index.d.cts +2 -2
  257. package/dist/social-providers/index.d.mts +2 -2
  258. package/dist/social-providers/index.d.ts +2 -2
  259. package/dist/social-providers/index.mjs +77 -6
  260. package/dist/types/index.d.cts +4 -4
  261. package/dist/types/index.d.mts +4 -4
  262. package/dist/types/index.d.ts +4 -4
  263. package/package.json +42 -5
  264. package/dist/chunks/server.cjs +0 -905
  265. package/dist/chunks/server.mjs +0 -895
  266. package/dist/shared/better-auth.BcoSd9tC.mjs +0 -10
  267. package/dist/shared/better-auth.BnRFp-t0.mjs +0 -405
  268. package/dist/shared/better-auth.C1-vpKly.cjs +0 -12
  269. package/dist/shared/better-auth.ClTSOgiD.mjs +0 -140
  270. package/dist/shared/better-auth.DC8JQbiE.mjs +0 -173
  271. package/dist/shared/better-auth.DWHWPllD.cjs +0 -175
  272. package/dist/shared/better-auth.DqLjzBlO.cjs +0 -408
  273. package/dist/shared/better-auth.m575EIBC.cjs +0 -144
@@ -1,8 +1,8 @@
1
1
  import * as better_call from 'better-call';
2
2
  import { z } from 'zod';
3
- import { U as User, I as InferOptionSchema } from '../../shared/better-auth.D-oLmHIj.mjs';
4
- import '../../shared/better-auth.Bi8FQwDD.mjs';
5
- import '../../shared/better-auth.bKwabe3I.mjs';
3
+ import { U as User, I as InferOptionSchema } from '../../shared/better-auth.DQ7OSJbI.mjs';
4
+ import '../../shared/better-auth.CYegVoq1.mjs';
5
+ import '../../shared/better-auth.B88xucNq.mjs';
6
6
  import 'jose';
7
7
  import 'kysely';
8
8
  import 'better-sqlite3';
@@ -50,6 +50,12 @@ interface PhoneNumberOptions {
50
50
  * by default any string is accepted
51
51
  */
52
52
  phoneNumberValidator?: (phoneNumber: string) => boolean | Promise<boolean>;
53
+ /**
54
+ * Require a phone number verification before signing in
55
+ *
56
+ * @default false
57
+ */
58
+ requireVerification?: boolean;
53
59
  /**
54
60
  * Callback when phone number is verified
55
61
  */
@@ -89,6 +95,11 @@ interface PhoneNumberOptions {
89
95
  * Custom schema for the admin plugin
90
96
  */
91
97
  schema?: InferOptionSchema<typeof schema>;
98
+ /**
99
+ * Allowed attempts for the OTP code
100
+ * @default 3
101
+ */
102
+ allowedAttempts?: number;
92
103
  }
93
104
  declare const phoneNumber: (options?: PhoneNumberOptions) => {
94
105
  id: "phone-number";
@@ -329,20 +340,77 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
329
340
  summary: string;
330
341
  description: string;
331
342
  responses: {
332
- 200: {
343
+ "200": {
333
344
  description: string;
334
345
  content: {
335
346
  "application/json": {
336
347
  schema: {
337
348
  type: "object";
338
349
  properties: {
339
- user: {
340
- $ref: string;
350
+ status: {
351
+ type: string;
352
+ description: string;
353
+ enum: boolean[];
341
354
  };
342
- session: {
343
- $ref: string;
355
+ token: {
356
+ type: string;
357
+ nullable: boolean;
358
+ description: string;
359
+ };
360
+ user: {
361
+ type: string;
362
+ nullable: boolean;
363
+ properties: {
364
+ id: {
365
+ type: string;
366
+ description: string;
367
+ };
368
+ email: {
369
+ type: string;
370
+ format: string;
371
+ nullable: boolean;
372
+ description: string;
373
+ };
374
+ emailVerified: {
375
+ type: string;
376
+ nullable: boolean;
377
+ description: string;
378
+ };
379
+ name: {
380
+ type: string;
381
+ nullable: boolean;
382
+ description: string;
383
+ };
384
+ image: {
385
+ type: string;
386
+ format: string;
387
+ nullable: boolean;
388
+ description: string;
389
+ };
390
+ phoneNumber: {
391
+ type: string;
392
+ description: string;
393
+ };
394
+ phoneNumberVerified: {
395
+ type: string;
396
+ description: string;
397
+ };
398
+ createdAt: {
399
+ type: string;
400
+ format: string;
401
+ description: string;
402
+ };
403
+ updatedAt: {
404
+ type: string;
405
+ format: string;
406
+ description: string;
407
+ };
408
+ };
409
+ required: string[];
410
+ description: string;
344
411
  };
345
412
  };
413
+ required: string[];
346
414
  };
347
415
  };
348
416
  };
@@ -398,6 +466,31 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
398
466
  }, {
399
467
  phoneNumber: string;
400
468
  }>;
469
+ metadata: {
470
+ openapi: {
471
+ description: string;
472
+ responses: {
473
+ "200": {
474
+ description: string;
475
+ content: {
476
+ "application/json": {
477
+ schema: {
478
+ type: "object";
479
+ properties: {
480
+ status: {
481
+ type: string;
482
+ description: string;
483
+ enum: boolean[];
484
+ };
485
+ };
486
+ required: string[];
487
+ };
488
+ };
489
+ };
490
+ };
491
+ };
492
+ };
493
+ };
401
494
  } & {
402
495
  use: any[];
403
496
  };
@@ -451,6 +544,31 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
451
544
  otp: string;
452
545
  phoneNumber: string;
453
546
  }>;
547
+ metadata: {
548
+ openapi: {
549
+ description: string;
550
+ responses: {
551
+ "200": {
552
+ description: string;
553
+ content: {
554
+ "application/json": {
555
+ schema: {
556
+ type: "object";
557
+ properties: {
558
+ status: {
559
+ type: string;
560
+ description: string;
561
+ enum: boolean[];
562
+ };
563
+ };
564
+ required: string[];
565
+ };
566
+ };
567
+ };
568
+ };
569
+ };
570
+ };
571
+ };
454
572
  } & {
455
573
  use: any[];
456
574
  };
@@ -476,6 +594,11 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
476
594
  };
477
595
  };
478
596
  };
597
+ rateLimit: {
598
+ pathMatcher(path: string): boolean;
599
+ window: number;
600
+ max: number;
601
+ }[];
479
602
  $ERROR_CODES: {
480
603
  readonly INVALID_PHONE_NUMBER: "Invalid phone number";
481
604
  readonly PHONE_NUMBER_EXIST: "Phone number already exist";
@@ -484,6 +607,7 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
484
607
  readonly OTP_NOT_FOUND: "OTP not found";
485
608
  readonly OTP_EXPIRED: "OTP expired";
486
609
  readonly INVALID_OTP: "Invalid OTP";
610
+ readonly PHONE_NUMBER_NOT_VERIFIED: "Phone number not verified";
487
611
  };
488
612
  };
489
613
  declare const schema: {
@@ -1,8 +1,8 @@
1
1
  import * as better_call from 'better-call';
2
2
  import { z } from 'zod';
3
- import { U as User, I as InferOptionSchema } from '../../shared/better-auth.DU2QNVc_.js';
4
- import '../../shared/better-auth.Bi8FQwDD.js';
5
- import '../../shared/better-auth.BANAxdkL.js';
3
+ import { U as User, I as InferOptionSchema } from '../../shared/better-auth.CA2hFK4N.js';
4
+ import '../../shared/better-auth.CYegVoq1.js';
5
+ import '../../shared/better-auth.DNTAFSt1.js';
6
6
  import 'jose';
7
7
  import 'kysely';
8
8
  import 'better-sqlite3';
@@ -50,6 +50,12 @@ interface PhoneNumberOptions {
50
50
  * by default any string is accepted
51
51
  */
52
52
  phoneNumberValidator?: (phoneNumber: string) => boolean | Promise<boolean>;
53
+ /**
54
+ * Require a phone number verification before signing in
55
+ *
56
+ * @default false
57
+ */
58
+ requireVerification?: boolean;
53
59
  /**
54
60
  * Callback when phone number is verified
55
61
  */
@@ -89,6 +95,11 @@ interface PhoneNumberOptions {
89
95
  * Custom schema for the admin plugin
90
96
  */
91
97
  schema?: InferOptionSchema<typeof schema>;
98
+ /**
99
+ * Allowed attempts for the OTP code
100
+ * @default 3
101
+ */
102
+ allowedAttempts?: number;
92
103
  }
93
104
  declare const phoneNumber: (options?: PhoneNumberOptions) => {
94
105
  id: "phone-number";
@@ -329,20 +340,77 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
329
340
  summary: string;
330
341
  description: string;
331
342
  responses: {
332
- 200: {
343
+ "200": {
333
344
  description: string;
334
345
  content: {
335
346
  "application/json": {
336
347
  schema: {
337
348
  type: "object";
338
349
  properties: {
339
- user: {
340
- $ref: string;
350
+ status: {
351
+ type: string;
352
+ description: string;
353
+ enum: boolean[];
341
354
  };
342
- session: {
343
- $ref: string;
355
+ token: {
356
+ type: string;
357
+ nullable: boolean;
358
+ description: string;
359
+ };
360
+ user: {
361
+ type: string;
362
+ nullable: boolean;
363
+ properties: {
364
+ id: {
365
+ type: string;
366
+ description: string;
367
+ };
368
+ email: {
369
+ type: string;
370
+ format: string;
371
+ nullable: boolean;
372
+ description: string;
373
+ };
374
+ emailVerified: {
375
+ type: string;
376
+ nullable: boolean;
377
+ description: string;
378
+ };
379
+ name: {
380
+ type: string;
381
+ nullable: boolean;
382
+ description: string;
383
+ };
384
+ image: {
385
+ type: string;
386
+ format: string;
387
+ nullable: boolean;
388
+ description: string;
389
+ };
390
+ phoneNumber: {
391
+ type: string;
392
+ description: string;
393
+ };
394
+ phoneNumberVerified: {
395
+ type: string;
396
+ description: string;
397
+ };
398
+ createdAt: {
399
+ type: string;
400
+ format: string;
401
+ description: string;
402
+ };
403
+ updatedAt: {
404
+ type: string;
405
+ format: string;
406
+ description: string;
407
+ };
408
+ };
409
+ required: string[];
410
+ description: string;
344
411
  };
345
412
  };
413
+ required: string[];
346
414
  };
347
415
  };
348
416
  };
@@ -398,6 +466,31 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
398
466
  }, {
399
467
  phoneNumber: string;
400
468
  }>;
469
+ metadata: {
470
+ openapi: {
471
+ description: string;
472
+ responses: {
473
+ "200": {
474
+ description: string;
475
+ content: {
476
+ "application/json": {
477
+ schema: {
478
+ type: "object";
479
+ properties: {
480
+ status: {
481
+ type: string;
482
+ description: string;
483
+ enum: boolean[];
484
+ };
485
+ };
486
+ required: string[];
487
+ };
488
+ };
489
+ };
490
+ };
491
+ };
492
+ };
493
+ };
401
494
  } & {
402
495
  use: any[];
403
496
  };
@@ -451,6 +544,31 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
451
544
  otp: string;
452
545
  phoneNumber: string;
453
546
  }>;
547
+ metadata: {
548
+ openapi: {
549
+ description: string;
550
+ responses: {
551
+ "200": {
552
+ description: string;
553
+ content: {
554
+ "application/json": {
555
+ schema: {
556
+ type: "object";
557
+ properties: {
558
+ status: {
559
+ type: string;
560
+ description: string;
561
+ enum: boolean[];
562
+ };
563
+ };
564
+ required: string[];
565
+ };
566
+ };
567
+ };
568
+ };
569
+ };
570
+ };
571
+ };
454
572
  } & {
455
573
  use: any[];
456
574
  };
@@ -476,6 +594,11 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
476
594
  };
477
595
  };
478
596
  };
597
+ rateLimit: {
598
+ pathMatcher(path: string): boolean;
599
+ window: number;
600
+ max: number;
601
+ }[];
479
602
  $ERROR_CODES: {
480
603
  readonly INVALID_PHONE_NUMBER: "Invalid phone number";
481
604
  readonly PHONE_NUMBER_EXIST: "Phone number already exist";
@@ -484,6 +607,7 @@ declare const phoneNumber: (options?: PhoneNumberOptions) => {
484
607
  readonly OTP_NOT_FOUND: "OTP not found";
485
608
  readonly OTP_EXPIRED: "OTP expired";
486
609
  readonly INVALID_OTP: "Invalid OTP";
610
+ readonly PHONE_NUMBER_NOT_VERIFIED: "Phone number not verified";
487
611
  };
488
612
  };
489
613
  declare const schema: {