@better-auth/core 1.5.0-beta.4 → 1.5.0-beta.6

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 (178) hide show
  1. package/.turbo/turbo-build.log +170 -37
  2. package/dist/api/index.d.mts +188 -1
  3. package/dist/api/index.mjs +2 -1
  4. package/dist/context/endpoint-context.d.mts +19 -0
  5. package/dist/context/endpoint-context.mjs +31 -0
  6. package/dist/context/index.d.mts +3 -52
  7. package/dist/context/index.mjs +3 -1
  8. package/dist/context/request-state.d.mts +27 -0
  9. package/dist/context/request-state.mjs +49 -0
  10. package/dist/context/transaction.d.mts +16 -0
  11. package/dist/context/transaction.mjs +52 -0
  12. package/dist/db/adapter/factory.d.mts +27 -0
  13. package/dist/db/adapter/factory.mjs +738 -0
  14. package/dist/db/adapter/get-default-field-name.d.mts +18 -0
  15. package/dist/db/adapter/get-default-field-name.mjs +38 -0
  16. package/dist/db/adapter/get-default-model-name.d.mts +12 -0
  17. package/dist/db/adapter/get-default-model-name.mjs +32 -0
  18. package/dist/db/adapter/get-field-attributes.d.mts +29 -0
  19. package/dist/db/adapter/get-field-attributes.mjs +39 -0
  20. package/dist/db/adapter/get-field-name.d.mts +18 -0
  21. package/dist/db/adapter/get-field-name.mjs +33 -0
  22. package/dist/db/adapter/get-id-field.d.mts +39 -0
  23. package/dist/db/adapter/get-id-field.mjs +67 -0
  24. package/dist/db/adapter/get-model-name.d.mts +12 -0
  25. package/dist/db/adapter/get-model-name.mjs +23 -0
  26. package/dist/db/adapter/index.d.mts +513 -1
  27. package/dist/db/adapter/index.mjs +8 -970
  28. package/dist/db/adapter/types.d.mts +139 -0
  29. package/dist/db/adapter/utils.d.mts +7 -0
  30. package/dist/db/adapter/utils.mjs +38 -0
  31. package/dist/db/get-tables.d.mts +8 -0
  32. package/dist/{get-tables-CMc_Emww.mjs → db/get-tables.mjs} +1 -1
  33. package/dist/db/index.d.mts +10 -2
  34. package/dist/db/index.mjs +7 -60
  35. package/dist/db/plugin.d.mts +12 -0
  36. package/dist/db/schema/account.d.mts +26 -0
  37. package/dist/db/schema/account.mjs +19 -0
  38. package/dist/db/schema/rate-limit.d.mts +14 -0
  39. package/dist/db/schema/rate-limit.mjs +11 -0
  40. package/dist/db/schema/session.d.mts +21 -0
  41. package/dist/db/schema/session.mjs +14 -0
  42. package/dist/db/schema/shared.d.mts +10 -0
  43. package/dist/db/schema/shared.mjs +11 -0
  44. package/dist/db/schema/user.d.mts +20 -0
  45. package/dist/db/schema/user.mjs +13 -0
  46. package/dist/db/schema/verification.d.mts +19 -0
  47. package/dist/db/schema/verification.mjs +12 -0
  48. package/dist/db/type.d.mts +143 -0
  49. package/dist/env/color-depth.d.mts +4 -0
  50. package/dist/env/color-depth.mjs +88 -0
  51. package/dist/env/env-impl.d.mts +32 -0
  52. package/dist/env/env-impl.mjs +82 -0
  53. package/dist/env/index.d.mts +4 -2
  54. package/dist/env/index.mjs +3 -1
  55. package/dist/{index-BRBu0-5h.d.mts → env/logger.d.mts} +1 -35
  56. package/dist/env/logger.mjs +81 -0
  57. package/dist/error/codes.d.mts +186 -0
  58. package/dist/{error-GNtLPYaS.mjs → error/codes.mjs} +2 -29
  59. package/dist/error/index.d.mts +1 -185
  60. package/dist/error/index.mjs +28 -3
  61. package/dist/index.d.mts +7 -1
  62. package/dist/oauth2/client-credentials-token.d.mts +36 -0
  63. package/dist/oauth2/client-credentials-token.mjs +54 -0
  64. package/dist/oauth2/create-authorization-url.d.mts +45 -0
  65. package/dist/oauth2/create-authorization-url.mjs +42 -0
  66. package/dist/oauth2/index.d.mts +8 -2
  67. package/dist/oauth2/index.mjs +6 -2
  68. package/dist/oauth2/oauth-provider.d.mts +194 -0
  69. package/dist/oauth2/refresh-access-token.d.mts +36 -0
  70. package/dist/oauth2/refresh-access-token.mjs +58 -0
  71. package/dist/oauth2/utils.d.mts +7 -0
  72. package/dist/oauth2/utils.mjs +27 -0
  73. package/dist/oauth2/validate-authorization-code.d.mts +55 -0
  74. package/dist/oauth2/validate-authorization-code.mjs +71 -0
  75. package/dist/oauth2/verify.d.mts +49 -0
  76. package/dist/oauth2/verify.mjs +95 -0
  77. package/dist/social-providers/apple.d.mts +119 -0
  78. package/dist/social-providers/apple.mjs +102 -0
  79. package/dist/social-providers/atlassian.d.mts +72 -0
  80. package/dist/social-providers/atlassian.mjs +83 -0
  81. package/dist/social-providers/cognito.d.mts +87 -0
  82. package/dist/social-providers/cognito.mjs +165 -0
  83. package/dist/social-providers/discord.d.mts +126 -0
  84. package/dist/social-providers/discord.mjs +64 -0
  85. package/dist/social-providers/dropbox.d.mts +71 -0
  86. package/dist/social-providers/dropbox.mjs +75 -0
  87. package/dist/social-providers/facebook.d.mts +81 -0
  88. package/dist/social-providers/facebook.mjs +120 -0
  89. package/dist/social-providers/figma.d.mts +63 -0
  90. package/dist/social-providers/figma.mjs +84 -0
  91. package/dist/social-providers/github.d.mts +104 -0
  92. package/dist/social-providers/github.mjs +80 -0
  93. package/dist/social-providers/gitlab.d.mts +125 -0
  94. package/dist/social-providers/gitlab.mjs +82 -0
  95. package/dist/social-providers/google.d.mts +99 -0
  96. package/dist/social-providers/google.mjs +108 -0
  97. package/dist/social-providers/huggingface.d.mts +85 -0
  98. package/dist/social-providers/huggingface.mjs +75 -0
  99. package/dist/social-providers/index.d.mts +1723 -1
  100. package/dist/social-providers/index.mjs +33 -2569
  101. package/dist/social-providers/kakao.d.mts +163 -0
  102. package/dist/social-providers/kakao.mjs +72 -0
  103. package/dist/social-providers/kick.d.mts +75 -0
  104. package/dist/social-providers/kick.mjs +71 -0
  105. package/dist/social-providers/line.d.mts +107 -0
  106. package/dist/social-providers/line.mjs +113 -0
  107. package/dist/social-providers/linear.d.mts +70 -0
  108. package/dist/social-providers/linear.mjs +88 -0
  109. package/dist/social-providers/linkedin.d.mts +69 -0
  110. package/dist/social-providers/linkedin.mjs +76 -0
  111. package/dist/social-providers/microsoft-entra-id.d.mts +174 -0
  112. package/dist/social-providers/microsoft-entra-id.mjs +106 -0
  113. package/dist/social-providers/naver.d.mts +104 -0
  114. package/dist/social-providers/naver.mjs +67 -0
  115. package/dist/social-providers/notion.d.mts +66 -0
  116. package/dist/social-providers/notion.mjs +75 -0
  117. package/dist/social-providers/paybin.d.mts +73 -0
  118. package/dist/social-providers/paybin.mjs +85 -0
  119. package/dist/social-providers/paypal.d.mts +131 -0
  120. package/dist/social-providers/paypal.mjs +144 -0
  121. package/dist/social-providers/polar.d.mts +76 -0
  122. package/dist/social-providers/polar.mjs +73 -0
  123. package/dist/social-providers/reddit.d.mts +64 -0
  124. package/dist/social-providers/reddit.mjs +83 -0
  125. package/dist/social-providers/roblox.d.mts +72 -0
  126. package/dist/social-providers/roblox.mjs +59 -0
  127. package/dist/social-providers/salesforce.d.mts +81 -0
  128. package/dist/social-providers/salesforce.mjs +91 -0
  129. package/dist/social-providers/slack.d.mts +85 -0
  130. package/dist/social-providers/slack.mjs +68 -0
  131. package/dist/social-providers/spotify.d.mts +65 -0
  132. package/dist/social-providers/spotify.mjs +71 -0
  133. package/dist/social-providers/tiktok.d.mts +171 -0
  134. package/dist/social-providers/tiktok.mjs +62 -0
  135. package/dist/social-providers/twitch.d.mts +81 -0
  136. package/dist/social-providers/twitch.mjs +78 -0
  137. package/dist/social-providers/twitter.d.mts +140 -0
  138. package/dist/social-providers/twitter.mjs +87 -0
  139. package/dist/social-providers/vercel.d.mts +64 -0
  140. package/dist/social-providers/vercel.mjs +61 -0
  141. package/dist/social-providers/vk.d.mts +72 -0
  142. package/dist/social-providers/vk.mjs +83 -0
  143. package/dist/social-providers/zoom.d.mts +173 -0
  144. package/dist/social-providers/zoom.mjs +72 -0
  145. package/dist/types/context.d.mts +246 -0
  146. package/dist/types/cookie.d.mts +23 -0
  147. package/dist/types/helper.d.mts +8 -0
  148. package/dist/types/index.d.mts +8 -0
  149. package/dist/types/init-options.d.mts +1266 -0
  150. package/dist/types/plugin-client.d.mts +110 -0
  151. package/dist/types/plugin.d.mts +124 -0
  152. package/dist/utils/deprecate.d.mts +10 -0
  153. package/dist/utils/deprecate.mjs +17 -0
  154. package/dist/utils/{index.d.mts → error-codes.d.mts} +1 -19
  155. package/dist/utils/error-codes.mjs +11 -0
  156. package/dist/utils/id.d.mts +4 -0
  157. package/dist/utils/id.mjs +9 -0
  158. package/dist/utils/json.d.mts +4 -0
  159. package/dist/utils/json.mjs +25 -0
  160. package/dist/utils/string.d.mts +4 -0
  161. package/dist/utils/string.mjs +7 -0
  162. package/package.json +9 -6
  163. package/src/context/endpoint-context.ts +11 -2
  164. package/src/context/index.ts +0 -29
  165. package/src/context/request-state.ts +8 -2
  166. package/src/context/transaction.ts +11 -2
  167. package/src/db/adapter/get-id-field.ts +1 -1
  168. package/src/error/codes.ts +1 -1
  169. package/src/oauth2/create-authorization-url.ts +1 -1
  170. package/src/oauth2/oauth-provider.ts +6 -0
  171. package/tsdown.config.ts +3 -1
  172. package/dist/context-BBNwughv.mjs +0 -133
  173. package/dist/env-DbssmzoK.mjs +0 -245
  174. package/dist/index-B5x_W0dM.d.mts +0 -8054
  175. package/dist/oauth2-BjWM15hm.mjs +0 -326
  176. package/dist/utils/index.mjs +0 -4
  177. package/dist/utils-puAL36Bz.mjs +0 -63
  178. package/src/utils/index.ts +0 -5
@@ -1,43 +1,176 @@
1
1
 
2
- > @better-auth/core@1.5.0-beta.4 build /home/runner/work/better-auth/better-auth/packages/core
2
+ > @better-auth/core@1.5.0-beta.6 build /home/runner/work/better-auth/better-auth/packages/core
3
3
  > tsdown
4
4
 
5
- ℹ tsdown v0.17.2 powered by rolldown v1.0.0-beta.53
5
+ ℹ tsdown v0.19.0 powered by rolldown v1.0.0-beta.59
6
6
  ℹ config file: /home/runner/work/better-auth/better-auth/packages/core/tsdown.config.ts
7
- ℹ entry: src/index.ts, src/db/index.ts, src/db/adapter/index.ts, src/async_hooks/index.ts, src/async_hooks/pure.index.ts, src/context/index.ts, src/env/index.ts, src/oauth2/index.ts, src/api/index.ts, src/social-providers/index.ts, src/utils/index.ts, src/error/index.ts
7
+ ℹ entry: src/index.ts, src/api/index.ts, src/async_hooks/index.ts, src/async_hooks/pure.index.ts, src/context/index.ts, src/db/index.ts, src/env/index.ts, src/error/index.ts, src/oauth2/index.ts, src/social-providers/index.ts, src/utils/deprecate.ts, src/utils/error-codes.ts, src/utils/id.ts, src/utils/json.ts, src/utils/string.ts, src/db/adapter/index.ts
8
8
  ℹ tsconfig: tsconfig.json
9
9
  ℹ Build start
10
- ℹ dist/social-providers/index.mjs  80.94 kB │ gzip: 10.43 kB
11
- ℹ dist/db/adapter/index.mjs  38.55 kB │ gzip: 7.86 kB
12
- ℹ dist/db/index.mjs  1.66 kB │ gzip: 0.54 kB
13
- ℹ dist/api/index.mjs  1.23 kB │ gzip: 0.48 kB
14
- ℹ dist/async_hooks/index.mjs  1.03 kB │ gzip: 0.54 kB
15
- ℹ dist/async_hooks/pure.index.mjs  0.99 kB │ gzip: 0.49 kB
16
- ℹ dist/oauth2/index.mjs  0.75 kB │ gzip: 0.28 kB
17
- ℹ dist/context/index.mjs  0.70 kB │ gzip: 0.24 kB
18
- ℹ dist/env/index.mjs  0.44 kB │ gzip: 0.25 kB
19
- ℹ dist/utils/index.mjs  0.26 kB │ gzip: 0.18 kB
20
- ℹ dist/error/index.mjs  0.22 kB │ gzip: 0.16 kB
21
- ℹ dist/index.mjs  0.01 kB │ gzip: 0.03 kB
22
- ℹ dist/oauth2-BjWM15hm.mjs  12.82 kB │ gzip: 3.16 kB
23
- ℹ dist/env-DbssmzoK.mjs  7.67 kB │ gzip: 2.54 kB
24
- ℹ dist/get-tables-CMc_Emww.mjs  6.76 kB │ gzip: 1.30 kB
25
- ℹ dist/context-BBNwughv.mjs  4.87 kB │ gzip: 1.40 kB
26
- ℹ dist/error-GNtLPYaS.mjs  3.19 kB │ gzip: 1.30 kB
27
- ℹ dist/utils-puAL36Bz.mjs  1.58 kB │ gzip: 0.76 kB
28
- ℹ dist/error/index.d.mts  6.11 kB │ gzip: 1.50 kB
29
- ℹ dist/social-providers/index.d.mts  3.89 kB │ gzip: 1.20 kB
30
- ℹ dist/context/index.d.mts  3.02 kB │ gzip: 0.96 kB
31
- ℹ dist/utils/index.d.mts  1.55 kB │ gzip: 0.70 kB
32
- ℹ dist/db/adapter/index.d.mts  1.34 kB │ gzip: 0.43 kB
33
- ℹ dist/index.d.mts  1.09 kB │ gzip: 0.39 kB
34
- ℹ dist/oauth2/index.d.mts  0.88 kB │ gzip: 0.32 kB
35
- ℹ dist/db/index.d.mts  0.81 kB │ gzip: 0.34 kB
36
- ℹ dist/env/index.d.mts  0.59 kB │ gzip: 0.30 kB
37
- ℹ dist/api/index.d.mts  0.26 kB │ gzip: 0.14 kB
38
- ℹ dist/async_hooks/index.d.mts  0.24 kB │ gzip: 0.16 kB
39
- ℹ dist/async_hooks/pure.index.d.mts  0.22 kB │ gzip: 0.16 kB
40
- ℹ dist/index-B5x_W0dM.d.mts 228.92 kB │ gzip: 36.28 kB
41
- ℹ dist/index-BRBu0-5h.d.mts  3.31 kB │ gzip: 1.11 kB
42
- ℹ 32 files, total: 415.92 kB
43
- ✔ Build complete in 5286ms
10
+ ℹ dist/social-providers/index.mjs  2.32 kB │ gzip: 0.72 kB
11
+ ℹ dist/api/index.mjs  1.27 kB │ gzip: 0.48 kB
12
+ ℹ dist/async_hooks/index.mjs  1.03 kB │ gzip: 0.54 kB
13
+ ℹ dist/async_hooks/pure.index.mjs  0.99 kB │ gzip: 0.49 kB
14
+ ℹ dist/oauth2/index.mjs  0.87 kB │ gzip: 0.27 kB
15
+ ℹ dist/context/index.mjs  0.72 kB │ gzip: 0.22 kB
16
+ ℹ dist/db/adapter/index.mjs  0.71 kB │ gzip: 0.22 kB
17
+ ℹ dist/error/index.mjs  0.70 kB │ gzip: 0.34 kB
18
+ ℹ dist/utils/json.mjs  0.59 kB │ gzip: 0.35 kB
19
+ ℹ dist/db/index.mjs  0.50 kB │ gzip: 0.18 kB
20
+ ℹ dist/env/index.mjs  0.43 kB │ gzip: 0.21 kB
21
+ ℹ dist/utils/deprecate.mjs  0.36 kB │ gzip: 0.24 kB
22
+ ℹ dist/utils/error-codes.mjs  0.26 kB │ gzip: 0.19 kB
23
+ ℹ dist/utils/id.mjs  0.24 kB │ gzip: 0.18 kB
24
+ ℹ dist/utils/string.mjs  0.17 kB │ gzip: 0.14 kB
25
+ ℹ dist/index.mjs  0.01 kB │ gzip: 0.03 kB
26
+ ℹ dist/db/adapter/factory.mjs 30.09 kB │ gzip: 6.00 kB
27
+ ℹ dist/db/get-tables.mjs  6.76 kB │ gzip: 1.29 kB
28
+ ℹ dist/social-providers/cognito.mjs  5.90 kB │ gzip: 1.93 kB
29
+ ℹ dist/social-providers/paypal.mjs  5.03 kB │ gzip: 1.48 kB
30
+ ℹ dist/social-providers/google.mjs  3.75 kB │ gzip: 1.38 kB
31
+ ℹ dist/oauth2/verify.mjs  3.74 kB │ gzip: 1.32 kB
32
+ ℹ dist/social-providers/apple.mjs  3.72 kB │ gzip: 1.34 kB
33
+ ℹ dist/social-providers/facebook.mjs  3.57 kB │ gzip: 1.27 kB
34
+ ℹ dist/social-providers/line.mjs  3.57 kB │ gzip: 1.20 kB
35
+ ℹ dist/social-providers/salesforce.mjs  3.50 kB │ gzip: 1.12 kB
36
+ ℹ dist/social-providers/microsoft-entra-id.mjs  3.46 kB │ gzip: 1.22 kB
37
+ ℹ dist/oauth2/validate-authorization-code.mjs  2.76 kB │ gzip: 1.03 kB
38
+ ℹ dist/social-providers/atlassian.mjs  2.75 kB │ gzip: 0.99 kB
39
+ ℹ dist/social-providers/twitter.mjs  2.74 kB │ gzip: 0.92 kB
40
+ ℹ dist/env/color-depth.mjs  2.72 kB │ gzip: 0.99 kB
41
+ ℹ dist/social-providers/figma.mjs  2.71 kB │ gzip: 0.98 kB
42
+ ℹ dist/social-providers/paybin.mjs  2.65 kB │ gzip: 0.97 kB
43
+ ℹ dist/social-providers/gitlab.mjs  2.64 kB │ gzip: 0.97 kB
44
+ ℹ dist/db/adapter/get-id-field.mjs  2.63 kB │ gzip: 0.98 kB
45
+ ℹ dist/social-providers/reddit.mjs  2.63 kB │ gzip: 1.01 kB
46
+ ℹ dist/social-providers/discord.mjs  2.62 kB │ gzip: 1.04 kB
47
+ ℹ dist/social-providers/github.mjs  2.61 kB │ gzip: 0.91 kB
48
+ ℹ dist/social-providers/vk.mjs  2.59 kB │ gzip: 0.94 kB
49
+ ℹ dist/env/env-impl.mjs  2.58 kB │ gzip: 0.90 kB
50
+ ℹ dist/error/codes.mjs  2.56 kB │ gzip: 1.05 kB
51
+ ℹ dist/env/logger.mjs  2.42 kB │ gzip: 0.94 kB
52
+ ℹ dist/social-providers/linear.mjs  2.42 kB │ gzip: 0.90 kB
53
+ ℹ dist/social-providers/dropbox.mjs  2.38 kB │ gzip: 0.87 kB
54
+ ℹ dist/social-providers/kakao.mjs  2.31 kB │ gzip: 0.84 kB
55
+ ℹ dist/social-providers/notion.mjs  2.28 kB │ gzip: 0.86 kB
56
+ ℹ dist/social-providers/zoom.mjs  2.27 kB │ gzip: 0.89 kB
57
+ ℹ dist/social-providers/tiktok.mjs  2.27 kB │ gzip: 0.88 kB
58
+ ℹ dist/social-providers/slack.mjs  2.25 kB │ gzip: 0.84 kB
59
+ ℹ dist/social-providers/huggingface.mjs  2.22 kB │ gzip: 0.79 kB
60
+ ℹ dist/social-providers/twitch.mjs  2.20 kB │ gzip: 0.78 kB
61
+ ℹ dist/social-providers/linkedin.mjs  2.19 kB │ gzip: 0.80 kB
62
+ ℹ dist/social-providers/polar.mjs  2.19 kB │ gzip: 0.79 kB
63
+ ℹ dist/social-providers/roblox.mjs  2.17 kB │ gzip: 0.87 kB
64
+ ℹ dist/oauth2/refresh-access-token.mjs  2.15 kB │ gzip: 0.85 kB
65
+ ℹ dist/social-providers/spotify.mjs  2.13 kB │ gzip: 0.78 kB
66
+ ℹ dist/social-providers/naver.mjs  2.10 kB │ gzip: 0.79 kB
67
+ ℹ dist/social-providers/kick.mjs  2.08 kB │ gzip: 0.77 kB
68
+ ℹ dist/social-providers/vercel.mjs  1.91 kB │ gzip: 0.74 kB
69
+ ℹ dist/oauth2/create-authorization-url.mjs  1.86 kB │ gzip: 0.73 kB
70
+ ℹ dist/oauth2/client-credentials-token.mjs  1.83 kB │ gzip: 0.77 kB
71
+ ℹ dist/context/request-state.mjs  1.61 kB │ gzip: 0.60 kB
72
+ ℹ dist/context/transaction.mjs  1.61 kB │ gzip: 0.57 kB
73
+ ℹ dist/db/adapter/get-default-field-name.mjs  1.41 kB │ gzip: 0.66 kB
74
+ ℹ dist/db/adapter/get-default-model-name.mjs  1.39 kB │ gzip: 0.65 kB
75
+ ℹ dist/context/endpoint-context.mjs  1.30 kB │ gzip: 0.55 kB
76
+ ℹ dist/db/adapter/get-field-attributes.mjs  1.26 kB │ gzip: 0.46 kB
77
+ ℹ dist/db/adapter/utils.mjs  1.15 kB │ gzip: 0.46 kB
78
+ ℹ dist/db/adapter/get-field-name.mjs  1.07 kB │ gzip: 0.47 kB
79
+ ℹ dist/oauth2/utils.mjs  0.98 kB │ gzip: 0.50 kB
80
+ ℹ dist/db/adapter/get-model-name.mjs  0.89 kB │ gzip: 0.42 kB
81
+ ℹ dist/db/schema/account.mjs  0.52 kB │ gzip: 0.24 kB
82
+ ℹ dist/db/schema/user.mjs  0.33 kB │ gzip: 0.23 kB
83
+ ℹ dist/db/schema/session.mjs  0.33 kB │ gzip: 0.21 kB
84
+ ℹ dist/db/schema/shared.mjs  0.28 kB │ gzip: 0.19 kB
85
+ ℹ dist/db/schema/verification.mjs  0.27 kB │ gzip: 0.19 kB
86
+ ℹ dist/db/schema/rate-limit.mjs  0.21 kB │ gzip: 0.17 kB
87
+ ℹ dist/social-providers/index.d.mts 45.59 kB │ gzip: 3.09 kB
88
+ ℹ dist/db/adapter/index.d.mts 15.17 kB │ gzip: 3.60 kB
89
+ ℹ dist/api/index.d.mts  7.57 kB │ gzip: 1.44 kB
90
+ ℹ dist/index.d.mts  1.20 kB │ gzip: 0.36 kB
91
+ ℹ dist/oauth2/index.d.mts  1.05 kB │ gzip: 0.32 kB
92
+ ℹ dist/db/index.d.mts  1.04 kB │ gzip: 0.34 kB
93
+ ℹ dist/utils/error-codes.d.mts  0.89 kB │ gzip: 0.45 kB
94
+ ℹ dist/context/index.d.mts  0.84 kB │ gzip: 0.24 kB
95
+ ℹ dist/error/index.d.mts  0.73 kB │ gzip: 0.33 kB
96
+ ℹ dist/env/index.d.mts  0.58 kB │ gzip: 0.27 kB
97
+ ℹ dist/utils/deprecate.d.mts  0.30 kB │ gzip: 0.22 kB
98
+ ℹ dist/async_hooks/index.d.mts  0.24 kB │ gzip: 0.16 kB
99
+ ℹ dist/async_hooks/pure.index.d.mts  0.22 kB │ gzip: 0.16 kB
100
+ ℹ dist/utils/string.d.mts  0.14 kB │ gzip: 0.12 kB
101
+ ℹ dist/utils/json.d.mts  0.13 kB │ gzip: 0.13 kB
102
+ ℹ dist/utils/id.d.mts  0.12 kB │ gzip: 0.12 kB
103
+ ℹ dist/types/init-options.d.mts 38.19 kB │ gzip: 8.46 kB
104
+ ℹ dist/types/context.d.mts  9.90 kB │ gzip: 2.83 kB
105
+ ℹ dist/social-providers/zoom.d.mts  6.71 kB │ gzip: 2.29 kB
106
+ ℹ dist/oauth2/oauth-provider.d.mts  5.92 kB │ gzip: 1.67 kB
107
+ ℹ dist/social-providers/microsoft-entra-id.d.mts  5.59 kB │ gzip: 1.96 kB
108
+ ℹ dist/error/codes.d.mts  5.49 kB │ gzip: 1.29 kB
109
+ ℹ dist/db/adapter/types.d.mts  5.42 kB │ gzip: 1.57 kB
110
+ ℹ dist/social-providers/tiktok.d.mts  5.34 kB │ gzip: 1.34 kB
111
+ ℹ dist/social-providers/kakao.d.mts  4.92 kB │ gzip: 1.27 kB
112
+ ℹ dist/social-providers/twitter.d.mts  4.77 kB │ gzip: 1.43 kB
113
+ ℹ dist/db/type.d.mts  3.89 kB │ gzip: 1.28 kB
114
+ ℹ dist/social-providers/apple.d.mts  3.85 kB │ gzip: 1.50 kB
115
+ ℹ dist/types/plugin-client.d.mts  3.76 kB │ gzip: 1.45 kB
116
+ ℹ dist/social-providers/discord.d.mts  3.72 kB │ gzip: 1.24 kB
117
+ ℹ dist/types/plugin.d.mts  3.66 kB │ gzip: 1.33 kB
118
+ ℹ dist/social-providers/paypal.d.mts  3.35 kB │ gzip: 0.99 kB
119
+ ℹ dist/social-providers/gitlab.d.mts  2.95 kB │ gzip: 0.92 kB
120
+ ℹ dist/social-providers/line.d.mts  2.61 kB │ gzip: 0.80 kB
121
+ ℹ dist/social-providers/google.d.mts  2.48 kB │ gzip: 0.87 kB
122
+ ℹ dist/social-providers/naver.d.mts  2.42 kB │ gzip: 0.77 kB
123
+ ℹ dist/social-providers/slack.d.mts  2.39 kB │ gzip: 0.72 kB
124
+ ℹ dist/social-providers/github.d.mts  2.38 kB │ gzip: 0.79 kB
125
+ ℹ dist/social-providers/cognito.d.mts  2.33 kB │ gzip: 0.82 kB
126
+ ℹ dist/social-providers/salesforce.d.mts  2.15 kB │ gzip: 0.81 kB
127
+ ℹ dist/social-providers/huggingface.d.mts  2.13 kB │ gzip: 0.72 kB
128
+ ℹ dist/social-providers/polar.d.mts  2.04 kB │ gzip: 0.66 kB
129
+ ℹ dist/social-providers/roblox.d.mts  2.02 kB │ gzip: 0.73 kB
130
+ ℹ dist/social-providers/facebook.d.mts  1.95 kB │ gzip: 0.74 kB
131
+ ℹ dist/env/logger.d.mts  1.86 kB │ gzip: 0.67 kB
132
+ ℹ dist/social-providers/twitch.d.mts  1.84 kB │ gzip: 0.69 kB
133
+ ℹ dist/social-providers/paybin.d.mts  1.80 kB │ gzip: 0.66 kB
134
+ ℹ dist/social-providers/atlassian.d.mts  1.78 kB │ gzip: 0.62 kB
135
+ ℹ dist/oauth2/verify.d.mts  1.77 kB │ gzip: 0.66 kB
136
+ ℹ dist/social-providers/dropbox.d.mts  1.72 kB │ gzip: 0.64 kB
137
+ ℹ dist/social-providers/vk.d.mts  1.67 kB │ gzip: 0.62 kB
138
+ ℹ dist/social-providers/kick.d.mts  1.62 kB │ gzip: 0.59 kB
139
+ ℹ dist/social-providers/linkedin.d.mts  1.61 kB │ gzip: 0.60 kB
140
+ ℹ dist/social-providers/linear.d.mts  1.60 kB │ gzip: 0.59 kB
141
+ ℹ dist/oauth2/validate-authorization-code.d.mts  1.57 kB │ gzip: 0.49 kB
142
+ ℹ dist/social-providers/notion.d.mts  1.56 kB │ gzip: 0.59 kB
143
+ ℹ dist/social-providers/reddit.d.mts  1.54 kB │ gzip: 0.57 kB
144
+ ℹ dist/social-providers/spotify.d.mts  1.51 kB │ gzip: 0.56 kB
145
+ ℹ dist/social-providers/vercel.d.mts  1.47 kB │ gzip: 0.55 kB
146
+ ℹ dist/social-providers/figma.d.mts  1.47 kB │ gzip: 0.55 kB
147
+ ℹ dist/context/request-state.d.mts  1.35 kB │ gzip: 0.59 kB
148
+ ℹ dist/db/adapter/factory.d.mts  1.30 kB │ gzip: 0.45 kB
149
+ ℹ dist/env/env-impl.d.mts  1.26 kB │ gzip: 0.47 kB
150
+ ℹ dist/oauth2/create-authorization-url.d.mts  1.05 kB │ gzip: 0.41 kB
151
+ ℹ dist/db/schema/account.d.mts  1.05 kB │ gzip: 0.43 kB
152
+ ℹ dist/db/adapter/get-id-field.d.mts  1.04 kB │ gzip: 0.47 kB
153
+ ℹ dist/oauth2/refresh-access-token.d.mts  1.01 kB │ gzip: 0.41 kB
154
+ ℹ dist/context/endpoint-context.d.mts  0.99 kB │ gzip: 0.43 kB
155
+ ℹ dist/oauth2/client-credentials-token.d.mts  0.91 kB │ gzip: 0.36 kB
156
+ ℹ dist/context/transaction.d.mts  0.88 kB │ gzip: 0.39 kB
157
+ ℹ dist/types/index.d.mts  0.77 kB │ gzip: 0.33 kB
158
+ ℹ dist/db/schema/session.d.mts  0.75 kB │ gzip: 0.40 kB
159
+ ℹ dist/db/adapter/get-field-attributes.d.mts  0.72 kB │ gzip: 0.34 kB
160
+ ℹ dist/db/schema/user.d.mts  0.71 kB │ gzip: 0.40 kB
161
+ ℹ dist/db/schema/verification.d.mts  0.66 kB │ gzip: 0.36 kB
162
+ ℹ dist/types/helper.d.mts  0.45 kB │ gzip: 0.27 kB
163
+ ℹ dist/types/cookie.d.mts  0.43 kB │ gzip: 0.19 kB
164
+ ℹ dist/db/adapter/get-default-field-name.d.mts  0.38 kB │ gzip: 0.24 kB
165
+ ℹ dist/db/schema/rate-limit.d.mts  0.37 kB │ gzip: 0.25 kB
166
+ ℹ dist/db/adapter/get-field-name.d.mts  0.36 kB │ gzip: 0.23 kB
167
+ ℹ dist/db/adapter/utils.d.mts  0.33 kB │ gzip: 0.23 kB
168
+ ℹ dist/db/adapter/get-default-model-name.d.mts  0.32 kB │ gzip: 0.22 kB
169
+ ℹ dist/db/plugin.d.mts  0.32 kB │ gzip: 0.22 kB
170
+ ℹ dist/oauth2/utils.d.mts  0.30 kB │ gzip: 0.20 kB
171
+ ℹ dist/db/adapter/get-model-name.d.mts  0.30 kB │ gzip: 0.21 kB
172
+ ℹ dist/db/get-tables.d.mts  0.29 kB │ gzip: 0.18 kB
173
+ ℹ dist/db/schema/shared.d.mts  0.25 kB │ gzip: 0.18 kB
174
+ ℹ dist/env/color-depth.d.mts  0.12 kB │ gzip: 0.11 kB
175
+ ℹ 165 files, total: 442.95 kB
176
+ ✔ Build complete in 5309ms
@@ -1,2 +1,189 @@
1
- import { a as optionsMiddleware, i as createAuthMiddleware, n as AuthMiddleware, r as createAuthEndpoint, t as AuthEndpoint } from "../index-B5x_W0dM.mjs";
1
+ import { BetterAuthDBSchema, ModelNames, SecondaryStorage } from "../db/type.mjs";
2
+ import { Session } from "../db/schema/session.mjs";
3
+ import { User } from "../db/schema/user.mjs";
4
+ import "../db/index.mjs";
5
+ import { DBAdapter } from "../db/adapter/index.mjs";
6
+ import { createLogger } from "../env/logger.mjs";
7
+ import { OAuthProvider } from "../oauth2/oauth-provider.mjs";
8
+ import "../oauth2/index.mjs";
9
+ import { BetterAuthCookies } from "../types/cookie.mjs";
10
+ import { BetterAuthOptions, BetterAuthRateLimitOptions } from "../types/init-options.mjs";
11
+ import { AuthContext, GenericEndpointContext, InternalAdapter, PluginContext } from "../types/context.mjs";
12
+ import "../types/index.mjs";
13
+ import "../index.mjs";
14
+ import * as better_call0 from "better-call";
15
+ import { EndpointContext, EndpointOptions, StrictEndpoint } from "better-call";
16
+
17
+ //#region src/api/index.d.ts
18
+ declare const optionsMiddleware: <InputCtx extends better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>>(inputContext: InputCtx) => Promise<AuthContext>;
19
+ declare const createAuthMiddleware: {
20
+ <Options extends better_call0.MiddlewareOptions, R>(options: Options, handler: (ctx: better_call0.MiddlewareContext<Options, {
21
+ returned?: unknown | undefined;
22
+ responseHeaders?: Headers | undefined;
23
+ } & PluginContext & {
24
+ options: BetterAuthOptions;
25
+ appName: string;
26
+ baseURL: string;
27
+ trustedOrigins: string[];
28
+ isTrustedOrigin: (url: string, settings?: {
29
+ allowRelativePaths: boolean;
30
+ }) => boolean;
31
+ oauthConfig: {
32
+ skipStateCookieCheck?: boolean | undefined;
33
+ storeStateStrategy: "database" | "cookie";
34
+ };
35
+ newSession: {
36
+ session: Session & Record<string, any>;
37
+ user: User & Record<string, any>;
38
+ } | null;
39
+ session: {
40
+ session: Session & Record<string, any>;
41
+ user: User & Record<string, any>;
42
+ } | null;
43
+ setNewSession: (session: {
44
+ session: Session & Record<string, any>;
45
+ user: User & Record<string, any>;
46
+ } | null) => void;
47
+ socialProviders: OAuthProvider[];
48
+ authCookies: BetterAuthCookies;
49
+ logger: ReturnType<typeof createLogger>;
50
+ rateLimit: {
51
+ enabled: boolean;
52
+ window: number;
53
+ max: number;
54
+ storage: "memory" | "database" | "secondary-storage";
55
+ } & BetterAuthRateLimitOptions;
56
+ adapter: DBAdapter<BetterAuthOptions>;
57
+ internalAdapter: InternalAdapter<BetterAuthOptions>;
58
+ createAuthCookie: (cookieName: string, overrideAttributes?: Partial<better_call0.CookieOptions> | undefined) => {
59
+ name: string;
60
+ attributes: better_call0.CookieOptions;
61
+ };
62
+ secret: string;
63
+ sessionConfig: {
64
+ updateAge: number;
65
+ expiresIn: number;
66
+ freshAge: number;
67
+ cookieRefreshCache: false | {
68
+ enabled: true;
69
+ updateAge: number;
70
+ };
71
+ };
72
+ generateId: (options: {
73
+ model: ModelNames;
74
+ size?: number | undefined;
75
+ }) => string | false;
76
+ secondaryStorage: SecondaryStorage | undefined;
77
+ password: {
78
+ hash: (password: string) => Promise<string>;
79
+ verify: (data: {
80
+ password: string;
81
+ hash: string;
82
+ }) => Promise<boolean>;
83
+ config: {
84
+ minPasswordLength: number;
85
+ maxPasswordLength: number;
86
+ };
87
+ checkPassword: (userId: string, ctx: GenericEndpointContext<BetterAuthOptions>) => Promise<boolean>;
88
+ };
89
+ tables: BetterAuthDBSchema;
90
+ runMigrations: () => Promise<void>;
91
+ publishTelemetry: (event: {
92
+ type: string;
93
+ anonymousId?: string | undefined;
94
+ payload: Record<string, any>;
95
+ }) => Promise<void>;
96
+ skipOriginCheck: boolean;
97
+ skipCSRFCheck: boolean;
98
+ runInBackground: (promise: Promise<void>) => void;
99
+ runInBackgroundOrAwait: (promise: Promise<unknown> | Promise<void> | void | unknown) => Promise<unknown>;
100
+ }>) => Promise<R>): (inputContext: better_call0.MiddlewareInputContext<Options>) => Promise<R>;
101
+ <Options extends better_call0.MiddlewareOptions, R_1>(handler: (ctx: better_call0.MiddlewareContext<Options, {
102
+ returned?: unknown | undefined;
103
+ responseHeaders?: Headers | undefined;
104
+ } & PluginContext & {
105
+ options: BetterAuthOptions;
106
+ appName: string;
107
+ baseURL: string;
108
+ trustedOrigins: string[];
109
+ isTrustedOrigin: (url: string, settings?: {
110
+ allowRelativePaths: boolean;
111
+ }) => boolean;
112
+ oauthConfig: {
113
+ skipStateCookieCheck?: boolean | undefined;
114
+ storeStateStrategy: "database" | "cookie";
115
+ };
116
+ newSession: {
117
+ session: Session & Record<string, any>;
118
+ user: User & Record<string, any>;
119
+ } | null;
120
+ session: {
121
+ session: Session & Record<string, any>;
122
+ user: User & Record<string, any>;
123
+ } | null;
124
+ setNewSession: (session: {
125
+ session: Session & Record<string, any>;
126
+ user: User & Record<string, any>;
127
+ } | null) => void;
128
+ socialProviders: OAuthProvider[];
129
+ authCookies: BetterAuthCookies;
130
+ logger: ReturnType<typeof createLogger>;
131
+ rateLimit: {
132
+ enabled: boolean;
133
+ window: number;
134
+ max: number;
135
+ storage: "memory" | "database" | "secondary-storage";
136
+ } & BetterAuthRateLimitOptions;
137
+ adapter: DBAdapter<BetterAuthOptions>;
138
+ internalAdapter: InternalAdapter<BetterAuthOptions>;
139
+ createAuthCookie: (cookieName: string, overrideAttributes?: Partial<better_call0.CookieOptions> | undefined) => {
140
+ name: string;
141
+ attributes: better_call0.CookieOptions;
142
+ };
143
+ secret: string;
144
+ sessionConfig: {
145
+ updateAge: number;
146
+ expiresIn: number;
147
+ freshAge: number;
148
+ cookieRefreshCache: false | {
149
+ enabled: true;
150
+ updateAge: number;
151
+ };
152
+ };
153
+ generateId: (options: {
154
+ model: ModelNames;
155
+ size?: number | undefined;
156
+ }) => string | false;
157
+ secondaryStorage: SecondaryStorage | undefined;
158
+ password: {
159
+ hash: (password: string) => Promise<string>;
160
+ verify: (data: {
161
+ password: string;
162
+ hash: string;
163
+ }) => Promise<boolean>;
164
+ config: {
165
+ minPasswordLength: number;
166
+ maxPasswordLength: number;
167
+ };
168
+ checkPassword: (userId: string, ctx: GenericEndpointContext<BetterAuthOptions>) => Promise<boolean>;
169
+ };
170
+ tables: BetterAuthDBSchema;
171
+ runMigrations: () => Promise<void>;
172
+ publishTelemetry: (event: {
173
+ type: string;
174
+ anonymousId?: string | undefined;
175
+ payload: Record<string, any>;
176
+ }) => Promise<void>;
177
+ skipOriginCheck: boolean;
178
+ skipCSRFCheck: boolean;
179
+ runInBackground: (promise: Promise<void>) => void;
180
+ runInBackgroundOrAwait: (promise: Promise<unknown> | Promise<void> | void | unknown) => Promise<unknown>;
181
+ }>) => Promise<R_1>): (inputContext: better_call0.MiddlewareInputContext<Options>) => Promise<R_1>;
182
+ };
183
+ type EndpointHandler<Path extends string, Options extends EndpointOptions, R> = (context: EndpointContext<Path, Options, AuthContext>) => Promise<R>;
184
+ declare function createAuthEndpoint<Path extends string, Options extends EndpointOptions, R>(path: Path, options: Options, handler: EndpointHandler<Path, Options, R>): StrictEndpoint<Path, Options, R>;
185
+ declare function createAuthEndpoint<Path extends string, Options extends EndpointOptions, R>(options: Options, handler: EndpointHandler<Path, Options, R>): StrictEndpoint<Path, Options, R>;
186
+ type AuthEndpoint<Path extends string, Opts extends EndpointOptions, R> = ReturnType<typeof createAuthEndpoint<Path, Opts, R>>;
187
+ type AuthMiddleware = ReturnType<typeof createAuthMiddleware>;
188
+ //#endregion
2
189
  export { AuthEndpoint, AuthMiddleware, createAuthEndpoint, createAuthMiddleware, optionsMiddleware };
@@ -1,4 +1,5 @@
1
- import { f as runWithEndpointContext } from "../context-BBNwughv.mjs";
1
+ import { runWithEndpointContext } from "../context/endpoint-context.mjs";
2
+ import "../context/index.mjs";
2
3
  import { createEndpoint, createMiddleware } from "better-call";
3
4
 
4
5
  //#region src/api/index.ts
@@ -0,0 +1,19 @@
1
+ import { AuthContext } from "../types/context.mjs";
2
+ import "../types/index.mjs";
3
+ import { EndpointContext, InputContext } from "better-call";
4
+ import { AsyncLocalStorage } from "@better-auth/core/async_hooks";
5
+
6
+ //#region src/context/endpoint-context.d.ts
7
+ type AuthEndpointContext = Partial<InputContext<string, any> & EndpointContext<string, any>> & {
8
+ context: AuthContext;
9
+ };
10
+ /**
11
+ * This is for internal use only. Most users should use `getCurrentAuthContext` instead.
12
+ *
13
+ * It is exposed for advanced use cases where you need direct access to the AsyncLocalStorage instance.
14
+ */
15
+ declare function getCurrentAuthContextAsyncLocalStorage(): Promise<AsyncLocalStorage<AuthEndpointContext>>;
16
+ declare function getCurrentAuthContext(): Promise<AuthEndpointContext>;
17
+ declare function runWithEndpointContext<T>(context: AuthEndpointContext, fn: () => T): Promise<T>;
18
+ //#endregion
19
+ export { AuthEndpointContext, getCurrentAuthContext, getCurrentAuthContextAsyncLocalStorage, runWithEndpointContext };
@@ -0,0 +1,31 @@
1
+ import { getAsyncLocalStorage } from "@better-auth/core/async_hooks";
2
+
3
+ //#region src/context/endpoint-context.ts
4
+ const symbol = Symbol.for("better-auth:endpoint-context-async-storage");
5
+ let currentContextAsyncStorage = null;
6
+ const ensureAsyncStorage = async () => {
7
+ if (!currentContextAsyncStorage || globalThis[symbol] === void 0) {
8
+ currentContextAsyncStorage = new (await (getAsyncLocalStorage()))();
9
+ globalThis[symbol] = currentContextAsyncStorage;
10
+ }
11
+ return currentContextAsyncStorage || globalThis[symbol];
12
+ };
13
+ /**
14
+ * This is for internal use only. Most users should use `getCurrentAuthContext` instead.
15
+ *
16
+ * It is exposed for advanced use cases where you need direct access to the AsyncLocalStorage instance.
17
+ */
18
+ async function getCurrentAuthContextAsyncLocalStorage() {
19
+ return ensureAsyncStorage();
20
+ }
21
+ async function getCurrentAuthContext() {
22
+ const context = (await ensureAsyncStorage()).getStore();
23
+ if (!context) throw new Error("No auth context found. Please make sure you are calling this function within a `runWithEndpointContext` callback.");
24
+ return context;
25
+ }
26
+ async function runWithEndpointContext(context, fn) {
27
+ return (await ensureAsyncStorage()).run(context, fn);
28
+ }
29
+
30
+ //#endregion
31
+ export { getCurrentAuthContext, getCurrentAuthContextAsyncLocalStorage, runWithEndpointContext };
@@ -1,53 +1,4 @@
1
- import { Qn as DBAdapter, f as AuthContext, rr as DBTransactionAdapter } from "../index-B5x_W0dM.mjs";
2
- import { AsyncLocalStorage } from "@better-auth/core/async_hooks";
3
- import { EndpointContext, InputContext } from "better-call";
4
-
5
- //#region src/context/endpoint-context.d.ts
6
- type AuthEndpointContext = Partial<InputContext<string, any> & EndpointContext<string, any>> & {
7
- context: AuthContext;
8
- };
9
- /**
10
- * This is for internal use only. Most users should use `getCurrentAuthContext` instead.
11
- *
12
- * It is exposed for advanced use cases where you need direct access to the AsyncLocalStorage instance.
13
- */
14
- declare function getCurrentAuthContextAsyncLocalStorage(): Promise<AsyncLocalStorage<AuthEndpointContext>>;
15
- declare function getCurrentAuthContext(): Promise<AuthEndpointContext>;
16
- declare function runWithEndpointContext<T>(context: AuthEndpointContext, fn: () => T): Promise<T>;
17
- //#endregion
18
- //#region src/context/request-state.d.ts
19
- type RequestStateWeakMap = WeakMap<object, any>;
20
- declare function getRequestStateAsyncLocalStorage(): Promise<AsyncLocalStorage<RequestStateWeakMap>>;
21
- declare function hasRequestState(): Promise<boolean>;
22
- declare function getCurrentRequestState(): Promise<RequestStateWeakMap>;
23
- declare function runWithRequestState<T>(store: RequestStateWeakMap, fn: () => T): Promise<T>;
24
- interface RequestState<T> {
25
- get(): Promise<T>;
26
- set(value: T): Promise<void>;
27
- readonly ref: Readonly<object>;
28
- }
29
- /**
30
- * Defines a request-scoped state with lazy initialization.
31
- *
32
- * @param initFn - A function that initializes the state. It is called the first time `get()` is invoked within each request context, and only once per context.
33
- * @returns A RequestState object with `get` and `set` methods, and a unique `ref` for debugging.
34
- *
35
- * @example
36
- * const userState = defineRequestState(() => ({ id: '', name: '' }));
37
- * // Later, within a request context:
38
- * const user = await userState.get();
39
- */
40
- declare function defineRequestState<T>(initFn: () => T | Promise<T>): RequestState<T>;
41
- //#endregion
42
- //#region src/context/transaction.d.ts
43
- /**
44
- * This is for internal use only. Most users should use `getCurrentAdapter` instead.
45
- *
46
- * It is exposed for advanced use cases where you need direct access to the AsyncLocalStorage instance.
47
- */
48
- declare const getCurrentDBAdapterAsyncLocalStorage: () => Promise<AsyncLocalStorage<DBTransactionAdapter>>;
49
- declare const getCurrentAdapter: (fallback: DBTransactionAdapter) => Promise<DBTransactionAdapter>;
50
- declare const runWithAdapter: <R>(adapter: DBAdapter, fn: () => R) => Promise<R>;
51
- declare const runWithTransaction: <R>(adapter: DBAdapter, fn: () => R) => Promise<R>;
52
- //#endregion
1
+ import { AuthEndpointContext, getCurrentAuthContext, getCurrentAuthContextAsyncLocalStorage, runWithEndpointContext } from "./endpoint-context.mjs";
2
+ import { RequestState, RequestStateWeakMap, defineRequestState, getCurrentRequestState, getRequestStateAsyncLocalStorage, hasRequestState, runWithRequestState } from "./request-state.mjs";
3
+ import { getCurrentAdapter, getCurrentDBAdapterAsyncLocalStorage, runWithAdapter, runWithTransaction } from "./transaction.mjs";
53
4
  export { type AuthEndpointContext, type RequestState, type RequestStateWeakMap, defineRequestState, getCurrentAdapter, getCurrentAuthContext, getCurrentAuthContextAsyncLocalStorage, getCurrentDBAdapterAsyncLocalStorage, getCurrentRequestState, getRequestStateAsyncLocalStorage, hasRequestState, runWithAdapter, runWithEndpointContext, runWithRequestState, runWithTransaction };
@@ -1,3 +1,5 @@
1
- import { a as defineRequestState, c as hasRequestState, d as getCurrentAuthContextAsyncLocalStorage, f as runWithEndpointContext, i as runWithTransaction, l as runWithRequestState, n as getCurrentDBAdapterAsyncLocalStorage, o as getCurrentRequestState, r as runWithAdapter, s as getRequestStateAsyncLocalStorage, t as getCurrentAdapter, u as getCurrentAuthContext } from "../context-BBNwughv.mjs";
1
+ import { getCurrentAuthContext, getCurrentAuthContextAsyncLocalStorage, runWithEndpointContext } from "./endpoint-context.mjs";
2
+ import { defineRequestState, getCurrentRequestState, getRequestStateAsyncLocalStorage, hasRequestState, runWithRequestState } from "./request-state.mjs";
3
+ import { getCurrentAdapter, getCurrentDBAdapterAsyncLocalStorage, runWithAdapter, runWithTransaction } from "./transaction.mjs";
2
4
 
3
5
  export { defineRequestState, getCurrentAdapter, getCurrentAuthContext, getCurrentAuthContextAsyncLocalStorage, getCurrentDBAdapterAsyncLocalStorage, getCurrentRequestState, getRequestStateAsyncLocalStorage, hasRequestState, runWithAdapter, runWithEndpointContext, runWithRequestState, runWithTransaction };
@@ -0,0 +1,27 @@
1
+ import { AsyncLocalStorage } from "@better-auth/core/async_hooks";
2
+
3
+ //#region src/context/request-state.d.ts
4
+ type RequestStateWeakMap = WeakMap<object, any>;
5
+ declare function getRequestStateAsyncLocalStorage(): Promise<AsyncLocalStorage<RequestStateWeakMap>>;
6
+ declare function hasRequestState(): Promise<boolean>;
7
+ declare function getCurrentRequestState(): Promise<RequestStateWeakMap>;
8
+ declare function runWithRequestState<T>(store: RequestStateWeakMap, fn: () => T): Promise<T>;
9
+ interface RequestState<T> {
10
+ get(): Promise<T>;
11
+ set(value: T): Promise<void>;
12
+ readonly ref: Readonly<object>;
13
+ }
14
+ /**
15
+ * Defines a request-scoped state with lazy initialization.
16
+ *
17
+ * @param initFn - A function that initializes the state. It is called the first time `get()` is invoked within each request context, and only once per context.
18
+ * @returns A RequestState object with `get` and `set` methods, and a unique `ref` for debugging.
19
+ *
20
+ * @example
21
+ * const userState = defineRequestState(() => ({ id: '', name: '' }));
22
+ * // Later, within a request context:
23
+ * const user = await userState.get();
24
+ */
25
+ declare function defineRequestState<T>(initFn: () => T | Promise<T>): RequestState<T>;
26
+ //#endregion
27
+ export { RequestState, RequestStateWeakMap, defineRequestState, getCurrentRequestState, getRequestStateAsyncLocalStorage, hasRequestState, runWithRequestState };
@@ -0,0 +1,49 @@
1
+ import { getAsyncLocalStorage } from "@better-auth/core/async_hooks";
2
+
3
+ //#region src/context/request-state.ts
4
+ const symbol = Symbol.for("better-auth:request-state-async-storage");
5
+ let requestStateAsyncStorage = null;
6
+ const ensureAsyncStorage = async () => {
7
+ if (!requestStateAsyncStorage || globalThis[symbol] === void 0) {
8
+ requestStateAsyncStorage = new (await (getAsyncLocalStorage()))();
9
+ globalThis[symbol] = requestStateAsyncStorage;
10
+ }
11
+ return requestStateAsyncStorage || globalThis[symbol];
12
+ };
13
+ async function getRequestStateAsyncLocalStorage() {
14
+ return ensureAsyncStorage();
15
+ }
16
+ async function hasRequestState() {
17
+ return (await ensureAsyncStorage()).getStore() !== void 0;
18
+ }
19
+ async function getCurrentRequestState() {
20
+ const store = (await ensureAsyncStorage()).getStore();
21
+ if (!store) throw new Error("No request state found. Please make sure you are calling this function within a `runWithRequestState` callback.");
22
+ return store;
23
+ }
24
+ async function runWithRequestState(store, fn) {
25
+ return (await ensureAsyncStorage()).run(store, fn);
26
+ }
27
+ function defineRequestState(initFn) {
28
+ const ref = Object.freeze({});
29
+ return {
30
+ get ref() {
31
+ return ref;
32
+ },
33
+ async get() {
34
+ const store = await getCurrentRequestState();
35
+ if (!store.has(ref)) {
36
+ const initialValue = await initFn();
37
+ store.set(ref, initialValue);
38
+ return initialValue;
39
+ }
40
+ return store.get(ref);
41
+ },
42
+ async set(value) {
43
+ (await getCurrentRequestState()).set(ref, value);
44
+ }
45
+ };
46
+ }
47
+
48
+ //#endregion
49
+ export { defineRequestState, getCurrentRequestState, getRequestStateAsyncLocalStorage, hasRequestState, runWithRequestState };