constella 0.1.0

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 (747) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +53 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/diagnostics/build-diagnostics.json +6 -0
  5. package/.next/diagnostics/framework.json +1 -0
  6. package/.next/export-marker.json +6 -0
  7. package/.next/images-manifest.json +68 -0
  8. package/.next/next-minimal-server.js.nft.json +1 -0
  9. package/.next/next-server.js.nft.json +1 -0
  10. package/.next/package.json +1 -0
  11. package/.next/prerender-manifest.json +36 -0
  12. package/.next/react-loadable-manifest.json +14 -0
  13. package/.next/required-server-files.js +343 -0
  14. package/.next/required-server-files.json +343 -0
  15. package/.next/routes-manifest.json +362 -0
  16. package/.next/server/app/(app)/activity/page.js +2 -0
  17. package/.next/server/app/(app)/activity/page.js.nft.json +1 -0
  18. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/(app)/agents/[handle]/page.js +18 -0
  20. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -0
  21. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -0
  22. package/.next/server/app/(app)/code/page.js +2 -0
  23. package/.next/server/app/(app)/code/page.js.nft.json +1 -0
  24. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -0
  25. package/.next/server/app/(app)/config/page.js +2 -0
  26. package/.next/server/app/(app)/config/page.js.nft.json +1 -0
  27. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -0
  28. package/.next/server/app/(app)/costs/page.js +2 -0
  29. package/.next/server/app/(app)/costs/page.js.nft.json +1 -0
  30. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -0
  31. package/.next/server/app/(app)/cron/page.js +2 -0
  32. package/.next/server/app/(app)/cron/page.js.nft.json +1 -0
  33. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -0
  34. package/.next/server/app/(app)/dashboard/page.js +2 -0
  35. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -0
  36. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -0
  37. package/.next/server/app/(app)/docs/[id]/page.js +2 -0
  38. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -0
  39. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -0
  40. package/.next/server/app/(app)/docs/page.js +2 -0
  41. package/.next/server/app/(app)/docs/page.js.nft.json +1 -0
  42. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -0
  43. package/.next/server/app/(app)/github/page.js +2 -0
  44. package/.next/server/app/(app)/github/page.js.nft.json +1 -0
  45. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -0
  46. package/.next/server/app/(app)/goals/page.js +2 -0
  47. package/.next/server/app/(app)/goals/page.js.nft.json +1 -0
  48. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -0
  49. package/.next/server/app/(app)/inbox/page.js +2 -0
  50. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
  51. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
  52. package/.next/server/app/(app)/knowledge/page.js +3 -0
  53. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -0
  54. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -0
  55. package/.next/server/app/(app)/models/page.js +2 -0
  56. package/.next/server/app/(app)/models/page.js.nft.json +1 -0
  57. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -0
  58. package/.next/server/app/(app)/notifications/page.js +2 -0
  59. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -0
  60. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -0
  61. package/.next/server/app/(app)/org/page.js +2 -0
  62. package/.next/server/app/(app)/org/page.js.nft.json +1 -0
  63. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -0
  64. package/.next/server/app/(app)/organizations/page.js +2 -0
  65. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -0
  66. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -0
  67. package/.next/server/app/(app)/page.js +3 -0
  68. package/.next/server/app/(app)/page.js.nft.json +1 -0
  69. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -0
  70. package/.next/server/app/(app)/planner/page.js +2 -0
  71. package/.next/server/app/(app)/planner/page.js.nft.json +1 -0
  72. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -0
  73. package/.next/server/app/(app)/plugins/page.js +2 -0
  74. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -0
  75. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
  76. package/.next/server/app/(app)/pm/page.js +2 -0
  77. package/.next/server/app/(app)/pm/page.js.nft.json +1 -0
  78. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -0
  79. package/.next/server/app/(app)/prepare-deploy/page.js +19 -0
  80. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -0
  81. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -0
  82. package/.next/server/app/(app)/profile/page.js +2 -0
  83. package/.next/server/app/(app)/profile/page.js.nft.json +1 -0
  84. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -0
  85. package/.next/server/app/(app)/pulse/page.js +2 -0
  86. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -0
  87. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -0
  88. package/.next/server/app/(app)/reports/[id]/page.js +3 -0
  89. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -0
  90. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -0
  91. package/.next/server/app/(app)/reports/page.js +5 -0
  92. package/.next/server/app/(app)/reports/page.js.nft.json +1 -0
  93. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -0
  94. package/.next/server/app/(app)/routines/page.js +2 -0
  95. package/.next/server/app/(app)/routines/page.js.nft.json +1 -0
  96. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -0
  97. package/.next/server/app/(app)/search/page.js +2 -0
  98. package/.next/server/app/(app)/search/page.js.nft.json +1 -0
  99. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -0
  100. package/.next/server/app/(app)/security/page.js +2 -0
  101. package/.next/server/app/(app)/security/page.js.nft.json +1 -0
  102. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -0
  103. package/.next/server/app/(app)/skills/page.js +18 -0
  104. package/.next/server/app/(app)/skills/page.js.nft.json +1 -0
  105. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -0
  106. package/.next/server/app/(app)/tasks/page.js +2 -0
  107. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -0
  108. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -0
  109. package/.next/server/app/(app)/test-dev/page.js +2 -0
  110. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -0
  111. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -0
  112. package/.next/server/app/(app)/update/page.js +2 -0
  113. package/.next/server/app/(app)/update/page.js.nft.json +1 -0
  114. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -0
  115. package/.next/server/app/(auth)/login/page.js +2 -0
  116. package/.next/server/app/(auth)/login/page.js.nft.json +1 -0
  117. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -0
  118. package/.next/server/app/(auth)/onboarding/page.js +18 -0
  119. package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -0
  120. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -0
  121. package/.next/server/app/_global-error/page.js +32 -0
  122. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  123. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  124. package/.next/server/app/_global-error.html +1 -0
  125. package/.next/server/app/_global-error.meta +16 -0
  126. package/.next/server/app/_global-error.rsc +15 -0
  127. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  128. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
  129. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
  130. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  131. package/.next/server/app/_global-error.segments/_index.segment.rsc +6 -0
  132. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  133. package/.next/server/app/_not-found/page.js +2 -0
  134. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  135. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/auth/[...all]/route.js +1 -0
  137. package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -0
  138. package/.next/server/app/api/auth/[...all]/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/cron/tick/route.js +52 -0
  140. package/.next/server/app/api/cron/tick/route.js.nft.json +1 -0
  141. package/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/dev-login/route.js +1 -0
  143. package/.next/server/app/api/dev-login/route.js.nft.json +1 -0
  144. package/.next/server/app/api/dev-login/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/locks/acquire/route.js +1 -0
  146. package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -0
  147. package/.next/server/app/api/locks/acquire/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/models/progress/route.js +1 -0
  149. package/.next/server/app/api/models/progress/route.js.nft.json +1 -0
  150. package/.next/server/app/api/models/progress/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/passkey/authenticate/options/route.js +1 -0
  152. package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -0
  153. package/.next/server/app/api/passkey/authenticate/options/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -0
  155. package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -0
  156. package/.next/server/app/api/passkey/authenticate/verify/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/passkey/register/options/route.js +1 -0
  158. package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -0
  159. package/.next/server/app/api/passkey/register/options/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/passkey/register/verify/route.js +1 -0
  161. package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -0
  162. package/.next/server/app/api/passkey/register/verify/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/stream/route.js +4 -0
  164. package/.next/server/app/api/stream/route.js.nft.json +1 -0
  165. package/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/sync/file/route.js +2 -0
  167. package/.next/server/app/api/sync/file/route.js.nft.json +1 -0
  168. package/.next/server/app/api/sync/file/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/telegram/poll/route.js +15 -0
  170. package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -0
  171. package/.next/server/app/api/telegram/poll/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/upload/route.js +1 -0
  173. package/.next/server/app/api/upload/route.js.nft.json +1 -0
  174. package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/v1/[[...path]]/route.js +1 -0
  176. package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -0
  177. package/.next/server/app/api/v1/[[...path]]/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app-paths-manifest.json +53 -0
  179. package/.next/server/chunks/1003.js +1 -0
  180. package/.next/server/chunks/127.js +26 -0
  181. package/.next/server/chunks/1388.js +1 -0
  182. package/.next/server/chunks/1408.js +21 -0
  183. package/.next/server/chunks/1572.js +1 -0
  184. package/.next/server/chunks/1591.js +24 -0
  185. package/.next/server/chunks/1619.js +188 -0
  186. package/.next/server/chunks/162.js +1 -0
  187. package/.next/server/chunks/1881.js +1 -0
  188. package/.next/server/chunks/1968.js +1 -0
  189. package/.next/server/chunks/2297.js +348 -0
  190. package/.next/server/chunks/2341.js +1 -0
  191. package/.next/server/chunks/2517.js +1 -0
  192. package/.next/server/chunks/2549.js +1 -0
  193. package/.next/server/chunks/259.js +14 -0
  194. package/.next/server/chunks/2599.js +1 -0
  195. package/.next/server/chunks/260.js +1 -0
  196. package/.next/server/chunks/2867.js +147 -0
  197. package/.next/server/chunks/3018.js +1 -0
  198. package/.next/server/chunks/3050.js +18 -0
  199. package/.next/server/chunks/3085.js +12 -0
  200. package/.next/server/chunks/3131.js +1 -0
  201. package/.next/server/chunks/3242.js +1 -0
  202. package/.next/server/chunks/3266.js +15 -0
  203. package/.next/server/chunks/3524.js +1 -0
  204. package/.next/server/chunks/3527.js +479 -0
  205. package/.next/server/chunks/3533.js +869 -0
  206. package/.next/server/chunks/3550.js +1 -0
  207. package/.next/server/chunks/3609.js +2 -0
  208. package/.next/server/chunks/3667.js +462 -0
  209. package/.next/server/chunks/3760.js +4 -0
  210. package/.next/server/chunks/4679.js +1 -0
  211. package/.next/server/chunks/4804.js +1 -0
  212. package/.next/server/chunks/4832.js +2 -0
  213. package/.next/server/chunks/4853.js +1 -0
  214. package/.next/server/chunks/4979.js +67 -0
  215. package/.next/server/chunks/5060.js +1 -0
  216. package/.next/server/chunks/5278.js +1 -0
  217. package/.next/server/chunks/5614.js +1 -0
  218. package/.next/server/chunks/5818.js +1 -0
  219. package/.next/server/chunks/6479.js +1 -0
  220. package/.next/server/chunks/6658.js +1 -0
  221. package/.next/server/chunks/6706.js +1 -0
  222. package/.next/server/chunks/6719.js +1 -0
  223. package/.next/server/chunks/678.js +1 -0
  224. package/.next/server/chunks/683.js +1 -0
  225. package/.next/server/chunks/6862.js +1 -0
  226. package/.next/server/chunks/6882.js +1 -0
  227. package/.next/server/chunks/7037.js +1 -0
  228. package/.next/server/chunks/7107.js +741 -0
  229. package/.next/server/chunks/73.js +17 -0
  230. package/.next/server/chunks/7327.js +1 -0
  231. package/.next/server/chunks/7514.js +1 -0
  232. package/.next/server/chunks/7622.js +1 -0
  233. package/.next/server/chunks/7778.js +1 -0
  234. package/.next/server/chunks/7912.js +1 -0
  235. package/.next/server/chunks/7949.js +1 -0
  236. package/.next/server/chunks/7971.js +1 -0
  237. package/.next/server/chunks/7989.js +1 -0
  238. package/.next/server/chunks/842.js +22 -0
  239. package/.next/server/chunks/8762.js +15 -0
  240. package/.next/server/chunks/8823.js +77 -0
  241. package/.next/server/chunks/9146.js +4 -0
  242. package/.next/server/chunks/9676.js +1 -0
  243. package/.next/server/chunks/9783.js +22 -0
  244. package/.next/server/chunks/9969.js +3 -0
  245. package/.next/server/functions-config-manifest.json +18 -0
  246. package/.next/server/instrumentation.js +1 -0
  247. package/.next/server/instrumentation.js.nft.json +1 -0
  248. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  249. package/.next/server/middleware-build-manifest.js +1 -0
  250. package/.next/server/middleware-manifest.json +6 -0
  251. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  252. package/.next/server/middleware.js +18 -0
  253. package/.next/server/middleware.js.nft.json +1 -0
  254. package/.next/server/next-font-manifest.js +1 -0
  255. package/.next/server/next-font-manifest.json +1 -0
  256. package/.next/server/pages/500.html +1 -0
  257. package/.next/server/pages-manifest.json +3 -0
  258. package/.next/server/prefetch-hints.json +1 -0
  259. package/.next/server/server-reference-manifest.js +1 -0
  260. package/.next/server/server-reference-manifest.json +1 -0
  261. package/.next/server/webpack-runtime.js +1 -0
  262. package/.next/static/chunks/1858-339516f78a4b00da.js +1 -0
  263. package/.next/static/chunks/2320-fc8b39380e69d465.js +2 -0
  264. package/.next/static/chunks/23550918-ff694f70f4b0648c.js +1 -0
  265. package/.next/static/chunks/3219-ebb3c23be38c838d.js +1 -0
  266. package/.next/static/chunks/4263-adecb5b466380b6e.js +1 -0
  267. package/.next/static/chunks/5479-0cceab68cd0ca9c7.js +1 -0
  268. package/.next/static/chunks/5701-665b927b06158b76.js +1 -0
  269. package/.next/static/chunks/5920.6451a68b63918988.js +1 -0
  270. package/.next/static/chunks/6575-5c9139720bb0f5bf.js +4 -0
  271. package/.next/static/chunks/6834-4759af1ce7d95fb6.js +32 -0
  272. package/.next/static/chunks/7509.721cd47a931c5518.js +1 -0
  273. package/.next/static/chunks/8264-1ca011989ee2b231.js +1 -0
  274. package/.next/static/chunks/9219-4a39a98b5502d9d1.js +1 -0
  275. package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
  276. package/.next/static/chunks/app/(app)/activity/page-3973534281ecea81.js +1 -0
  277. package/.next/static/chunks/app/(app)/agents/[handle]/page-83662a175c098282.js +1 -0
  278. package/.next/static/chunks/app/(app)/code/page-33979545192cd137.js +1 -0
  279. package/.next/static/chunks/app/(app)/config/page-9933aed1ca8a85c1.js +1 -0
  280. package/.next/static/chunks/app/(app)/costs/page-131c4dc580efcc19.js +1 -0
  281. package/.next/static/chunks/app/(app)/cron/page-53ea1aff998a87ca.js +1 -0
  282. package/.next/static/chunks/app/(app)/dashboard/page-deed83aaa9d0d447.js +1 -0
  283. package/.next/static/chunks/app/(app)/docs/[id]/page-38c993d73c0eab4f.js +1 -0
  284. package/.next/static/chunks/app/(app)/docs/page-bf463b55d0554e86.js +1 -0
  285. package/.next/static/chunks/app/(app)/error-988cd28480809861.js +1 -0
  286. package/.next/static/chunks/app/(app)/github/page-62678b4e82dfecb6.js +1 -0
  287. package/.next/static/chunks/app/(app)/goals/page-4adb426fe1c96106.js +1 -0
  288. package/.next/static/chunks/app/(app)/inbox/page-e347dc55ab467310.js +1 -0
  289. package/.next/static/chunks/app/(app)/knowledge/page-65393a045b4349be.js +1 -0
  290. package/.next/static/chunks/app/(app)/layout-7f65675705b011d8.js +1 -0
  291. package/.next/static/chunks/app/(app)/models/page-e01f1dd7e49a2951.js +1 -0
  292. package/.next/static/chunks/app/(app)/notifications/page-56548ac87aef00da.js +1 -0
  293. package/.next/static/chunks/app/(app)/org/page-699e6a6dc0db7d81.js +1 -0
  294. package/.next/static/chunks/app/(app)/organizations/page-36051a380a7e8eb7.js +1 -0
  295. package/.next/static/chunks/app/(app)/page-7d1011a566f81520.js +1 -0
  296. package/.next/static/chunks/app/(app)/planner/page-dab7ced94083373a.js +1 -0
  297. package/.next/static/chunks/app/(app)/plugins/page-5b5a1f53389be42e.js +1 -0
  298. package/.next/static/chunks/app/(app)/pm/page-0de5c08c0b227bb0.js +1 -0
  299. package/.next/static/chunks/app/(app)/prepare-deploy/page-e426038552df8d41.js +1 -0
  300. package/.next/static/chunks/app/(app)/profile/page-608dfcaf8aae0a69.js +1 -0
  301. package/.next/static/chunks/app/(app)/pulse/page-309ccaca91de1faa.js +1 -0
  302. package/.next/static/chunks/app/(app)/reports/[id]/page-53ea1aff998a87ca.js +1 -0
  303. package/.next/static/chunks/app/(app)/reports/page-68cdc6dcfa472d86.js +1 -0
  304. package/.next/static/chunks/app/(app)/routines/page-bcc55550b197a9fa.js +1 -0
  305. package/.next/static/chunks/app/(app)/search/page-5c5f67558d0dbf0d.js +1 -0
  306. package/.next/static/chunks/app/(app)/security/page-a7d41e36aa366b45.js +1 -0
  307. package/.next/static/chunks/app/(app)/skills/page-c5b21e89593b8336.js +1 -0
  308. package/.next/static/chunks/app/(app)/tasks/page-08ae079e3e54d2ce.js +1 -0
  309. package/.next/static/chunks/app/(app)/test-dev/page-633f82dfd9c3ce23.js +1 -0
  310. package/.next/static/chunks/app/(app)/update/page-4be019054351bfac.js +1 -0
  311. package/.next/static/chunks/app/(auth)/login/page-6e85d3377062acae.js +1 -0
  312. package/.next/static/chunks/app/(auth)/onboarding/page-ebb10c175abf3b85.js +1 -0
  313. package/.next/static/chunks/app/_global-error/page-23fe50a6bf589c97.js +1 -0
  314. package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +1 -0
  315. package/.next/static/chunks/app/api/auth/[...all]/route-23fe50a6bf589c97.js +1 -0
  316. package/.next/static/chunks/app/api/cron/tick/route-23fe50a6bf589c97.js +1 -0
  317. package/.next/static/chunks/app/api/dev-login/route-23fe50a6bf589c97.js +1 -0
  318. package/.next/static/chunks/app/api/locks/acquire/route-23fe50a6bf589c97.js +1 -0
  319. package/.next/static/chunks/app/api/models/progress/route-23fe50a6bf589c97.js +1 -0
  320. package/.next/static/chunks/app/api/passkey/authenticate/options/route-23fe50a6bf589c97.js +1 -0
  321. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-23fe50a6bf589c97.js +1 -0
  322. package/.next/static/chunks/app/api/passkey/register/options/route-23fe50a6bf589c97.js +1 -0
  323. package/.next/static/chunks/app/api/passkey/register/verify/route-23fe50a6bf589c97.js +1 -0
  324. package/.next/static/chunks/app/api/stream/route-23fe50a6bf589c97.js +1 -0
  325. package/.next/static/chunks/app/api/sync/file/route-23fe50a6bf589c97.js +1 -0
  326. package/.next/static/chunks/app/api/telegram/poll/route-23fe50a6bf589c97.js +1 -0
  327. package/.next/static/chunks/app/api/upload/route-23fe50a6bf589c97.js +1 -0
  328. package/.next/static/chunks/app/api/v1/[[...path]]/route-23fe50a6bf589c97.js +1 -0
  329. package/.next/static/chunks/app/error-09899a13c38b6e89.js +1 -0
  330. package/.next/static/chunks/app/global-error-b8050d4d886f448c.js +1 -0
  331. package/.next/static/chunks/app/layout-ab9deed1e7e2e9df.js +1 -0
  332. package/.next/static/chunks/framework-4b2c6b6043dd203f.js +1 -0
  333. package/.next/static/chunks/main-722e16032e7764d1.js +5 -0
  334. package/.next/static/chunks/main-app-761880af2b6f1962.js +1 -0
  335. package/.next/static/chunks/next/dist/client/components/builtin/app-error-23fe50a6bf589c97.js +1 -0
  336. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-23fe50a6bf589c97.js +1 -0
  337. package/.next/static/chunks/next/dist/client/components/builtin/not-found-23fe50a6bf589c97.js +1 -0
  338. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-23fe50a6bf589c97.js +1 -0
  339. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  340. package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
  341. package/.next/static/css/0a9b5805594444e3.css +1 -0
  342. package/.next/static/yztMvBwyrWWkSqP6jfXoa/_buildManifest.js +1 -0
  343. package/.next/static/yztMvBwyrWWkSqP6jfXoa/_ssgManifest.js +1 -0
  344. package/.next/trace-build +1 -0
  345. package/.next/types/app/(app)/activity/page.ts +87 -0
  346. package/.next/types/app/(app)/agents/[handle]/page.ts +87 -0
  347. package/.next/types/app/(app)/code/page.ts +87 -0
  348. package/.next/types/app/(app)/config/page.ts +87 -0
  349. package/.next/types/app/(app)/costs/page.ts +87 -0
  350. package/.next/types/app/(app)/cron/page.ts +87 -0
  351. package/.next/types/app/(app)/dashboard/page.ts +87 -0
  352. package/.next/types/app/(app)/docs/[id]/page.ts +87 -0
  353. package/.next/types/app/(app)/docs/page.ts +87 -0
  354. package/.next/types/app/(app)/github/page.ts +87 -0
  355. package/.next/types/app/(app)/goals/page.ts +87 -0
  356. package/.next/types/app/(app)/inbox/page.ts +87 -0
  357. package/.next/types/app/(app)/knowledge/page.ts +87 -0
  358. package/.next/types/app/(app)/models/page.ts +87 -0
  359. package/.next/types/app/(app)/notifications/page.ts +87 -0
  360. package/.next/types/app/(app)/org/page.ts +87 -0
  361. package/.next/types/app/(app)/organizations/page.ts +87 -0
  362. package/.next/types/app/(app)/page.ts +87 -0
  363. package/.next/types/app/(app)/planner/page.ts +87 -0
  364. package/.next/types/app/(app)/plugins/page.ts +87 -0
  365. package/.next/types/app/(app)/pm/page.ts +87 -0
  366. package/.next/types/app/(app)/prepare-deploy/page.ts +87 -0
  367. package/.next/types/app/(app)/profile/page.ts +87 -0
  368. package/.next/types/app/(app)/pulse/page.ts +87 -0
  369. package/.next/types/app/(app)/reports/[id]/page.ts +87 -0
  370. package/.next/types/app/(app)/reports/page.ts +87 -0
  371. package/.next/types/app/(app)/routines/page.ts +87 -0
  372. package/.next/types/app/(app)/search/page.ts +87 -0
  373. package/.next/types/app/(app)/security/page.ts +87 -0
  374. package/.next/types/app/(app)/skills/page.ts +87 -0
  375. package/.next/types/app/(app)/tasks/page.ts +87 -0
  376. package/.next/types/app/(app)/test-dev/page.ts +87 -0
  377. package/.next/types/app/(app)/update/page.ts +87 -0
  378. package/.next/types/app/(auth)/login/page.ts +87 -0
  379. package/.next/types/app/(auth)/onboarding/page.ts +87 -0
  380. package/.next/types/app/api/auth/[...all]/route.ts +351 -0
  381. package/.next/types/app/api/cron/tick/route.ts +351 -0
  382. package/.next/types/app/api/dev-login/route.ts +351 -0
  383. package/.next/types/app/api/locks/acquire/route.ts +351 -0
  384. package/.next/types/app/api/models/progress/route.ts +351 -0
  385. package/.next/types/app/api/passkey/authenticate/options/route.ts +351 -0
  386. package/.next/types/app/api/passkey/authenticate/verify/route.ts +351 -0
  387. package/.next/types/app/api/passkey/register/options/route.ts +351 -0
  388. package/.next/types/app/api/passkey/register/verify/route.ts +351 -0
  389. package/.next/types/app/api/stream/route.ts +351 -0
  390. package/.next/types/app/api/sync/file/route.ts +351 -0
  391. package/.next/types/app/api/telegram/poll/route.ts +351 -0
  392. package/.next/types/app/api/upload/route.ts +351 -0
  393. package/.next/types/app/api/v1/[[...path]]/route.ts +351 -0
  394. package/.next/types/cache-life.d.ts +145 -0
  395. package/.next/types/link.d.ts +210 -0
  396. package/.next/types/package.json +1 -0
  397. package/.next/types/routes.d.ts +120 -0
  398. package/.next/types/validator.ts +511 -0
  399. package/CHANGELOG.md +312 -0
  400. package/LICENSE +21 -0
  401. package/README.md +382 -0
  402. package/README.pt-BR.md +391 -0
  403. package/bin/constella.mjs +329 -0
  404. package/bin/guard-hook.mjs +44 -0
  405. package/bin/lock-hook.mjs +49 -0
  406. package/bin/worker.mjs +142 -0
  407. package/docs/assets/arch-orbit.svg +56 -0
  408. package/docs/assets/blackhole.svg +37 -0
  409. package/docs/assets/divider-orbit.svg +23 -0
  410. package/docs/assets/hero-constella.svg +72 -0
  411. package/docs/en/AGENTS.md +279 -0
  412. package/docs/en/AI_ARCHITECTURE.md +373 -0
  413. package/docs/en/ARCHITECTURE.md +334 -0
  414. package/docs/en/AUTH_MODE.md +247 -0
  415. package/docs/en/CHAT_COMMANDS.md +305 -0
  416. package/docs/en/CONFIGURATION.md +340 -0
  417. package/docs/en/DEPLOY.md +331 -0
  418. package/docs/en/DM.md +297 -0
  419. package/docs/en/FAQ.md +258 -0
  420. package/docs/en/GITHUB.md +341 -0
  421. package/docs/en/GOALS_SPECS_ISSUES.md +303 -0
  422. package/docs/en/INBOX.md +340 -0
  423. package/docs/en/INSTALLATION.md +329 -0
  424. package/docs/en/KB_AGENT.md +305 -0
  425. package/docs/en/KB_RAG.md +356 -0
  426. package/docs/en/MCP.md +313 -0
  427. package/docs/en/MEMORY_RAG.md +289 -0
  428. package/docs/en/MODELS.md +341 -0
  429. package/docs/en/ONBOARDING.md +327 -0
  430. package/docs/en/PLUGINS.md +290 -0
  431. package/docs/en/PORTABLE_MODE.md +387 -0
  432. package/docs/en/PO_AGENT.md +379 -0
  433. package/docs/en/PREPARE_DEPLOY.md +308 -0
  434. package/docs/en/PROJECT_STACKS.md +258 -0
  435. package/docs/en/PUBLIC_API.md +315 -0
  436. package/docs/en/PUBLISHING.md +343 -0
  437. package/docs/en/README.md +95 -0
  438. package/docs/en/SECURITY.md +280 -0
  439. package/docs/en/SKILLS.md +349 -0
  440. package/docs/en/START_MODE.md +340 -0
  441. package/docs/en/SYNCED_BLOCKS.md +320 -0
  442. package/docs/en/TEAM_ROOM.md +285 -0
  443. package/docs/en/TELEGRAM.md +294 -0
  444. package/docs/en/TEST_DEV.md +321 -0
  445. package/docs/en/TROUBLESHOOTING.md +294 -0
  446. package/docs/en/UPDATE.md +301 -0
  447. package/docs/en/VPS_MODE.md +334 -0
  448. package/docs/en/WORKFLOW.md +321 -0
  449. package/docs/pt/AGENTS.md +279 -0
  450. package/docs/pt/AI_ARCHITECTURE.md +373 -0
  451. package/docs/pt/ARCHITECTURE.md +334 -0
  452. package/docs/pt/AUTH_MODE.md +247 -0
  453. package/docs/pt/CHAT_COMMANDS.md +307 -0
  454. package/docs/pt/CONFIGURATION.md +340 -0
  455. package/docs/pt/DEPLOY.md +331 -0
  456. package/docs/pt/DM.md +297 -0
  457. package/docs/pt/FAQ.md +258 -0
  458. package/docs/pt/GITHUB.md +341 -0
  459. package/docs/pt/GOALS_SPECS_ISSUES.md +303 -0
  460. package/docs/pt/INBOX.md +340 -0
  461. package/docs/pt/INSTALLATION.md +329 -0
  462. package/docs/pt/KB_AGENT.md +305 -0
  463. package/docs/pt/KB_RAG.md +356 -0
  464. package/docs/pt/MCP.md +313 -0
  465. package/docs/pt/MEMORY_RAG.md +289 -0
  466. package/docs/pt/MODELS.md +341 -0
  467. package/docs/pt/ONBOARDING.md +327 -0
  468. package/docs/pt/PLUGINS.md +290 -0
  469. package/docs/pt/PORTABLE_MODE.md +387 -0
  470. package/docs/pt/PO_AGENT.md +379 -0
  471. package/docs/pt/PREPARE_DEPLOY.md +308 -0
  472. package/docs/pt/PROJECT_STACKS.md +258 -0
  473. package/docs/pt/PUBLIC_API.md +315 -0
  474. package/docs/pt/PUBLISHING.md +343 -0
  475. package/docs/pt/README.md +95 -0
  476. package/docs/pt/SECURITY.md +280 -0
  477. package/docs/pt/SKILLS.md +349 -0
  478. package/docs/pt/START_MODE.md +340 -0
  479. package/docs/pt/SYNCED_BLOCKS.md +320 -0
  480. package/docs/pt/TEAM_ROOM.md +285 -0
  481. package/docs/pt/TELEGRAM.md +294 -0
  482. package/docs/pt/TEST_DEV.md +321 -0
  483. package/docs/pt/TROUBLESHOOTING.md +294 -0
  484. package/docs/pt/UPDATE.md +301 -0
  485. package/docs/pt/VPS_MODE.md +334 -0
  486. package/docs/pt/WORKFLOW.md +321 -0
  487. package/drizzle/0000_regular_nightshade.sql +644 -0
  488. package/drizzle/0001_mixed_zombie.sql +106 -0
  489. package/drizzle/meta/0000_snapshot.json +4650 -0
  490. package/drizzle/meta/0001_snapshot.json +5418 -0
  491. package/drizzle/meta/_journal.json +20 -0
  492. package/drizzle.config.mjs +16 -0
  493. package/next.config.mjs +18 -0
  494. package/package.json +130 -0
  495. package/scripts/clean-repo.mjs +20 -0
  496. package/scripts/dev-all.mjs +46 -0
  497. package/scripts/i18n-parity.mjs +57 -0
  498. package/scripts/mcp-server.mjs +100 -0
  499. package/scripts/postbuild.mjs +11 -0
  500. package/scripts/publish-public.mjs +116 -0
  501. package/scripts/start-all.mjs +45 -0
  502. package/scripts/trim-next.mjs +23 -0
  503. package/scripts/vps-install.sh +39 -0
  504. package/skills/CONTRIBUTING.md +122 -0
  505. package/skills/COVERAGE.md +129 -0
  506. package/skills/INDEX.json +3443 -0
  507. package/skills/README.md +57 -0
  508. package/skills/design/animation-motion/SKILL.md +60 -0
  509. package/skills/design/color-and-typography/SKILL.md +60 -0
  510. package/skills/design/css-techniques/SKILL.md +58 -0
  511. package/skills/design/design-systems/SKILL.md +60 -0
  512. package/skills/design/gradients/SKILL.md +59 -0
  513. package/skills/design/graphic-design-basics/SKILL.md +55 -0
  514. package/skills/design/microinteractions/SKILL.md +58 -0
  515. package/skills/design/responsive-layout/SKILL.md +59 -0
  516. package/skills/design/ui-ux-principles/SKILL.md +58 -0
  517. package/skills/engineering/architecture/api-design-rest-graphql/SKILL.md +67 -0
  518. package/skills/engineering/architecture/caching-strategies/SKILL.md +59 -0
  519. package/skills/engineering/architecture/data-modeling/SKILL.md +64 -0
  520. package/skills/engineering/architecture/message-queues-async/SKILL.md +58 -0
  521. package/skills/engineering/architecture/scalability-reliability/SKILL.md +62 -0
  522. package/skills/engineering/architecture/software-architecture-patterns/SKILL.md +56 -0
  523. package/skills/engineering/architecture/system-design-fundamentals/SKILL.md +56 -0
  524. package/skills/engineering/backend/auth-and-authorization/SKILL.md +62 -0
  525. package/skills/engineering/backend/backend-fundamentals/SKILL.md +65 -0
  526. package/skills/engineering/backend/observability-logging/SKILL.md +60 -0
  527. package/skills/engineering/frontend/accessibility-wcag/SKILL.md +57 -0
  528. package/skills/engineering/frontend/frontend-architecture/SKILL.md +65 -0
  529. package/skills/engineering/frontend/rendering-strategies-ssr-csr/SKILL.md +60 -0
  530. package/skills/engineering/frontend/state-management/SKILL.md +69 -0
  531. package/skills/engineering/performance/backend-performance/SKILL.md +69 -0
  532. package/skills/engineering/performance/database-query-optimization/SKILL.md +64 -0
  533. package/skills/engineering/performance/profiling-and-benchmarking/SKILL.md +60 -0
  534. package/skills/engineering/performance/web-performance-core-vitals/SKILL.md +72 -0
  535. package/skills/engineering/practices/clean-code/SKILL.md +61 -0
  536. package/skills/engineering/practices/code-optimization/SKILL.md +60 -0
  537. package/skills/engineering/practices/code-review-practices/SKILL.md +58 -0
  538. package/skills/engineering/practices/git-workflow/SKILL.md +62 -0
  539. package/skills/engineering/practices/refactoring/SKILL.md +58 -0
  540. package/skills/engineering/security/appsec-fundamentals/SKILL.md +70 -0
  541. package/skills/engineering/security/dependency-supply-chain/SKILL.md +77 -0
  542. package/skills/engineering/security/owasp-asvs/SKILL.md +54 -0
  543. package/skills/engineering/security/owasp-top-10/SKILL.md +63 -0
  544. package/skills/engineering/security/secrets-management/SKILL.md +58 -0
  545. package/skills/engineering/security/secure-auth-sessions/SKILL.md +56 -0
  546. package/skills/engineering/testing/tdd-and-coverage/SKILL.md +62 -0
  547. package/skills/engineering/testing/testing-strategy-pyramid/SKILL.md +56 -0
  548. package/skills/engineering/testing/unit-integration-e2e/SKILL.md +75 -0
  549. package/skills/languages/c/SKILL.md +74 -0
  550. package/skills/languages/clojure/SKILL.md +73 -0
  551. package/skills/languages/cpp/SKILL.md +75 -0
  552. package/skills/languages/csharp/SKILL.md +75 -0
  553. package/skills/languages/dart/SKILL.md +82 -0
  554. package/skills/languages/elixir/SKILL.md +74 -0
  555. package/skills/languages/erlang/SKILL.md +76 -0
  556. package/skills/languages/go/SKILL.md +83 -0
  557. package/skills/languages/haskell/SKILL.md +70 -0
  558. package/skills/languages/java/SKILL.md +71 -0
  559. package/skills/languages/javascript/SKILL.md +62 -0
  560. package/skills/languages/kotlin/SKILL.md +68 -0
  561. package/skills/languages/lua/SKILL.md +79 -0
  562. package/skills/languages/objectivec/SKILL.md +83 -0
  563. package/skills/languages/php/SKILL.md +74 -0
  564. package/skills/languages/python/SKILL.md +68 -0
  565. package/skills/languages/r/SKILL.md +70 -0
  566. package/skills/languages/ruby/SKILL.md +67 -0
  567. package/skills/languages/rust/SKILL.md +72 -0
  568. package/skills/languages/scala/SKILL.md +73 -0
  569. package/skills/languages/swift/SKILL.md +73 -0
  570. package/skills/languages/typescript/SKILL.md +69 -0
  571. package/skills/meta/authoring-agent-skills/SKILL.md +73 -0
  572. package/skills/meta/progressive-disclosure/SKILL.md +65 -0
  573. package/skills/meta/skill-frontmatter-spec/SKILL.md +65 -0
  574. package/skills/process/adr-technical-decisions/SKILL.md +59 -0
  575. package/skills/process/app-planning/SKILL.md +63 -0
  576. package/skills/process/architecture-before-code/SKILL.md +52 -0
  577. package/skills/process/breaking-work-into-sprints/SKILL.md +53 -0
  578. package/skills/process/idea-to-product/SKILL.md +50 -0
  579. package/skills/process/mocks-and-screen-flows/SKILL.md +52 -0
  580. package/skills/process/prioritization-moscow-rice/SKILL.md +64 -0
  581. package/skills/process/problem-framing/SKILL.md +51 -0
  582. package/skills/process/product-discovery/SKILL.md +53 -0
  583. package/skills/process/readme-generation/SKILL.md +90 -0
  584. package/skills/process/requirements-to-specs/SKILL.md +53 -0
  585. package/skills/process/research-official-docs/SKILL.md +58 -0
  586. package/skills/process/review-code-perf-security/SKILL.md +65 -0
  587. package/skills/process/security-by-design/SKILL.md +68 -0
  588. package/skills/process/specs-to-issues/SKILL.md +53 -0
  589. package/skills/process/testing-before-done/SKILL.md +61 -0
  590. package/skills/process/validating-ux-navigation/SKILL.md +63 -0
  591. package/skills/references/ai-attachments-ui/SKILL.md +66 -0
  592. package/skills/references/ai-in-browser-webllm/SKILL.md +74 -0
  593. package/skills/references/ai-tool-ui-patterns/SKILL.md +63 -0
  594. package/skills/references/component-patterns-gallery/SKILL.md +62 -0
  595. package/skills/references/gradient-resources/SKILL.md +66 -0
  596. package/skills/references/react-component-libraries/SKILL.md +61 -0
  597. package/skills/references/saas-landing-patterns/SKILL.md +67 -0
  598. package/skills/references/shadcn-tailwind-theming/SKILL.md +74 -0
  599. package/skills/references/vercel-ai-sdk-elements/SKILL.md +66 -0
  600. package/skills/references/web-animation-codrops/SKILL.md +68 -0
  601. package/skills/stacks/aiml/jupyter/SKILL.md +68 -0
  602. package/skills/stacks/aiml/keras/SKILL.md +77 -0
  603. package/skills/stacks/aiml/numpy/SKILL.md +69 -0
  604. package/skills/stacks/aiml/pandas/SKILL.md +72 -0
  605. package/skills/stacks/aiml/pytorch/SKILL.md +77 -0
  606. package/skills/stacks/aiml/scikit-learn/SKILL.md +74 -0
  607. package/skills/stacks/aiml/tensorflow/SKILL.md +79 -0
  608. package/skills/stacks/auth/auth0/SKILL.md +63 -0
  609. package/skills/stacks/auth/authjs/SKILL.md +69 -0
  610. package/skills/stacks/auth/clerk/SKILL.md +72 -0
  611. package/skills/stacks/auth/keycloak/SKILL.md +63 -0
  612. package/skills/stacks/auth/lucia/SKILL.md +56 -0
  613. package/skills/stacks/auth/passport/SKILL.md +70 -0
  614. package/skills/stacks/auth/supabase-auth/SKILL.md +66 -0
  615. package/skills/stacks/baas/amplify/SKILL.md +71 -0
  616. package/skills/stacks/baas/appwrite/SKILL.md +79 -0
  617. package/skills/stacks/baas/firebase/SKILL.md +73 -0
  618. package/skills/stacks/baas/heroku/SKILL.md +71 -0
  619. package/skills/stacks/backend/actix/SKILL.md +77 -0
  620. package/skills/stacks/backend/adonisjs/SKILL.md +65 -0
  621. package/skills/stacks/backend/aspnet-core/SKILL.md +75 -0
  622. package/skills/stacks/backend/codeigniter/SKILL.md +76 -0
  623. package/skills/stacks/backend/django/SKILL.md +62 -0
  624. package/skills/stacks/backend/express/SKILL.md +65 -0
  625. package/skills/stacks/backend/fastapi/SKILL.md +64 -0
  626. package/skills/stacks/backend/fastify/SKILL.md +64 -0
  627. package/skills/stacks/backend/fiber/SKILL.md +68 -0
  628. package/skills/stacks/backend/flask/SKILL.md +71 -0
  629. package/skills/stacks/backend/gin/SKILL.md +68 -0
  630. package/skills/stacks/backend/graphql/SKILL.md +70 -0
  631. package/skills/stacks/backend/hono/SKILL.md +64 -0
  632. package/skills/stacks/backend/koa/SKILL.md +63 -0
  633. package/skills/stacks/backend/laravel/SKILL.md +73 -0
  634. package/skills/stacks/backend/nestjs/SKILL.md +70 -0
  635. package/skills/stacks/backend/nginx/SKILL.md +77 -0
  636. package/skills/stacks/backend/phoenix/SKILL.md +68 -0
  637. package/skills/stacks/backend/rails/SKILL.md +67 -0
  638. package/skills/stacks/backend/spring/SKILL.md +70 -0
  639. package/skills/stacks/backend/spring-boot/SKILL.md +70 -0
  640. package/skills/stacks/backend/symfony/SKILL.md +77 -0
  641. package/skills/stacks/container/containerd/SKILL.md +75 -0
  642. package/skills/stacks/container/docker/SKILL.md +90 -0
  643. package/skills/stacks/container/podman/SKILL.md +93 -0
  644. package/skills/stacks/database/cassandra/SKILL.md +74 -0
  645. package/skills/stacks/database/cockroachdb/SKILL.md +69 -0
  646. package/skills/stacks/database/dynamodb/SKILL.md +62 -0
  647. package/skills/stacks/database/mariadb/SKILL.md +71 -0
  648. package/skills/stacks/database/mongodb/SKILL.md +71 -0
  649. package/skills/stacks/database/mysql/SKILL.md +72 -0
  650. package/skills/stacks/database/neon/SKILL.md +68 -0
  651. package/skills/stacks/database/planetscale/SKILL.md +70 -0
  652. package/skills/stacks/database/postgresql/SKILL.md +81 -0
  653. package/skills/stacks/database/redis/SKILL.md +78 -0
  654. package/skills/stacks/database/sqlite/SKILL.md +70 -0
  655. package/skills/stacks/database/supabase/SKILL.md +79 -0
  656. package/skills/stacks/dataviz/chart-js/SKILL.md +72 -0
  657. package/skills/stacks/dataviz/d3/SKILL.md +77 -0
  658. package/skills/stacks/dataviz/grafana/SKILL.md +69 -0
  659. package/skills/stacks/dataviz/plotly/SKILL.md +71 -0
  660. package/skills/stacks/frontend/alpine/SKILL.md +75 -0
  661. package/skills/stacks/frontend/angular/SKILL.md +75 -0
  662. package/skills/stacks/frontend/backbone/SKILL.md +82 -0
  663. package/skills/stacks/frontend/ember/SKILL.md +85 -0
  664. package/skills/stacks/frontend/htmx/SKILL.md +73 -0
  665. package/skills/stacks/frontend/lit/SKILL.md +76 -0
  666. package/skills/stacks/frontend/preact/SKILL.md +74 -0
  667. package/skills/stacks/frontend/qwik/SKILL.md +65 -0
  668. package/skills/stacks/frontend/react/SKILL.md +77 -0
  669. package/skills/stacks/frontend/solidjs/SKILL.md +75 -0
  670. package/skills/stacks/frontend/svelte/SKILL.md +70 -0
  671. package/skills/stacks/frontend/vue/SKILL.md +69 -0
  672. package/skills/stacks/infra/ansible/SKILL.md +76 -0
  673. package/skills/stacks/infra/aws/SKILL.md +66 -0
  674. package/skills/stacks/infra/azure/SKILL.md +72 -0
  675. package/skills/stacks/infra/circleci/SKILL.md +78 -0
  676. package/skills/stacks/infra/cloudflare/SKILL.md +65 -0
  677. package/skills/stacks/infra/fly-io/SKILL.md +63 -0
  678. package/skills/stacks/infra/gcp/SKILL.md +66 -0
  679. package/skills/stacks/infra/jenkins/SKILL.md +73 -0
  680. package/skills/stacks/infra/kubernetes/SKILL.md +64 -0
  681. package/skills/stacks/infra/netlify/SKILL.md +60 -0
  682. package/skills/stacks/infra/railway/SKILL.md +63 -0
  683. package/skills/stacks/infra/tailscale/SKILL.md +65 -0
  684. package/skills/stacks/infra/terraform/SKILL.md +75 -0
  685. package/skills/stacks/infra/vagrant/SKILL.md +70 -0
  686. package/skills/stacks/infra/vercel/SKILL.md +60 -0
  687. package/skills/stacks/meta/astro/SKILL.md +64 -0
  688. package/skills/stacks/meta/docusaurus/SKILL.md +71 -0
  689. package/skills/stacks/meta/eleventy/SKILL.md +69 -0
  690. package/skills/stacks/meta/gatsby/SKILL.md +63 -0
  691. package/skills/stacks/meta/hugo/SKILL.md +73 -0
  692. package/skills/stacks/meta/jekyll/SKILL.md +70 -0
  693. package/skills/stacks/meta/nextjs/SKILL.md +62 -0
  694. package/skills/stacks/meta/nuxt/SKILL.md +66 -0
  695. package/skills/stacks/meta/remix/SKILL.md +67 -0
  696. package/skills/stacks/meta/sveltekit/SKILL.md +70 -0
  697. package/skills/stacks/meta/vite/SKILL.md +63 -0
  698. package/skills/stacks/mobile/android/SKILL.md +77 -0
  699. package/skills/stacks/mobile/flutter/SKILL.md +77 -0
  700. package/skills/stacks/mobile/ionic/SKILL.md +72 -0
  701. package/skills/stacks/mobile/nativescript/SKILL.md +71 -0
  702. package/skills/stacks/mobile/react-native/SKILL.md +75 -0
  703. package/skills/stacks/mobile/xamarin/SKILL.md +73 -0
  704. package/skills/stacks/orm/diesel/SKILL.md +72 -0
  705. package/skills/stacks/orm/django-orm/SKILL.md +58 -0
  706. package/skills/stacks/orm/drizzle/SKILL.md +67 -0
  707. package/skills/stacks/orm/gorm/SKILL.md +73 -0
  708. package/skills/stacks/orm/knex/SKILL.md +64 -0
  709. package/skills/stacks/orm/mongoose/SKILL.md +64 -0
  710. package/skills/stacks/orm/prisma/SKILL.md +64 -0
  711. package/skills/stacks/orm/sequelize/SKILL.md +65 -0
  712. package/skills/stacks/orm/sqlalchemy/SKILL.md +71 -0
  713. package/skills/stacks/orm/typeorm/SKILL.md +70 -0
  714. package/skills/stacks/queue/bullmq/SKILL.md +69 -0
  715. package/skills/stacks/queue/celery/SKILL.md +68 -0
  716. package/skills/stacks/queue/kafka/SKILL.md +66 -0
  717. package/skills/stacks/queue/nats/SKILL.md +66 -0
  718. package/skills/stacks/queue/rabbitmq/SKILL.md +64 -0
  719. package/skills/stacks/queue/redis/SKILL.md +66 -0
  720. package/skills/stacks/runtime/beam/SKILL.md +72 -0
  721. package/skills/stacks/runtime/bun/SKILL.md +80 -0
  722. package/skills/stacks/runtime/deno/SKILL.md +74 -0
  723. package/skills/stacks/runtime/dotnet/SKILL.md +64 -0
  724. package/skills/stacks/runtime/jvm/SKILL.md +66 -0
  725. package/skills/stacks/runtime/node/SKILL.md +70 -0
  726. package/skills/stacks/runtime/pypy/SKILL.md +69 -0
  727. package/skills/stacks/runtime/python3/SKILL.md +70 -0
  728. package/skills/stacks/styling/bootstrap/SKILL.md +74 -0
  729. package/skills/stacks/styling/bulma/SKILL.md +80 -0
  730. package/skills/stacks/styling/chakra-ui/SKILL.md +61 -0
  731. package/skills/stacks/styling/css-modules/SKILL.md +54 -0
  732. package/skills/stacks/styling/mui/SKILL.md +60 -0
  733. package/skills/stacks/styling/sass/SKILL.md +63 -0
  734. package/skills/stacks/styling/shadcn-ui/SKILL.md +58 -0
  735. package/skills/stacks/styling/styled-components/SKILL.md +62 -0
  736. package/skills/stacks/styling/tailwind/SKILL.md +59 -0
  737. package/skills/stacks/styling/unocss/SKILL.md +64 -0
  738. package/skills/stacks/styling/vanilla-extract/SKILL.md +64 -0
  739. package/skills/stacks/styling/vuetify/SKILL.md +89 -0
  740. package/skills/stacks/testing/cypress/SKILL.md +68 -0
  741. package/skills/stacks/testing/jasmine/SKILL.md +67 -0
  742. package/skills/stacks/testing/jest/SKILL.md +67 -0
  743. package/skills/stacks/testing/mocha/SKILL.md +71 -0
  744. package/skills/stacks/testing/playwright/SKILL.md +68 -0
  745. package/skills/stacks/testing/puppeteer/SKILL.md +70 -0
  746. package/skills/stacks/testing/selenium/SKILL.md +70 -0
  747. package/skills/stacks/testing/vitest/SKILL.md +68 -0
@@ -0,0 +1,479 @@
1
+ "use strict";exports.id=3527,exports.ids=[3527],exports.modules={1167:(a,b,c)=>{c.d(b,{BJ:()=>q,Mn:()=>p,__:()=>k,dc:()=>l,eP:()=>m,kc:()=>j,oh:()=>r,pS:()=>o});var d=c(27716),e=c(61152),f=c(50498),g=c(94657);let h=new WeakMap;function i(a,b,c){let e=`${b}:${c}`;h.has(a)||h.set(a,new Map);let f=h.get(a);if(f.has(e))return f.get(e);let g="output"===c?(0,d.y)(a)[b]?.fields??{}:{},i="user"===b||"session"===b||"account"===b?a[b]?.additionalFields:void 0,j={...g,...i??{}};for(let c of a.plugins||[])c.schema&&c.schema[b]&&(j={...j,...c.schema[b].fields});return f.set(e,j),j}function j(a,b){return(0,g.d)(b,i(a,"user","output"))}function k(a,b){let c=i(a,"user","output"),d={};for(let a in c){let e=c[a];!1!==e.returned&&(a in b&&void 0!==b[a]?d[a]=b[a]:void 0!==e.defaultValue?d[a]="function"==typeof e.defaultValue?e.defaultValue():e.defaultValue:e.required||(d[a]=null))}return"id"in b&&(d.id=b.id),d}function l(a,b){return(0,g.d)(b,i(a,"session","output"))}function m(a,b){let{accessToken:c,refreshToken:d,idToken:e,accessTokenExpiresAt:f,refreshTokenExpiresAt:h,password:j,...k}=(0,g.d)(b,i(a,"account","output"));return k}function n(a,b){let c=b.action||"create",d=b.fields,g=Object.create(null);for(let b in d){if(b in a){if(!1===d[b].input){if(void 0!==d[b].defaultValue&&"update"!==c){g[b]=d[b].defaultValue;continue}if(a[b])throw e.LG.from("BAD_REQUEST",{...f.q.FIELD_NOT_ALLOWED,message:`${b} is not allowed to be set`});continue}if(d[b].validator?.input&&void 0!==a[b]){let c=d[b].validator.input["~standard"].validate(a[b]);if(c instanceof Promise)throw e.LG.from("INTERNAL_SERVER_ERROR",f.q.ASYNC_VALIDATION_NOT_SUPPORTED);if("issues"in c&&c.issues)throw e.LG.from("BAD_REQUEST",{...f.q.VALIDATION_ERROR,message:c.issues[0]?.message||"Validation Error"});g[b]=c.value;continue}if(d[b].transform?.input&&void 0!==a[b]){g[b]=d[b].transform?.input(a[b]);continue}g[b]=a[b];continue}if(void 0!==d[b].defaultValue&&"create"===c){if("function"==typeof d[b].defaultValue){g[b]=d[b].defaultValue();continue}g[b]=d[b].defaultValue;continue}if(d[b].required&&"create"===c)throw e.LG.from("BAD_REQUEST",{...f.q.MISSING_FIELD,message:`${b} is required`})}return g}function o(a,b={},c){return n(b,{fields:i(a,"user","input"),action:c})}function p(a,b,c){return n(b,{fields:i(a,"session","input"),action:c})}function q(a){let b=i(a,"session","input"),c={};for(let a in b)void 0!==b[a].defaultValue&&(c[a]="function"==typeof b[a].defaultValue?b[a].defaultValue():b[a].defaultValue);return c}function r(a,b){if(!b)return a;for(let c in b){let d=b[c]?.modelName;for(let e in d&&(a[c].modelName=d),a[c].fields){let d=b[c]?.fields?.[e];d&&(a[c].fields[e].fieldName=d)}}return a}},1694:(a,b)=>{function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},2910:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62353),g=c(22477),h=c(37053)},3679:(a,b,c)=>{function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unauthorized",{enumerable:!0,get:function(){return d}}),c(55640).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},4001:(a,b,c)=>{function d(a){if(-1===a.indexOf("%"))return a;try{return decodeURIComponent(a)}catch{return a}}c.d(b,{JT:()=>m,K7:()=>f,To:()=>g,sR:()=>h,yE:()=>e});let e="__Secure-";function f(a){if(!a)return[];let b=[],c=0,d=0;for(;d<a.length;){if(","===a[d]){let e=d+1;for(;e<a.length&&" "===a[e];)e++;for(;e<a.length&&"="!==a[e]&&";"!==a[e]&&","!==a[e];)e++;if(e<a.length&&"="===a[e]){let e=a.slice(c,d).trim();for(e&&b.push(e),c=d+1;c<a.length&&" "===a[c];)c++;d=c;continue}}d++}let e=a.slice(c).trim();return e&&b.push(e),b}function g(a){let b=new Map;return f(a).forEach(a=>{let[c,...e]=a.split(";").map(a=>a.trim()),[f,...g]=(c||"").split("="),h=k(g.join("="));if(!f)return;let i={value:d(h)};e.forEach(a=>{let[b,...c]=a.split("="),d=c.join("="),e=b.trim().toLowerCase();switch(e){case"max-age":i["max-age"]=d?parseInt(d.trim(),10):void 0;break;case"expires":i.expires=d?new Date(d.trim()):void 0;break;case"domain":i.domain=d?d.trim():void 0;break;case"path":i.path=d?d.trim():void 0;break;case"secure":i.secure=!0;break;case"httponly":i.httponly=!0;break;case"samesite":i.samesite=d?d.trim().toLowerCase():void 0;break;case"partitioned":i.partitioned=!0;break;default:i[e]=!d||d.trim()}}),b.set(f,i)}),b}function h(a){return{maxAge:a["max-age"],expires:a.expires,domain:a.domain,path:a.path,secure:a.secure,httpOnly:a.httponly,sameSite:a.samesite,partitioned:a.partitioned}}let i=/^[\x21\x23-\x27\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E\x5F\x60\x61-\x7A\x7C\x7E]+$/,j=/^[\x20\x21\x23-\x3A\x3C-\x5B\x5D-\x7E]*$/;function k(a){return!(a.length<2)&&a.startsWith('"')&&a.endsWith('"')?a.slice(1,-1):a}function l(a){let b=0,c=a.length;for(;b<c;){let c=a.charCodeAt(b);if(32!==c&&9!==c)break;b++}for(;c>b;){let b=a.charCodeAt(c-1);if(32!==b&&9!==b)break;c--}return 0===b&&c===a.length?a:a.slice(b,c)}function m(a){let b=new Map;if(a.length<2)return b;for(let c of a.split(";")){let a=c.indexOf("=");if(-1===a)continue;let e=l(c.slice(0,a)),f=k(l(c.slice(a+1)));i.test(e)&&j.test(f)&&b.set(e,d(f))}return b}},4062:(a,b,c)=>{a.exports=c(53488).vendored["react-rsc"].React},4319:(a,b,c)=>{c.d(b,{JB:()=>j,M$:()=>m,Xm:()=>l,uJ:()=>k});var d=c(6881),e=c(39881),f=c(26593),g=c(67859),h=c(20302),i=c(52303);function j(a){return(0,d.MH)(a)?a.map(a=>k(a)):[k(a)]}function k(a){return(0,d.Kg)(a)?l(a):(0,i.uc)(a)?a.toOperationNode():(0,g.v0)(a)}function l(a){let b=" as ";if(!a.includes(b))return m(a);{let[c,d]=a.split(b).map(n);return e.N.create(m(c),h.O.create(d))}}function m(a){if(!a.includes("."))return f.H.create(a);{let[b,c]=a.split(".").map(n);return f.H.createWithSchema(b,c)}}function n(a){return a.trim()}},4362:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(6881);function e(a){return(0,d.Gv)(a)&&(0,d.Tn)(a.toOperationNode)}},5143:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(35253),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},5607:(a,b,c)=>{c.d(b,{O:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"OrderByNode"===a.kind,create:a=>(0,d.CN)({kind:"OrderByNode",items:(0,d.CN)([...a])}),cloneWithItems:(a,b)=>(0,d.CN)({...a,items:(0,d.CN)([...a.items,...b])})})},6833:(a,b,c)=>{c.d(b,{b:()=>h});var d=c(6881),e=c(21836),f=c(66384);let g=(0,d.CN)({is:a=>"OnNode"===a.kind,create:a=>(0,d.CN)({kind:"OnNode",on:a}),cloneWithOperation:(a,b,c)=>(0,d.CN)({...a,on:"And"===b?e.s.create(a.on,c):f.K.create(a.on,c)})}),h=(0,d.CN)({is:a=>"JoinNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"JoinNode",joinType:a,table:b,on:void 0}),createWithOn:(a,b,c)=>(0,d.CN)({kind:"JoinNode",joinType:a,table:b,on:g.create(c)}),cloneWithOn:(a,b)=>(0,d.CN)({...a,on:a.on?g.cloneWithOperation(a.on,"And",b):g.create(b)})})},6866:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(99805)},6881:(a,b,c)=>{function d(a){return void 0===a||void 0===a}function e(a){return"string"==typeof a}function f(a){return"number"==typeof a}function g(a){return"boolean"==typeof a}function h(a){return null===a}function i(a){return a instanceof Date}function j(a){return"bigint"==typeof a}function k(a){return"u">typeof Buffer&&Buffer.isBuffer(a)}function l(a){return"function"==typeof a}function m(a){return"object"==typeof a&&null!==a}function n(a){return Object.freeze(a)}function o(a){return p(a)?a:[a]}function p(a){return Array.isArray(a)}function q(a){return a}function r(a){return a instanceof Error?a.message:String(a)}c.d(b,{$P:()=>i,CN:()=>n,Et:()=>f,Gv:()=>m,I4:()=>r,Kg:()=>e,Lm:()=>g,MH:()=>p,Pe:()=>k,Tn:()=>l,_j:()=>o,b0:()=>d,kZ:()=>h,lQ:()=>q,sI:()=>j}),Object.prototype.toString},7481:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={atLeastOneTask:function(){return g},scheduleImmediate:function(){return f},scheduleOnNextTick:function(){return e},waitAtLeastOneReactRenderTask:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},f=a=>{setImmediate(a)};function g(){return new Promise(a=>f(a))}function h(){return new Promise(a=>setImmediate(a))}},7725:(a,b,c)=>{c.d(b,{J:()=>f,n:()=>e});var d=c(52022);class e{static [d.i]="Subquery";constructor(a,b,c,d=!1,e=[]){this._={brand:"Subquery",sql:a,selectedFields:b,alias:c,isWith:d,usedTables:e}}}class f extends e{static [d.i]="WithSubquery"}},8975:(a,b,c)=>{c.d(b,{N:()=>d});function d(){let a="u">typeof globalThis&&globalThis.crypto;if(a&&"object"==typeof a.subtle&&null!=a.subtle)return a.subtle;throw Error("crypto.subtle must be defined")}},9736:(a,b,c)=>{c.d(b,{F:()=>d,x:()=>e});class d extends Error{node;constructor(a){super("no result"),this.node=a}}function e(a){return Object.prototype.hasOwnProperty.call(a,"prototype")}},10168:(a,b,c)=>{c.d(b,{u:()=>e});let d=new Set;function e(a){d.has(a)||(d.add(a),console.log(a))}},11033:(a,b,c)=>{c.d(b,{c:()=>d});class d{#a;#b;#c;constructor(){this.#a=new Promise((a,b)=>{this.#c=b,this.#b=a})}get promise(){return this.#a}resolve=a=>{this.#b?.(a),this.#b=this.#c=void 0};reject=a=>{this.#c?.(a),this.#c=this.#b=void 0}}},11888:(a,b,c)=>{c.d(b,{DR:()=>g,OR:()=>f,Xu:()=>e,qU:()=>d});let d="db.collection.name",e="db.operation.name",f="http.response.status_code",g="http.route"},12850:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={delayUntilRuntimeStage:function(){return o},getRuntimeStage:function(){return n},isHangingPromiseRejectionError:function(){return g},makeDevtoolsIOAwarePromise:function(){return m},makeHangingPromise:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(72718);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j=new WeakMap;function k(a,b,c){if(a.aborted)return Promise.reject(new i(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new i(b,c)),g=j.get(a);if(g)g.push(f);else{let b=[f];j.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(l),d}}function l(){}function m(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}function n(a){return a.currentStage===f.RenderStage.EarlyStatic||a.currentStage===f.RenderStage.EarlyRuntime?f.RenderStage.EarlyRuntime:f.RenderStage.Runtime}function o(a,b){let{stagedRendering:c}=a;return c?c.waitForStage(n(c)).then(()=>b):b}},13281:(a,b,c)=>{c.d(b,{s:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"ValueListNode"===a.kind,create:a=>(0,d.CN)({kind:"ValueListNode",values:(0,d.CN)(a)})})},14060:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"JSONOperatorChainNode"===a.kind,create:a=>(0,d.CN)({kind:"JSONOperatorChainNode",operator:a,values:(0,d.CN)([])}),cloneWithValue:(a,b)=>(0,d.CN)({...a,values:(0,d.CN)([...a.values,b])})})},14140:(a,b,c)=>{let d,e,f,g;c.d(b,{f:()=>m});var h,i=c(11888);let j={SpanStatusCode:{UNSET:0,OK:1,ERROR:2},trace:(h=f={end(){},setAttribute(a,b){},setStatus(a){},recordException(a){},updateName:a=>f},g={startActiveSpan:function(a,...b){return(0,b[b.length-1])(h)}},{getTracer:(a,b)=>g,getActiveSpan(){}})};function k(){return d||(d=c.e(6719).then(c.t.bind(c,16719,19)).then(a=>{e=a}).catch(()=>void 0)),e??j}function l(a,b){let{SpanStatusCode:c}=k();!function(a){if(null!=a&&"object"==typeof a&&"name"in a&&"APIError"===a.name&&"statusCode"in a){let b=a.statusCode;return b>=300&&b<400}return!1}(b)?(a.recordException(b),a.setStatus({code:c.ERROR,message:String(b?.message??b)})):(a.setAttribute(i.OR,b.statusCode),a.setStatus({code:c.OK})),a.end()}function m(a,b,c){let{trace:d}=k();return d.getTracer("better-auth","1.6.19").startActiveSpan(a,{attributes:b},a=>{try{let b=c();if(b instanceof Promise)return b.then(b=>(a.end(),b)).catch(b=>{throw l(a,b),b});return a.end(),b}catch(b){throw l(a,b),b}})}},14802:(a,b,c)=>{c.d(b,{LG:()=>i,Ri:()=>h,xH:()=>g,yI:()=>f});let d={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};var e=class extends Error{constructor(a="INTERNAL_SERVER_ERROR",b,c={},e="number"==typeof a?a:d[a]){super(b?.message,b?.cause?{cause:b.cause}:void 0),this.status=a,this.body=b,this.headers=c,this.statusCode=e,this.name="APIError",this.status=a,this.headers=c,this.statusCode=e,this.body=b}},f=class extends e{constructor(a,b){super(400,{message:a,code:"VALIDATION_ERROR"}),this.message=a,this.issues=b,this.issues=b}},g=class extends Error{constructor(a){super(a),this.name="BetterCallError"}};let h=Symbol.for("better-call:api-error-headers"),i=function(a,b){class c extends a{#d;constructor(...a){if(function(){let a=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return void 0===a?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(a,"writable")?a.writable:void 0!==a.set}()){const b=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...a),Error.stackTraceLimit=b}else super(...a);const b=Error().stack;b&&(this.#d=function(a){let b=a.split("\n at ");return b.length<=1?a:(b.splice(1,1),b.join("\n at "))}(b.replace(/^Error/,this.name)))}get errorStack(){return this.#d}}return Object.defineProperty(c.prototype,"constructor",{get:()=>b,enumerable:!1,configurable:!0}),c}(e,Error)},14884:(a,b,c)=>{c.d(b,{l:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"BinaryOperationNode"===a.kind,create:(a,b,c)=>(0,d.CN)({kind:"BinaryOperationNode",leftOperand:a,operator:b,rightOperand:c})})},15198:(a,b,c)=>{c.d(b,{jo:()=>C,D:()=>D});var d=c(52022),e=c(78137),f=c(71194),g=c(31584);class h extends g.o{static [d.i]="SQLiteBigIntBuilder";constructor(a){super(a,"bigint","SQLiteBigInt")}build(a){return new i(a,this.config)}}class i extends g.v{static [d.i]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(a){return"u">typeof Buffer&&Buffer.from?BigInt((Buffer.isBuffer(a)?a:a instanceof ArrayBuffer?Buffer.from(a):a.buffer?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a)).toString("utf8")):BigInt(f.su.decode(a))}mapToDriverValue(a){return Buffer.from(a.toString())}}class j extends g.o{static [d.i]="SQLiteBlobJsonBuilder";constructor(a){super(a,"json","SQLiteBlobJson")}build(a){return new k(a,this.config)}}class k extends g.v{static [d.i]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(a){return"u">typeof Buffer&&Buffer.from?JSON.parse((Buffer.isBuffer(a)?a:a instanceof ArrayBuffer?Buffer.from(a):a.buffer?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a)).toString("utf8")):JSON.parse(f.su.decode(a))}mapToDriverValue(a){return Buffer.from(JSON.stringify(a))}}class l extends g.o{static [d.i]="SQLiteBlobBufferBuilder";constructor(a){super(a,"buffer","SQLiteBlobBuffer")}build(a){return new m(a,this.config)}}class m extends g.v{static [d.i]="SQLiteBlobBuffer";mapFromDriverValue(a){return Buffer.isBuffer(a)?a:Buffer.from(a)}getSQLType(){return"blob"}}function n(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="json"?new j(c):d?.mode==="bigint"?new h(c):new l(c)}class o extends g.o{static [d.i]="SQLiteCustomColumnBuilder";constructor(a,b,c){super(a,"custom","SQLiteCustomColumn"),this.config.fieldConfig=b,this.config.customTypeParams=c}build(a){return new p(a,this.config)}}class p extends g.v{static [d.i]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(a,b){super(a,b),this.sqlName=b.customTypeParams.dataType(b.fieldConfig),this.mapTo=b.customTypeParams.toDriver,this.mapFrom=b.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(a){return"function"==typeof this.mapFrom?this.mapFrom(a):a}mapToDriverValue(a){return"function"==typeof this.mapTo?this.mapTo(a):a}}function q(a){return(b,c)=>{let{name:d,config:e}=(0,f.Ll)(b,c);return new o(d,e,a)}}var r=c(37578);class s extends g.o{static [d.i]="SQLiteNumericBuilder";constructor(a){super(a,"string","SQLiteNumeric")}build(a){return new t(a,this.config)}}class t extends g.v{static [d.i]="SQLiteNumeric";mapFromDriverValue(a){return"string"==typeof a?a:String(a)}getSQLType(){return"numeric"}}class u extends g.o{static [d.i]="SQLiteNumericNumberBuilder";constructor(a){super(a,"number","SQLiteNumericNumber")}build(a){return new v(a,this.config)}}class v extends g.v{static [d.i]="SQLiteNumericNumber";mapFromDriverValue(a){return"number"==typeof a?a:Number(a)}mapToDriverValue=String;getSQLType(){return"numeric"}}class w extends g.o{static [d.i]="SQLiteNumericBigIntBuilder";constructor(a){super(a,"bigint","SQLiteNumericBigInt")}build(a){return new x(a,this.config)}}class x extends g.v{static [d.i]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function y(a,b){let{name:c,config:d}=(0,f.Ll)(a,b),e=d?.mode;return"number"===e?new u(c):"bigint"===e?new w(c):new s(c)}var z=c(46320),A=c(81757);let B=Symbol.for("drizzle:SQLiteInlineForeignKeys");class C extends e.XI{static [d.i]="SQLiteTable";static Symbol=Object.assign({},e.XI.Symbol,{InlineForeignKeys:B});[e.XI.Symbol.Columns];[B]=[];[e.XI.Symbol.ExtraConfigBuilder]=void 0}let D=(a,b,c)=>(function(a,b,c,d=a){let f=new C(a,void 0,d),g=Object.fromEntries(Object.entries("function"==typeof b?b({blob:n,customType:q,integer:r.nd,numeric:y,real:z.x,text:A.Qq}):b).map(([a,b])=>{b.setName(a);let c=b.build(f);return f[B].push(...b.buildForeignKeys(c,f)),[a,c]})),h=Object.assign(f,g);return h[e.XI.Symbol.Columns]=g,h[e.XI.Symbol.ExtraConfigColumns]=g,c&&(h[C.Symbol.ExtraConfigBuilder]=c),h})(a,b,c)},15542:(a,b,c)=>{c.d(b,{$O:()=>r,DT:()=>u,NF:()=>s,Ow:()=>w,RY:()=>v,kU:()=>q,q5:()=>t,vd:()=>p});var d=c(39881),e=c(45055),f=c(16960),g=c(26593),h=c(6881),i=c(67859),j=c(20302),k=c(44542),l=c(47245),m=c(23911),n=c(14060),o=c(18915);function p(a){return(0,h.Kg)(a)?t(a):a.toOperationNode()}function q(a){return(0,h.MH)(a)?a.map(a=>r(a)):[r(a)]}function r(a){return(0,i.SS)(a)?(0,i.YK)(a):p(a)}function s(a,b){if((0,l.Xm)(b))return m.Q.create(t(a),n.k.create(l.zX.create(b)));if("->$"===b||"->>$"===b)return m.Q.create(t(a),o.c.create(l.zX.create(b.slice(0,-1))));throw Error(`Invalid JSON operator: ${b}`)}function t(a){if(!a.includes("."))return f.q.create(e.Z.create(a));let b=a.split(".").map(x);if(3===b.length)return function(a){let[b,c,d]=a;return f.q.create(e.Z.create(d),g.H.createWithSchema(b,c))}(b);if(2===b.length)return function(a){let[b,c]=a;return f.q.create(e.Z.create(c),g.H.create(b))}(b);throw Error(`invalid column reference ${a}`)}function u(a){let b=" as ";if(!a.includes(b))return t(a);{let[c,e]=a.split(b).map(x);return d.N.create(t(c),j.O.create(e))}}function v(a){return e.Z.create(a)}function w(a){if(!a.includes(" "))return v(a);{let[b,c]=a.split(" ").map(x);if(!(0,k.bE)(c))throw Error(`invalid order direction "${c}" next to "${b}"`);return(0,k.xk)([b,c])[0]}}function x(a){return a.trim()}},15916:(a,b,c)=>{function d(a){return a?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"}function e(a,b,c){let d="",e=0,f=0;for(let c of a)for(e=e<<8|c,f+=8;f>=6;)f-=6,d+=b[e>>f&63];if(f>0&&(d+=b[e<<6-f&63]),c){let a=(4-d.length%4)%4;d+="=".repeat(a)}return d}function f(a,b){let c=new Map;for(let a=0;a<b.length;a++)c.set(b[a],a);let d=[],e=0,f=0;for(let b of a){if("="===b)break;let a=c.get(b);if(void 0===a)throw Error(`Invalid Base64 character: ${b}`);e=e<<6|a,(f+=6)>=8&&(f-=8,d.push(e>>f&255))}return Uint8Array.from(d)}c.d(b,{K:()=>g,z:()=>h});let g={encode(a,b={}){let c=d(!1);return e("string"==typeof a?new TextEncoder().encode(a):new Uint8Array(a),c,b.padding??!0)},decode(a){"string"!=typeof a&&(a=new TextDecoder().decode(a));let b=d(a.includes("-")||a.includes("_"));return f(a,b)}},h={encode(a,b={}){let c=d(!0);return e("string"==typeof a?new TextEncoder().encode(a):new Uint8Array(a),c,b.padding??!0)},decode(a){let b=d(a.includes("-")||a.includes("_"));return f(a,b)}}},16136:(a,b,c)=>{c.d(b,{C:()=>h,g:()=>g});var d=c(4362),e=c(15542),f=c(6881);class g{#e;get dynamicReference(){return this.#e}get refType(){}constructor(a){this.#e=a}toOperationNode(){return(0,e.vd)(this.#e)}}function h(a){return(0,f.Gv)(a)&&(0,d.N)(a)&&(0,f.Kg)(a.dynamicReference)}},16602:(a,b,c)=>{function d(a,b,...c){if((c=c.filter(Boolean)).length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a}c.d(b,{X:()=>e,t:()=>f});let e=(a,...b)=>d("Key must be ",a,...b),f=(a,b,...c)=>d(`Key for the ${a} algorithm must be `,b,...c)},16645:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"PrimitiveValueListNode"===a.kind,create:a=>(0,d.CN)({kind:"PrimitiveValueListNode",values:(0,d.CN)([...a])})})},16844:(a,b,c)=>{var d;c.d(b,{fd:()=>f}),Symbol("ZodOutput"),Symbol("ZodInput");class e{constructor(){this._map=new WeakMap,this._idmap=new Map}add(a,...b){let c=b[0];return this._map.set(a,c),c&&"object"==typeof c&&"id"in c&&this._idmap.set(c.id,a),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(a){let b=this._map.get(a);return b&&"object"==typeof b&&"id"in b&&this._idmap.delete(b.id),this._map.delete(a),this}get(a){let b=a._zod.parent;if(b){let c={...this.get(b)??{}};delete c.id;let d={...c,...this._map.get(a)};return Object.keys(d).length?d:void 0}return this._map.get(a)}has(a){return this._map.has(a)}}(d=globalThis).__zod_globalRegistry??(d.__zod_globalRegistry=new e);let f=globalThis.__zod_globalRegistry},16960:(a,b,c)=>{c.d(b,{q:()=>f});var d=c(56223),e=c(6881);let f=(0,e.CN)({is:a=>"ReferenceNode"===a.kind,create:(a,b)=>(0,e.CN)({kind:"ReferenceNode",table:b,column:a}),createSelectAll:a=>(0,e.CN)({kind:"ReferenceNode",table:a,column:d.U.create()})})},17106:(a,b,c)=>{c.d(b,{x:()=>f});var d=c(35088);let e='Invalid or unsupported JWK "alg" (Algorithm) Parameter value';async function f(a){if(!a.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:b,keyUsages:c}=function(a){let b,c;switch(a.kty){case"AKP":switch(a.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":b={name:a.alg},c=a.priv?["sign"]:["verify"];break;default:throw new d.T0(e)}break;case"RSA":switch(a.alg){case"PS256":case"PS384":case"PS512":b={name:"RSA-PSS",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":b={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":b={name:"RSA-OAEP",hash:`SHA-${parseInt(a.alg.slice(-3),10)||1}`},c=a.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new d.T0(e)}break;case"EC":switch(a.alg){case"ES256":case"ES384":case"ES512":b={name:"ECDSA",namedCurve:({ES256:"P-256",ES384:"P-384",ES512:"P-521"})[a.alg]},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:"ECDH",namedCurve:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new d.T0(e)}break;case"OKP":switch(a.alg){case"Ed25519":case"EdDSA":b={name:"Ed25519"},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new d.T0(e)}break;default:throw new d.T0('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:b,keyUsages:c}}(a),f={...a};return"AKP"!==f.kty&&delete f.alg,delete f.use,crypto.subtle.importKey("jwk",f,b,a.ext??(!a.d&&!a.priv),a.key_ops??c)}},17130:(a,b,c)=>{c.d(b,{V:()=>e});var d=c(6881);class e{nodeStack=[];#f=(0,d.CN)({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),RenameConstraintNode:this.transformRenameConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),RefreshMaterializedViewNode:this.transformRefreshMaterializedView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this),OrActionNode:this.transformOrAction.bind(this),CollateNode:this.transformCollate.bind(this),AlterTypeNode:this.transformAlterType.bind(this),AddValueNode:this.transformAddValue.bind(this),RenameValueNode:this.transformRenameValue.bind(this)});transformNode(a,b){if(!a)return a;this.nodeStack.push(a);let c=this.transformNodeImpl(a,b);return this.nodeStack.pop(),(0,d.CN)(c)}transformNodeImpl(a,b){return this.#f[a.kind](a,b)}transformNodeList(a,b){return a?(0,d.CN)(a.map(a=>this.transformNode(a,b))):a}transformSelectQuery(a,b){return{kind:"SelectQueryNode",from:this.transformNode(a.from,b),selections:this.transformNodeList(a.selections,b),distinctOn:this.transformNodeList(a.distinctOn,b),joins:this.transformNodeList(a.joins,b),groupBy:this.transformNode(a.groupBy,b),orderBy:this.transformNode(a.orderBy,b),where:this.transformNode(a.where,b),frontModifiers:this.transformNodeList(a.frontModifiers,b),endModifiers:this.transformNodeList(a.endModifiers,b),limit:this.transformNode(a.limit,b),offset:this.transformNode(a.offset,b),with:this.transformNode(a.with,b),having:this.transformNode(a.having,b),explain:this.transformNode(a.explain,b),setOperations:this.transformNodeList(a.setOperations,b),fetch:this.transformNode(a.fetch,b),top:this.transformNode(a.top,b)}}transformSelection(a,b){return{kind:"SelectionNode",selection:this.transformNode(a.selection,b)}}transformColumn(a,b){return{kind:"ColumnNode",column:this.transformNode(a.column,b)}}transformAlias(a,b){return{kind:"AliasNode",node:this.transformNode(a.node,b),alias:this.transformNode(a.alias,b)}}transformTable(a,b){return{kind:"TableNode",table:this.transformNode(a.table,b)}}transformFrom(a,b){return{kind:"FromNode",froms:this.transformNodeList(a.froms,b)}}transformReference(a,b){return{kind:"ReferenceNode",column:this.transformNode(a.column,b),table:this.transformNode(a.table,b)}}transformAnd(a,b){return{kind:"AndNode",left:this.transformNode(a.left,b),right:this.transformNode(a.right,b)}}transformOr(a,b){return{kind:"OrNode",left:this.transformNode(a.left,b),right:this.transformNode(a.right,b)}}transformValueList(a,b){return{kind:"ValueListNode",values:this.transformNodeList(a.values,b)}}transformParens(a,b){return{kind:"ParensNode",node:this.transformNode(a.node,b)}}transformJoin(a,b){return{kind:"JoinNode",joinType:a.joinType,table:this.transformNode(a.table,b),on:this.transformNode(a.on,b)}}transformRaw(a,b){return{kind:"RawNode",sqlFragments:(0,d.CN)([...a.sqlFragments]),parameters:this.transformNodeList(a.parameters,b)}}transformWhere(a,b){return{kind:"WhereNode",where:this.transformNode(a.where,b)}}transformInsertQuery(a,b){return{kind:"InsertQueryNode",into:this.transformNode(a.into,b),columns:this.transformNodeList(a.columns,b),values:this.transformNode(a.values,b),returning:this.transformNode(a.returning,b),onConflict:this.transformNode(a.onConflict,b),onDuplicateKey:this.transformNode(a.onDuplicateKey,b),endModifiers:this.transformNodeList(a.endModifiers,b),with:this.transformNode(a.with,b),orAction:this.transformNode(a.orAction,b),replace:a.replace,explain:this.transformNode(a.explain,b),defaultValues:a.defaultValues,top:this.transformNode(a.top,b),output:this.transformNode(a.output,b)}}transformValues(a,b){return{kind:"ValuesNode",values:this.transformNodeList(a.values,b)}}transformDeleteQuery(a,b){return{kind:"DeleteQueryNode",from:this.transformNode(a.from,b),using:this.transformNode(a.using,b),joins:this.transformNodeList(a.joins,b),where:this.transformNode(a.where,b),returning:this.transformNode(a.returning,b),endModifiers:this.transformNodeList(a.endModifiers,b),with:this.transformNode(a.with,b),orderBy:this.transformNode(a.orderBy,b),limit:this.transformNode(a.limit,b),explain:this.transformNode(a.explain,b),top:this.transformNode(a.top,b),output:this.transformNode(a.output,b)}}transformReturning(a,b){return{kind:"ReturningNode",selections:this.transformNodeList(a.selections,b)}}transformCreateTable(a,b){return{kind:"CreateTableNode",table:this.transformNode(a.table,b),columns:this.transformNodeList(a.columns,b),constraints:this.transformNodeList(a.constraints,b),indexes:this.transformNodeList(a.indexes,b),temporary:a.temporary,ifNotExists:a.ifNotExists,onCommit:a.onCommit,frontModifiers:this.transformNodeList(a.frontModifiers,b),endModifiers:this.transformNodeList(a.endModifiers,b),selectQuery:this.transformNode(a.selectQuery,b)}}transformColumnDefinition(a,b){return{kind:"ColumnDefinitionNode",column:this.transformNode(a.column,b),dataType:this.transformNode(a.dataType,b),references:this.transformNode(a.references,b),primaryKey:a.primaryKey,autoIncrement:a.autoIncrement,unique:a.unique,notNull:a.notNull,unsigned:a.unsigned,defaultTo:this.transformNode(a.defaultTo,b),check:this.transformNode(a.check,b),generated:this.transformNode(a.generated,b),frontModifiers:this.transformNodeList(a.frontModifiers,b),endModifiers:this.transformNodeList(a.endModifiers,b),nullsNotDistinct:a.nullsNotDistinct,identity:a.identity,ifNotExists:a.ifNotExists}}transformAddColumn(a,b){return{kind:"AddColumnNode",column:this.transformNode(a.column,b)}}transformDropTable(a,b){return{kind:"DropTableNode",table:this.transformNode(a.table,b),ifExists:a.ifExists,cascade:a.cascade,temporary:a.temporary}}transformOrderBy(a,b){return{kind:"OrderByNode",items:this.transformNodeList(a.items,b)}}transformOrderByItem(a,b){return{kind:"OrderByItemNode",orderBy:this.transformNode(a.orderBy,b),direction:this.transformNode(a.direction,b),collation:this.transformNode(a.collation,b),nulls:a.nulls}}transformGroupBy(a,b){return{kind:"GroupByNode",items:this.transformNodeList(a.items,b)}}transformGroupByItem(a,b){return{kind:"GroupByItemNode",groupBy:this.transformNode(a.groupBy,b)}}transformUpdateQuery(a,b){return{kind:"UpdateQueryNode",table:this.transformNode(a.table,b),from:this.transformNode(a.from,b),joins:this.transformNodeList(a.joins,b),where:this.transformNode(a.where,b),updates:this.transformNodeList(a.updates,b),returning:this.transformNode(a.returning,b),endModifiers:this.transformNodeList(a.endModifiers,b),with:this.transformNode(a.with,b),explain:this.transformNode(a.explain,b),limit:this.transformNode(a.limit,b),top:this.transformNode(a.top,b),output:this.transformNode(a.output,b),orderBy:this.transformNode(a.orderBy,b)}}transformColumnUpdate(a,b){return{kind:"ColumnUpdateNode",column:this.transformNode(a.column,b),value:this.transformNode(a.value,b)}}transformLimit(a,b){return{kind:"LimitNode",limit:this.transformNode(a.limit,b)}}transformOffset(a,b){return{kind:"OffsetNode",offset:this.transformNode(a.offset,b)}}transformOnConflict(a,b){return{kind:"OnConflictNode",columns:this.transformNodeList(a.columns,b),constraint:this.transformNode(a.constraint,b),indexExpression:this.transformNode(a.indexExpression,b),indexWhere:this.transformNode(a.indexWhere,b),updates:this.transformNodeList(a.updates,b),updateWhere:this.transformNode(a.updateWhere,b),doNothing:a.doNothing}}transformOnDuplicateKey(a,b){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(a.updates,b)}}transformCreateIndex(a,b){return{kind:"CreateIndexNode",name:this.transformNode(a.name,b),table:this.transformNode(a.table,b),columns:this.transformNodeList(a.columns,b),unique:a.unique,using:this.transformNode(a.using,b),ifNotExists:a.ifNotExists,where:this.transformNode(a.where,b),nullsNotDistinct:a.nullsNotDistinct}}transformList(a,b){return{kind:"ListNode",items:this.transformNodeList(a.items,b)}}transformDropIndex(a,b){return{kind:"DropIndexNode",name:this.transformNode(a.name,b),table:this.transformNode(a.table,b),ifExists:a.ifExists,cascade:a.cascade}}transformPrimaryKeyConstraint(a,b){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(a.columns,b),name:this.transformNode(a.name,b),deferrable:a.deferrable,initiallyDeferred:a.initiallyDeferred}}transformUniqueConstraint(a,b){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(a.columns,b),name:this.transformNode(a.name,b),nullsNotDistinct:a.nullsNotDistinct,deferrable:a.deferrable,initiallyDeferred:a.initiallyDeferred}}transformForeignKeyConstraint(a,b){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(a.columns,b),references:this.transformNode(a.references,b),name:this.transformNode(a.name,b),onDelete:a.onDelete,onUpdate:a.onUpdate,deferrable:a.deferrable,initiallyDeferred:a.initiallyDeferred}}transformSetOperation(a,b){return{kind:"SetOperationNode",operator:a.operator,expression:this.transformNode(a.expression,b),all:a.all}}transformReferences(a,b){return{kind:"ReferencesNode",table:this.transformNode(a.table,b),columns:this.transformNodeList(a.columns,b),onDelete:a.onDelete,onUpdate:a.onUpdate}}transformCheckConstraint(a,b){return{kind:"CheckConstraintNode",expression:this.transformNode(a.expression,b),name:this.transformNode(a.name,b)}}transformWith(a,b){return{kind:"WithNode",expressions:this.transformNodeList(a.expressions,b),recursive:a.recursive}}transformCommonTableExpression(a,b){return{kind:"CommonTableExpressionNode",name:this.transformNode(a.name,b),materialized:a.materialized,expression:this.transformNode(a.expression,b)}}transformCommonTableExpressionName(a,b){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(a.table,b),columns:this.transformNodeList(a.columns,b)}}transformHaving(a,b){return{kind:"HavingNode",having:this.transformNode(a.having,b)}}transformCreateSchema(a,b){return{kind:"CreateSchemaNode",schema:this.transformNode(a.schema,b),ifNotExists:a.ifNotExists}}transformDropSchema(a,b){return{kind:"DropSchemaNode",schema:this.transformNode(a.schema,b),ifExists:a.ifExists,cascade:a.cascade}}transformAlterTable(a,b){return{kind:"AlterTableNode",table:this.transformNode(a.table,b),renameTo:this.transformNode(a.renameTo,b),setSchema:this.transformNode(a.setSchema,b),columnAlterations:this.transformNodeList(a.columnAlterations,b),addConstraint:this.transformNode(a.addConstraint,b),dropConstraint:this.transformNode(a.dropConstraint,b),renameConstraint:this.transformNode(a.renameConstraint,b),addIndex:this.transformNode(a.addIndex,b),dropIndex:this.transformNode(a.dropIndex,b)}}transformDropColumn(a,b){return{kind:"DropColumnNode",column:this.transformNode(a.column,b),ifExists:a.ifExists}}transformRenameColumn(a,b){return{kind:"RenameColumnNode",column:this.transformNode(a.column,b),renameTo:this.transformNode(a.renameTo,b)}}transformAlterColumn(a,b){return{kind:"AlterColumnNode",column:this.transformNode(a.column,b),dataType:this.transformNode(a.dataType,b),dataTypeExpression:this.transformNode(a.dataTypeExpression,b),setDefault:this.transformNode(a.setDefault,b),dropDefault:a.dropDefault,setNotNull:a.setNotNull,dropNotNull:a.dropNotNull}}transformModifyColumn(a,b){return{kind:"ModifyColumnNode",column:this.transformNode(a.column,b)}}transformAddConstraint(a,b){return{kind:"AddConstraintNode",constraint:this.transformNode(a.constraint,b)}}transformDropConstraint(a,b){return{kind:"DropConstraintNode",constraintName:this.transformNode(a.constraintName,b),ifExists:a.ifExists,modifier:a.modifier}}transformRenameConstraint(a,b){return{kind:"RenameConstraintNode",oldName:this.transformNode(a.oldName,b),newName:this.transformNode(a.newName,b)}}transformCreateView(a,b){return{kind:"CreateViewNode",name:this.transformNode(a.name,b),temporary:a.temporary,orReplace:a.orReplace,ifNotExists:a.ifNotExists,materialized:a.materialized,columns:this.transformNodeList(a.columns,b),as:this.transformNode(a.as,b)}}transformRefreshMaterializedView(a,b){return{kind:"RefreshMaterializedViewNode",name:this.transformNode(a.name,b),concurrently:a.concurrently,withNoData:a.withNoData}}transformDropView(a,b){return{kind:"DropViewNode",name:this.transformNode(a.name,b),ifExists:a.ifExists,materialized:a.materialized,cascade:a.cascade}}transformGenerated(a,b){return{kind:"GeneratedNode",byDefault:a.byDefault,always:a.always,identity:a.identity,stored:a.stored,expression:this.transformNode(a.expression,b)}}transformDefaultValue(a,b){return{kind:"DefaultValueNode",defaultValue:this.transformNode(a.defaultValue,b)}}transformOn(a,b){return{kind:"OnNode",on:this.transformNode(a.on,b)}}transformSelectModifier(a,b){return{kind:"SelectModifierNode",modifier:a.modifier,rawModifier:this.transformNode(a.rawModifier,b),of:this.transformNodeList(a.of,b)}}transformCreateType(a,b){return{kind:"CreateTypeNode",name:this.transformNode(a.name,b),enum:this.transformNode(a.enum,b)}}transformDropType(a,b){return{kind:"DropTypeNode",name:this.transformNode(a.name,b),additionalNames:this.transformNodeList(a.additionalNames,b),cascade:a.cascade,ifExists:a.ifExists}}transformExplain(a,b){return{kind:"ExplainNode",format:a.format,options:this.transformNode(a.options,b)}}transformSchemableIdentifier(a,b){return{kind:"SchemableIdentifierNode",schema:this.transformNode(a.schema,b),identifier:this.transformNode(a.identifier,b)}}transformAggregateFunction(a,b){return{kind:"AggregateFunctionNode",func:a.func,aggregated:this.transformNodeList(a.aggregated,b),distinct:a.distinct,orderBy:this.transformNode(a.orderBy,b),withinGroup:this.transformNode(a.withinGroup,b),filter:this.transformNode(a.filter,b),over:this.transformNode(a.over,b)}}transformOver(a,b){return{kind:"OverNode",orderBy:this.transformNode(a.orderBy,b),partitionBy:this.transformNode(a.partitionBy,b)}}transformPartitionBy(a,b){return{kind:"PartitionByNode",items:this.transformNodeList(a.items,b)}}transformPartitionByItem(a,b){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(a.partitionBy,b)}}transformBinaryOperation(a,b){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(a.leftOperand,b),operator:this.transformNode(a.operator,b),rightOperand:this.transformNode(a.rightOperand,b)}}transformUnaryOperation(a,b){return{kind:"UnaryOperationNode",operator:this.transformNode(a.operator,b),operand:this.transformNode(a.operand,b)}}transformUsing(a,b){return{kind:"UsingNode",tables:this.transformNodeList(a.tables,b)}}transformFunction(a,b){return{kind:"FunctionNode",func:a.func,arguments:this.transformNodeList(a.arguments,b)}}transformCase(a,b){return{kind:"CaseNode",value:this.transformNode(a.value,b),when:this.transformNodeList(a.when,b),else:this.transformNode(a.else,b),isStatement:a.isStatement}}transformWhen(a,b){return{kind:"WhenNode",condition:this.transformNode(a.condition,b),result:this.transformNode(a.result,b)}}transformJSONReference(a,b){return{kind:"JSONReferenceNode",reference:this.transformNode(a.reference,b),traversal:this.transformNode(a.traversal,b)}}transformJSONPath(a,b){return{kind:"JSONPathNode",inOperator:this.transformNode(a.inOperator,b),pathLegs:this.transformNodeList(a.pathLegs,b)}}transformJSONPathLeg(a,b){return{kind:"JSONPathLegNode",type:a.type,value:a.value}}transformJSONOperatorChain(a,b){return{kind:"JSONOperatorChainNode",operator:this.transformNode(a.operator,b),values:this.transformNodeList(a.values,b)}}transformTuple(a,b){return{kind:"TupleNode",values:this.transformNodeList(a.values,b)}}transformMergeQuery(a,b){return{kind:"MergeQueryNode",into:this.transformNode(a.into,b),using:this.transformNode(a.using,b),whens:this.transformNodeList(a.whens,b),with:this.transformNode(a.with,b),top:this.transformNode(a.top,b),endModifiers:this.transformNodeList(a.endModifiers,b),output:this.transformNode(a.output,b),returning:this.transformNode(a.returning,b)}}transformMatched(a,b){return{kind:"MatchedNode",not:a.not,bySource:a.bySource}}transformAddIndex(a,b){return{kind:"AddIndexNode",name:this.transformNode(a.name,b),columns:this.transformNodeList(a.columns,b),unique:a.unique,using:this.transformNode(a.using,b),ifNotExists:a.ifNotExists}}transformCast(a,b){return{kind:"CastNode",expression:this.transformNode(a.expression,b),dataType:this.transformNode(a.dataType,b)}}transformFetch(a,b){return{kind:"FetchNode",rowCount:this.transformNode(a.rowCount,b),modifier:a.modifier}}transformTop(a,b){return{kind:"TopNode",expression:a.expression,modifiers:a.modifiers}}transformOutput(a,b){return{kind:"OutputNode",selections:this.transformNodeList(a.selections,b)}}transformAlterType(a,b){return{kind:"AlterTypeNode",name:this.transformNode(a.name,b),addValue:this.transformNode(a.addValue,b),renameTo:this.transformNode(a.renameTo,b),renameValue:this.transformNode(a.renameValue,b),setSchema:this.transformNode(a.setSchema,b)}}transformAddValue(a,b){return{kind:"AddValueNode",value:this.transformNode(a.value,b),ifNotExists:a.ifNotExists,isBefore:a.isBefore,neighborValue:this.transformNode(a.neighborValue,b)}}transformRenameValue(a,b){return{kind:"RenameValueNode",oldValue:this.transformNode(a.oldValue,b),newValue:this.transformNode(a.newValue,b)}}transformDataType(a,b){return a}transformSelectAll(a,b){return a}transformIdentifier(a,b){return a}transformValue(a,b){return a}transformPrimitiveValueList(a,b){return a}transformOperator(a,b){return a}transformDefaultInsertValue(a,b){return a}transformOrAction(a,b){return a}transformCollate(a,b){return a}}},17426:(a,b,c)=>{c.d(b,{i:()=>d});let d="1.6.19"},18304:(a,b,c)=>{c.d(b,{B:()=>f,o:()=>e});var d=c(6881);let e=["preserve rows","delete rows","drop"],f=(0,d.CN)({is:a=>"CreateTableNode"===a.kind,create:a=>(0,d.CN)({kind:"CreateTableNode",table:a,columns:(0,d.CN)([])}),cloneWithColumn:(a,b)=>(0,d.CN)({...a,columns:(0,d.CN)([...a.columns,b])}),cloneWithConstraint:(a,b)=>(0,d.CN)({...a,constraints:a.constraints?(0,d.CN)([...a.constraints,b]):(0,d.CN)([b])}),cloneWithIndex:(a,b)=>(0,d.CN)({...a,indexes:a.indexes?(0,d.CN)([...a.indexes,b]):(0,d.CN)([b])}),cloneWithFrontModifier:(a,b)=>(0,d.CN)({...a,frontModifiers:a.frontModifiers?(0,d.CN)([...a.frontModifiers,b]):(0,d.CN)([b])}),cloneWithEndModifier:(a,b)=>(0,d.CN)({...a,endModifiers:a.endModifiers?(0,d.CN)([...a.endModifiers,b]):(0,d.CN)([b])}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},18697:(a,b,c)=>{c.d(b,{$:()=>g});var d=c(34745);let e=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/;function f(a){if("string"==typeof a&&e.test(a)){let b=new Date(a);if(!isNaN(b.getTime()))return b}return a}function g(a){try{if("string"!=typeof a){if(null==a)return null;return function a(b){if(null==b)return b;if("string"==typeof b)return f(b);if(b instanceof Date)return b;if(Array.isArray(b))return b.map(a);if("object"==typeof b){let c={};for(let d of Object.keys(b))c[d]=a(b[d]);return c}return b}(a)}return JSON.parse(a,(a,b)=>f(b))}catch(a){return d.vF.error("Error parsing JSON",{error:a}),null}}},18915:(a,b,c)=>{c.d(b,{c:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"JSONPathNode"===a.kind,create:a=>(0,d.CN)({kind:"JSONPathNode",inOperator:a,pathLegs:(0,d.CN)([])}),cloneWithLeg:(a,b)=>(0,d.CN)({...a,pathLegs:(0,d.CN)([...a.pathLegs,b])})})},19202:(a,b,c)=>{c.d(b,{AU:()=>m,B3:()=>B,KJ:()=>w,KL:()=>s,Pe:()=>u,RK:()=>A,RO:()=>o,RV:()=>r,Tq:()=>x,Uo:()=>k,eq:()=>i,gt:()=>n,kZ:()=>t,lt:()=>p,mj:()=>z,ne:()=>j,o8:()=>y,or:()=>l,q1:()=>C,t2:()=>v,wJ:()=>q});var d=c(31537),e=c(52022),f=c(78137),g=c(34974);function h(a,b){return!(0,g.eG)(b)||(0,g.qt)(a)||(0,e.is)(a,g.Iw)||(0,e.is)(a,g.Or)||(0,e.is)(a,d.V)||(0,e.is)(a,f.XI)||(0,e.is)(a,g.Ss)?a:new g.Iw(a,b)}let i=(a,b)=>(0,g.ll)`${a} = ${h(b,a)}`,j=(a,b)=>(0,g.ll)`${a} <> ${h(b,a)}`;function k(...a){let b=a.filter(a=>void 0!==a);if(0!==b.length)return new g.Xs(1===b.length?b:[new g.DJ("("),g.ll.join(b,new g.DJ(" and ")),new g.DJ(")")])}function l(...a){let b=a.filter(a=>void 0!==a);if(0!==b.length)return new g.Xs(1===b.length?b:[new g.DJ("("),g.ll.join(b,new g.DJ(" or ")),new g.DJ(")")])}function m(a){return(0,g.ll)`not ${a}`}let n=(a,b)=>(0,g.ll)`${a} > ${h(b,a)}`,o=(a,b)=>(0,g.ll)`${a} >= ${h(b,a)}`,p=(a,b)=>(0,g.ll)`${a} < ${h(b,a)}`,q=(a,b)=>(0,g.ll)`${a} <= ${h(b,a)}`;function r(a,b){return Array.isArray(b)?0===b.length?(0,g.ll)`false`:(0,g.ll)`${a} in ${b.map(b=>h(b,a))}`:(0,g.ll)`${a} in ${h(b,a)}`}function s(a,b){return Array.isArray(b)?0===b.length?(0,g.ll)`true`:(0,g.ll)`${a} not in ${b.map(b=>h(b,a))}`:(0,g.ll)`${a} not in ${h(b,a)}`}function t(a){return(0,g.ll)`${a} is null`}function u(a){return(0,g.ll)`${a} is not null`}function v(a){return(0,g.ll)`exists ${a}`}function w(a){return(0,g.ll)`not exists ${a}`}function x(a,b,c){return(0,g.ll)`${a} between ${h(b,a)} and ${h(c,a)}`}function y(a,b,c){return(0,g.ll)`${a} not between ${h(b,a)} and ${h(c,a)}`}function z(a,b){return(0,g.ll)`${a} like ${b}`}function A(a,b){return(0,g.ll)`${a} not like ${b}`}function B(a,b){return(0,g.ll)`${a} ilike ${b}`}function C(a,b){return(0,g.ll)`${a} not ilike ${b}`}},19839:(a,b,c)=>{c.d(b,{MX:()=>k,Ob:()=>g,_S:()=>j});var d=c(35088),e=c(55457),f=c(16602);function g(a,b){if(a.startsWith("RS")||a.startsWith("PS")){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}}function h(a,b){let c=`SHA-${a.slice(-3)}`;switch(a){case"HS256":case"HS384":case"HS512":return{hash:c,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:c,name:"RSA-PSS",saltLength:parseInt(a.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:c,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:c,name:"ECDSA",namedCurve:b.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:a};default:throw new d.T0(`alg ${a} is not supported either by JOSE or your javascript runtime`)}}async function i(a,b,c){if(b instanceof Uint8Array){if(!a.startsWith("HS"))throw TypeError((0,f.X)(b,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",b,{hash:`SHA-${a.slice(-3)}`,name:"HMAC"},!1,[c])}return(0,e.Y)(b,a,c),b}async function j(a,b,c){let d=await i(a,b,"sign");return g(a,d),new Uint8Array(await crypto.subtle.sign(h(a,d.algorithm),d,c))}async function k(a,b,c,d){let e=await i(a,b,"verify");g(a,e);let f=h(a,e.algorithm);try{return await crypto.subtle.verify(f,e,c,d)}catch{return!1}}},20067:(a,b,c)=>{c.d(b,{Yj:()=>f,zM:()=>g});var d=c(98227),e=c(36220);function f(a){return d.K_(e.ND,a)}function g(a){return d.dN(e.WF,a)}},20302:(a,b,c)=>{c.d(b,{O:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"IdentifierNode"===a.kind,create:a=>(0,d.CN)({kind:"IdentifierNode",name:a})})},21030:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},21044:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(21030),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},21836:(a,b,c)=>{c.d(b,{s:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"AndNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"AndNode",left:a,right:b})})},22199:(a,b,c)=>{c.d(b,{U9:()=>e,cz:()=>f});var d=c(34974);function e(a){return(0,d.ll)`count(${a||d.ll.raw("*")})`.mapWith(Number)}function f(a){return(0,d.ll)`sum(${a})`.mapWith(String)}},22514:(a,b,c)=>{c.d(b,{a:()=>e});let d=new Map,e={decode:(a,b="utf-8")=>(d.has(b)||d.set(b,new TextDecoder(b)),d.get(b).decode(a)),encode:new TextEncoder().encode}},23217:(a,b,c)=>{c.d(b,{f:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"UsingNode"===a.kind,create:a=>(0,d.CN)({kind:"UsingNode",tables:(0,d.CN)(a)}),cloneWithTables:(a,b)=>(0,d.CN)({...a,tables:(0,d.CN)([...a.tables,...b])})})},23759:(a,b,c)=>{c.d(b,{Q:()=>i});var d=c(6881);let e=(0,d.CN)({bigint:!0,bigserial:!0,binary:!0,blob:!0,boolean:!0,bytea:!0,char:!0,date:!0,datemultirange:!0,daterange:!0,datetime:!0,datetime2:!0,decimal:!0,"double precision":!0,float4:!0,float8:!0,int2:!0,int4:!0,int4multirange:!0,int4range:!0,int8:!0,int8multirange:!0,int8range:!0,integer:!0,json:!0,jsonb:!0,numeric:!0,nummultirange:!0,numrange:!0,real:!0,serial:!0,smallint:!0,text:!0,time:!0,timestamp:!0,timestamptz:!0,timetz:!0,tsmultirange:!0,tsrange:!0,tstzmultirange:!0,tstzrange:!0,uuid:!0,varbinary:!0,varchar:!0}),f=(0,d.CN)([/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^datetime2\(\d+\)$/,/^varbinary\(\d+\)$/]),g=(0,d.CN)({is:a=>"DataTypeNode"===a.kind,create:a=>(0,d.CN)({kind:"DataTypeNode",dataType:a})});var h=c(4362);function i(a){if((0,h.N)(a))return a.toOperationNode();if(e[a]||f.some(b=>b.test(a)))return g.create(a);throw Error(`invalid column data type ${JSON.stringify(a)}`)}},23781:(a,b,c)=>{c.d(b,{$f:()=>w,A2:()=>y,Gv:()=>r,LG:()=>j,NM:()=>z,OH:()=>G,PO:()=>g,QH:()=>I,Qd:()=>t,Rc:()=>N,UQ:()=>o,Up:()=>B,W0:()=>E,X$:()=>D,Yv:()=>p,cJ:()=>C,cl:()=>h,gJ:()=>l,gx:()=>q,h1:()=>F,hI:()=>s,iR:()=>M,k8:()=>f,lQ:()=>K,mw:()=>H,o8:()=>x,p6:()=>i,qQ:()=>v,rL:()=>J,sn:()=>O,w5:()=>e,yG:()=>u,zH:()=>A,zM:()=>n});var d=c(95604);function e(a){let b=Object.values(a).filter(a=>"number"==typeof a);return Object.entries(a).filter(([a,c])=>-1===b.indexOf(+a)).map(([a,b])=>b)}function f(a,b){return"bigint"==typeof b?b.toString():b}function g(a){return{get value(){{let b=a();return Object.defineProperty(this,"value",{value:b}),b}}}}function h(a){return null==a}function i(a){let b=+!!a.startsWith("^"),c=a.endsWith("$")?a.length-1:a.length;return a.slice(b,c)}function j(a,b){let c=a/b,d=Math.round(c),e=Number.EPSILON*Math.max(Math.abs(c),1);return Math.abs(c-d)<e?0:c-d}let k=Symbol("evaluating");function l(a,b,c){let d;Object.defineProperty(a,b,{get(){if(d!==k)return void 0===d&&(d=k,d=c()),d},set(c){Object.defineProperty(a,b,{value:c})},configurable:!0})}function m(a,b,c){Object.defineProperty(a,b,{value:c,writable:!0,enumerable:!0,configurable:!0})}function n(...a){let b={};for(let c of a)Object.assign(b,Object.getOwnPropertyDescriptors(c));return Object.defineProperties({},b)}function o(a){return JSON.stringify(a)}function p(a){return a.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}let q="captureStackTrace"in Error?Error.captureStackTrace:(...a)=>{};function r(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let s=g(()=>{if(d.cr.jitless||"u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(a){return!1}});function t(a){if(!1===r(a))return!1;let b=a.constructor;if(void 0===b||"function"!=typeof b)return!0;let c=b.prototype;return!1!==r(c)&&!1!==Object.prototype.hasOwnProperty.call(c,"isPrototypeOf")}function u(a){return t(a)?{...a}:Array.isArray(a)?[...a]:a instanceof Map?new Map(a):a instanceof Set?new Set(a):a}let v=new Set(["string","number","symbol"]);function w(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function x(a,b,c){let d=new a._zod.constr(b??a._zod.def);return(!b||c?.parent)&&(d._zod.parent=a),d}function y(a){if(!a)return{};if("string"==typeof a)return{error:()=>a};if(a?.message!==void 0){if(a?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");a.error=a.message}return(delete a.message,"string"==typeof a.error)?{...a,error:()=>a.error}:a}function z(a){return Object.keys(a).filter(b=>"optional"===a[b]._zod.optin&&"optional"===a[b]._zod.optout)}let A={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function B(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let e=n(a._zod.def,{get shape(){let a={};for(let d in b){if(!(d in c.shape))throw Error(`Unrecognized key: "${d}"`);b[d]&&(a[d]=c.shape[d])}return m(this,"shape",a),a},checks:[]});return x(a,e)}function C(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let e=n(a._zod.def,{get shape(){let d={...a._zod.def.shape};for(let a in b){if(!(a in c.shape))throw Error(`Unrecognized key: "${a}"`);b[a]&&delete d[a]}return m(this,"shape",d),d},checks:[]});return x(a,e)}function D(a,b){if(!t(b))throw Error("Invalid input to extend: expected a plain object");let c=a._zod.def.checks;if(c&&c.length>0){let c=a._zod.def.shape;for(let a in b)if(void 0!==Object.getOwnPropertyDescriptor(c,a))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let d=n(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b};return m(this,"shape",c),c}});return x(a,d)}function E(a,b){if(!t(b))throw Error("Invalid input to safeExtend: expected a plain object");let c=n(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b};return m(this,"shape",c),c}});return x(a,c)}function F(a,b){if(a._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let c=n(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b._zod.def.shape};return m(this,"shape",c),c},get catchall(){return b._zod.def.catchall},checks:b._zod.def.checks??[]});return x(a,c)}function G(a,b,c){let d=b._zod.def.checks;if(d&&d.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let e=n(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b in c){if(!(b in d))throw Error(`Unrecognized key: "${b}"`);c[b]&&(e[b]=a?new a({type:"optional",innerType:d[b]}):d[b])}else for(let b in d)e[b]=a?new a({type:"optional",innerType:d[b]}):d[b];return m(this,"shape",e),e},checks:[]});return x(b,e)}function H(a,b,c){let d=n(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b in c){if(!(b in e))throw Error(`Unrecognized key: "${b}"`);c[b]&&(e[b]=new a({type:"nonoptional",innerType:d[b]}))}else for(let b in d)e[b]=new a({type:"nonoptional",innerType:d[b]});return m(this,"shape",e),e}});return x(b,d)}function I(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue!==!0)return!0;return!1}function J(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue===!1)return!0;return!1}function K(a,b){return b.map(b=>(b.path??(b.path=[]),b.path.unshift(a),b))}function L(a){return"string"==typeof a?a:a?.message}function M(a,b,c){let d=a.message?a.message:L(a.inst?._zod.def?.error?.(a))??L(b?.error?.(a))??L(c.customError?.(a))??L(c.localeError?.(a))??"Invalid input",{inst:e,continue:f,input:g,...h}=a;return h.path??(h.path=[]),h.message=d,b?.reportInput&&(h.input=g),h}function N(a){return Array.isArray(a)?"array":"string"==typeof a?"string":"unknown"}function O(...a){let[b,c,d]=a;return"string"==typeof b?{message:b,code:"custom",input:c,inst:d}:{...b}}},23911:(a,b,c)=>{c.d(b,{Q:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"JSONReferenceNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"JSONReferenceNode",reference:a,traversal:b}),cloneWithTraversal:(a,b)=>(0,d.CN)({...a,traversal:b})})},24146:(a,b,c)=>{c.d(b,{AC:()=>F,Ak:()=>i,F:()=>u,Gl:()=>e,K3:()=>s,Os:()=>k,Rp:()=>m,Yj:()=>B,Z0:()=>f,Zg:()=>n,Zv:()=>G,ai:()=>D,fO:()=>h,gF:()=>d,hQ:()=>v,kB:()=>z,kM:()=>g,l7:()=>r,nd:()=>C,p0:()=>j,p6:()=>x,r0:()=>t,uR:()=>l,uX:()=>o,ug:()=>p,w$:()=>A,zM:()=>E,zr:()=>q});let d=/^[cC][0-9a-z]{6,}$/,e=/^[0-9a-z]+$/,f=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,g=/^[0-9a-vA-V]{20}$/,h=/^[A-Za-z0-9]{27}$/,i=/^[a-zA-Z0-9_-]{21}$/,j=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,k=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,l=a=>a?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${a}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,m=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function n(){return RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}let o=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,p=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,q=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,r=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,s=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,t=/^[A-Za-z0-9_-]*$/,u=/^https?$/,v=/^\+[1-9]\d{6,14}$/,w="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",x=RegExp(`^${w}$`);function y(a){let b="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof a.precision?-1===a.precision?`${b}`:0===a.precision?`${b}:[0-5]\\d`:`${b}:[0-5]\\d\\.\\d{${a.precision}}`:`${b}(?::[0-5]\\d(?:\\.\\d+)?)?`}function z(a){return RegExp(`^${y(a)}$`)}function A(a){let b=y({precision:a.precision}),c=["Z"];a.local&&c.push(""),a.offset&&c.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let d=`${b}(?:${c.join("|")})`;return RegExp(`^${w}T(?:${d})$`)}let B=a=>{let b=a?`[\\s\\S]{${a?.minimum??0},${a?.maximum??""}}`:"[\\s\\S]*";return RegExp(`^${b}$`)},C=/^-?\d+$/,D=/^-?\d+(?:\.\d+)?$/,E=/^(?:true|false)$/i,F=/^[^A-Z]*$/,G=/^[^a-z]*$/},24416:(a,b,c)=>{c.d(b,{s:()=>g});var d=c(47506),e=c(15916),f=c(8975);let g=(a="SHA-256",b="none")=>{let c={importKey:async(b,c)=>(0,f.N)().importKey("raw","string"==typeof b?new TextEncoder().encode(b):b,{name:"HMAC",hash:{name:a}},!1,[c]),sign:async(a,g)=>{"string"==typeof a&&(a=await c.importKey(a,"sign"));let h=await (0,f.N)().sign("HMAC",a,"string"==typeof g?new TextEncoder().encode(g):g);return"hex"===b?d.u.encode(h):"base64"===b||"base64url"===b||"base64urlnopad"===b?e.z.encode(h,{padding:"base64urlnopad"!==b}):h},verify:async(a,g,h)=>("string"==typeof a&&(a=await c.importKey(a,"verify")),"hex"===b&&(h=d.u.decode(h)),("base64"===b||"base64url"===b||"base64urlnopad"===b)&&(h=await e.K.decode(h)),(0,f.N)().verify("HMAC",a,"string"==typeof h?new TextEncoder().encode(h):h,"string"==typeof g?new TextEncoder().encode(g):g))};return c}},25020:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=c(55640),e=c(21044);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},26593:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(6881),e=c(40417);let f=(0,d.CN)({is:a=>"TableNode"===a.kind,create:a=>(0,d.CN)({kind:"TableNode",table:e.y.create(a)}),createWithSchema:(a,b)=>(0,d.CN)({kind:"TableNode",table:e.y.createWithSchema(a,b)})})},27716:(a,b,c)=>{c.d(b,{y:()=>d});let d=a=>{let b=(a.plugins??[]).reduce((a,b)=>{let c=b.schema;if(!c)return a;for(let[b,d]of Object.entries(c))a[b]={fields:{...a[b]?.fields,...d.fields},modelName:d.modelName||b};return a},{}),c=a.rateLimit?.storage==="database",d={rateLimit:{modelName:a.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",unique:!0,required:!0,fieldName:a.rateLimit?.fields?.key||"key"},count:{type:"number",required:!0,fieldName:a.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",bigint:!0,required:!0,fieldName:a.rateLimit?.fields?.lastRequest||"lastRequest",defaultValue:()=>Date.now()}}}},{user:e,session:f,account:g,verification:h,...i}=b,j={verification:{modelName:a.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:a.verification?.fields?.identifier||"identifier",index:!0},value:{type:"string",required:!0,fieldName:a.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:a.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!0,defaultValue:()=>new Date,fieldName:a.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,defaultValue:()=>new Date,onUpdate:()=>new Date,fieldName:a.verification?.fields?.updatedAt||"updatedAt"},...h?.fields,...a.verification?.additionalFields},order:4}},k={session:{modelName:a.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:a.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:a.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:a.session?.fields?.createdAt||"createdAt",defaultValue:()=>new Date},updatedAt:{type:"date",required:!0,fieldName:a.session?.fields?.updatedAt||"updatedAt",onUpdate:()=>new Date},ipAddress:{type:"string",required:!1,fieldName:a.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:a.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:a.session?.fields?.userId||"userId",references:{model:a.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,index:!0},...f?.fields,...a.session?.additionalFields},order:2}};return{user:{modelName:a.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:a.user?.fields?.name||"name",sortable:!0},email:{type:"string",unique:!0,required:!0,fieldName:a.user?.fields?.email||"email",sortable:!0},emailVerified:{type:"boolean",defaultValue:!1,required:!0,fieldName:a.user?.fields?.emailVerified||"emailVerified",input:!1},image:{type:"string",required:!1,fieldName:a.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:a.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,onUpdate:()=>new Date,required:!0,fieldName:a.user?.fields?.updatedAt||"updatedAt"},...e?.fields,...a.user?.additionalFields},order:1},...!a.secondaryStorage||a.session?.storeSessionInDatabase?k:{},account:{modelName:a.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:a.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:a.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:a.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:a.account?.fields?.userId||"userId",index:!0},accessToken:{type:"string",required:!1,returned:!1,fieldName:a.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,returned:!1,fieldName:a.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,returned:!1,fieldName:a.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,returned:!1,fieldName:a.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,returned:!1,fieldName:a.account?.fields?.refreshTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:a.account?.fields?.scope||"scope"},password:{type:"string",required:!1,returned:!1,fieldName:a.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:a.account?.fields?.createdAt||"createdAt",defaultValue:()=>new Date},updatedAt:{type:"date",required:!0,fieldName:a.account?.fields?.updatedAt||"updatedAt",onUpdate:()=>new Date},...g?.fields,...a.account?.additionalFields},order:3},...!a.secondaryStorage||a.verification?.storeInDatabase?j:{},...i,...c?d:{}}}},27793:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(84998),g=c(96031),h=c(29294),i=c(61244);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},29173:(a,b,c)=>{c.d(b,{v:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"ListNode"===a.kind,create:a=>(0,d.CN)({kind:"ListNode",items:(0,d.CN)(a)})})},29941:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"FromNode"===a.kind,create:a=>(0,d.CN)({kind:"FromNode",froms:(0,d.CN)(a)}),cloneWithFroms:(a,b)=>(0,d.CN)({...a,froms:(0,d.CN)([...a.froms,...b])})})},29962:(a,b,c)=>{c.d(b,{I:()=>t});var d=c(86217),e=c(61152),f=c(27716),g=c(74234),h=c(34745),i=c(18697),j=c(74098),k=c(90981),l=c(44590);let m=({usePlural:a,schema:b,disableIdGeneration:c,options:d,customIdGenerator:e,supportsUUIDs:f})=>{let g=(0,j.G)({usePlural:a,schema:b});return({customModelName:a,forceAllowId:b})=>{let i=d.advanced?.database?.generateId==="serial",j=d.advanced?.database?.generateId==="uuid",k=!c&&(!i||!!b)&&(!j||!f),m=g(a??"id");return{type:i?"number":"string",required:!!k,...k?{defaultValue(){if(c)return;let a=d.advanced?.database?.generateId;if(!1!==a&&"serial"!==a)return"function"==typeof a?a({model:m}):"uuid"===a?crypto.randomUUID():e?e({model:m}):(0,l.$)()}}:{},transform:{input:a=>{if(a){if(i){let b=Number(a);if(isNaN(b))return;return b}if(j){if(k&&!b)return a;if(c)return;if(b&&"string"==typeof a)if(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(a))return a;else{let a=Error().stack?.split("\n").filter((a,b)=>1!==b).join("\n").replace("Error:","");h.vF.warn("[Adapter Factory] - Invalid UUID value for field `id` provided when `forceAllowId` is true. Generating a new UUID.",a)}return f||"string"==typeof a||f?void 0:crypto.randomUUID()}return a}},output:a=>{if(a)return String(a)}}}}};var n=c(56865),o=c(82358),p=c(14140),q=c(11888);let r=[],s=-1,t=({adapter:a,config:b})=>c=>{let g=Math.random().toString(36).substring(2,15),l={...b,supportsBooleans:b.supportsBooleans??!0,supportsDates:b.supportsDates??!0,supportsJSON:b.supportsJSON??!1,adapterName:b.adapterName??b.adapterId,supportsNumericIds:b.supportsNumericIds??!0,supportsUUIDs:b.supportsUUIDs??!1,supportsArrays:b.supportsArrays??!1,transaction:b.transaction??!1,disableTransformInput:b.disableTransformInput??!1,disableTransformOutput:b.disableTransformOutput??!1,disableTransformJoin:b.disableTransformJoin??!1};if(c.advanced?.database?.generateId==="serial"&&!1===l.supportsNumericIds)throw new e.$l(`[${l.adapterName}] Your database or database adapter does not support numeric ids. Please disable "useNumberId" in your config.`);let t=(0,f.y)(c),y=(...a)=>{if(!0===l.debugLogs||"object"==typeof l.debugLogs){let b=(0,h.h)({level:"info"});if("object"==typeof l.debugLogs&&"isRunningAdapterTests"in l.debugLogs){l.debugLogs.isRunningAdapterTests&&(a.shift(),r.push({instance:g,args:a}));return}if("object"!=typeof l.debugLogs||!l.debugLogs.logCondition||l.debugLogs.logCondition?.())if("object"==typeof a[0]&&"method"in a[0]){let c=a.shift().method;if("object"==typeof l.debugLogs){if("create"===c&&!l.debugLogs.create)return;else if("update"===c&&!l.debugLogs.update)return;else if("updateMany"===c&&!l.debugLogs.updateMany)return;else if("findOne"===c&&!l.debugLogs.findOne)return;else if("findMany"===c&&!l.debugLogs.findMany)return;else if("delete"===c&&!l.debugLogs.delete)return;else if("deleteMany"===c&&!l.debugLogs.deleteMany)return;else if("consumeOne"===c&&!l.debugLogs.consumeOne)return;else if("incrementOne"===c&&!l.debugLogs.incrementOne)return;else if("count"===c&&!l.debugLogs.count)return}b.info(`[${l.adapterName}]`,...a)}else b.info(`[${l.adapterName}]`,...a)}},z=(0,h.h)(c.logger),A=(0,j.G)({usePlural:l.usePlural,schema:t}),B=(0,k.z)({usePlural:l.usePlural,schema:t}),C=(0,o.j)({usePlural:l.usePlural,schema:t}),D=(0,n.y)({schema:t,usePlural:l.usePlural}),E=m({schema:t,options:c,usePlural:l.usePlural,disableIdGeneration:l.disableIdGeneration,customIdGenerator:l.customIdGenerator,supportsUUIDs:l.supportsUUIDs}),F=(({usePlural:a,schema:b,options:c,customIdGenerator:d,disableIdGeneration:f})=>{let g=(0,j.G)({usePlural:a,schema:b}),h=(0,k.z)({usePlural:a,schema:b}),i=m({usePlural:a,schema:b,options:c,customIdGenerator:d,disableIdGeneration:f});return({model:a,field:c})=>{let d=g(a),f=h({field:c,model:d}),j=b[d].fields;j.id=i({customModelName:d});let k=j[f];if(!k)throw new e.$l(`Field ${c} not found in model ${a}`);return k}})({schema:t,options:c,usePlural:l.usePlural,disableIdGeneration:l.disableIdGeneration,customIdGenerator:l.customIdGenerator}),G=async(a,b,d,e)=>{let f={},g=t[b].fields,h=l.mapKeysTransformInput??{},i=c.advanced?.database?.generateId==="serial";for(let j in g.id=E({customModelName:b,forceAllowId:e&&"id"in a}),g){let e=a[j],k=g[j],m=h[j]||g[j].fieldName||j;if(void 0===e&&(void 0===k.defaultValue&&!k.transform?.input&&!("update"===d&&k.onUpdate)||"update"===d&&!k.onUpdate))continue;if(k&&"date"===k.type&&!(e instanceof Date)&&"string"==typeof e)try{e=new Date(e)}catch{z.error("[Adapter Factory] Failed to convert string to date",{value:e,field:j})}let n=function(a,b,c){if("update"===c)return void 0===a&&void 0!==b.onUpdate?"function"==typeof b.onUpdate?b.onUpdate():b.onUpdate:a;return"create"===c&&(void 0===a||!0===b.required&&null===a)&&void 0!==b.defaultValue?"function"==typeof b.defaultValue?b.defaultValue():b.defaultValue:a}(e,k,d);k.transform?.input&&(n=await k.transform.input(n)),k.references?.field==="id"&&i?n=Array.isArray(n)?n.map(a=>null!==a?Number(a):null):null!==n?Number(n):null:!1===l.supportsJSON&&"object"==typeof n&&"json"===k.type||!1===l.supportsArrays&&Array.isArray(n)&&("string[]"===k.type||"number[]"===k.type)?n=JSON.stringify(n):!1===l.supportsDates&&n instanceof Date&&"date"===k.type?n=n.toISOString():!1===l.supportsBooleans&&"boolean"==typeof n&&(n=+!!n),l.customTransformInput&&(n=l.customTransformInput({data:n,action:d,field:m,fieldAttributes:k,model:C(b),schema:t,options:c})),void 0!==n&&(f[m]=n)}return f},H=async(a,b,d=[],e)=>{let f=async(a,b,d=[])=>{if(!a)return null;let e=l.mapKeysTransformOutput??{},f={},g=t[A(b)].fields;for(let h in g[Object.entries(e).find(([a,b])=>"id"===b)?.[0]??"id"]={type:c.advanced?.database?.generateId==="serial"?"number":"string"},g){if(d.length&&!d.includes(h))continue;let j=g[h];if(j){let g=j.fieldName||h,k=a[Object.entries(e).find(([a,b])=>b===g)?.[0]||g];j.transform?.output&&(k=await j.transform.output(k));let m=e[h]||h;"id"===g||j.references?.field==="id"?null!=k&&(k=String(k)):!1===l.supportsJSON&&"string"==typeof k&&"json"===j.type||!1===l.supportsArrays&&"string"==typeof k&&("string[]"===j.type||"number[]"===j.type)?k=(0,i.$)(k):!1===l.supportsDates&&"string"==typeof k&&"date"===j.type?k=new Date(k):!1===l.supportsBooleans&&"number"==typeof k&&"boolean"===j.type&&(k=1===k),l.customTransformOutput&&(k=l.customTransformOutput({data:k,field:m,fieldAttributes:j,select:d,model:C(b),schema:t,options:c})),f[m]=k}}return f};if(!e||0===Object.keys(e).length)return await f(a,b,d);b=A(b);let g=await f(a,b,d),h=Object.entries(e).map(([a,b])=>({modelName:C(a),defaultModelName:A(a),joinConfig:b}));if(!a)return null;for(let{modelName:d,defaultModelName:e,joinConfig:i}of h){let h=await (async()=>c.experimental?.joins?a[d]:await K({baseModel:b,baseData:g,joinModel:d,specificJoinConfig:i}))();null==h&&(h="one-to-one"===i.relation?null:[]),"one-to-many"!==i.relation||Array.isArray(h)||(h=[h]);let j=[];if(Array.isArray(h))for(let a of h){let b=await f(a,d,[]);j.push(b)}else{let a=await f(h,d,[]);j.push(a)}g[e]=("one-to-one"===i.relation?j[0]:j)??null}return g},I=({model:a,where:b,action:d})=>{if(!b)return;let f=l.mapKeysTransformInput??{};return b.map(b=>{let{field:g,value:h,operator:i="eq",connector:j="AND",mode:k="sensitive"}=b;if("in"===i&&!Array.isArray(h))throw new e.$l("Value must be an array");let m=h,n=A(a),o=B({field:g,model:a}),p=f[o]||D({field:o,model:n}),q=F({field:o,model:n}),r=c.advanced?.database?.generateId==="serial";if(("id"===o||q.references?.field==="id")&&r&&(m=Array.isArray(h)?h.map(Number):Number(h)),"date"===q.type&&h instanceof Date&&!l.supportsDates&&(m=h.toISOString()),"boolean"===q.type&&"string"==typeof m&&(m="true"===m),"number"===q.type){if("string"==typeof m&&""!==m.trim()){let a=Number(m);Number.isNaN(a)||(m=a)}else if(Array.isArray(m)){let a=m.map(a=>"string"==typeof a&&""!==a.trim()?Number(a):NaN);a.every(a=>!Number.isNaN(a))&&(m=a)}}if("boolean"!==q.type||"boolean"!=typeof m||l.supportsBooleans||(m=+!!m),"json"===q.type&&"object"==typeof h&&!l.supportsJSON)try{m=JSON.stringify(h)}catch(a){throw Error(`Failed to stringify JSON value for field ${p}`,{cause:a})}return l.customTransformInput&&(m=l.customTransformInput({data:m,fieldAttributes:q,field:p,model:C(a),schema:t,options:c,action:d})),{operator:i,connector:j,field:p,value:m,mode:k}})},J=(a,b,d)=>{if(!b||0===Object.keys(b).length)return;let f={};for(let[g,h]of Object.entries(b)){let b,i,j;if(!h)continue;let k=A(g),l=A(a),m=Object.entries(t[k].fields).filter(([a,b])=>b.references&&A(b.references.model)===l),n=!0;if(m.length||(m=Object.entries(t[l].fields).filter(([a,b])=>b.references&&A(b.references.model)===k),n=!1),m.length){if(m.length>1)throw new e.$l(`Multiple foreign keys found for model ${g} and base model ${a} while performing join operation. Only one foreign key is supported.`)}else throw new e.$l(`No foreign key found for model ${g} and base model ${a} while performing join operation.`);let[o,p]=m[0];if(!p.references)throw new e.$l(`No references found for foreign key ${o} on model ${g} while performing join operation.`);n?(b=D({model:a,field:j=p.references.field}),i=D({model:g,field:o})):(b=D({model:a,field:j=o}),i=D({model:g,field:p.references.field})),d&&!d.includes(j)&&d.push(j);let q="id"===i||(p.unique??!1),r=c.advanced?.database?.defaultFindManyLimit??100;q?r=1:"object"==typeof h&&"number"==typeof h.limit&&(r=h.limit),f[C(g)]={on:{from:b,to:i},limit:r,relation:q?"one-to-one":"one-to-many"}}return{join:f,select:d}},K=async({baseModel:a,baseData:b,joinModel:d,specificJoinConfig:e})=>{let f;if(!b)return b;let g=C(d),h=e.on.to,i=b[B({field:e.on.from,model:a})];if(null==i)return"one-to-one"===e.relation?null:[];let j=I({model:g,where:[{field:h,value:i,operator:"eq",connector:"AND"}],action:"findOne"});try{if("one-to-one"===e.relation)f=await (0,p.f)(`db findOne ${g}`,{[q.Xu]:"findOne",[q.qU]:g},()=>L.findOne({model:g,where:j}));else{let a=e.limit??c.advanced?.database?.defaultFindManyLimit??100;f=await (0,p.f)(`db findMany ${g}`,{[q.Xu]:"findMany",[q.qU]:g},()=>L.findMany({model:g,where:j,limit:a}))}}catch(a){throw z.error(`Failed to query fallback join for model ${g}:`,{where:j,limit:e.limit}),console.error(a),a}return f},L=a({options:c,schema:t,debugLog:y,getFieldName:D,getModelName:C,getDefaultModelName:A,getDefaultFieldName:B,getFieldAttributes:F,transformInput:G,transformOutput:H,transformWhereClause:I}),M=null,N={transaction:async a=>{if(!M)if(l.transaction)z.debug(`[${l.adapterName}] - Using provided transaction implementation.`),M=l.transaction;else M=a=>a(N);return M(a)},create:async({data:a,model:b,select:c,forceAllowId:d=!1})=>{let e=++s,f=C(b);b=A(b),"id"in a&&void 0!==a.id&&!d&&(z.warn(`[${l.adapterName}] - You are trying to create a record with an id. This is not allowed as we handle id generation for you, unless you pass in the \`forceAllowId\` parameter. The id will be ignored.`),console.log(Error().stack?.split("\n").filter((a,b)=>1!==b).join("\n").replace("Error:","Create method with `id` being called at:")),a.id=void 0),y({method:"create"},`${u(e)} ${v(1,4)}`,`${w("create")} ${x("Unsafe Input")}:`,{model:f,data:a});let g=a;l.disableTransformInput||(g=await G(a,b,"create",d)),y({method:"create"},`${u(e)} ${v(2,4)}`,`${w("create")} ${x("Parsed Input")}:`,{model:f,data:g});let h=await (0,p.f)(`db create ${f}`,{[q.Xu]:"create",[q.qU]:f},()=>L.create({data:g,model:f}));y({method:"create"},`${u(e)} ${v(3,4)}`,`${w("create")} ${x("DB Result")}:`,{model:f,res:h});let i=h;return l.disableTransformOutput||(i=await H(h,b,c,void 0)),y({method:"create"},`${u(e)} ${v(4,4)}`,`${w("create")} ${x("Parsed Result")}:`,{model:f,data:i}),i},update:async({model:a,where:b,update:c})=>{let d=++s,e=C(a=A(a)),f=I({model:a,where:b,action:"update"});y({method:"update"},`${u(d)} ${v(1,4)}`,`${w("update")} ${x("Unsafe Input")}:`,{model:e,data:c});let g=c;l.disableTransformInput||(g=await G(c,a,"update")),y({method:"update"},`${u(d)} ${v(2,4)}`,`${w("update")} ${x("Parsed Input")}:`,{model:e,data:g});let h=await (0,p.f)(`db update ${e}`,{[q.Xu]:"update",[q.qU]:e},()=>L.update({model:e,where:f,update:g}));y({method:"update"},`${u(d)} ${v(3,4)}`,`${w("update")} ${x("DB Result")}:`,{model:e,data:h});let i=h;return l.disableTransformOutput||(i=await H(h,a,void 0,void 0)),y({method:"update"},`${u(d)} ${v(4,4)}`,`${w("update")} ${x("Parsed Result")}:`,{model:e,data:i}),i},updateMany:async({model:a,where:b,update:c})=>{let d=++s,e=C(a),f=I({model:a,where:b,action:"updateMany"});a=A(a),y({method:"updateMany"},`${u(d)} ${v(1,4)}`,`${w("updateMany")} ${x("Unsafe Input")}:`,{model:e,data:c});let g=c;l.disableTransformInput||(g=await G(c,a,"update")),y({method:"updateMany"},`${u(d)} ${v(2,4)}`,`${w("updateMany")} ${x("Parsed Input")}:`,{model:e,data:g});let h=await (0,p.f)(`db updateMany ${e}`,{[q.Xu]:"updateMany",[q.qU]:e},()=>L.updateMany({model:e,where:f,update:g}));return y({method:"updateMany"},`${u(d)} ${v(3,4)}`,`${w("updateMany")} ${x("DB Result")}:`,{model:e,data:h}),y({method:"updateMany"},`${u(d)} ${v(4,4)}`,`${w("updateMany")} ${x("Parsed Result")}:`,{model:e,data:h}),h},findOne:async({model:a,where:b,select:d,join:e})=>{let f,g=++s,h=C(a),i=I({model:a,where:b,action:"findOne"});a=A(a);let j=!0;if(l.disableTransformJoin)f=e;else{let b=J(a,e,d);b&&(f=b.join,d=b.select),!c.experimental?.joins&&f&&Object.keys(f).length>0&&(j=!1)}y({method:"findOne"},`${u(g)} ${v(1,3)}`,`${w("findOne")}:`,{model:h,where:i,select:d,join:f});let k=await (0,p.f)(`db findOne ${h}`,{[q.Xu]:"findOne",[q.qU]:h},()=>L.findOne({model:h,where:i,select:d,join:j?f:void 0}));y({method:"findOne"},`${u(g)} ${v(2,3)}`,`${w("findOne")} ${x("DB Result")}:`,{model:h,data:k});let m=k;return l.disableTransformOutput||(m=await H(k,a,d,f)),y({method:"findOne"},`${u(g)} ${v(3,3)}`,`${w("findOne")} ${x("Parsed Result")}:`,{model:h,data:m}),m},findMany:async({model:a,where:b,limit:d,select:e,sortBy:f,offset:g,join:h})=>{let i,j=++s,k=d??c.advanced?.database?.defaultFindManyLimit??100,m=C(a),n=I({model:a,where:b,action:"findMany"});a=A(a);let o=!0;if(l.disableTransformJoin)i=h;else{let b=J(a,h,e);b&&(i=b.join,e=b.select),!c.experimental?.joins&&i&&Object.keys(i).length>0&&(o=!1)}y({method:"findMany"},`${u(j)} ${v(1,3)}`,`${w("findMany")}:`,{model:m,where:n,limit:k,sortBy:f,offset:g,join:i});let r=await (0,p.f)(`db findMany ${m}`,{[q.Xu]:"findMany",[q.qU]:m},()=>L.findMany({model:m,where:n,limit:k,select:e,sortBy:f,offset:g,join:o?i:void 0}));y({method:"findMany"},`${u(j)} ${v(2,3)}`,`${w("findMany")} ${x("DB Result")}:`,{model:m,data:r});let t=r;return l.disableTransformOutput||(t=await Promise.all(r.map(async b=>await H(b,a,void 0,i)))),y({method:"findMany"},`${u(j)} ${v(3,3)}`,`${w("findMany")} ${x("Parsed Result")}:`,{model:m,data:t}),t},delete:async({model:a,where:b})=>{let c=++s,d=C(a),e=I({model:a,where:b,action:"delete"});a=A(a),y({method:"delete"},`${u(c)} ${v(1,2)}`,`${w("delete")}:`,{model:d,where:e}),await (0,p.f)(`db delete ${d}`,{[q.Xu]:"delete",[q.qU]:d},()=>L.delete({model:d,where:e})),y({method:"delete"},`${u(c)} ${v(2,2)}`,`${w("delete")} ${x("DB Result")}:`,{model:d})},deleteMany:async({model:a,where:b})=>{let c=++s,d=C(a),e=I({model:a,where:b,action:"deleteMany"});a=A(a),y({method:"deleteMany"},`${u(c)} ${v(1,2)}`,`${w("deleteMany")} ${x("DeleteMany")}:`,{model:d,where:e});let f=await (0,p.f)(`db deleteMany ${d}`,{[q.Xu]:"deleteMany",[q.qU]:d},()=>L.deleteMany({model:d,where:e}));return y({method:"deleteMany"},`${u(c)} ${v(2,2)}`,`${w("deleteMany")} ${x("DB Result")}:`,{model:d,data:f}),f},consumeOne:async({model:a,where:b})=>{let c,f=++s,g=C(a),h=I({model:a,where:b,action:"consumeOne"});a=A(a),y({method:"consumeOne"},`${u(f)} ${v(1,3)}`,`${w("consumeOne")} ${x("ConsumeOne")}:`,{model:g,where:h});let i=!0;L.consumeOne?c=await (0,p.f)(`db consumeOne ${g}`,{[q.Xu]:"consumeOne",[q.qU]:g},()=>L.consumeOne({model:g,where:h})):(c=await (0,p.f)(`db consumeOne ${g}`,{[q.Xu]:"consumeOne",[q.qU]:g},()=>(0,d.iD)(N,async()=>{let c=await (0,d.d3)(N),f=(await c.findMany({model:a,where:b,limit:1}))[0];if(!f)return null;let g=await c.deleteMany({model:a,where:[...b,{field:"id",value:f.id,operator:"eq",connector:"AND",mode:"sensitive"}]});if("number"!=typeof g)throw new e.$l(`Adapter "${l.adapterId}" returned a non-numeric value from deleteMany during the consumeOne fallback. Return the number of deleted rows, or implement a native consumeOne for atomic single-use consumption.`);return g>0?f:null})),i=!1),y({method:"consumeOne"},`${u(f)} ${v(2,3)}`,`${w("consumeOne")} ${x("DB Result")}:`,{model:g,data:c});let j=c;return!l.disableTransformOutput&&i&&c&&(j=await H(c,a,void 0,void 0)),y({method:"consumeOne"},`${u(f)} ${v(3,3)}`,`${w("consumeOne")} ${x("Parsed Result")}:`,{model:g,data:j}),j},incrementOne:async({model:a,where:b,increment:c,set:f})=>{let g,h=Object.keys(c).length>0,i=!!f&&Object.keys(f).length>0;if(!h&&!i)throw new e.$l("incrementOne requires a non-empty `increment` or `set`; both were empty.");let j=++s,k=C(a),m=I({model:a,where:b,action:"incrementOne"});a=A(a),y({method:"incrementOne"},`${u(j)} ${v(1,3)}`,`${w("incrementOne")} ${x("IncrementOne")}:`,{model:k,where:m,increment:c,set:f});let n=!0;if(L.incrementOne){let b,d=l.mapKeysTransformInput??{},h={};for(let[b,e]of Object.entries(c))h[d[b]||D({model:a,field:b})]=e;if(b=f&&!l.disableTransformInput?await G(f,a,"update"):f,0===Object.keys(h).length&&(!b||0===Object.keys(b).length))throw new e.$l("incrementOne resolved to an empty update: every increment/set field was unknown to the schema or transformed away.");g=await (0,p.f)(`db incrementOne ${k}`,{[q.Xu]:"incrementOne",[q.qU]:k},()=>L.incrementOne({model:k,where:m,increment:h,set:b}))}else g=await (0,p.f)(`db incrementOne ${k}`,{[q.Xu]:"incrementOne",[q.qU]:k},()=>(0,d.iD)(N,async()=>{let g=await (0,d.d3)(N),h=(await g.findMany({model:a,where:b,limit:1}))[0];if(!h)return null;let i={...f??{}};for(let[a,b]of Object.entries(c))i[a]=("number"==typeof h[a]?h[a]:0)+b;let j=await g.updateMany({model:a,where:[...b,{field:"id",value:h.id,operator:"eq",connector:"AND",mode:"sensitive"}],update:i});if("number"!=typeof j)throw new e.$l(`Adapter "${l.adapterId}" returned a non-numeric value from updateMany during the incrementOne fallback. Return the number of updated rows, or implement a native incrementOne for atomic guarded counter updates.`);return j>0?{...h,...i}:null})),n=!1;y({method:"incrementOne"},`${u(j)} ${v(2,3)}`,`${w("incrementOne")} ${x("DB Result")}:`,{model:k,data:g});let o=g;return!l.disableTransformOutput&&n&&g&&(o=await H(g,a,void 0,void 0)),y({method:"incrementOne"},`${u(j)} ${v(3,3)}`,`${w("incrementOne")} ${x("Parsed Result")}:`,{model:k,data:o}),o},count:async({model:a,where:b})=>{let c=++s,d=C(a),e=I({model:a,where:b,action:"count"});a=A(a),y({method:"count"},`${u(c)} ${v(1,2)}`,`${w("count")}:`,{model:d,where:e});let f=await (0,p.f)(`db count ${d}`,{[q.Xu]:"count",[q.qU]:d},()=>L.count({model:d,where:e}));return y({method:"count"},`${u(c)} ${v(2,2)}`,`${w("count")}:`,{model:d,data:f}),f},createSchema:L.createSchema?async(a,b)=>{let d=(0,f.y)(c);return c.secondaryStorage&&!c.session?.storeSessionInDatabase&&delete d.session,L.createSchema({file:b,tables:d})}:void 0,options:{adapterConfig:l,...L.options??{}},id:l.adapterId,...l.debugLogs?.isRunningAdapterTests?{adapterTestDebugLogs:{resetDebugLogs(){r=r.filter(a=>a.instance!==g)},printDebugLogs(){let a="─".repeat(80),b=r.filter(a=>a.instance===g);0===b.length||console.log(...b.reverse().map(a=>(a.args[0]=`
2
+ ${a.args[0]}`,[...a.args,"\n"])).reduce((a,b)=>[...b,...a],[`
3
+ ${a}`]))}}}:{}};return N};function u(a){return 8>(0,g.t)()?`#${a}`:`${h.p4.fg.magenta}#${a}${h.p4.reset}`}function v(a,b){return`${h.p4.bg.black}${h.p4.fg.yellow}[${a}/${b}]${h.p4.reset}`}function w(a){return`${h.p4.bright}${a}${h.p4.reset}`}function x(a){return`${h.p4.dim}(${a})${h.p4.reset}`}},30159:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(52022),e=c(15198);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},30200:(a,b,c)=>{c.d(b,{xA:()=>b3,dG:()=>b2,rV:()=>b5});var d,e=c(48835),f=c(20302),g=c(34435);function h(a,b){return g.z.createWithChildren([g.z.createWithSql(`${a} `),f.O.create(b)])}var i=c(99408),j=c(6881),k=c(55222);class l{#g;#h;#i;constructor(a){this.#g=(0,j.CN)({...a})}async init(a){this.#h=(0,j.Tn)(this.#g.database)?await this.#g.database(a):this.#g.database,this.#i=new m(this.#h),this.#g.onCreateConnection&&await this.#g.onCreateConnection(this.#i,a)}async acquireConnection(){return this.#i}async beginTransaction(a){await a.executeQuery(i.E.raw("begin"))}async commitTransaction(a){await a.executeQuery(i.E.raw("commit"))}async rollbackTransaction(a){await a.executeQuery(i.E.raw("rollback"))}async savepoint(a,b,c){await a.executeQuery(c(h("savepoint",b),(0,k.a)()))}async rollbackToSavepoint(a,b,c){await a.executeQuery(c(h("rollback to",b),(0,k.a)()))}async releaseSavepoint(a,b,c){await a.executeQuery(c(h("release",b),(0,k.a)()))}async releaseConnection(){}async destroy(){this.#h?.close()}}class m{#h;constructor(a){this.#h=a}async executeQuery(a){let{sql:b,parameters:c}=a,d=this.#h.prepare(b);if(d.reader)return{rows:d.all(c)};let{changes:e,lastInsertRowid:f}=d.run(c);return{insertId:null!=f?BigInt(f):void 0,numAffectedRows:null!=e?BigInt(e):void 0,rows:[]}}async *streamQuery(a,b){let{sql:c,parameters:d,query:f}=a,g=this.#h.prepare(c);if(!e.L.is(f))throw Error("Sqlite driver only supports streaming of select queries");for(let a of g.iterate(d))yield{rows:[a]}}}var n=c(32582);let o="kysely_migration",p="kysely_migration_lock";(0,j.CN)({__noMigrations__:!0});var q=c(37906);class r{#h;constructor(a){this.#h=a}async getSchemas(){return[]}async getTables(a={withInternalKyselyTables:!1}){return await this.#j(a)}#k(a,b){let c=a.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").select(["name","sql","type"]).orderBy("name");return b.withInternalKyselyTables||(c=c.where("name","!=",o).where("name","!=",p)),c}async #j(a){let b=await this.#k(this.#h,a).execute(),c=await this.#h.with("table_list",b=>this.#k(b,a)).selectFrom(["table_list as tl",(0,q.l)`pragma_table_info(tl.name)`.as("p")]).select(["tl.name as table","p.cid","p.name","p.type","p.notnull","p.dflt_value","p.pk"]).orderBy("tl.name").orderBy("p.cid").execute(),d={};for(let a of c)d[a.table]??=[],d[a.table].push(a);return b.map(({name:a,sql:b,type:c})=>{let e=b?.split(/[\(\),]/)?.find(a=>a.toLowerCase().includes("autoincrement"))?.trimStart()?.split(/\s+/)?.[0]?.replace(/["`]/g,""),f=d[a]??[];if(!e){let a=f.filter(a=>a.pk>0);1===a.length&&"integer"===a[0].type.toLowerCase()&&(e=a[0].name)}return{name:a,isView:"view"===c,isForeign:!1,columns:f.map(a=>({name:a.name,dataType:a.type,isNullable:!a.notnull,isAutoIncrementing:a.name===e,hasDefaultValue:null!=a.dflt_value,comment:void 0}))}})}}var s=c(31461);class t{#g;constructor(a){this.#g=(0,j.CN)({...a})}createDriver(){return new l(this.#g)}createQueryCompiler(){return new n.s}createAdapter(){return new s.U}createIntrospector(a){return new r(a)}}function u(a,b){var c;if(c=a,(0,j.Gv)(c)&&(0,j.Kg)(c.stack)&&b.stack){let c=b.stack.split("\n").slice(1).join("\n");a.stack+=`
4
+ ${c}`}return a}let v=Symbol();class w{#g;#l=new WeakMap;#m;constructor(a){this.#g=(0,j.CN)({...a})}async init(a){this.#m=(0,j.Tn)(this.#g.pool)?await this.#g.pool(a):this.#g.pool}async acquireConnection(a){let b=await this.#n(),c=this.#l.get(b);return!c&&(c=new x(b,this.#g.controlConnection),this.#l.set(b,c),this.#g?.onCreateConnection&&await this.#g.onCreateConnection(c,a)),this.#g?.onReserveConnection&&await this.#g.onReserveConnection(c,a),c}async beginTransaction(a,b){if(b.isolationLevel||b.accessMode){let c=[];b.isolationLevel&&c.push(`isolation level ${b.isolationLevel}`),b.accessMode&&c.push(b.accessMode);let d=`set transaction ${c.join(", ")}`;await a.executeQuery(i.E.raw(d))}await a.executeQuery(i.E.raw("begin"))}async commitTransaction(a){await a.executeQuery(i.E.raw("commit"))}async rollbackTransaction(a){await a.executeQuery(i.E.raw("rollback"))}async savepoint(a,b,c){await a.executeQuery(c(h("savepoint",b),(0,k.a)()))}async rollbackToSavepoint(a,b,c){await a.executeQuery(c(h("rollback to",b),(0,k.a)()))}async releaseSavepoint(a,b,c){await a.executeQuery(c(h("release savepoint",b),(0,k.a)()))}async releaseConnection(a){a[v]()}async destroy(){return new Promise((a,b)=>{this.#m.end(c=>{c?b(c):a()})})}async #n(){return new Promise((a,b)=>{this.#m.getConnection(async(c,d)=>{c?b(c):a(d)})})}}class x{#i;#o;#p;#q;constructor(a,b){this.#i=a,this.#o=b}async cancelQuery(a){await this.#r(`kill query ${this.#p}`,a)}async collectSessionInfo(){if(this.#p)return;let{threadId:a}=this.#i;if(null!=a)this.#p=a;else{let[{cid:a}]=await this.#s(i.E.raw("select connection_id() as cid"));this.#p=Number(a)}}async executeQuery(a){try{this.#q=a.queryId;let b=await this.#s(a);if(!(0,j.Gv)(b)||!("insertId"in b)||!("affectedRows"in b))return{rows:Array.isArray(b)?b:[]};let{insertId:c,affectedRows:d,changedRows:e}=b;return{insertId:null!=c&&"0"!==c.toString()?BigInt(c):void 0,numAffectedRows:null!=d?BigInt(d):void 0,numChangedRows:null!=e?BigInt(e):void 0,rows:[]}}catch(a){throw u(a,Error())}finally{this.#q=void 0}}async killSession(a){try{this.#i.destroy()}catch{}await this.#r(`kill connection ${this.#p}`,a)}async *streamQuery(a,b){this.#q=a.queryId;let c=this.#i.query(a.sql,a.parameters).stream({objectMode:!0});try{for await(let a of c)yield{rows:[a]}}catch(a){if((0,j.Gv)(a)&&"code"in a&&"ERR_STREAM_PREMATURE_CLOSE"===a.code)return;throw a}finally{this.#q=void 0}}[v](){this.#i.release()}#s(a){return new Promise((b,c)=>{this.#i.query(a.sql,a.parameters,(a,d)=>{a?c(a):b(d)})})}async #r(a,b){if(!this.#q)return;let{config:c}=this.#i,d=this.#q;if(!this.#o||!c)return await b(async b=>{d.queryId===this.#q?.queryId&&await b.executeQuery(i.E.raw(a,[]))});let{clientFlags:e,maxPacketSize:f,...g}=c,h=this.#o(g);try{await new Promise((b,c)=>{h.connect(e=>e?c(e):d.queryId!==this.#q?.queryId?b():void h.query(a,[],a=>{if(a)return c(a);b()}))})}finally{h.destroy()}}}var y=c(88183);let z=/[\\']/g,A=/`/g,B=/[\\'"]/g;class C extends y.n{getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getExplainOptionAssignment(){return"="}getExplainOptionsDelimiter(){return" "}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return A.source}getRightIdentifierWrapper(){return A.source}sanitizeIdentifier(a){return a.replace(A,"``")}sanitizeStringLiteral(a){return a.replace(z,a=>"\\"===a?"\\\\":"''")}sanitizeJSONPathMemberValue(a){return a.replace(B,a=>"\\"===a?"\\\\\\\\":"'"===a?"''":'\\\\"')}visitCreateIndex(a){this.append("create "),a.unique&&this.append("unique "),this.append("index "),a.ifNotExists&&this.append("if not exists "),this.visitNode(a.name),a.using&&(this.append(" using "),this.visitNode(a.using)),a.table&&(this.append(" on "),this.visitNode(a.table)),a.columns&&(this.append(" ("),this.compileList(a.columns),this.append(")")),a.where&&(this.append(" "),this.visitNode(a.where))}}class D{#h;constructor(a){this.#h=a}async getSchemas(){return(await this.#h.selectFrom("information_schema.schemata").select("schema_name").$castTo().execute()).map(a=>({name:a.SCHEMA_NAME}))}async getTables(a={withInternalKyselyTables:!1}){let b=this.#h.selectFrom("information_schema.columns as columns").innerJoin("information_schema.tables as tables",a=>a.onRef("columns.TABLE_CATALOG","=","tables.TABLE_CATALOG").onRef("columns.TABLE_SCHEMA","=","tables.TABLE_SCHEMA").onRef("columns.TABLE_NAME","=","tables.TABLE_NAME")).select(["columns.COLUMN_NAME","columns.COLUMN_DEFAULT","columns.TABLE_NAME","columns.TABLE_SCHEMA","tables.TABLE_TYPE","tables.ENGINE","columns.IS_NULLABLE","columns.DATA_TYPE","columns.EXTRA","columns.COLUMN_COMMENT"]).where("columns.TABLE_SCHEMA","=",(0,q.l)`database()`).orderBy("columns.TABLE_NAME").orderBy("columns.ORDINAL_POSITION").$castTo();a.withInternalKyselyTables||(b=b.where("columns.TABLE_NAME","!=",o).where("columns.TABLE_NAME","!=",p));let c=await b.execute();return this.#t(c)}#t(a){return a.reduce((a,b)=>{let c=a.find(a=>a.name===b.TABLE_NAME);return c||(c=(0,j.CN)({name:b.TABLE_NAME,isView:"VIEW"===b.TABLE_TYPE,isForeign:"FEDERATED"===b.ENGINE,schema:b.TABLE_SCHEMA,columns:[]}),a.push(c)),c.columns.push((0,j.CN)({name:b.COLUMN_NAME,dataType:b.DATA_TYPE,isNullable:"YES"===b.IS_NULLABLE,isAutoIncrementing:b.EXTRA.toLowerCase().includes("auto_increment"),hasDefaultValue:null!==b.COLUMN_DEFAULT,comment:""===b.COLUMN_COMMENT?void 0:b.COLUMN_COMMENT})),a},[])}}var E=c(65946);let F="ea586330-2c93-47c8-908d-981d9d270f9d";class G extends E.l{get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}async acquireMigrationLock(a,b){await (0,q.l)`select get_lock(${q.l.lit(F)}, ${q.l.lit(3600)})`.execute(a)}async releaseMigrationLock(a,b){await (0,q.l)`select release_lock(${q.l.lit(F)})`.execute(a)}}class H{#g;constructor(a){this.#g=a}createDriver(){return new w(this.#g)}createQueryCompiler(){return new C}createAdapter(){return new G}createIntrospector(a){return new D(a)}}let I=Symbol();class J{#g;#l=new WeakMap;#m;constructor(a){this.#g=(0,j.CN)({...a})}async init(a){this.#m=(0,j.Tn)(this.#g.pool)?await this.#g.pool(a):this.#g.pool}async acquireConnection(a){let b=await this.#m.connect(),c=this.#l.get(b);return!c&&(c=new K(b,{controlClient:this.#g.controlClient||this.#m.Client,cursor:this.#g.cursor??null,poolOptions:this.#m.options}),this.#l.set(b,c),this.#g.onCreateConnection&&await this.#g.onCreateConnection(c,a)),this.#g.onReserveConnection&&await this.#g.onReserveConnection(c,a),c}async beginTransaction(a,b){let c="begin";(b.isolationLevel||b.accessMode)&&(c="start transaction",b.isolationLevel&&(c+=` isolation level ${b.isolationLevel}`),b.accessMode&&(c+=` ${b.accessMode}`)),await a.executeQuery(i.E.raw(c))}async commitTransaction(a){await a.executeQuery(i.E.raw("commit"))}async rollbackTransaction(a){await a.executeQuery(i.E.raw("rollback"))}async savepoint(a,b,c){await a.executeQuery(c(h("savepoint",b),(0,k.a)()))}async rollbackToSavepoint(a,b,c){await a.executeQuery(c(h("rollback to",b),(0,k.a)()))}async releaseSavepoint(a,b,c){await a.executeQuery(c(h("release",b),(0,k.a)()))}async releaseConnection(a){a[I]()}async destroy(){if(this.#m){let a=this.#m;this.#m=void 0,await a.end()}}}class K{#u;#v;#q;#w;constructor(a,b){this.#u=a,this.#v=b}async cancelQuery(a){return await this.#r(`select pg_cancel_backend(${this.#w})`,a)}async collectSessionInfo(){if(this.#w)return;let{processID:a}=this.#u;if(a)this.#w=a;else{let{rows:[{pid:a}]}=await this.#u.query("select pg_backend_pid() as pid",[]);this.#w=Number(a)}}async executeQuery(a){try{this.#q=a.queryId;let{command:b,rowCount:c,rows:d}=await this.#u.query(a.sql,a.parameters);return{numAffectedRows:"INSERT"===b||"UPDATE"===b||"DELETE"===b||"MERGE"===b?BigInt(c):void 0,rows:d??[]}}catch(a){throw u(a,Error())}finally{this.#q=void 0}}async killSession(a){return await this.#r(`select pg_terminate_backend(${this.#w})`,a)}async *streamQuery(a,b){if(!this.#v.cursor)throw Error("`cursor` is not present in your postgres dialect config. It's required to make streaming work in postgres.");this.#q=a.queryId;let c=this.#u.query(new this.#v.cursor(a.sql,a.parameters.slice()));try{for(;;){let a=await c.read(b);if(0===a.length)break;yield{rows:a}}}finally{await c.close(),this.#q=void 0}}[I](){this.#u.release()}async #r(a,b){if(!this.#q)return;let{controlClient:c,poolOptions:d}=this.#v,e=this.#q;if(!c)return await b(async b=>{e.queryId===this.#q?.queryId&&await b.executeQuery(i.E.raw(a,[]))});let f=new c({...d});try{if(await f.connect(),e.queryId!==this.#q.queryId)return;await f.query(a,[])}finally{f.end()}}}class L{#h;constructor(a){this.#h=a}async getSchemas(){return(await this.#h.selectFrom("pg_catalog.pg_namespace").select("nspname").$castTo().execute()).map(a=>({name:a.nspname}))}async getTables(a={withInternalKyselyTables:!1}){let b=this.#h.selectFrom("pg_catalog.pg_attribute as a").innerJoin("pg_catalog.pg_class as c","a.attrelid","c.oid").innerJoin("pg_catalog.pg_namespace as ns","c.relnamespace","ns.oid").innerJoin("pg_catalog.pg_type as typ","a.atttypid","typ.oid").innerJoin("pg_catalog.pg_namespace as dtns","typ.typnamespace","dtns.oid").select(["a.attname as column","a.attnotnull as not_null","a.atthasdef as has_default","c.relname as table","c.relkind as table_type","ns.nspname as schema","typ.typname as type","dtns.nspname as type_schema",(0,q.l)`col_description(a.attrelid, a.attnum)`.as("column_description"),(0,q.l)`pg_get_serial_sequence(quote_ident(ns.nspname) || '.' || quote_ident(c.relname), a.attname)`.as("auto_incrementing")]).where("c.relkind","in",["r","v","p","f"]).where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema").where("ns.nspname","!=","crdb_internal").where((0,q.l)`has_schema_privilege(ns.nspname, 'USAGE')`).where("a.attnum",">=",0).where("a.attisdropped","!=",!0).orderBy("ns.nspname").orderBy("c.relname").orderBy("a.attnum").$castTo();a.withInternalKyselyTables||(b=b.where("c.relname","!=",o).where("c.relname","!=",p));let c=await b.execute();return this.#t(c)}#t(a){let b=[],c=new Map;for(let d of a){let a=c.get(d.schema);a||(a=new Map,c.set(d.schema,a));let e=a.get(d.table);e||(e=(0,j.CN)({columns:[],isForeign:"f"===d.table_type,isView:"v"===d.table_type,name:d.table,schema:d.schema}),a.set(d.table,e),b.push(e)),e.columns.push((0,j.CN)({comment:d.column_description??void 0,dataType:d.type,dataTypeSchema:d.type_schema,hasDefaultValue:d.has_default,isAutoIncrementing:null!==d.auto_incrementing,isNullable:!d.not_null,name:d.column}))}return b}}let M=/"/g;class N extends y.n{sanitizeIdentifier(a){return a.replace(M,'""')}}let O=BigInt("3853314791062309107");class P extends E.l{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(a,b){await (0,q.l)`select pg_advisory_xact_lock(${q.l.lit(O)})`.execute(a)}async releaseMigrationLock(a,b){}}class Q{#g;constructor(a){this.#g=a}createDriver(){return new J(this.#g)}createQueryCompiler(){return new N}createAdapter(){return new P}createIntrospector(a){return new L(a)}}class R extends E.l{get supportsCreateIfNotExists(){return!1}get supportsTransactionalDdl(){return!0}get supportsOutput(){return!0}async acquireMigrationLock(a){await (0,q.l)`exec sp_getapplock @DbPrincipal = ${q.l.lit("dbo")}, @Resource = ${q.l.lit(o)}, @LockMode = ${q.l.lit("Exclusive")}`.execute(a)}async releaseMigrationLock(){}}var S=c(56181),T=c(11033);let U=Symbol(),V=Symbol(),W=Symbol();class X{#g;#m;constructor(a){this.#g=(0,j.CN)({...a});const{tarn:b,tedious:c,validateConnections:d}=this.#g;this.#m=new b.Pool({...b.options,create:async()=>{let a=await c.connectionFactory();return await new Y(a,c).connect()},destroy:async a=>{await a[V]()},validate:!1===d?void 0:a=>a[W]()})}async init(){}async acquireConnection(){return await this.#m.acquire().promise}async beginTransaction(a,b){await a.beginTransaction(b)}async commitTransaction(a){await a.commitTransaction()}async rollbackTransaction(a){await a.rollbackTransaction()}async savepoint(a,b){await a.savepoint(b)}async rollbackToSavepoint(a,b){await a.rollbackTransaction(b)}async releaseConnection(a){this.#g.resetConnectionsOnRelease&&await a[U](),this.#m.release(a)}async destroy(){await this.#m.destroy()}}class Y{#i;#x;#y;#z;constructor(a,b){this.#i=a,this.#x=!1,this.#y=b}async beginTransaction(a){let{isolationLevel:b}=a;await new Promise((a,c)=>this.#i.beginTransaction(b=>{b?c(b):a(void 0)},b?(0,S.D)(8):void 0,b?this.#A(b):void 0))}async cancelQuery(){if(this.#z)return new Promise(a=>{this.#z?.request.once("requestCompleted",a),this.#i.cancel()||(this.#z?.request.off("requestCompleted",a),a())})}async commitTransaction(){await new Promise((a,b)=>this.#i.commitTransaction(c=>{c?b(c):a(void 0)}))}async connect(){let{promise:a,reject:b,resolve:c}=new T.c;function d(){b(Error("The connection ended without ever completing the connection"))}return this.#i.connect(a=>{if(a)return b(a);c()}),this.#i.on("error",a=>{a instanceof Error&&"code"in a&&"ESOCKET"===a.code&&(this.#x=!0),console.error(a),b(a)}),this.#i.once("end",d),await a,this.#i.off("end",d),this}async executeQuery(a){try{let b=new T.c;this.#z=new Z({compiledQuery:a,tedious:this.#y,onDone:b}),this.#i.execSql(this.#z.request);let{rowCount:c,rows:d}=await b.promise;return{numAffectedRows:void 0!==c?BigInt(c):void 0,rows:d}}catch(a){throw u(a,Error())}finally{this.#z=void 0}}async rollbackTransaction(a){await new Promise((b,c)=>this.#i.rollbackTransaction(a=>{a?c(a):b(void 0)},a))}async savepoint(a){await new Promise((b,c)=>this.#i.saveTransaction(a=>{a?c(a):b(void 0)},a))}async *streamQuery(a,b){this.#z=new Z({compiledQuery:a,streamChunkSize:b,tedious:this.#y}),this.#i.execSql(this.#z.request);try{for(;;){let a=await this.#z.readChunk();if(0===a.length||(yield{rows:a},a.length<b))break}}finally{await this.cancelQuery(),this.#z=void 0}}#A(a){let{ISOLATION_LEVEL:b}=this.#y,c={"read committed":b.READ_COMMITTED,"read uncommitted":b.READ_UNCOMMITTED,"repeatable read":b.REPEATABLE_READ,serializable:b.SERIALIZABLE,snapshot:b.SNAPSHOT}[a];if(void 0===c)throw Error(`Unknown isolation level: ${a}`);return c}[V](){return"closed"in this.#i&&this.#i.closed?Promise.resolve():new Promise(a=>{this.#i.once("end",a),this.#i.close()})}async [U](){await new Promise((a,b)=>{this.#i.reset(c=>{if(c)return b(c);a()})})}async [W](){if(this.#x||this.#B())return!1;try{let a=new T.c,b=new Z({compiledQuery:i.E.raw("select 1"),onDone:a,tedious:this.#y});return this.#i.execSql(b.request),await a.promise,!0}catch{return!1}}#B(){return"closed"in this.#i&&!!this.#i.closed}}class Z{#C;#D;#E;#F;#y;#G;constructor(a){const{compiledQuery:b,onDone:c,streamChunkSize:d,tedious:e}=a;if(this.#D=[],this.#E=d,this.#F={},this.#y=e,c){const a="onDone";this.#F[a]=(b,d)=>{if("chunkReady"!==b){if(delete this.#F[a],"error"===b)return c.reject(d);c.resolve({rowCount:this.#G,rows:this.#D})}}}this.#C=new this.#y.Request(b.sql,(a,b)=>{if(a)return Object.values(this.#F).forEach(b=>b("error",a instanceof AggregateError?a.errors:a));this.#G=b}),this.#H(b.parameters),this.#I()}get request(){return this.#C}readChunk(){let a=this.readChunk.name;return new Promise((b,c)=>{this.#F[a]=(d,e)=>{if(delete this.#F[a],"error"===d)return c(e);b(this.#D.splice(0,this.#E))},this.#C.resume()})}#H(a){for(let b=0;b<a.length;b++){let c=a[b];this.#C.addParameter(String(b+1),this.#J(c),c)}}#I(){let a=this.#E?()=>{this.#E<=this.#D.length&&(this.#C.pause(),Object.values(this.#F).forEach(a=>a("chunkReady")))}:()=>{},b=b=>{let c={};for(let a of b)c[a.metadata.colName]=a.value;this.#D.push(c),a()};this.#C.on("row",b),this.#C.once("requestCompleted",()=>{Object.values(this.#F).forEach(a=>a("completed")),this.#C.off("row",b)})}#J(a){if((0,j.kZ)(a)||(0,j.b0)(a)||(0,j.Kg)(a))return this.#y.TYPES.NVarChar;if((0,j.sI)(a)||(0,j.Et)(a)&&a%1==0)if(a<-0x80000000||a>0x7fffffff)return this.#y.TYPES.BigInt;else return this.#y.TYPES.Int;return(0,j.Et)(a)?this.#y.TYPES.Float:(0,j.Lm)(a)?this.#y.TYPES.Bit:(0,j.$P)(a)?this.#y.TYPES.DateTime:(0,j.Pe)(a)?this.#y.TYPES.VarBinary:this.#y.TYPES.NVarChar}}class ${#h;constructor(a){this.#h=a}async getSchemas(){return await this.#h.selectFrom("sys.schemas").select("name").execute()}async getTables(a={withInternalKyselyTables:!1}){let b=await this.#h.selectFrom("sys.tables as tables").leftJoin("sys.schemas as table_schemas","table_schemas.schema_id","tables.schema_id").innerJoin("sys.columns as columns","columns.object_id","tables.object_id").innerJoin("sys.types as types","types.user_type_id","columns.user_type_id").leftJoin("sys.schemas as type_schemas","type_schemas.schema_id","types.schema_id").leftJoin("sys.extended_properties as comments",a=>a.onRef("comments.major_id","=","tables.object_id").onRef("comments.minor_id","=","columns.column_id").on("comments.name","=","MS_Description")).$if(!a.withInternalKyselyTables,a=>a.where("tables.name","!=",o).where("tables.name","!=",p)).select(["tables.name as table_name",a=>a.ref("tables.type").$castTo().as("table_type"),"table_schemas.name as table_schema_name","columns.default_object_id as column_default_object_id","columns.generated_always_type_desc as column_generated_always_type","columns.is_computed as column_is_computed","columns.is_identity as column_is_identity","columns.is_nullable as column_is_nullable","columns.is_rowguidcol as column_is_rowguidcol","columns.name as column_name","types.is_nullable as type_is_nullable","types.name as type_name","type_schemas.name as type_schema_name","comments.value as column_comment"]).unionAll(this.#h.selectFrom("sys.views as views").leftJoin("sys.schemas as view_schemas","view_schemas.schema_id","views.schema_id").innerJoin("sys.columns as columns","columns.object_id","views.object_id").innerJoin("sys.types as types","types.user_type_id","columns.user_type_id").leftJoin("sys.schemas as type_schemas","type_schemas.schema_id","types.schema_id").leftJoin("sys.extended_properties as comments",a=>a.onRef("comments.major_id","=","views.object_id").onRef("comments.minor_id","=","columns.column_id").on("comments.name","=","MS_Description")).select(["views.name as table_name","views.type as table_type","view_schemas.name as table_schema_name","columns.default_object_id as column_default_object_id","columns.generated_always_type_desc as column_generated_always_type","columns.is_computed as column_is_computed","columns.is_identity as column_is_identity","columns.is_nullable as column_is_nullable","columns.is_rowguidcol as column_is_rowguidcol","columns.name as column_name","types.is_nullable as type_is_nullable","types.name as type_name","type_schemas.name as type_schema_name","comments.value as column_comment"])).orderBy("table_schema_name").orderBy("table_name").orderBy("column_name").execute(),c={};for(let a of b){let b=`${a.table_schema_name}.${a.table_name}`;(c[b]=c[b]||(0,j.CN)({columns:[],isForeign:!1,isView:"V "===a.table_type,name:a.table_name,schema:a.table_schema_name??void 0})).columns.push((0,j.CN)({dataType:a.type_name,dataTypeSchema:a.type_schema_name??void 0,hasDefaultValue:a.column_default_object_id>0||"NOT_APPLICABLE"!==a.column_generated_always_type||a.column_is_identity||a.column_is_computed||a.column_is_rowguidcol,isAutoIncrementing:a.column_is_identity,isNullable:a.column_is_nullable&&a.type_is_nullable,name:a.column_name,comment:a.column_comment??void 0}))}return Object.values(c)}}let _=/^[a-z0-9_]$/i;class aa extends y.n{getCurrentParameterPlaceholder(){return`@${this.numParameters}`}visitOffset(a){super.visitOffset(a),this.append(" rows")}compileColumnAlterations(a){let b={};for(let c of a)b[c.kind]||(b[c.kind]=[]),b[c.kind].push(c);let c=!0;b.AddColumnNode&&(this.append("add "),this.compileList(b.AddColumnNode),c=!1),b.AlterColumnNode&&(c||this.append(", "),this.compileList(b.AlterColumnNode)),b.DropColumnNode&&(c||this.append(", "),this.append("drop "),this.compileList(b.DropColumnNode),c=!1),b.ModifyColumnNode&&(c||this.append(", "),this.compileList(b.ModifyColumnNode)),b.RenameColumnNode&&(c||this.append(", "),this.compileList(b.RenameColumnNode))}visitAddColumn(a){this.visitNode(a.column)}visitDropColumn(a){this.append("column "),a.ifExists&&this.append("if exists "),this.visitNode(a.column)}visitMergeQuery(a){super.visitMergeQuery(a),this.append(";")}visitCollate(a){this.append("collate ");let{name:b}=a.collation;for(let a of b)if(!_.test(a))throw Error(`Invalid collation: ${b}`);this.append(b)}announcesNewColumnDataType(){return!1}}class ab{#g;constructor(a){this.#g=a}createDriver(){return new X(this.#g)}createQueryCompiler(){return new aa}createAdapter(){return new R}createIntrospector(a){return new $(a)}}let ac=(0,j.CN)({is:a=>"AlterTableNode"===a.kind,create:a=>(0,j.CN)({kind:"AlterTableNode",table:a}),cloneWithTableProps:(a,b)=>(0,j.CN)({...a,...b}),cloneWithColumnAlteration:(a,b)=>(0,j.CN)({...a,columnAlterations:a.columnAlterations?[...a.columnAlterations,b]:[b]})}),ad=(0,j.CN)({is:a=>"CreateIndexNode"===a.kind,create:a=>(0,j.CN)({kind:"CreateIndexNode",name:f.O.create(a)}),cloneWith:(a,b)=>(0,j.CN)({...a,...b}),cloneWithColumns:(a,b)=>(0,j.CN)({...a,columns:[...a.columns||[],...b]})}),ae=(0,j.CN)({is:a=>"CreateSchemaNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"CreateSchemaNode",schema:f.O.create(a),...b}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})});var af=c(18304),ag=c(40417);let ah=(0,j.CN)({is:a=>"DropIndexNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"DropIndexNode",name:ag.y.create(a),...b}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),ai=(0,j.CN)({is:a=>"DropSchemaNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"DropSchemaNode",schema:f.O.create(a),...b}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),aj=(0,j.CN)({is:a=>"DropTableNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"DropTableNode",table:a,...b}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})});var ak=c(4319);let al=(0,j.CN)({is:a=>"AddColumnNode"===a.kind,create:a=>(0,j.CN)({kind:"AddColumnNode",column:a})});var am=c(45055);let an=(0,j.CN)({is:a=>"ColumnDefinitionNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"ColumnDefinitionNode",column:am.Z.create(a),dataType:b}),cloneWithFrontModifier:(a,b)=>(0,j.CN)({...a,frontModifiers:a.frontModifiers?(0,j.CN)([...a.frontModifiers,b]):[b]}),cloneWithEndModifier:(a,b)=>(0,j.CN)({...a,endModifiers:a.endModifiers?(0,j.CN)([...a.endModifiers,b]):[b]}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),ao=(0,j.CN)({is:a=>"DropColumnNode"===a.kind,create:a=>(0,j.CN)({kind:"DropColumnNode",column:am.Z.create(a)}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),ap=(0,j.CN)({is:a=>"RenameColumnNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"RenameColumnNode",column:am.Z.create(a),renameTo:am.Z.create(b)})}),aq=(0,j.CN)({is:a=>"CheckConstraintNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"CheckConstraintNode",expression:a,name:b?f.O.create(b):void 0})}),ar=(0,j.CN)({cascade:!0,"no action":!0,restrict:!0,"set default":!0,"set null":!0});Object.keys(ar);let as=(0,j.CN)({is:a=>"ReferencesNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"ReferencesNode",table:a,columns:(0,j.CN)([...b])}),cloneWithOnDelete:(a,b)=>(0,j.CN)({...a,onDelete:b}),cloneWithOnUpdate:(a,b)=>(0,j.CN)({...a,onUpdate:b})});var at=c(56223),au=c(15542),av=c(4362),aw=c(99988);function ax(a){return(0,av.N)(a)?a.toOperationNode():aw.q.createImmediate(a)}let ay=(0,j.CN)({is:a=>"GeneratedNode"===a.kind,create:a=>(0,j.CN)({kind:"GeneratedNode",...a}),createWithExpression:a=>(0,j.CN)({kind:"GeneratedNode",always:!0,expression:a}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),az=(0,j.CN)({is:a=>"DefaultValueNode"===a.kind,create:a=>(0,j.CN)({kind:"DefaultValueNode",defaultValue:a})});function aA(a){if((0,j.Kg)(a)&&ar[a])return a;throw Error(`invalid OnModifyForeignAction ${a}`)}class aB{#K;constructor(a){this.#K=a}autoIncrement(){return new aB(an.cloneWith(this.#K,{autoIncrement:!0}))}identity(){return new aB(an.cloneWith(this.#K,{identity:!0}))}primaryKey(){return new aB(an.cloneWith(this.#K,{primaryKey:!0}))}references(a){let b=(0,au.q5)(a);if(!b.table||at.U.is(b.column))throw Error(`invalid call references('${a}'). The reference must have format table.column or schema.table.column`);return new aB(an.cloneWith(this.#K,{references:as.create(b.table,[b.column])}))}onDelete(a){if(!this.#K.references)throw Error("on delete constraint can only be added for foreign keys");return new aB(an.cloneWith(this.#K,{references:as.cloneWithOnDelete(this.#K.references,aA(a))}))}onUpdate(a){if(!this.#K.references)throw Error("on update constraint can only be added for foreign keys");return new aB(an.cloneWith(this.#K,{references:as.cloneWithOnUpdate(this.#K.references,aA(a))}))}unique(){return new aB(an.cloneWith(this.#K,{unique:!0}))}notNull(){return new aB(an.cloneWith(this.#K,{notNull:!0}))}unsigned(){return new aB(an.cloneWith(this.#K,{unsigned:!0}))}defaultTo(a){return new aB(an.cloneWith(this.#K,{defaultTo:az.create(ax(a))}))}check(a){return new aB(an.cloneWith(this.#K,{check:aq.create(a.toOperationNode())}))}generatedAlwaysAs(a){return new aB(an.cloneWith(this.#K,{generated:ay.createWithExpression(a.toOperationNode())}))}generatedAlwaysAsIdentity(){return new aB(an.cloneWith(this.#K,{generated:ay.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new aB(an.cloneWith(this.#K,{generated:ay.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#K.generated)throw Error("stored() can only be called after generatedAlwaysAs");return new aB(an.cloneWith(this.#K,{generated:ay.cloneWith(this.#K.generated,{stored:!0})}))}modifyFront(a){return new aB(an.cloneWithFrontModifier(this.#K,a.toOperationNode()))}nullsNotDistinct(){return new aB(an.cloneWith(this.#K,{nullsNotDistinct:!0}))}ifNotExists(){return new aB(an.cloneWith(this.#K,{ifNotExists:!0}))}modifyEnd(a){return new aB(an.cloneWithEndModifier(this.#K,a.toOperationNode()))}$call(a){return a(this)}toOperationNode(){return this.#K}}let aC=(0,j.CN)({is:a=>"ModifyColumnNode"===a.kind,create:a=>(0,j.CN)({kind:"ModifyColumnNode",column:a})});var aD=c(23759);let aE=(0,j.CN)({is:a=>"ForeignKeyConstraintNode"===a.kind,create:(a,b,c,d)=>(0,j.CN)({kind:"ForeignKeyConstraintNode",columns:a,references:as.create(b,c),name:d?f.O.create(d):void 0}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})});class aF{#K;constructor(a){this.#K=a}onDelete(a){return new aF(aE.cloneWith(this.#K,{onDelete:aA(a)}))}onUpdate(a){return new aF(aE.cloneWith(this.#K,{onUpdate:aA(a)}))}deferrable(){return new aF(aE.cloneWith(this.#K,{deferrable:!0}))}notDeferrable(){return new aF(aE.cloneWith(this.#K,{deferrable:!1}))}initiallyDeferred(){return new aF(aE.cloneWith(this.#K,{initiallyDeferred:!0}))}initiallyImmediate(){return new aF(aE.cloneWith(this.#K,{initiallyDeferred:!1}))}$call(a){return a(this)}toOperationNode(){return this.#K}}let aG=(0,j.CN)({is:a=>"AddConstraintNode"===a.kind,create:a=>(0,j.CN)({kind:"AddConstraintNode",constraint:a})});var aH=c(10168);let aI=(0,j.CN)({is:a=>"UniqueConstraintNode"===a.kind,create:(a,b,c)=>((0,j.Kg)(a.at(0))&&((0,aH.u)("`UniqueConstraintNode.create(columns: string[], ...)` is deprecated - pass `ColumnNode[]` instead."),a=a.map(am.Z.create)),(0,j.CN)({kind:"UniqueConstraintNode",columns:(0,j.CN)(a),name:b?f.O.create(b):void 0,nullsNotDistinct:c})),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),aJ=(0,j.CN)({is:a=>"DropConstraintNode"===a.kind,create:a=>(0,j.CN)({kind:"DropConstraintNode",constraintName:f.O.create(a)}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),aK=(0,j.CN)({is:a=>"AlterColumnNode"===a.kind,create:(a,b,c)=>(0,j.CN)({kind:"AlterColumnNode",column:am.Z.create(a),[b]:c})});class aL{#L;constructor(a){this.#L=a}setDataType(a){return new aM(aK.create(this.#L,"dataType",(0,aD.Q)(a)))}setDefault(a){return new aM(aK.create(this.#L,"setDefault",ax(a)))}dropDefault(){return new aM(aK.create(this.#L,"dropDefault",!0))}setNotNull(){return new aM(aK.create(this.#L,"setNotNull",!0))}dropNotNull(){return new aM(aK.create(this.#L,"dropNotNull",!0))}$call(a){return a(this)}}class aM{#M;constructor(a){this.#M=a}toOperationNode(){return this.#M}}class aN{#N;constructor(a){this.#N=(0,j.CN)(a)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class aO{#N;constructor(a){this.#N=(0,j.CN)(a)}onDelete(a){return new aO({...this.#N,constraintBuilder:this.#N.constraintBuilder.onDelete(a)})}onUpdate(a){return new aO({...this.#N,constraintBuilder:this.#N.constraintBuilder.onUpdate(a)})}deferrable(){return new aO({...this.#N,constraintBuilder:this.#N.constraintBuilder.deferrable()})}notDeferrable(){return new aO({...this.#N,constraintBuilder:this.#N.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new aO({...this.#N,constraintBuilder:this.#N.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new aO({...this.#N,constraintBuilder:this.#N.constraintBuilder.initiallyImmediate()})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(ac.cloneWithTableProps(this.#N.node,{addConstraint:aG.create(this.#N.constraintBuilder.toOperationNode())}),this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class aP{#N;constructor(a){this.#N=(0,j.CN)(a)}ifExists(){return new aP({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{dropConstraint:aJ.cloneWith(this.#N.node.dropConstraint,{ifExists:!0})})})}cascade(){return new aP({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{dropConstraint:aJ.cloneWith(this.#N.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new aP({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{dropConstraint:aJ.cloneWith(this.#N.node.dropConstraint,{modifier:"restrict"})})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}let aQ=(0,j.CN)({is:a=>"PrimaryKeyConstraintNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"PrimaryKeyConstraintNode",columns:(0,j.CN)(a.map(am.Z.create)),name:b?f.O.create(b):void 0}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),aR=(0,j.CN)({is:a=>"AddIndexNode"===a.kind,create:a=>(0,j.CN)({kind:"AddIndexNode",name:f.O.create(a)}),cloneWith:(a,b)=>(0,j.CN)({...a,...b}),cloneWithColumns:(a,b)=>(0,j.CN)({...a,columns:[...a.columns||[],...b]})});class aS{#N;constructor(a){this.#N=(0,j.CN)(a)}unique(){return new aS({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addIndex:aR.cloneWith(this.#N.node.addIndex,{unique:!0})})})}column(a){return new aS({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addIndex:aR.cloneWithColumns(this.#N.node.addIndex,[(0,j.Kg)(a)?(0,au.Ow)(a):a.toOperationNode()])})})}columns(a){return new aS({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addIndex:aR.cloneWithColumns(this.#N.node.addIndex,a.map(a=>(0,j.Kg)(a)?(0,au.Ow)(a):a.toOperationNode()))})})}expression(a){return new aS({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addIndex:aR.cloneWithColumns(this.#N.node.addIndex,[a.toOperationNode()])})})}using(a){return new aS({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addIndex:aR.cloneWith(this.#N.node.addIndex,{using:g.z.createWithSql(a)})})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class aT{#K;constructor(a){this.#K=a}nullsNotDistinct(){return new aT(aI.cloneWith(this.#K,{nullsNotDistinct:!0}))}deferrable(){return new aT(aI.cloneWith(this.#K,{deferrable:!0}))}notDeferrable(){return new aT(aI.cloneWith(this.#K,{deferrable:!1}))}initiallyDeferred(){return new aT(aI.cloneWith(this.#K,{initiallyDeferred:!0}))}initiallyImmediate(){return new aT(aI.cloneWith(this.#K,{initiallyDeferred:!1}))}$call(a){return a(this)}toOperationNode(){return this.#K}}class aU{#K;constructor(a){this.#K=a}deferrable(){return new aU(aQ.cloneWith(this.#K,{deferrable:!0}))}notDeferrable(){return new aU(aQ.cloneWith(this.#K,{deferrable:!1}))}initiallyDeferred(){return new aU(aQ.cloneWith(this.#K,{initiallyDeferred:!0}))}initiallyImmediate(){return new aU(aQ.cloneWith(this.#K,{initiallyDeferred:!1}))}$call(a){return a(this)}toOperationNode(){return this.#K}}class aV{#K;constructor(a){this.#K=a}$call(a){return a(this)}toOperationNode(){return this.#K}}let aW=(0,j.CN)({is:a=>"RenameConstraintNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"RenameConstraintNode",oldName:f.O.create(a),newName:f.O.create(b)})});var aX=c(67859);class aY{#N;constructor(a){this.#N=(0,j.CN)({...a})}ifExists(){return new aY({...this.#N,node:ao.cloneWith(this.#N.node,{ifExists:!0})})}toOperationNode(){return this.#N.node}}class aZ{#N;constructor(a){this.#N=(0,j.CN)(a)}renameTo(a){return new aN({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{renameTo:(0,ak.M$)(a)})})}setSchema(a){return new aN({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{setSchema:f.O.create(a)})})}alterColumn(a,b){let c=b(new aL(a));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,c.toOperationNode())})}dropColumn(a,b=j.lQ){let c=b(new aY({node:ao.create(a)}));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,c.toOperationNode())})}renameColumn(a,b){return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,ap.create(a,b))})}addColumn(a,b,c=j.lQ){let d=c(new aB(an.create(a,(0,aD.Q)(b))));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,al.create(d.toOperationNode()))})}modifyColumn(a,b,c=j.lQ){let d=c(new aB(an.create(a,(0,aD.Q)(b))));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,aC.create(d.toOperationNode()))})}addUniqueConstraint(a,b,c=j.lQ){let d=c(new aT(aI.create(b.map(a=>(0,j.Kg)(a)?am.Z.create(a):(0,aX.YK)(a)),a)));return new aN({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addConstraint:aG.create(d.toOperationNode())})})}addCheckConstraint(a,b,c=j.lQ){let d=c(new aV(aq.create(b.toOperationNode(),a)));return new aN({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addConstraint:aG.create(d.toOperationNode())})})}addForeignKeyConstraint(a,b,c,d,e=j.lQ){let f=e(new aF(aE.create(b.map(am.Z.create),(0,ak.M$)(c),d.map(am.Z.create),a)));return new aO({...this.#N,constraintBuilder:f})}addPrimaryKeyConstraint(a,b,c=j.lQ){let d=c(new aU(aQ.create(b,a)));return new aN({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addConstraint:aG.create(d.toOperationNode())})})}dropConstraint(a){return new aP({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{dropConstraint:aJ.create(a)})})}renameConstraint(a,b){return new aP({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{renameConstraint:aW.create(a,b)})})}addIndex(a){return new aS({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{addIndex:aR.create(a)})})}dropIndex(a){return new aN({...this.#N,node:ac.cloneWithTableProps(this.#N.node,{dropIndex:ah.create(a)})})}$call(a){return a(this)}}class a${#N;constructor(a){this.#N=(0,j.CN)(a)}alterColumn(a,b){let c=b(new aL(a));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,c.toOperationNode())})}dropColumn(a,b=j.lQ){let c=b(new aY({node:ao.create(a)}));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,c.toOperationNode())})}renameColumn(a,b){return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,ap.create(a,b))})}addColumn(a,b,c=j.lQ){let d=c(new aB(an.create(a,(0,aD.Q)(b))));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,al.create(d.toOperationNode()))})}modifyColumn(a,b,c=j.lQ){let d=c(new aB(an.create(a,(0,aD.Q)(b))));return new a$({...this.#N,node:ac.cloneWithColumnAlteration(this.#N.node,aC.create(d.toOperationNode()))})}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}var a_=c(72104),a0=c(36022),a1=c(17130),a2=c(13281);class a3 extends a1.V{transformPrimitiveValueList(a){return a2.s.create(a.values.map(aw.q.createImmediate))}transformValue(a){return aw.q.createImmediate(a.value)}}class a4{#N;constructor(a){this.#N=(0,j.CN)(a)}ifNotExists(){return new a4({...this.#N,node:ad.cloneWith(this.#N.node,{ifNotExists:!0})})}unique(){return new a4({...this.#N,node:ad.cloneWith(this.#N.node,{unique:!0})})}nullsNotDistinct(){return new a4({...this.#N,node:ad.cloneWith(this.#N.node,{nullsNotDistinct:!0})})}on(a){return new a4({...this.#N,node:ad.cloneWith(this.#N.node,{table:(0,ak.M$)(a)})})}column(a){return new a4({...this.#N,node:ad.cloneWithColumns(this.#N.node,[(0,j.Kg)(a)?(0,au.Ow)(a):a.toOperationNode()])})}columns(a){return new a4({...this.#N,node:ad.cloneWithColumns(this.#N.node,a.map(a=>(0,j.Kg)(a)?(0,au.Ow)(a):a.toOperationNode()))})}expression(a){return new a4({...this.#N,node:ad.cloneWithColumns(this.#N.node,[a.toOperationNode()])})}using(a){return new a4({...this.#N,node:ad.cloneWith(this.#N.node,{using:g.z.createWithSql(a)})})}where(...a){let b=new a3;return new a4({...this.#N,node:a0.L.cloneWithWhere(this.#N.node,b.transformNode((0,a_.GB)(a),this.#N.queryId))})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class a5{#N;constructor(a){this.#N=(0,j.CN)(a)}ifNotExists(){return new a5({...this.#N,node:ae.cloneWith(this.#N.node,{ifNotExists:!0})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class a6{#K;constructor(a){this.#K=a}using(a){return new a6(aR.cloneWith(this.#K,{using:g.z.createWithSql(a)}))}$call(a){return a(this)}toOperationNode(){return this.#K}}class a7{#N;constructor(a){this.#N=(0,j.CN)(a)}temporary(){return new a7({...this.#N,node:af.B.cloneWith(this.#N.node,{temporary:!0})})}onCommit(a){return new a7({...this.#N,node:af.B.cloneWith(this.#N.node,{onCommit:function(a){if(af.o.includes(a))return a;throw Error(`invalid OnCommitAction ${a}`)}(a)})})}ifNotExists(){return new a7({...this.#N,node:af.B.cloneWith(this.#N.node,{ifNotExists:!0})})}addColumn(a,b,c=j.lQ){let d=c(new aB(an.create(a,(0,aD.Q)(b))));return new a7({...this.#N,node:af.B.cloneWithColumn(this.#N.node,d.toOperationNode())})}addPrimaryKeyConstraint(a,b,c=j.lQ){let d=c(new aU(aQ.create(b,a)));return new a7({...this.#N,node:af.B.cloneWithConstraint(this.#N.node,d.toOperationNode())})}addUniqueConstraint(a,b,c=j.lQ){let d=c(new aT(aI.create(b.map(a=>(0,j.Kg)(a)?am.Z.create(a):(0,aX.YK)(a)),a)));return new a7({...this.#N,node:af.B.cloneWithConstraint(this.#N.node,d.toOperationNode())})}addIndex(a,b,c=j.lQ){let d=c(new a6(aR.cloneWithColumns(aR.create(a),b.map(a=>(0,j.Kg)(a)?am.Z.create(a):(0,aX.YK)(a)))));return new a7({...this.#N,node:af.B.cloneWithIndex(this.#N.node,d.toOperationNode())})}addCheckConstraint(a,b,c=j.lQ){let d=c(new aV(aq.create(b.toOperationNode(),a)));return new a7({...this.#N,node:af.B.cloneWithConstraint(this.#N.node,d.toOperationNode())})}addForeignKeyConstraint(a,b,c,d,e=j.lQ){let f=e(new aF(aE.create(b.map(am.Z.create),(0,ak.M$)(c),d.map(am.Z.create),a)));return new a7({...this.#N,node:af.B.cloneWithConstraint(this.#N.node,f.toOperationNode())})}modifyFront(a){return new a7({...this.#N,node:af.B.cloneWithFrontModifier(this.#N.node,a.toOperationNode())})}modifyEnd(a){return new a7({...this.#N,node:af.B.cloneWithEndModifier(this.#N.node,a.toOperationNode())})}as(a){return new a7({...this.#N,node:af.B.cloneWith(this.#N.node,{selectQuery:(0,aX.YK)(a)})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class a8{#N;constructor(a){this.#N=(0,j.CN)(a)}on(a){return new a8({...this.#N,node:ah.cloneWith(this.#N.node,{table:(0,ak.M$)(a)})})}ifExists(){return new a8({...this.#N,node:ah.cloneWith(this.#N.node,{ifExists:!0})})}cascade(){return new a8({...this.#N,node:ah.cloneWith(this.#N.node,{cascade:!0})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class a9{#N;constructor(a){this.#N=(0,j.CN)(a)}ifExists(){return new a9({...this.#N,node:ai.cloneWith(this.#N.node,{ifExists:!0})})}cascade(){return new a9({...this.#N,node:ai.cloneWith(this.#N.node,{cascade:!0})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}class ba{#N;constructor(a){this.#N=(0,j.CN)(a)}temporary(){return new ba({...this.#N,node:aj.cloneWith(this.#N.node,{temporary:!0})})}ifExists(){return new ba({...this.#N,node:aj.cloneWith(this.#N.node,{ifExists:!0})})}cascade(){return new ba({...this.#N,node:aj.cloneWith(this.#N.node,{cascade:!0})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}var bb=c(56621),bc=c(95019);class bd{#O=new a3;transformQuery(a){return this.#O.transformNode(a.node,a.queryId)}transformResult(a){return Promise.resolve(a.result)}}class be{#N;constructor(a){this.#N=(0,j.CN)(a)}temporary(){return new be({...this.#N,node:bc.Y.cloneWith(this.#N.node,{temporary:!0})})}materialized(){return new be({...this.#N,node:bc.Y.cloneWith(this.#N.node,{materialized:!0})})}ifNotExists(){return new be({...this.#N,node:bc.Y.cloneWith(this.#N.node,{ifNotExists:!0})})}orReplace(){return new be({...this.#N,node:bc.Y.cloneWith(this.#N.node,{orReplace:!0})})}columns(a){return new be({...this.#N,node:bc.Y.cloneWith(this.#N.node,{columns:a.map(au.RY)})})}as(a){let b=a.withPlugin(new bd).toOperationNode();return new be({...this.#N,node:bc.Y.cloneWith(this.#N.node,{as:b})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}let bf=(0,j.CN)({is:a=>"DropViewNode"===a.kind,create:a=>(0,j.CN)({kind:"DropViewNode",name:ag.y.create(a)}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})});class bg{#N;constructor(a){this.#N=(0,j.CN)(a)}materialized(){return new bg({...this.#N,node:bf.cloneWith(this.#N.node,{materialized:!0})})}ifExists(){return new bg({...this.#N,node:bf.cloneWith(this.#N.node,{ifExists:!0})})}cascade(){return new bg({...this.#N,node:bf.cloneWith(this.#N.node,{cascade:!0})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}let bh=(0,j.CN)({is:a=>"CreateTypeNode"===a.kind,create:a=>(0,j.CN)({kind:"CreateTypeNode",name:a}),cloneWithEnum:(a,b)=>(0,j.CN)({...a,enum:a2.s.create(b.map(aw.q.createImmediate))})});class bi{#N;constructor(a){this.#N=(0,j.CN)(a)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}asEnum(a){return new bi({...this.#N,node:bh.cloneWithEnum(this.#N.node,a)})}$call(a){return a(this)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}let bj=(0,j.CN)({is:a=>"DropTypeNode"===a.kind,create:a=>(Array.isArray(a)||(a=[a]),(0,j.CN)({kind:"DropTypeNode",name:a[0],additionalNames:a.slice(1)})),cloneWith:(a,b)=>(0,j.CN)({...a,...b})});class bk{#N;constructor(a){this.#N=(0,j.CN)(a)}ifExists(){return new bk({...this.#N,node:bj.cloneWith(this.#N.node,{ifExists:!0})})}cascade(){return new bk({...this.#N,node:bj.cloneWith(this.#N.node,{cascade:!0})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}function bl(a){if(!a.includes("."))return ag.y.create(a);{let b=a.split(".").map(bm);if(2===b.length)return ag.y.createWithSchema(b[0],b[1]);throw Error(`invalid schemable identifier ${a}`)}}function bm(a){return a.trim()}let bn=(0,j.CN)({is:a=>"RefreshMaterializedViewNode"===a.kind,create:a=>(0,j.CN)({kind:"RefreshMaterializedViewNode",name:ag.y.create(a)}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})});class bo{#N;constructor(a){this.#N=(0,j.CN)(a)}concurrently(){return new bo({...this.#N,node:bn.cloneWith(this.#N.node,{concurrently:!0,withNoData:!1})})}withData(){return new bo({...this.#N,node:bn.cloneWith(this.#N.node,{withNoData:!1})})}withNoData(){return new bo({...this.#N,node:bn.cloneWith(this.#N.node,{withNoData:!0,concurrently:!1})})}$call(a){return a(this)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){await this.#N.executor.executeQuery(this.compile(),a)}}let bp=(0,j.CN)({is:a=>"AlterTypeNode"===a.kind,create:a=>(0,j.CN)({kind:"AlterTypeNode",name:a}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})}),bq=(0,j.CN)({is:a=>"AddValueNode"===a.kind,create:a=>(0,j.CN)({kind:"AddValueNode",value:a}),cloneWith:(a,b)=>(0,j.CN)({...a,...b})});class br{#N;constructor(a){this.#N=(0,j.CN)(a)}toOperationNode(){return this.#N.executor.transformQuery(this.#N.node,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){return await this.#N.executor.executeQuery(this.compile(),a)}}class bs extends br{#N;constructor(a){super(a),this.#N=a}ifNotExists(){return new d({...this.#N,node:bp.cloneWith(this.#N.node,{addValue:bq.cloneWith(this.#N.node.addValue,{ifNotExists:!0})})})}before(a){return this.#P(a,!0)}after(a){return this.#P(a,!1)}#P(a,b){return new d({...this.#N,node:bp.cloneWith(this.#N.node,{addValue:bq.cloneWith(this.#N.node.addValue,{isBefore:b,neighborValue:aw.q.createImmediate(a)})})})}}d=bs;let bt=(0,j.CN)({is:a=>"RenameValueNode"===a.kind,create:(a,b)=>(0,j.CN)({kind:"RenameValueNode",oldValue:a,newValue:b})});class bu{#N;constructor(a){this.#N=(0,j.CN)(a)}addValue(a){return new bs({...this.#N,node:bp.cloneWith(this.#N.node,{addValue:bq.create(aw.q.createImmediate(a))})})}renameTo(a){return new br({...this.#N,node:bp.cloneWith(this.#N.node,{renameTo:f.O.create(a)})})}renameValue(a,b){return new br({...this.#N,node:bp.cloneWith(this.#N.node,{renameValue:bt.create(aw.q.createImmediate(a),aw.q.createImmediate(b))})})}setSchema(a){return new br({...this.#N,node:bp.cloneWith(this.#N.node,{setSchema:f.O.create(a)})})}}class bv{#Q;constructor(a){this.#Q=a}createTable(a){return new a7({queryId:(0,k.a)(),executor:this.#Q,node:af.B.create((0,ak.M$)(a))})}dropTable(a){return new ba({queryId:(0,k.a)(),executor:this.#Q,node:aj.create((0,ak.M$)(a))})}createIndex(a){return new a4({queryId:(0,k.a)(),executor:this.#Q,node:ad.create(a)})}dropIndex(a){return new a8({queryId:(0,k.a)(),executor:this.#Q,node:ah.create(a)})}createSchema(a){return new a5({queryId:(0,k.a)(),executor:this.#Q,node:ae.create(a)})}dropSchema(a){return new a9({queryId:(0,k.a)(),executor:this.#Q,node:ai.create(a)})}alterTable(a){return new aZ({queryId:(0,k.a)(),executor:this.#Q,node:ac.create((0,ak.M$)(a))})}createView(a){return new be({queryId:(0,k.a)(),executor:this.#Q,node:bc.Y.create(a)})}refreshMaterializedView(a){return new bo({queryId:(0,k.a)(),executor:this.#Q,node:bn.create(a)})}dropView(a){return new bg({queryId:(0,k.a)(),executor:this.#Q,node:bf.create(a)})}createType(a){return new bi({queryId:(0,k.a)(),executor:this.#Q,node:bh.create(bl(a))})}alterType(a){return new bu({executor:this.#Q,node:bp.create(bl(a)),queryId:(0,k.a)()})}dropType(a){var b;return new bk({queryId:(0,k.a)(),executor:this.#Q,node:bj.create((Array.isArray(b=a)||(b=[b]),b.map(bl)))})}withPlugin(a){return new bv(this.#Q.withPlugin(a))}withoutPlugins(){return new bv(this.#Q.withoutPlugins())}withSchema(a){return new bv(this.#Q.withPluginAtFront(new bb.B(a)))}}var bw=c(16136),bx=c(52303);class by{ref(a){return new bw.g(a)}table(a){return new bx.bj(a)}}class bz{#R;constructor(a){this.#R=a}async provideConnection(a,b){let c=await this.#R.acquireConnection(b);try{return await a(c)}finally{await this.#R.releaseConnection(c,b)}}}var bA=c(58156),bB=c(92730);class bC extends bB.R{#S;#T;#U;constructor(a,b,c,d=[]){super(d),this.#S=a,this.#T=b,this.#U=c}get adapter(){return this.#T}compileQuery(a,b){return this.#S.compileQuery(a,b)}provideConnection(a,b){return this.#U.provideConnection(a,b)}withPlugins(a){return new bC(this.#S,this.#T,this.#U,[...this.plugins,...a])}withPlugin(a){return new bC(this.#S,this.#T,this.#U,[...this.plugins,a])}withPluginAtFront(a){return new bC(this.#S,this.#T,this.#U,[a,...this.plugins])}withConnectionProvider(a){return new bC(this.#S,this.#T,a,[...this.plugins])}withoutPlugins(){return new bC(this.#S,this.#T,this.#U,[])}}var bD=c(54922);function bE(){return"u">typeof performance&&(0,j.Tn)(performance.now)?performance.now():Date.now()}class bF{#a;#b;async obtainLock(){for(;this.#a;)await this.#a;this.#a=new Promise(a=>{this.#b=a})}releaseLock(){let a=this.#b;this.#a=void 0,this.#b=void 0,a?.()}}class bG{#R;#V;#W;#X;#Y;#l=new WeakSet;#Z;constructor(a,b,c){this.#R=a,this.#X=!1,this.#V=c,!1===b.supportsMultipleConnections&&(this.#Z=new bF)}async init(a){if(this.#Y)throw Error("driver has already been destroyed");this.#W??=this.#R.init(a).then(()=>{this.#X=!0}).catch(a=>{throw this.#W=void 0,a}),await (0,bD.Hl)(this.#W,a?.signal,"init")}async acquireConnection(a){if(this.#Y)throw Error("driver has already been destroyed");if(this.#X||await this.init(a),this.#Z){let b=this.#Z.obtainLock();await (0,bD.Hl)(b,a?.signal,"acquireConnection:mutex",()=>b.then(()=>this.#Z?.releaseLock()))}let b=this.#R.acquireConnection(a),c=await (0,bD.Hl)(b,a?.signal,"acquireConnection:acquire",()=>b?.then(a=>this.releaseConnection(a).catch((0,bD.gx)("driver.releaseConnection"))).catch((0,bD.gx)("driver.acquireConnection")));return this.#l.has(c)||(this.#$()&&this.#_(c),this.#l.add(c)),c}async releaseConnection(a,b){await this.#R.releaseConnection(a,b),this.#Z?.releaseLock()}async beginTransaction(a,b){return await this.#R.beginTransaction(a,b)}async commitTransaction(a){return await this.#R.commitTransaction(a)}async rollbackTransaction(a){return await this.#R.rollbackTransaction(a)}async savepoint(a,b,c){if(this.#R.savepoint)return await this.#R.savepoint(a,b,c);throw Error("The `savepoint` method is not supported by this driver")}async rollbackToSavepoint(a,b,c){if(this.#R.rollbackToSavepoint)return await this.#R.rollbackToSavepoint(a,b,c);throw Error("The `rollbackToSavepoint` method is not supported by this driver")}async releaseSavepoint(a,b,c){if(this.#R.releaseSavepoint)return await this.#R.releaseSavepoint(a,b,c);throw Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(a){this.#W&&(await (0,bD.Hl)(this.#W,a?.signal,"destroy:initPromise"),this.#Y??=this.#R.destroy(a).catch(a=>{throw this.#Y=void 0,a}),await (0,bD.Hl)(this.#Y,a?.signal,"destroy"))}#$(){return this.#V.isLevelEnabled("query")||this.#V.isLevelEnabled("error")}#_(a){let b=a.executeQuery,c=a.streamQuery,d=this;a.executeQuery=async(c,e)=>{let f,g=bE();try{return await b.call(a,c,e)}catch(a){throw f=a,await d.#aa(a,c,g),a}finally{f||await d.#ab(c,g)}},a.streamQuery=async function*(b,e,f){let g,h=bE();try{for await(let d of c.call(a,b,e,f))yield d}catch(a){throw g=a,await d.#aa(a,b,h),a}finally{g||await d.#ab(b,h,!0)}}}async #aa(a,b,c){await this.#V.error(()=>({level:"error",error:a,query:b,queryDurationMillis:this.#ac(c)}))}async #ab(a,b,c=!1){await this.#V.query(()=>({level:"query",isStream:c,query:a,queryDurationMillis:this.#ac(b)}))}#ac(a){return bE()-a}}let bH=()=>{};class bI{#i;#ad;constructor(a){this.#i=a}async provideConnection(a){for(;this.#ad;)await this.#ad.catch(bH);return this.#ad=this.#ae(a).finally(()=>{this.#ad=void 0}),this.#ad}async #ae(a){return await a(this.#i)}}let bJ=["read only","read write"],bK=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function bL(a){if(a.accessMode&&!bJ.includes(a.accessMode))throw Error(`invalid transaction access mode ${a.accessMode}`);if(a.isolationLevel&&!bK.includes(a.isolationLevel))throw Error(`invalid transaction isolation level ${a.isolationLevel}`)}var bM=c(65685);(0,j.CN)(["query","error"]);class bN{#af;#ag;constructor(a){(0,j.Tn)(a)?(this.#ag=a,this.#af=(0,j.CN)({query:!0,error:!0})):(this.#ag=bO,this.#af=(0,j.CN)({query:a.includes("query"),error:a.includes("error")}))}isLevelEnabled(a){return this.#af[a]}async query(a){this.#af.query&&await this.#ag(a())}async error(a){this.#af.error&&await this.#ag(a())}}function bO(a){if("query"===a.level){let b=`kysely:query:${a.isStream?"stream:":""}`;console.log(`${b} ${a.query.sql}`),console.log(`${b} duration: ${a.queryDurationMillis.toFixed(1)}ms`)}else"error"===a.level&&(a.error instanceof Error?console.error(`kysely:error: ${a.error.stack??a.error.message}`):console.error(`kysely:error: ${JSON.stringify({error:a.error,query:a.query.sql,queryDurationMillis:a.queryDurationMillis})}`))}var bP=c(76070),bQ=c(43585),bR=c(37368);Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class bS extends bA.n{#N;constructor(a){let b,c;if(function(a){return(0,j.Gv)(a)&&(0,j.Gv)(a.config)&&(0,j.Gv)(a.driver)&&(0,j.Gv)(a.executor)&&(0,j.Gv)(a.dialect)}(a))b={executor:a.executor},c={...a};else{const d=a.dialect,e=d.createDriver(),f=d.createQueryCompiler(),g=d.createAdapter(),h=new bG(e,g,new bN(a.log??[])),i=new bC(f,g,new bz(h),a.plugins??[]);b={executor:i},c={config:a,executor:i,dialect:d,driver:h}}super(b),this.#N=(0,j.CN)(c)}get schema(){return new bv(this.#N.executor)}get dynamic(){return new by}get introspection(){return this.#N.dialect.createIntrospector(this.withoutPlugins())}case(a){return new bP.OU({node:bQ.P.create((0,j.b0)(a)?void 0:(0,aX.YK)(a))})}get fn(){return(0,bM.t)()}transaction(){return new bV({...this.#N})}startTransaction(){return new bW({...this.#N})}connection(){return new bU({...this.#N})}withPlugin(a){return new bS({...this.#N,executor:this.#N.executor.withPlugin(a)})}withoutPlugins(){return new bS({...this.#N,executor:this.#N.executor.withoutPlugins()})}withSchema(a){return new bS({...this.#N,executor:this.#N.executor.withPluginAtFront(new bb.B(a))})}$extendTables(){return new bS({...this.#N})}$omitTables(){return new bS({...this.#N})}$pickTables(){return new bS({...this.#N})}withTables(){return this.$extendTables()}async destroy(){await this.#N.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#N.executor}async executeQuery(a,b){let c=(0,j.Gv)(a)&&(0,j.Tn)(a.compile)?a.compile():a;return await this.#N.executor.executeQuery(c,b)}async [Symbol.asyncDispose](){await this.destroy()}}class bT extends bS{#N;constructor(a){super(a),this.#N=a}get isTransaction(){return!0}transaction(){throw Error("calling the transaction method for a Transaction is not supported")}startTransaction(){throw Error("calling the controlled transaction method for a Transaction is not supported")}connection(){throw Error("calling the connection method for a Transaction is not supported")}destroy(){throw Error("calling the destroy method for a Transaction is not supported")}withPlugin(a){return new bT({...this.#N,executor:this.#N.executor.withPlugin(a)})}withoutPlugins(){return new bT({...this.#N,executor:this.#N.executor.withoutPlugins()})}withSchema(a){return new bT({...this.#N,executor:this.#N.executor.withPluginAtFront(new bb.B(a))})}withTables(){return new bT({...this.#N})}$extendTables(){return new bT({...this.#N})}$omitTables(){return new bT({...this.#N})}$pickTables(){return new bT({...this.#N})}}class bU{#N;constructor(a){this.#N=(0,j.CN)(a)}async execute(a,b){return this.#N.executor.provideConnection(async b=>{let c=this.#N.executor.withConnectionProvider(new bI(b)),d=new bS({...this.#N,executor:c});return await a(d)},(0,j.CN)({signal:b?.signal}))}}class bV{#N;constructor(a){this.#N=(0,j.CN)(a)}setAccessMode(a){return new bV({...this.#N,accessMode:a})}setIsolationLevel(a){return new bV({...this.#N,isolationLevel:a})}async execute(a){let{isolationLevel:b,accessMode:c,...d}=this.#N,e={isolationLevel:b,accessMode:c};return bL(e),this.#N.executor.provideConnection(async b=>{let c={isCommitted:!1,isRolledBack:!1},f=new b$(this.#N.executor.withConnectionProvider(new bI(b)),c),g=new bT({...d,executor:f}),h=!1;try{await this.#N.driver.beginTransaction(b,e),h=!0;let d=await a(g);return await this.#N.driver.commitTransaction(b),c.isCommitted=!0,d}catch(a){throw h&&(await this.#N.driver.rollbackTransaction(b),c.isRolledBack=!0),a}})}}class bW{#N;constructor(a){this.#N=(0,j.CN)(a)}setAccessMode(a){return new bW({...this.#N,accessMode:a})}setIsolationLevel(a){return new bW({...this.#N,isolationLevel:a})}async execute(){let{isolationLevel:a,accessMode:b,...c}=this.#N,d={isolationLevel:a,accessMode:b};bL(d);let e=await (0,bR.G)(this.#N.executor);return await this.#N.driver.beginTransaction(e.connection,d),new bX({...c,connection:e,executor:this.#N.executor.withConnectionProvider(new bI(e.connection))})}}class bX extends bT{#N;#ah;#ai;constructor(a){const b={isCommitted:!1,isRolledBack:!1},{connection:c,...d}=a={...a,executor:new b$(a.executor,b)};super(d),this.#N=(0,j.CN)(a),this.#ai=b;const e=(0,k.a)();this.#ah=b=>a.executor.compileQuery(b,e)}get isCommitted(){return this.#ai.isCommitted}get isRolledBack(){return this.#ai.isRolledBack}commit(){return bZ(this.#ai),new bY(async()=>{await this.#N.driver.commitTransaction(this.#N.connection.connection),this.#ai.isCommitted=!0,this.#N.connection.release()})}rollback(){return bZ(this.#ai),new bY(async()=>{await this.#N.driver.rollbackTransaction(this.#N.connection.connection),this.#ai.isRolledBack=!0,this.#N.connection.release()})}savepoint(a){return bZ(this.#ai),new bY(async()=>(await this.#N.driver.savepoint?.(this.#N.connection.connection,a,this.#ah),new bX({...this.#N})))}rollbackToSavepoint(a){return bZ(this.#ai),new bY(async()=>(await this.#N.driver.rollbackToSavepoint?.(this.#N.connection.connection,a,this.#ah),new bX({...this.#N})))}releaseSavepoint(a){return bZ(this.#ai),new bY(async()=>(await this.#N.driver.releaseSavepoint?.(this.#N.connection.connection,a,this.#ah),new bX({...this.#N})))}withPlugin(a){return new bX({...this.#N,executor:this.#N.executor.withPlugin(a)})}withoutPlugins(){return new bX({...this.#N,executor:this.#N.executor.withoutPlugins()})}withSchema(a){return new bX({...this.#N,executor:this.#N.executor.withPluginAtFront(new bb.B(a))})}withTables(){return new bX({...this.#N})}$extendTables(){return new bX({...this.#N})}$omitTables(){return new bX({...this.#N})}$pickTables(){return new bX({...this.#N})}}class bY{#aj;constructor(a){this.#aj=a}async execute(){return await this.#aj()}}function bZ(a){if(a.isCommitted)throw Error("Transaction is already committed");if(a.isRolledBack)throw Error("Transaction is already rolled back")}class b${#Q;#ai;constructor(a,b){this.#Q=a instanceof b$?a.#Q:a,this.#ai=b}get adapter(){return this.#Q.adapter}get plugins(){return this.#Q.plugins}transformQuery(a,b){return this.#Q.transformQuery(a,b)}compileQuery(a,b){return this.#Q.compileQuery(a,b)}provideConnection(a,b){return this.#Q.provideConnection(a,b)}executeQuery(a,b){return bZ(this.#ai),this.#Q.executeQuery(a,b)}stream(a,b,c){return bZ(this.#ai),this.#Q.stream(a,b,c)}withConnectionProvider(a){return new b$(this.#Q.withConnectionProvider(a),this.#ai)}withPlugin(a){return new b$(this.#Q.withPlugin(a),this.#ai)}withPlugins(a){return new b$(this.#Q.withPlugins(a),this.#ai)}withPluginAtFront(a){return new b$(this.#Q.withPluginAtFront(a),this.#ai)}withoutPlugins(){return new b$(this.#Q.withoutPlugins(),this.#ai)}}var b_=c(29962),b0=c(34745);function b1(a){return a.charAt(0).toUpperCase()+a.slice(1)}function b2(a){if(!a)return null;if("dialect"in a)return b2(a.dialect);if("createDriver"in a){if(a instanceof t)return"sqlite";if(a instanceof H)return"mysql";if(a instanceof Q)return"postgres";if(a instanceof ab)return"mssql"}return"aggregate"in a?"sqlite":"getConnection"in a?"mysql":"connect"in a?"postgres":"fileControl"in a||"open"in a&&"close"in a&&"prepare"in a||"batch"in a&&"exec"in a&&"prepare"in a?"sqlite":null}let b3=async a=>{let b,d=a.database;if(!d)return{kysely:null,databaseType:null,transaction:void 0};if("db"in d)return{kysely:d.db,databaseType:d.type,transaction:d.transaction};if("dialect"in d)return{kysely:new bS({dialect:d.dialect}),databaseType:d.type,transaction:d.transaction};let e=b2(d);if("createDriver"in d&&(b=d),"aggregate"in d&&!("createSession"in d)&&(b=new t({database:d})),"getConnection"in d&&(b=new H(d)),"connect"in d&&(b=new Q({pool:d})),"fileControl"in d){let{BunSqliteDialect:a}=await c.e(6479).then(c.bind(c,66479));b=new a({database:d})}if("createSession"in d){let a;try{({DatabaseSync:a}=await import("node:sqlite"))}catch(a){if(null!==a&&"object"==typeof a&&"code"in a&&"ERR_UNKNOWN_BUILTIN_MODULE"!==a.code)throw a}if(a&&d instanceof a){let{NodeSqliteDialect:a}=await c.e(683).then(c.bind(c,683));b=new a({database:d})}}if("batch"in d&&"exec"in d&&"prepare"in d){let{D1SqliteDialect:a}=await c.e(2341).then(c.bind(c,52341));b=new a({database:d})}return{kysely:b?new bS({dialect:b}):null,databaseType:e,transaction:void 0}};function b4(a,b,c){return"postgres"===c?(0,q.l)`${q.l.ref(a)} ILIKE ${b}`:(0,q.l)`LOWER(${q.l.ref(a)}) LIKE LOWER(${b})`}let b5=(a,b)=>{let c=null,d=!1,e=(a,c=!1)=>({getFieldName:e,schema:f,getDefaultFieldName:g,getDefaultModelName:h,getFieldAttributes:i,getModelName:j,options:k})=>{b?.type!=="mysql"||k.advanced?.database?.generateId!==!1||d||(d=!0,b0.vF.warn('[Kysely Adapter] MySQL does not support INSERT...RETURNING. With generateId set to false, the adapter uses best-effort fallback strategies (unique columns, full-field match) to retrieve inserted rows. For reliable behavior, use Better Auth\'s default ID generation, a custom generateId function, or generateId: "serial" for auto-increment.'));let l=a=>{let b=[],c=[];if(a)for(let[d,e]of Object.entries(a)){let a=f[h(d)]?.fields,[e,g]=d.includes(".")?d.split("."):[void 0,d];if(a)for(let[e,f]of(a.id={type:"string"},Object.entries(a)))b.push((0,q.l)`${q.l.ref(`join_${g}`)}.${q.l.ref(f.fieldName||e)} as ${q.l.ref(`_joined_${g}_${f.fieldName||e}`)}`),c.push({joinModel:d,joinModelRef:g,fieldName:f.fieldName||e})}return{allSelectsStr:c,allSelects:b}},m=async(d,g,i,j)=>{if(b?.type==="mysql"){if(await g.execute(),j.length>0){let b=d.id?"id":j[0]?.field?j[0].field:"id",c=void 0!==d[b]?d[b]:j[0]?.value;return await a.selectFrom(i).selectAll().where(e({model:i,field:b}),null===c?"is":"=",c).limit(1).executeTakeFirst()}let b=async a=>{if(d.id)return await a.selectFrom(i).selectAll().where(e({model:i,field:"id"}),"=",d.id).limit(1).executeTakeFirst();if(k.advanced?.database?.generateId==="serial"){let b=(await (0,q.l)`SELECT LAST_INSERT_ID() as id`.execute(a)).rows[0]?.id;if(b)return await a.selectFrom(i).selectAll().where(e({model:i,field:"id"}),"=",b).limit(1).executeTakeFirst()}let b=f[h(i)]?.fields;if(b)for(let[c,f]of Object.entries(b)){if(!f.unique)continue;let b=e({model:i,field:c}),g=d[b];if(null==g)continue;let h=await a.selectFrom(i).selectAll().where(b,"=",g).limit(1).executeTakeFirst();if(h)return h}let c=a.selectFrom(i).selectAll(),g=!1;for(let[a,b]of Object.entries(d))void 0!==b&&(c=c.where(a,null===b?"is":"=",b),g=!0);if(g){let a=await c.limit(2).execute();if(1===a.length)return a[0]}return b0.vF.warn(`[Kysely Adapter] Unable to safely identify the inserted "${i}" row on MySQL. Enable Better Auth ID generation or use generateId: "serial" for reliable behavior.`),null};return c?b(a):a.transaction().execute(b)}return b?.type==="mssql"?await g.outputAll("inserted").executeTakeFirst():await g.returningAll().executeTakeFirst()};function n(a,c){if(!c)return{and:null,or:null};let d=[],f=[];return c.forEach(c=>{let{field:g,value:h,operator:i="eq",connector:j="AND",mode:k="sensitive"}=c,l=e({model:a,field:g}),m="insensitive"===k&&("string"==typeof h||Array.isArray(h)&&h.every(a=>"string"==typeof a)),n=c=>{var d,e;let f=`${a}.${l}`;if("in"===i.toLowerCase()){if(m){let{lhs:a,values:b}=(d=Array.isArray(h)?h:[h],{lhs:(0,q.l)`LOWER(${q.l.ref(f)})`,values:d.map(a=>a.toLowerCase())});return c(a,"in",b)}return c(f,"in",Array.isArray(h)?h:[h])}if("not_in"===i.toLowerCase()){if(m){let{lhs:a,values:b}=(e=Array.isArray(h)?h:[h],{lhs:(0,q.l)`LOWER(${q.l.ref(f)})`,values:e.map(a=>a.toLowerCase())});return c(a,"not in",b)}return c(f,"not in",Array.isArray(h)?h:[h])}if("contains"===i)return m&&"string"==typeof h?b4(f,`%${h}%`,b?.type):c(f,"like",`%${h}%`);if("starts_with"===i)return m&&"string"==typeof h?b4(f,`${h}%`,b?.type):c(f,"like",`${h}%`);if("ends_with"===i)return m&&"string"==typeof h?b4(f,`%${h}`,b?.type):c(f,"like",`%${h}`);if("eq"===i){if(null===h)return c(f,"is",null);if(m&&"string"==typeof h){let{lhs:a,value:b}={lhs:(0,q.l)`LOWER(${q.l.ref(f)})`,value:h.toLowerCase()};return c(a,"=",b)}return c(f,"=",h)}if("ne"===i){if(null===h)return c(f,"is not",null);if(m&&"string"==typeof h){let{lhs:a,value:b}={lhs:(0,q.l)`LOWER(${q.l.ref(f)})`,value:h.toLowerCase()};return c(a,"<>",b)}return c(f,"<>",h)}return c(f,"gt"===i?">":"gte"===i?">=":"lt"===i?"<":"lte"===i?"<=":i,h)};"OR"===j?f.push(n):d.push(n)}),{and:d.length?d:null,or:f.length?f:null}}function o(a,b,c){if(!b||!a.length)return a;let d=new Map;for(let f of a){let a={},g={};for(let[a]of Object.entries(b))g[j(a)]={};for(let[b,d]of Object.entries(f)){let f=String(b),h=!1;for(let{joinModel:a,fieldName:b,joinModelRef:i}of c)if(f===`_joined_${i}_${b}`||f===`_Joined${b1(i)}${b1(b)}`){g[j(a)][e({model:a,field:b})]=d,h=!0;break}h||(a[b]=d)}let h=a.id;if(!h)continue;if(!d.has(h)){let c={...a};for(let[a,d]of Object.entries(b))c[j(a)]="one-to-one"===d.relation?null:[];d.set(h,c)}let i=d.get(h);for(let[a,c]of Object.entries(b)){let b="one-to-one"===c.relation,d=c.limit??100,f=g[j(a)],h=f&&Object.keys(f).length>0&&Object.values(f).some(a=>null!=a);if(b)i[j(a)]=h?f:null;else{let b=j(a);if(Array.isArray(i[b])&&h){if(i[b].length>=d)continue;let c=e({model:a,field:"id"}),g=f[c];g?!i[b].some(a=>a[c]===g)&&i[b].length<d&&i[b].push(f):i[b].length<d&&i[b].push(f)}}}}let f=Array.from(d.values());for(let a of f)for(let[c,d]of Object.entries(b))if("one-to-one"!==d.relation){let b=j(c);if(Array.isArray(a[b])){let c=d.limit??100;a[b].length>c&&(a[b]=a[b].slice(0,c))}}return f}return{create:async({data:b,model:c})=>await m(b,a.insertInto(c).values(b),c,[]),async findOne({model:b,where:c,select:d,join:f}){let{and:g,or:h}=n(b,c),i=a.selectFrom(a=>{let c=a.selectFrom(b);return g&&(c=c.where(a=>a.and(g.map(b=>b(a))))),h&&(c=c.where(a=>a.or(h.map(b=>b(a))))),(c=d?.length&&d.length>0?c.select(d.map(a=>e({model:b,field:a}))):c.selectAll()).as("primary")}).selectAll("primary");if(f)for(let[a,b]of Object.entries(f)){let[c,d]=a.includes(".")?a.split("."):[void 0,a];i=i.leftJoin(`${a} as join_${d}`,a=>a.onRef(`join_${d}.${b.on.to}`,"=",`primary.${b.on.from}`))}let{allSelectsStr:j,allSelects:k}=l(f);i=i.select(k);let m=await i.execute();if(!m||!Array.isArray(m)||0===m.length)return null;let p=m[0];return f?o(m,f,j)[0]:p},async findMany({model:c,where:d,limit:f,select:g,offset:h,sortBy:i,join:j}){let{and:k,or:m}=n(c,d),p=a.selectFrom(a=>{let d=a.selectFrom(c);return b?.type==="mssql"?void 0!==h?(i||(d=d.orderBy(e({model:c,field:"id"}))),d=d.offset(h).fetch(f||100)):void 0!==f&&(d=d.top(f)):(void 0!==f&&(d=d.limit(f)),void 0!==h&&(d=d.offset(h))),i?.field&&(d=d.orderBy(`${e({model:c,field:i.field})}`,i.direction)),k&&(d=d.where(a=>a.and(k.map(b=>b(a))))),m&&(d=d.where(a=>a.or(m.map(b=>b(a))))),(d=g?.length&&g.length>0?d.select(g.map(a=>e({model:c,field:a}))):d.selectAll()).as("primary")}).selectAll("primary");if(j)for(let[a,b]of Object.entries(j)){let[c,d]=a.includes(".")?a.split("."):[void 0,a];p=p.leftJoin(`${a} as join_${d}`,a=>a.onRef(`join_${d}.${b.on.to}`,"=",`primary.${b.on.from}`))}let{allSelectsStr:q,allSelects:r}=l(j);p=p.select(r),i?.field&&(p=p.orderBy(`${e({model:c,field:i.field})}`,i.direction));let s=await p.execute();return s?j?o(s,j,q):s:[]},async update({model:b,where:c,update:d}){let{and:e,or:f}=n(b,c),g=a.updateTable(b).set(d);return e&&(g=g.where(a=>a.and(e.map(b=>b(a))))),f&&(g=g.where(a=>a.or(f.map(b=>b(a))))),await m(d,g,b,c)},async updateMany({model:b,where:c,update:d}){let{and:e,or:f}=n(b,c),g=a.updateTable(b).set(d);e&&(g=g.where(a=>a.and(e.map(b=>b(a))))),f&&(g=g.where(a=>a.or(f.map(b=>b(a)))));let h=(await g.executeTakeFirst()).numUpdatedRows;return h>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Number(h)},async count({model:b,where:c}){let{and:d,or:e}=n(b,c),f=a.selectFrom(b).select(a.fn.count("id").as("count"));d&&(f=f.where(a=>a.and(d.map(b=>b(a))))),e&&(f=f.where(a=>a.or(e.map(b=>b(a)))));let g=await f.execute();return"number"==typeof g[0].count?g[0].count:"bigint"==typeof g[0].count?Number(g[0].count):parseInt(g[0].count)},async delete({model:b,where:c}){let{and:d,or:e}=n(b,c),f=a.deleteFrom(b);d&&(f=f.where(a=>a.and(d.map(b=>b(a))))),e&&(f=f.where(a=>a.or(e.map(b=>b(a))))),await f.execute()},async deleteMany({model:b,where:c}){let{and:d,or:e}=n(b,c),f=a.deleteFrom(b);d&&(f=f.where(a=>a.and(d.map(b=>b(a))))),e&&(f=f.where(a=>a.or(e.map(b=>b(a)))));let g=(await f.executeTakeFirst()).numDeletedRows;return g>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Number(g)},async consumeOne({model:d,where:f}){let{and:g,or:h}=n(d,f),i=a=>(g&&(a=a.where(a=>a.and(g.map(b=>b(a))))),h&&(a=a.where(a=>a.or(h.map(b=>b(a))))),a),j=e({model:d,field:"id"}),k=async(a,c)=>{let e=c[j]??c.id;if(null==e)return null;let f=a.deleteFrom(d).where(`${d}.${j}`,"=",e);return b?.type==="mysql"?Number((await f.executeTakeFirst()).numDeletedRows)>0?c:null:b?.type==="mssql"?await f.outputAll("deleted").executeTakeFirst()??null:await f.returningAll().executeTakeFirst()??null},l=async a=>b?.type==="mssql"?await a.outputAll("deleted").executeTakeFirst()??null:await a.returningAll().executeTakeFirst()??null;if(b?.type==="mysql"){let b=async a=>{let b=await i(a.selectFrom(d).selectAll().forUpdate()).limit(1).executeTakeFirst();return b?k(a,b):null};return c?b(a):a.transaction().execute(b)}let m=i(a.selectFrom(d).select(`${d}.${j}`)),o=b?.type==="mssql"?m.top(1):m.limit(1);return l(a.deleteFrom(d).where(`${d}.${j}`,"in",o))},async incrementOne({model:d,where:f,increment:g,set:h}){let{and:i,or:j}=n(d,f),k=a=>(i&&(a=a.where(a=>a.and(i.map(b=>b(a))))),j&&(a=a.where(a=>a.or(j.map(b=>b(a))))),a),l={...h??{}};for(let[a,b]of Object.entries(g))l[a]=(0,q.l)`${q.l.ref(a)} + ${b}`;let m=e({model:d,field:"id"});if(b?.type==="mysql"){let b=async a=>{let b=await k(a.selectFrom(d).select(`${d}.${m}`).forUpdate()).limit(1).executeTakeFirst();if(!b)return null;let c=b[m]??b.id;return null==c||0===Number((await k(a.updateTable(d).set(l)).where(`${d}.${m}`,"=",c).executeTakeFirst()).numUpdatedRows)?null:await a.selectFrom(d).selectAll().where(`${d}.${m}`,"=",c).limit(1).executeTakeFirst()??null};return c?b(a):a.transaction().execute(b)}let o=k(a.selectFrom(d).select(`${d}.${m}`)),p=b?.type==="mssql"?o.top(1):o.limit(1),r=a.updateTable(d).set(l).where(`${d}.${m}`,"in",p);return b?.type==="mssql"?await r.outputAll("inserted").executeTakeFirst()??null:await r.returningAll().executeTakeFirst()??null},options:b}},f=null;f={config:{adapterId:"kysely",adapterName:"Kysely Adapter",usePlural:b?.usePlural,debugLogs:b?.debugLogs,supportsBooleans:b?.type!=="sqlite"&&b?.type!=="mssql"&&b?.type!=="mysql"&&!!b?.type,supportsDates:b?.type!=="sqlite"&&b?.type!=="mssql"&&!!b?.type,supportsJSON:b?.type==="postgres",supportsArrays:!1,supportsUUIDs:b?.type==="postgres",transaction:!!b?.transaction&&(b=>a.transaction().execute(a=>b((0,b_.I)({config:{...f.config,transaction:!1},adapter:e(a,!0)})(c))))},adapter:e(a)};let g=(0,b_.I)(f);return a=>(c=a,g(a))}},31173:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(6881),e=c(29941),f=c(29173);let g=(0,d.CN)({is:a=>"UpdateQueryNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"UpdateQueryNode",table:1===a.length?a[0]:f.v.create(a),...b&&{with:b}}),createWithoutTable:()=>(0,d.CN)({kind:"UpdateQueryNode"}),cloneWithFromItems:(a,b)=>(0,d.CN)({...a,from:a.from?e.N.cloneWithFroms(a.from,b):e.N.create(b)}),cloneWithUpdates:(a,b)=>(0,d.CN)({...a,updates:a.updates?(0,d.CN)([...a.updates,...b]):b}),cloneWithLimit:(a,b)=>(0,d.CN)({...a,limit:b})})},31461:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(65946);class e extends d.l{get supportsMultipleConnections(){return!1}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(a,b){}async releaseMigrationLock(a,b){}}},31537:(a,b,c)=>{c.d(b,{V:()=>e});var d=c(52022);class e{constructor(a,b){this.table=a,this.config=b,this.name=b.name,this.keyAsName=b.keyAsName,this.notNull=b.notNull,this.default=b.default,this.defaultFn=b.defaultFn,this.onUpdateFn=b.onUpdateFn,this.hasDefault=b.hasDefault,this.primary=b.primaryKey,this.isUnique=b.isUnique,this.uniqueName=b.uniqueName,this.uniqueType=b.uniqueType,this.dataType=b.dataType,this.columnType=b.columnType,this.generated=b.generated,this.generatedIdentity=b.generatedIdentity}static [d.i]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(a){return a}mapToDriverValue(a){return a}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}},31584:(a,b,c)=>{c.d(b,{v:()=>o,o:()=>n});var d=c(63903),e=c(31537),f=c(52022),g=c(82492);class h{static [f.i]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=a,this}onDelete(a){return this._onDelete=a,this}build(a){return new i(a,this)}}class i{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [f.i]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),e=c.map(a=>a.name),f=[this.table[g.E],...d,c[0].table[g.E],...e];return a??`${f.join("_")}_fk`}}function j(a,b){return`${a[g.E]}_${b.join("_")}_unique`}class k{constructor(a,b){this.name=b,this.columns=a}static [f.i]=null;columns;build(a){return new m(a,this.columns,this.name)}}class l{static [f.i]=null;name;constructor(a){this.name=a}on(...a){return new k(a,this.name)}}class m{constructor(a,b,c){this.table=a,this.columns=b,this.name=c??j(this.table,this.columns.map(a=>a.name))}static [f.i]=null;columns;name;getName(){return this.name}}class n extends d.Q{static [f.i]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a){return this.config.isUnique=!0,this.config.uniqueName=a,this}generatedAlwaysAs(a,b){return this.config.generated={as:a,type:"always",mode:b?.mode??"virtual"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>{let e;return e=new h(()=>({columns:[a],foreignColumns:[c()]})),d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)})}}class o extends e.V{constructor(a,b){b.uniqueName||(b.uniqueName=j(a,[b.name])),super(a,b),this.table=a}static [f.i]="SQLiteColumn"}},31708:(a,b,c)=>{function d(a){if(!e(a))throw Error("CryptoKey instance expected")}c.d(b,{D2:()=>f,P2:()=>g,R7:()=>e,Tz:()=>d});let e=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}},f=a=>a?.[Symbol.toStringTag]==="KeyObject",g=a=>e(a)||f(a)},32329:(a,b,c)=>{c.d(b,{i:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"SetOperationNode"===a.kind,create:(a,b,c)=>(0,d.CN)({kind:"SetOperationNode",operator:a,expression:b,all:c})})},32582:(a,b,c)=>{c.d(b,{s:()=>g});var d=c(88183);let e=/"/g,f=/[\\'"]/g;class g extends d.n{visitOrAction(a){this.append("or "),this.append(a.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(a){return a.replace(e,'""')}sanitizeJSONPathMemberValue(a){return a.replace(f,a=>"\\"===a?"\\\\":"'"===a?"''":'\\"')}visitDefaultInsertValue(a){this.append("null")}}},33068:(a,b,c)=>{c.d(b,{Y:()=>e,i:()=>f});var d=c(34974);function e(a){return(0,d.ll)`${a} asc`}function f(a){return(0,d.ll)`${a} desc`}},33145:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"InsertQueryNode"===a.kind,create:(a,b,c)=>(0,d.CN)({kind:"InsertQueryNode",into:a,...b&&{with:b},replace:c}),createWithoutInto:()=>(0,d.CN)({kind:"InsertQueryNode"}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},33168:(a,b,c)=>{c.d(b,{sL:()=>j,ty:()=>g,uy:()=>i});var d=c(51586),e=c(79193);let f=async()=>{let a=(0,d.Q)();if(!a.context.requestStateAsyncStorage){let b=await (0,e.V)();a.context.requestStateAsyncStorage=new b}return a.context.requestStateAsyncStorage};async function g(){return void 0!==(await f()).getStore()}async function h(){let a=(await f()).getStore();if(!a)throw Error("No request state found. Please make sure you are calling this function within a `runWithRequestState` callback.");return a}async function i(a,b){return(await f()).run(a,b)}function j(a){let b=Object.freeze({});return{get ref(){return b},async get(){let c=await h();if(!c.has(b)){let d=await a();return c.set(b,d),d}return c.get(b)},async set(a){(await h()).set(b,a)}}}},33513:(a,b,c)=>{c.d(b,{y:()=>d});function d(a){return!!a&&("object"==typeof a||"function"==typeof a)&&"function"==typeof a.then}},33746:(a,b,c)=>{c.d(b,{E:()=>d});function d(a){return Object.fromEntries(Object.entries(a).map(([a,b])=>[a,{code:a,message:b,toString:()=>a}]))}},33829:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(21030),g=c(21044),h=c(19121).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33987:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=c(85394).unstable_rethrow;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},34435:(a,b,c)=>{c.d(b,{z:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"RawNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"RawNode",sqlFragments:(0,d.CN)(a),parameters:(0,d.CN)(b)}),createWithSql:a=>e.create([a],[]),createWithChild:a=>e.create(["",""],[a]),createWithChildren:a=>e.create(Array(a.length+1).fill(""),a)})},34745:(a,b,c)=>{c.d(b,{h:()=>i,p4:()=>e,p8:()=>g,vF:()=>j});var d=c(74234);let e={reset:"\x1b[0m",bright:"\x1b[1m",dim:"\x1b[2m",undim:"\x1b[22m",underscore:"\x1b[4m",blink:"\x1b[5m",reverse:"\x1b[7m",hidden:"\x1b[8m",fg:{black:"\x1b[30m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",magenta:"\x1b[35m",cyan:"\x1b[36m",white:"\x1b[37m"},bg:{black:"\x1b[40m",red:"\x1b[41m",green:"\x1b[42m",yellow:"\x1b[43m",blue:"\x1b[44m",magenta:"\x1b[45m",cyan:"\x1b[46m",white:"\x1b[47m"}},f=["debug","info","success","warn","error"];function g(a,b){return f.indexOf(b)>=f.indexOf(a)}let h={info:e.fg.blue,success:e.fg.green,warn:e.fg.yellow,error:e.fg.red,debug:e.fg.magenta},i=a=>{let b=a?.disabled!==!0,c=a?.level??"warn",i=a?.disableColors!==void 0?!a.disableColors:1!==(0,d.t)();return{...Object.fromEntries(f.map(d=>[d,(...[f,...j])=>((d,f,j=[])=>{let k;if(!b||!g(c,d))return;let l=(k=new Date().toISOString(),i?`${e.dim}${k}${e.reset} ${h[d]}${d.toUpperCase()}${e.reset} ${e.bright}[Better Auth]:${e.reset} ${f}`:`${k} ${d.toUpperCase()} [Better Auth]: ${f}`);a&&"function"==typeof a.log?a.log("success"===d?"info":d,f,...j):"error"===d?console.error(l,...j):"warn"===d?console.warn(l,...j):console.log(l,...j)})(d,f,j)])),get level(){return c}}},j=i()},34891:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isPostpone",{enumerable:!0,get:function(){return d}});let c=Symbol.for("react.postpone");function d(a){return"object"==typeof a&&null!==a&&a.$$typeof===c}},34974:(a,b,c)=>{let d,e;c.d(b,{Iw:()=>P,Or:()=>T,Xs:()=>K,DJ:()=>J,Ss:()=>W,Ct:()=>U,eG:()=>M,qt:()=>I,ll:()=>Q});var f,g=c(52022),h=c(63903),i=c(31537),j=c(82492);class k{static [g.i]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=void 0===a?"no action":a,this}onDelete(a){return this._onDelete=void 0===a?"no action":a,this}build(a){return new l(a,this)}}class l{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [g.i]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),e=c.map(a=>a.name),f=[this.table[j.E],...d,c[0].table[j.E],...e];return a??`${f.join("_")}_fk`}}function m(a,...b){return a(...b)}function n(a,b){return`${a[j.E]}_${b.join("_")}_unique`}class o{constructor(a,b){this.name=b,this.columns=a}static [g.i]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(a){return new q(a,this.columns,this.nullsNotDistinctConfig,this.name)}}class p{static [g.i]=null;name;constructor(a){this.name=a}on(...a){return new o(a,this.name)}}class q{constructor(a,b,c,d){this.table=a,this.columns=b,this.name=d??n(this.table,this.columns.map(a=>a.name)),this.nullsNotDistinct=c}static [g.i]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function r(a,b,c){for(let d=b;d<a.length;d++){let e=a[d];if("\\"===e){d++;continue}if('"'===e)return[a.slice(b,d).replace(/\\/g,""),d+1];if(!c&&(","===e||"}"===e))return[a.slice(b,d).replace(/\\/g,""),d]}return[a.slice(b).replace(/\\/g,""),a.length]}class s extends h.Q{foreignKeyConfigs=[];static [g.i]="PgColumnBuilder";array(a){return new w(this.config.name,this,a)}references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a,b){return this.config.isUnique=!0,this.config.uniqueName=a,this.config.uniqueType=b?.nulls,this}generatedAlwaysAs(a){return this.config.generated={as:a,type:"always",mode:"stored"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>m((c,d)=>{let e=new k(()=>({columns:[a],foreignColumns:[c()]}));return d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)},c,d))}buildExtraConfigColumn(a){return new u(a,this.config)}}class t extends i.V{constructor(a,b){b.uniqueName||(b.uniqueName=n(a,[b.name])),super(a,b),this.table=a}static [g.i]="PgColumn"}class u extends t{static [g.i]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(a){return this.indexConfig.opClass=a,this}}class v{static [g.i]=null;constructor(a,b,c,d){this.name=a,this.keyAsName=b,this.type=c,this.indexConfig=d}name;keyAsName;type;indexConfig}class w extends s{static [g.i]="PgArrayBuilder";constructor(a,b,c){super(a,"array","PgArray"),this.config.baseBuilder=b,this.config.size=c}build(a){let b=this.config.baseBuilder.build(a);return new x(a,this.config,b)}}class x extends t{constructor(a,b,c,d){super(a,b),this.baseColumn=c,this.range=d,this.size=b.size}size;static [g.i]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(a){return"string"==typeof a&&(a=function(a){let[b]=function a(b,c=0){let d=[],e=c,f=!1;for(;e<b.length;){let g=b[e];if(","===g){(f||e===c)&&d.push(""),f=!0,e++;continue}if(f=!1,"\\"===g){e+=2;continue}if('"'===g){let[a,c]=r(b,e+1,!0);d.push(a),e=c;continue}if("}"===g)return[d,e+1];if("{"===g){let[c,f]=a(b,e+1);d.push(c),e=f;continue}let[h,i]=r(b,e,!1);d.push(h),e=i}return[d,e]}(a,1);return b}(a)),a.map(a=>this.baseColumn.mapFromDriverValue(a))}mapToDriverValue(a,b=!1){let c=a.map(a=>null===a?null:(0,g.is)(this.baseColumn,x)?this.baseColumn.mapToDriverValue(a,!0):this.baseColumn.mapToDriverValue(a));return b?c:function a(b){return`{${b.map(b=>Array.isArray(b)?a(b):"string"==typeof b?`"${b.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${b}`).join(",")}}`}(c)}}class y extends s{static [g.i]="PgEnumObjectColumnBuilder";constructor(a,b){super(a,"string","PgEnumObjectColumn"),this.config.enum=b}build(a){return new z(a,this.config)}}class z extends t{static [g.i]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(a,b){super(a,b),this.enum=b.enum}getSQLType(){return this.enum.enumName}}let A=Symbol.for("drizzle:isPgEnum");class B extends s{static [g.i]="PgEnumColumnBuilder";constructor(a,b){super(a,"string","PgEnumColumn"),this.config.enum=b}build(a){return new C(a,this.config)}}class C extends t{static [g.i]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(a,b){super(a,b),this.enum=b.enum}getSQLType(){return this.enum.enumName}}var D=c(7725);let E=(a,b)=>d?(e||(e=d.trace.getTracer("drizzle-orm","0.45.2")),m((c,d)=>d.startActiveSpan(a,a=>{try{return b(a)}catch(b){throw a.setStatus({code:c.SpanStatusCode.ERROR,message:b instanceof Error?b.message:"Unknown error"}),b}finally{a.end()}}),d,e)):b();var F=c(89330),G=c(78137);class H{static [g.i]=null}function I(a){return null!=a&&"function"==typeof a.getSQL}class J{static [g.i]="StringChunk";value;constructor(a){this.value=Array.isArray(a)?a:[a]}getSQL(){return new K([this])}}class K{constructor(a){for(const b of(this.queryChunks=a,a))if((0,g.is)(b,G.XI)){const a=b[G.XI.Symbol.Schema];this.usedTables.push(void 0===a?b[G.XI.Symbol.Name]:a+"."+b[G.XI.Symbol.Name])}}static [g.i]="SQL";decoder=N;shouldInlineParams=!1;usedTables=[];append(a){return this.queryChunks.push(...a.queryChunks),this}toQuery(a){return E("drizzle.buildSQL",b=>{let c=this.buildQueryFromSourceParams(this.queryChunks,a);return b?.setAttributes({"drizzle.query.text":c.sql,"drizzle.query.params":JSON.stringify(c.params)}),c})}buildQueryFromSourceParams(a,b){let c=Object.assign({},b,{inlineParams:b.inlineParams||this.shouldInlineParams,paramStartIndex:b.paramStartIndex||{value:0}}),{casing:d,escapeName:e,escapeParam:f,prepareTyping:h,inlineParams:j,paramStartIndex:k}=c;var l=a.map(a=>{if((0,g.is)(a,J))return{sql:a.value.join(""),params:[]};if((0,g.is)(a,L))return{sql:e(a.value),params:[]};if(void 0===a)return{sql:"",params:[]};if(Array.isArray(a)){let b=[new J("(")];for(let[c,d]of a.entries())b.push(d),c<a.length-1&&b.push(new J(", "));return b.push(new J(")")),this.buildQueryFromSourceParams(b,c)}if((0,g.is)(a,K))return this.buildQueryFromSourceParams(a.queryChunks,{...c,inlineParams:j||a.shouldInlineParams});if((0,g.is)(a,G.XI)){let b=a[G.XI.Symbol.Schema],c=a[G.XI.Symbol.Name];return{sql:void 0===b||a[G.HE]?e(c):e(b)+"."+e(c),params:[]}}if((0,g.is)(a,i.V)){let c=d.getColumnCasing(a);if("indexes"===b.invokeSource)return{sql:e(c),params:[]};let f=a.table[G.XI.Symbol.Schema];return{sql:a.table[G.HE]||void 0===f?e(a.table[G.XI.Symbol.Name])+"."+e(c):e(f)+"."+e(a.table[G.XI.Symbol.Name])+"."+e(c),params:[]}}if((0,g.is)(a,W)){let b=a[F.n].schema,c=a[F.n].name;return{sql:void 0===b||a[F.n].isAlias?e(c):e(b)+"."+e(c),params:[]}}if((0,g.is)(a,P)){if((0,g.is)(a.value,T))return{sql:f(k.value++,a),params:[a],typings:["none"]};let b=null===a.value?null:a.encoder.mapToDriverValue(a.value);if((0,g.is)(b,K))return this.buildQueryFromSourceParams([b],c);if(j)return{sql:this.mapInlineParam(b,c),params:[]};let d=["none"];return h&&(d=[h(a.encoder)]),{sql:f(k.value++,b),params:[b],typings:d}}return(0,g.is)(a,T)?{sql:f(k.value++,a),params:[a],typings:["none"]}:(0,g.is)(a,K.Aliased)&&void 0!==a.fieldAlias?{sql:e(a.fieldAlias),params:[]}:(0,g.is)(a,D.n)?a._.isWith?{sql:e(a._.alias),params:[]}:this.buildQueryFromSourceParams([new J("("),a._.sql,new J(") "),new L(a._.alias)],c):a&&"function"==typeof a&&A in a&&!0===a[A]?a.schema?{sql:e(a.schema)+"."+e(a.enumName),params:[]}:{sql:e(a.enumName),params:[]}:I(a)?a.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([a.getSQL()],c):this.buildQueryFromSourceParams([new J("("),a.getSQL(),new J(")")],c):j?{sql:this.mapInlineParam(a,c),params:[]}:{sql:f(k.value++,a),params:[a],typings:["none"]}});let m={sql:"",params:[]};for(let a of l)m.sql+=a.sql,m.params.push(...a.params),a.typings?.length&&(m.typings||(m.typings=[]),m.typings.push(...a.typings));return m}mapInlineParam(a,{escapeString:b}){if(null===a)return"null";if("number"==typeof a||"boolean"==typeof a)return a.toString();if("string"==typeof a)return b(a);if("object"==typeof a){let c=a.toString();return"[object Object]"===c?b(JSON.stringify(a)):b(c)}throw Error("Unexpected param value: "+a)}getSQL(){return this}as(a){return void 0===a?this:new K.Aliased(this,a)}mapWith(a){return this.decoder="function"==typeof a?{mapFromDriverValue:a}:a,this}inlineParams(){return this.shouldInlineParams=!0,this}if(a){return a?this:void 0}}class L{constructor(a){this.value=a}static [g.i]="Name";brand;getSQL(){return new K([this])}}function M(a){return"object"==typeof a&&null!==a&&"mapToDriverValue"in a&&"function"==typeof a.mapToDriverValue}let N={mapFromDriverValue:a=>a},O={mapToDriverValue:a=>a};({...N,...O});class P{constructor(a,b=O){this.value=a,this.encoder=b}static [g.i]="Param";brand;getSQL(){return new K([this])}}function Q(a,...b){let c=[];for(let[d,e]of((b.length>0||a.length>0&&""!==a[0])&&c.push(new J(a[0])),b.entries()))c.push(e,new J(a[d+1]));return new K(c)}(f=Q||(Q={})).empty=function(){return new K([])},f.fromList=function(a){return new K(a)},f.raw=function(a){return new K([new J(a)])},f.join=function(a,b){let c=[];for(let[d,e]of a.entries())d>0&&void 0!==b&&c.push(b),c.push(e);return new K(c)},f.identifier=function(a){return new L(a)},f.placeholder=function(a){return new T(a)},f.param=function(a,b){return new P(a,b)};var R=K||(K={});class S{constructor(a,b){this.sql=a,this.fieldAlias=b}static [g.i]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new S(this.sql,this.fieldAlias)}}R.Aliased=S;class T{constructor(a){this.name=a}static [g.i]="Placeholder";getSQL(){return new K([this])}}function U(a,b){return a.map(a=>{if((0,g.is)(a,T)){if(!(a.name in b))throw Error(`No value for placeholder "${a.name}" was provided`);return b[a.name]}if((0,g.is)(a,P)&&(0,g.is)(a.value,T)){if(!(a.value.name in b))throw Error(`No value for placeholder "${a.value.name}" was provided`);return a.encoder.mapToDriverValue(b[a.value.name])}return a})}let V=Symbol.for("drizzle:IsDrizzleView");class W{static [g.i]="View";[F.n];[V]=!0;constructor({name:a,schema:b,selectedFields:c,query:d}){this[F.n]={name:a,originalName:a,schema:b,selectedFields:c,query:d,isExisting:!d,isAlias:!1}}getSQL(){return new K([this])}}i.V.prototype.getSQL=function(){return new K([this])},G.XI.prototype.getSQL=function(){return new K([this])},D.n.prototype.getSQL=function(){return new K([this])}},35088:(a,b,c)=>{c.d(b,{$4:()=>p,BT:()=>o,Dm:()=>n,Dp:()=>l,Rb:()=>g,T0:()=>h,Ye:()=>k,_L:()=>m,aA:()=>j,h2:()=>r,i4:()=>d,ie:()=>e,n:()=>f,xO:()=>i,xb:()=>q});class d extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class e extends d{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class f extends d{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class g extends d{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class h extends d{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class i extends d{static code="ERR_JWE_DECRYPTION_FAILED";code="ERR_JWE_DECRYPTION_FAILED";constructor(a="decryption operation failed",b){super(a,b)}}class j extends d{static code="ERR_JWE_INVALID";code="ERR_JWE_INVALID"}class k extends d{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class l extends d{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class m extends d{static code="ERR_JWK_INVALID";code="ERR_JWK_INVALID"}class n extends d{static code="ERR_JWKS_INVALID";code="ERR_JWKS_INVALID"}class o extends d{static code="ERR_JWKS_NO_MATCHING_KEY";code="ERR_JWKS_NO_MATCHING_KEY";constructor(a="no applicable key found in the JSON Web Key Set",b){super(a,b)}}class p extends d{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(a="multiple matching keys found in the JSON Web Key Set",b){super(a,b)}}class q extends d{static code="ERR_JWKS_TIMEOUT";code="ERR_JWKS_TIMEOUT";constructor(a="request timed out",b){super(a,b)}}class r extends d{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}},35253:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={StaticGenBailoutError:function(){return f},isStaticGenBailoutError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="NEXT_STATIC_GEN_BAILOUT";class f extends Error{constructor(...a){super(...a),this.code=e}}function g(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},35541:(a,b,c)=>{c.d(b,{a:()=>h});var d=c(6833),e=c(72104),f=c(68447),g=c(4319);function h(a,b){var c,h,i,j,k,l,m,n;if(3===b.length){return c=a,h=b[0],i=b[1],j=b[2],d.b.createWithOn(c,(0,g.uJ)(h),(0,e.vC)(i,"=",j))}if(2===b.length){return k=a,l=b[0],(0,b[1])((0,f.GQ)(k,l)).toOperationNode()}if(1===b.length){return m=a,n=b[0],d.b.create(m,(0,g.uJ)(n))}throw Error("not implemented")}},36022:(a,b,c)=>{c.d(b,{L:()=>o});var d=c(33145),e=c(48835),f=c(31173),g=c(88963),h=c(69590),i=c(6881);let j=(0,i.CN)({is:a=>"ReturningNode"===a.kind,create:a=>(0,i.CN)({kind:"ReturningNode",selections:(0,i.CN)(a)}),cloneWithSelections:(a,b)=>(0,i.CN)({...a,selections:a.selections?(0,i.CN)([...a.selections,...b]):(0,i.CN)(b)})}),k=(0,i.CN)({is:a=>"ExplainNode"===a.kind,create:(a,b)=>(0,i.CN)({kind:"ExplainNode",format:a,options:b})});var l=c(91564);let m=(0,i.CN)({is:a=>"OutputNode"===a.kind,create:a=>(0,i.CN)({kind:"OutputNode",selections:(0,i.CN)(a)}),cloneWithSelections:(a,b)=>(0,i.CN)({...a,selections:a.selections?(0,i.CN)([...a.selections,...b]):(0,i.CN)(b)})});var n=c(5607);let o=(0,i.CN)({is:a=>e.L.is(a)||d.o.is(a)||f.U.is(a)||g.e.is(a)||l.r.is(a),cloneWithEndModifier:(a,b)=>(0,i.CN)({...a,endModifiers:a.endModifiers?(0,i.CN)([...a.endModifiers,b]):(0,i.CN)([b])}),cloneWithWhere:(a,b)=>(0,i.CN)({...a,where:a.where?h.o.cloneWithOperation(a.where,"And",b):h.o.create(b)}),cloneWithJoin:(a,b)=>(0,i.CN)({...a,joins:a.joins?(0,i.CN)([...a.joins,b]):(0,i.CN)([b])}),cloneWithReturning:(a,b)=>(0,i.CN)({...a,returning:a.returning?j.cloneWithSelections(a.returning,b):j.create(b)}),cloneWithoutReturning:a=>(0,i.CN)({...a,returning:void 0}),cloneWithoutWhere:a=>(0,i.CN)({...a,where:void 0}),cloneWithExplain:(a,b,c)=>(0,i.CN)({...a,explain:k.create(b,c?.toOperationNode())}),cloneWithTop:(a,b)=>(0,i.CN)({...a,top:b}),cloneWithOutput:(a,b)=>(0,i.CN)({...a,output:a.output?m.cloneWithSelections(a.output,b):m.create(b)}),cloneWithOrderByItems:(a,b)=>(0,i.CN)({...a,orderBy:a.orderBy?n.O.cloneWithItems(a.orderBy,b):n.O.create(b)}),cloneWithoutOrderBy:a=>(0,i.CN)({...a,orderBy:void 0})})},36074:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96031);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"append":case"delete":case"set":return g.callable;default:return f.ReflectAdapter.get(a,b,c)}}})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},36220:(a,b,c)=>{c.d(b,{WF:()=>bv,bv:()=>bE,Ii:()=>bO,ND:()=>a3,EB:()=>a5,bz:()=>by,YO:()=>bD,zM:()=>bw,Rp:()=>a7,k5:()=>bM,uX:()=>bj,ug:()=>bl,_H:()=>bG,ai:()=>bt,Ik:()=>bF,lq:()=>bP,g1:()=>bK,Yj:()=>a4});var d=c(95604),e=c(41538);class f{constructor(a=[]){this.content=[],this.indent=0,this&&(this.args=a)}indented(a){this.indent+=1,a(this),this.indent-=1}write(a){if("function"==typeof a){a(this,{execution:"sync"}),a(this,{execution:"async"});return}let b=a.split("\n").filter(a=>a),c=Math.min(...b.map(a=>a.length-a.trimStart().length));for(let a of b.map(a=>a.slice(c)).map(a=>" ".repeat(2*this.indent)+a))this.content.push(a)}compile(){return Function(...this?.args,[...(this?.content??[""]).map(a=>` ${a}`)].join("\n"))}}var g=c(23781);let h=(a,b)=>{a.name="$ZodError",Object.defineProperty(a,"_zod",{value:a._zod,enumerable:!1}),Object.defineProperty(a,"issues",{value:b,enumerable:!1}),a.message=JSON.stringify(b,g.k8,2),Object.defineProperty(a,"toString",{value:()=>a.message,enumerable:!1})},i=(0,d.xI)("$ZodError",h),j=(0,d.xI)("$ZodError",h,{Parent:Error}),k=a=>(b,c,e,f)=>{let h=e?{...e,async:!1}:{async:!1},i=b._zod.run({value:c,issues:[]},h);if(i instanceof Promise)throw new d.GT;if(i.issues.length){let b=new(f?.Err??a)(i.issues.map(a=>g.iR(a,h,d.$W())));throw g.gx(b,f?.callee),b}return i.value},l=a=>async(b,c,e,f)=>{let h=e?{...e,async:!0}:{async:!0},i=b._zod.run({value:c,issues:[]},h);if(i instanceof Promise&&(i=await i),i.issues.length){let b=new(f?.Err??a)(i.issues.map(a=>g.iR(a,h,d.$W())));throw g.gx(b,f?.callee),b}return i.value},m=a=>(b,c,e)=>{let f=e?{...e,async:!1}:{async:!1},h=b._zod.run({value:c,issues:[]},f);if(h instanceof Promise)throw new d.GT;return h.issues.length?{success:!1,error:new(a??i)(h.issues.map(a=>g.iR(a,f,d.$W())))}:{success:!0,data:h.value}},n=m(j),o=a=>async(b,c,e)=>{let f=e?{...e,async:!0}:{async:!0},h=b._zod.run({value:c,issues:[]},f);return h instanceof Promise&&(h=await h),h.issues.length?{success:!1,error:new a(h.issues.map(a=>g.iR(a,f,d.$W())))}:{success:!0,data:h.value}},p=o(j);var q=c(24146);let r={major:4,minor:4,patch:3},s=d.xI("$ZodType",(a,b)=>{var c;a??(a={}),a._zod.def=b,a._zod.bag=a._zod.bag||{},a._zod.version=r;let e=[...a._zod.def.checks??[]];for(let b of(a._zod.traits.has("$ZodCheck")&&e.unshift(a),e))for(let c of b._zod.onattach)c(a);if(0===e.length)(c=a._zod).deferred??(c.deferred=[]),a._zod.deferred?.push(()=>{a._zod.run=a._zod.parse});else{let b=(a,b,c)=>{let e,f=g.QH(a);for(let h of b){if(h._zod.def.when){if(g.rL(a)||!h._zod.def.when(a))continue}else if(f)continue;let b=a.issues.length,i=h._zod.check(a);if(i instanceof Promise&&c?.async===!1)throw new d.GT;if(e||i instanceof Promise)e=(e??Promise.resolve()).then(async()=>{await i,a.issues.length!==b&&(f||(f=g.QH(a,b)))});else{if(a.issues.length===b)continue;f||(f=g.QH(a,b))}}return e?e.then(()=>a):a},c=(c,f,h)=>{if(g.QH(c))return c.aborted=!0,c;let i=b(f,e,h);if(i instanceof Promise){if(!1===h.async)throw new d.GT;return i.then(b=>a._zod.parse(b,h))}return a._zod.parse(i,h)};a._zod.run=(f,g)=>{if(g.skipChecks)return a._zod.parse(f,g);if("backward"===g.direction){let b=a._zod.parse({value:f.value,issues:[]},{...g,skipChecks:!0});return b instanceof Promise?b.then(a=>c(a,f,g)):c(b,f,g)}let h=a._zod.parse(f,g);if(h instanceof Promise){if(!1===g.async)throw new d.GT;return h.then(a=>b(a,e,g))}return b(h,e,g)}}g.gJ(a,"~standard",()=>({validate:b=>{try{let c=n(a,b);return c.success?{value:c.data}:{issues:c.error?.issues}}catch(c){return p(a,b).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),t=d.xI("$ZodString",(a,b)=>{s.init(a,b),a._zod.pattern=[...a?._zod.bag?.patterns??[]].pop()??q.Yj(a._zod.bag),a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=String(c.value)}catch(a){}return"string"==typeof c.value||c.issues.push({expected:"string",code:"invalid_type",input:c.value,inst:a}),c}}),u=d.xI("$ZodStringFormat",(a,b)=>{e.ql.init(a,b),t.init(a,b)}),v=d.xI("$ZodGUID",(a,b)=>{b.pattern??(b.pattern=q.Os),u.init(a,b)}),w=d.xI("$ZodUUID",(a,b)=>{if(b.version){let a={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[b.version];if(void 0===a)throw Error(`Invalid UUID version: "${b.version}"`);b.pattern??(b.pattern=q.uR(a))}else b.pattern??(b.pattern=q.uR());u.init(a,b)}),x=d.xI("$ZodEmail",(a,b)=>{b.pattern??(b.pattern=q.Rp),u.init(a,b)}),y=d.xI("$ZodURL",(a,b)=>{u.init(a,b),a._zod.check=c=>{try{let d=c.value.trim();if(!b.normalize&&b.protocol?.source===q.F.source&&!/^https?:\/\//i.test(d))return void c.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:c.value,inst:a,continue:!b.abort});let e=new URL(d);b.hostname&&(b.hostname.lastIndex=0,b.hostname.test(e.hostname)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:b.hostname.source,input:c.value,inst:a,continue:!b.abort})),b.protocol&&(b.protocol.lastIndex=0,b.protocol.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:b.protocol.source,input:c.value,inst:a,continue:!b.abort})),b.normalize?c.value=e.href:c.value=d;return}catch(d){c.issues.push({code:"invalid_format",format:"url",input:c.value,inst:a,continue:!b.abort})}}}),z=d.xI("$ZodEmoji",(a,b)=>{b.pattern??(b.pattern=q.Zg()),u.init(a,b)}),A=d.xI("$ZodNanoID",(a,b)=>{b.pattern??(b.pattern=q.Ak),u.init(a,b)}),B=d.xI("$ZodCUID",(a,b)=>{b.pattern??(b.pattern=q.gF),u.init(a,b)}),C=d.xI("$ZodCUID2",(a,b)=>{b.pattern??(b.pattern=q.Gl),u.init(a,b)}),D=d.xI("$ZodULID",(a,b)=>{b.pattern??(b.pattern=q.Z0),u.init(a,b)}),E=d.xI("$ZodXID",(a,b)=>{b.pattern??(b.pattern=q.kM),u.init(a,b)}),F=d.xI("$ZodKSUID",(a,b)=>{b.pattern??(b.pattern=q.fO),u.init(a,b)}),G=d.xI("$ZodISODateTime",(a,b)=>{b.pattern??(b.pattern=q.w$(b)),u.init(a,b)}),H=d.xI("$ZodISODate",(a,b)=>{b.pattern??(b.pattern=q.p6),u.init(a,b)}),I=d.xI("$ZodISOTime",(a,b)=>{b.pattern??(b.pattern=q.kB(b)),u.init(a,b)}),J=d.xI("$ZodISODuration",(a,b)=>{b.pattern??(b.pattern=q.p0),u.init(a,b)}),K=d.xI("$ZodIPv4",(a,b)=>{b.pattern??(b.pattern=q.uX),u.init(a,b),a._zod.bag.format="ipv4"}),L=d.xI("$ZodIPv6",(a,b)=>{b.pattern??(b.pattern=q.ug),u.init(a,b),a._zod.bag.format="ipv6",a._zod.check=c=>{try{new URL(`http://[${c.value}]`)}catch{c.issues.push({code:"invalid_format",format:"ipv6",input:c.value,inst:a,continue:!b.abort})}}}),M=d.xI("$ZodCIDRv4",(a,b)=>{b.pattern??(b.pattern=q.zr),u.init(a,b)}),N=d.xI("$ZodCIDRv6",(a,b)=>{b.pattern??(b.pattern=q.l7),u.init(a,b),a._zod.check=c=>{let d=c.value.split("/");try{if(2!==d.length)throw Error();let[a,b]=d;if(!b)throw Error();let c=Number(b);if(`${c}`!==b||c<0||c>128)throw Error();new URL(`http://[${a}]`)}catch{c.issues.push({code:"invalid_format",format:"cidrv6",input:c.value,inst:a,continue:!b.abort})}}});function O(a){if(""===a)return!0;if(/\s/.test(a)||a.length%4!=0)return!1;try{return atob(a),!0}catch{return!1}}let P=d.xI("$ZodBase64",(a,b)=>{b.pattern??(b.pattern=q.K3),u.init(a,b),a._zod.bag.contentEncoding="base64",a._zod.check=c=>{O(c.value)||c.issues.push({code:"invalid_format",format:"base64",input:c.value,inst:a,continue:!b.abort})}}),Q=d.xI("$ZodBase64URL",(a,b)=>{b.pattern??(b.pattern=q.r0),u.init(a,b),a._zod.bag.contentEncoding="base64url",a._zod.check=c=>{!function(a){if(!q.r0.test(a))return!1;let b=a.replace(/[-_]/g,a=>"-"===a?"+":"/");return O(b.padEnd(4*Math.ceil(b.length/4),"="))}(c.value)&&c.issues.push({code:"invalid_format",format:"base64url",input:c.value,inst:a,continue:!b.abort})}}),R=d.xI("$ZodE164",(a,b)=>{b.pattern??(b.pattern=q.hQ),u.init(a,b)}),S=d.xI("$ZodJWT",(a,b)=>{u.init(a,b),a._zod.check=c=>{!function(a,b=null){try{let c=a.split(".");if(3!==c.length)return!1;let[d]=c;if(!d)return!1;let e=JSON.parse(atob(d));if("typ"in e&&e?.typ!=="JWT"||!e.alg||b&&(!("alg"in e)||e.alg!==b))return!1;return!0}catch{return!1}}(c.value,b.alg)&&c.issues.push({code:"invalid_format",format:"jwt",input:c.value,inst:a,continue:!b.abort})}}),T=d.xI("$ZodNumber",(a,b)=>{s.init(a,b),a._zod.pattern=a._zod.bag.pattern??q.ai,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=Number(c.value)}catch(a){}let e=c.value;if("number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e))return c;let f="number"==typeof e?Number.isNaN(e)?"NaN":Number.isFinite(e)?void 0:"Infinity":void 0;return c.issues.push({expected:"number",code:"invalid_type",input:e,inst:a,...f?{received:f}:{}}),c}}),U=d.xI("$ZodNumberFormat",(a,b)=>{e.KH.init(a,b),T.init(a,b)}),V=d.xI("$ZodBoolean",(a,b)=>{s.init(a,b),a._zod.pattern=q.zM,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=!!c.value}catch(a){}let e=c.value;return"boolean"==typeof e||c.issues.push({expected:"boolean",code:"invalid_type",input:e,inst:a}),c}}),W=d.xI("$ZodAny",(a,b)=>{s.init(a,b),a._zod.parse=a=>a}),X=d.xI("$ZodUnknown",(a,b)=>{s.init(a,b),a._zod.parse=a=>a}),Y=d.xI("$ZodNever",(a,b)=>{s.init(a,b),a._zod.parse=(b,c)=>(b.issues.push({expected:"never",code:"invalid_type",input:b.value,inst:a}),b)});function Z(a,b,c){a.issues.length&&b.issues.push(...g.lQ(c,a.issues)),b.value[c]=a.value}let $=d.xI("$ZodArray",(a,b)=>{s.init(a,b),a._zod.parse=(c,d)=>{let e=c.value;if(!Array.isArray(e))return c.issues.push({expected:"array",code:"invalid_type",input:e,inst:a}),c;c.value=Array(e.length);let f=[];for(let a=0;a<e.length;a++){let g=e[a],h=b.element._zod.run({value:g,issues:[]},d);h instanceof Promise?f.push(h.then(b=>Z(b,c,a))):Z(h,c,a)}return f.length?Promise.all(f).then(()=>c):c}});function _(a,b,c,d,e,f){let h=c in d;if(a.issues.length){if(e&&f&&!h)return;b.issues.push(...g.lQ(c,a.issues))}if(!h&&!e){a.issues.length||b.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[c]});return}void 0===a.value?h&&(b.value[c]=void 0):b.value[c]=a.value}function aa(a){let b=Object.keys(a.shape);for(let c of b)if(!a.shape?.[c]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${c}": expected a Zod schema`);let c=g.NM(a.shape);return{...a,keys:b,keySet:new Set(b),numKeys:b.length,optionalKeys:new Set(c)}}function ab(a,b,c,d,e,f){let g=[],h=e.keySet,i=e.catchall._zod,j=i.def.type,k="optional"===i.optin,l="optional"===i.optout;for(let e in b){if("__proto__"===e||h.has(e))continue;if("never"===j){g.push(e);continue}let f=i.run({value:b[e],issues:[]},d);f instanceof Promise?a.push(f.then(a=>_(a,c,e,b,k,l))):_(f,c,e,b,k,l)}return(g.length&&c.issues.push({code:"unrecognized_keys",keys:g,input:b,inst:f}),a.length)?Promise.all(a).then(()=>c):c}let ac=d.xI("$ZodObject",(a,b)=>{let c;s.init(a,b);let d=Object.getOwnPropertyDescriptor(b,"shape");if(!d?.get){let a=b.shape;Object.defineProperty(b,"shape",{get:()=>{let c={...a};return Object.defineProperty(b,"shape",{value:c}),c}})}let e=g.PO(()=>aa(b));g.gJ(a._zod,"propValues",()=>{let a=b.shape,c={};for(let b in a){let d=a[b]._zod;if(d.values)for(let a of(c[b]??(c[b]=new Set),d.values))c[b].add(a)}return c});let f=g.Gv,h=b.catchall;a._zod.parse=(b,d)=>{c??(c=e.value);let g=b.value;if(!f(g))return b.issues.push({expected:"object",code:"invalid_type",input:g,inst:a}),b;b.value={};let i=[],j=c.shape;for(let a of c.keys){let c=j[a],e="optional"===c._zod.optin,f="optional"===c._zod.optout,h=c._zod.run({value:g[a],issues:[]},d);h instanceof Promise?i.push(h.then(c=>_(c,b,a,g,e,f))):_(h,b,a,g,e,f)}return h?ab(i,g,b,d,e.value,a):i.length?Promise.all(i).then(()=>b):b}}),ad=d.xI("$ZodObjectJIT",(a,b)=>{let c,e;ac.init(a,b);let h=a._zod.parse,i=g.PO(()=>aa(b)),j=g.Gv,k=!d.cr.jitless,l=g.hI,m=k&&l.value,n=b.catchall;a._zod.parse=(d,l)=>{e??(e=i.value);let o=d.value;return j(o)?k&&m&&l?.async===!1&&!0!==l.jitless?(c||(c=(a=>{let b=new f(["shape","payload","ctx"]),c=i.value,d=a=>{let b=g.UQ(a);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};b.write("const input = payload.value;");let e=Object.create(null),h=0;for(let a of c.keys)e[a]=`key_${h++}`;for(let f of(b.write("const newResult = {};"),c.keys)){let c=e[f],h=g.UQ(f),i=a[f],j=i?._zod?.optin==="optional",k=i?._zod?.optout==="optional";b.write(`const ${c} = ${d(f)};`),j&&k?b.write(`
5
+ if (${c}.issues.length) {
6
+ if (${h} in input) {
7
+ payload.issues = payload.issues.concat(${c}.issues.map(iss => ({
8
+ ...iss,
9
+ path: iss.path ? [${h}, ...iss.path] : [${h}]
10
+ })));
11
+ }
12
+ }
13
+
14
+ if (${c}.value === undefined) {
15
+ if (${h} in input) {
16
+ newResult[${h}] = undefined;
17
+ }
18
+ } else {
19
+ newResult[${h}] = ${c}.value;
20
+ }
21
+
22
+ `):j?b.write(`
23
+ if (${c}.issues.length) {
24
+ payload.issues = payload.issues.concat(${c}.issues.map(iss => ({
25
+ ...iss,
26
+ path: iss.path ? [${h}, ...iss.path] : [${h}]
27
+ })));
28
+ }
29
+
30
+ if (${c}.value === undefined) {
31
+ if (${h} in input) {
32
+ newResult[${h}] = undefined;
33
+ }
34
+ } else {
35
+ newResult[${h}] = ${c}.value;
36
+ }
37
+
38
+ `):b.write(`
39
+ const ${c}_present = ${h} in input;
40
+ if (${c}.issues.length) {
41
+ payload.issues = payload.issues.concat(${c}.issues.map(iss => ({
42
+ ...iss,
43
+ path: iss.path ? [${h}, ...iss.path] : [${h}]
44
+ })));
45
+ }
46
+ if (!${c}_present && !${c}.issues.length) {
47
+ payload.issues.push({
48
+ code: "invalid_type",
49
+ expected: "nonoptional",
50
+ input: undefined,
51
+ path: [${h}]
52
+ });
53
+ }
54
+
55
+ if (${c}_present) {
56
+ if (${c}.value === undefined) {
57
+ newResult[${h}] = undefined;
58
+ } else {
59
+ newResult[${h}] = ${c}.value;
60
+ }
61
+ }
62
+
63
+ `)}b.write("payload.value = newResult;"),b.write("return payload;");let j=b.compile();return(b,c)=>j(a,b,c)})(b.shape)),d=c(d,l),n)?ab([],o,d,l,e,a):d:h(d,l):(d.issues.push({expected:"object",code:"invalid_type",input:o,inst:a}),d)}});function ae(a,b,c,e){for(let c of a)if(0===c.issues.length)return b.value=c.value,b;let f=a.filter(a=>!g.QH(a));return 1===f.length?(b.value=f[0].value,f[0]):(b.issues.push({code:"invalid_union",input:b.value,inst:c,errors:a.map(a=>a.issues.map(a=>g.iR(a,e,d.$W())))}),b)}let af=d.xI("$ZodUnion",(a,b)=>{s.init(a,b),g.gJ(a._zod,"optin",()=>b.options.some(a=>"optional"===a._zod.optin)?"optional":void 0),g.gJ(a._zod,"optout",()=>b.options.some(a=>"optional"===a._zod.optout)?"optional":void 0),g.gJ(a._zod,"values",()=>{if(b.options.every(a=>a._zod.values))return new Set(b.options.flatMap(a=>Array.from(a._zod.values)))}),g.gJ(a._zod,"pattern",()=>{if(b.options.every(a=>a._zod.pattern)){let a=b.options.map(a=>a._zod.pattern);return RegExp(`^(${a.map(a=>g.p6(a.source)).join("|")})$`)}});let c=1===b.options.length?b.options[0]._zod.run:null;a._zod.parse=(d,e)=>{if(c)return c(d,e);let f=!1,g=[];for(let a of b.options){let b=a._zod.run({value:d.value,issues:[]},e);if(b instanceof Promise)g.push(b),f=!0;else{if(0===b.issues.length)return b;g.push(b)}}return f?Promise.all(g).then(b=>ae(b,d,a,e)):ae(g,d,a,e)}}),ag=d.xI("$ZodIntersection",(a,b)=>{s.init(a,b),a._zod.parse=(a,c)=>{let d=a.value,e=b.left._zod.run({value:d,issues:[]},c),f=b.right._zod.run({value:d,issues:[]},c);return e instanceof Promise||f instanceof Promise?Promise.all([e,f]).then(([b,c])=>ah(a,b,c)):ah(a,e,f)}});function ah(a,b,c){let d,e=new Map;for(let c of b.issues)if("unrecognized_keys"===c.code)for(let a of(d??(d=c),c.keys))e.has(a)||e.set(a,{}),e.get(a).l=!0;else a.issues.push(c);for(let b of c.issues)if("unrecognized_keys"===b.code)for(let a of b.keys)e.has(a)||e.set(a,{}),e.get(a).r=!0;else a.issues.push(b);let f=[...e].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(f.length&&d&&a.issues.push({...d,keys:f}),g.QH(a))return a;let h=function a(b,c){if(b===c||b instanceof Date&&c instanceof Date&&+b==+c)return{valid:!0,data:b};if(g.Qd(b)&&g.Qd(c)){let d=Object.keys(c),e=Object.keys(b).filter(a=>-1!==d.indexOf(a)),f={...b,...c};for(let d of e){let e=a(b[d],c[d]);if(!e.valid)return{valid:!1,mergeErrorPath:[d,...e.mergeErrorPath]};f[d]=e.data}return{valid:!0,data:f}}if(Array.isArray(b)&&Array.isArray(c)){if(b.length!==c.length)return{valid:!1,mergeErrorPath:[]};let d=[];for(let e=0;e<b.length;e++){let f=a(b[e],c[e]);if(!f.valid)return{valid:!1,mergeErrorPath:[e,...f.mergeErrorPath]};d.push(f.data)}return{valid:!0,data:d}}return{valid:!1,mergeErrorPath:[]}}(b.value,c.value);if(!h.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(h.mergeErrorPath)}`);return a.value=h.data,a}let ai=d.xI("$ZodRecord",(a,b)=>{s.init(a,b),a._zod.parse=(c,e)=>{let f=c.value;if(!g.Qd(f))return c.issues.push({expected:"record",code:"invalid_type",input:f,inst:a}),c;let h=[],i=b.keyType._zod.values;if(i){let j;c.value={};let k=new Set;for(let j of i)if("string"==typeof j||"number"==typeof j||"symbol"==typeof j){k.add("number"==typeof j?j.toString():j);let i=b.keyType._zod.run({value:j,issues:[]},e);if(i instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(i.issues.length){c.issues.push({code:"invalid_key",origin:"record",issues:i.issues.map(a=>g.iR(a,e,d.$W())),input:j,path:[j],inst:a});continue}let l=i.value,m=b.valueType._zod.run({value:f[j],issues:[]},e);m instanceof Promise?h.push(m.then(a=>{a.issues.length&&c.issues.push(...g.lQ(j,a.issues)),c.value[l]=a.value})):(m.issues.length&&c.issues.push(...g.lQ(j,m.issues)),c.value[l]=m.value)}for(let a in f)k.has(a)||(j=j??[]).push(a);j&&j.length>0&&c.issues.push({code:"unrecognized_keys",input:f,inst:a,keys:j})}else for(let i of(c.value={},Reflect.ownKeys(f))){if("__proto__"===i||!Object.prototype.propertyIsEnumerable.call(f,i))continue;let j=b.keyType._zod.run({value:i,issues:[]},e);if(j instanceof Promise)throw Error("Async schemas not supported in object keys currently");if("string"==typeof i&&q.ai.test(i)&&j.issues.length){let a=b.keyType._zod.run({value:Number(i),issues:[]},e);if(a instanceof Promise)throw Error("Async schemas not supported in object keys currently");0===a.issues.length&&(j=a)}if(j.issues.length){"loose"===b.mode?c.value[i]=f[i]:c.issues.push({code:"invalid_key",origin:"record",issues:j.issues.map(a=>g.iR(a,e,d.$W())),input:i,path:[i],inst:a});continue}let k=b.valueType._zod.run({value:f[i],issues:[]},e);k instanceof Promise?h.push(k.then(a=>{a.issues.length&&c.issues.push(...g.lQ(i,a.issues)),c.value[j.value]=a.value})):(k.issues.length&&c.issues.push(...g.lQ(i,k.issues)),c.value[j.value]=k.value)}return h.length?Promise.all(h).then(()=>c):c}}),aj=d.xI("$ZodEnum",(a,b)=>{s.init(a,b);let c=g.w5(b.entries),d=new Set(c);a._zod.values=d,a._zod.pattern=RegExp(`^(${c.filter(a=>g.qQ.has(typeof a)).map(a=>"string"==typeof a?g.$f(a):a.toString()).join("|")})$`),a._zod.parse=(b,e)=>{let f=b.value;return d.has(f)||b.issues.push({code:"invalid_value",values:c,input:f,inst:a}),b}}),ak=d.xI("$ZodTransform",(a,b)=>{s.init(a,b),a._zod.optin="optional",a._zod.parse=(c,e)=>{if("backward"===e.direction)throw new d.cV(a.constructor.name);let f=b.transform(c.value,c);if(e.async)return(f instanceof Promise?f:Promise.resolve(f)).then(a=>(c.value=a,c.fallback=!0,c));if(f instanceof Promise)throw new d.GT;return c.value=f,c.fallback=!0,c}});function al(a,b){return void 0===b&&(a.issues.length||a.fallback)?{issues:[],value:void 0}:a}let am=d.xI("$ZodOptional",(a,b)=>{s.init(a,b),a._zod.optin="optional",a._zod.optout="optional",g.gJ(a._zod,"values",()=>b.innerType._zod.values?new Set([...b.innerType._zod.values,void 0]):void 0),g.gJ(a._zod,"pattern",()=>{let a=b.innerType._zod.pattern;return a?RegExp(`^(${g.p6(a.source)})?$`):void 0}),a._zod.parse=(a,c)=>{if("optional"===b.innerType._zod.optin){let d=a.value,e=b.innerType._zod.run(a,c);return e instanceof Promise?e.then(a=>al(a,d)):al(e,d)}return void 0===a.value?a:b.innerType._zod.run(a,c)}}),an=d.xI("$ZodExactOptional",(a,b)=>{am.init(a,b),g.gJ(a._zod,"values",()=>b.innerType._zod.values),g.gJ(a._zod,"pattern",()=>b.innerType._zod.pattern),a._zod.parse=(a,c)=>b.innerType._zod.run(a,c)}),ao=d.xI("$ZodNullable",(a,b)=>{s.init(a,b),g.gJ(a._zod,"optin",()=>b.innerType._zod.optin),g.gJ(a._zod,"optout",()=>b.innerType._zod.optout),g.gJ(a._zod,"pattern",()=>{let a=b.innerType._zod.pattern;return a?RegExp(`^(${g.p6(a.source)}|null)$`):void 0}),g.gJ(a._zod,"values",()=>b.innerType._zod.values?new Set([...b.innerType._zod.values,null]):void 0),a._zod.parse=(a,c)=>null===a.value?a:b.innerType._zod.run(a,c)}),ap=d.xI("$ZodDefault",(a,b)=>{s.init(a,b),a._zod.optin="optional",g.gJ(a._zod,"values",()=>b.innerType._zod.values),a._zod.parse=(a,c)=>{if("backward"===c.direction)return b.innerType._zod.run(a,c);if(void 0===a.value)return a.value=b.defaultValue,a;let d=b.innerType._zod.run(a,c);return d instanceof Promise?d.then(a=>aq(a,b)):aq(d,b)}});function aq(a,b){return void 0===a.value&&(a.value=b.defaultValue),a}let ar=d.xI("$ZodPrefault",(a,b)=>{s.init(a,b),a._zod.optin="optional",g.gJ(a._zod,"values",()=>b.innerType._zod.values),a._zod.parse=(a,c)=>("backward"===c.direction||void 0===a.value&&(a.value=b.defaultValue),b.innerType._zod.run(a,c))}),as=d.xI("$ZodNonOptional",(a,b)=>{s.init(a,b),g.gJ(a._zod,"values",()=>{let a=b.innerType._zod.values;return a?new Set([...a].filter(a=>void 0!==a)):void 0}),a._zod.parse=(c,d)=>{let e=b.innerType._zod.run(c,d);return e instanceof Promise?e.then(b=>at(b,a)):at(e,a)}});function at(a,b){return a.issues.length||void 0!==a.value||a.issues.push({code:"invalid_type",expected:"nonoptional",input:a.value,inst:b}),a}let au=d.xI("$ZodCatch",(a,b)=>{s.init(a,b),a._zod.optin="optional",g.gJ(a._zod,"optout",()=>b.innerType._zod.optout),g.gJ(a._zod,"values",()=>b.innerType._zod.values),a._zod.parse=(a,c)=>{if("backward"===c.direction)return b.innerType._zod.run(a,c);let e=b.innerType._zod.run(a,c);return e instanceof Promise?e.then(e=>(a.value=e.value,e.issues.length&&(a.value=b.catchValue({...a,error:{issues:e.issues.map(a=>g.iR(a,c,d.$W()))},input:a.value}),a.issues=[],a.fallback=!0),a)):(a.value=e.value,e.issues.length&&(a.value=b.catchValue({...a,error:{issues:e.issues.map(a=>g.iR(a,c,d.$W()))},input:a.value}),a.issues=[],a.fallback=!0),a)}}),av=d.xI("$ZodPipe",(a,b)=>{s.init(a,b),g.gJ(a._zod,"values",()=>b.in._zod.values),g.gJ(a._zod,"optin",()=>b.in._zod.optin),g.gJ(a._zod,"optout",()=>b.out._zod.optout),g.gJ(a._zod,"propValues",()=>b.in._zod.propValues),a._zod.parse=(a,c)=>{if("backward"===c.direction){let d=b.out._zod.run(a,c);return d instanceof Promise?d.then(a=>aw(a,b.in,c)):aw(d,b.in,c)}let d=b.in._zod.run(a,c);return d instanceof Promise?d.then(a=>aw(a,b.out,c)):aw(d,b.out,c)}});function aw(a,b,c){return a.issues.length?(a.aborted=!0,a):b._zod.run({value:a.value,issues:a.issues,fallback:a.fallback},c)}let ax=d.xI("$ZodReadonly",(a,b)=>{s.init(a,b),g.gJ(a._zod,"propValues",()=>b.innerType._zod.propValues),g.gJ(a._zod,"values",()=>b.innerType._zod.values),g.gJ(a._zod,"optin",()=>b.innerType?._zod?.optin),g.gJ(a._zod,"optout",()=>b.innerType?._zod?.optout),a._zod.parse=(a,c)=>{if("backward"===c.direction)return b.innerType._zod.run(a,c);let d=b.innerType._zod.run(a,c);return d instanceof Promise?d.then(ay):ay(d)}});function ay(a){return a.value=Object.freeze(a.value),a}let az=d.xI("$ZodCustom",(a,b)=>{e.QP.init(a,b),s.init(a,b),a._zod.parse=(a,b)=>a,a._zod.check=c=>{let d=c.value,e=b.fn(d);if(e instanceof Promise)return e.then(b=>aA(b,c,d,a));aA(e,c,d,a)}});function aA(a,b,c,d){if(!a){let a={code:"custom",input:c,inst:d,path:[...d._zod.def.path??[]],continue:!d._zod.def.abort};d._zod.def.params&&(a.params=d._zod.def.params),b.issues.push(g.sn(a))}}var aB=c(16844),aC=c(98227);function aD(a){let b=a?.target??"draft-2020-12";return"draft-4"===b&&(b="draft-04"),"draft-7"===b&&(b="draft-07"),{processors:a.processors??{},metadataRegistry:a?.metadata??aB.fd,target:b,unrepresentable:a?.unrepresentable??"throw",override:a?.override??(()=>{}),io:a?.io??"output",counter:0,seen:new Map,cycles:a?.cycles??"ref",reused:a?.reused??"inline",external:a?.external??void 0}}function aE(a,b,c={path:[],schemaPath:[]}){var d;let e=a._zod.def,f=b.seen.get(a);if(f)return f.count++,c.schemaPath.includes(a)&&(f.cycle=c.path),f.schema;let g={schema:{},count:1,cycle:void 0,path:c.path};b.seen.set(a,g);let h=a._zod.toJSONSchema?.();if(h)g.schema=h;else{let d={...c,schemaPath:[...c.schemaPath,a],path:c.path};if(a._zod.processJSONSchema)a._zod.processJSONSchema(b,g.schema,d);else{let c=g.schema,f=b.processors[e.type];if(!f)throw Error(`[toJSONSchema]: Non-representable type encountered: ${e.type}`);f(a,b,c,d)}let f=a._zod.parent;f&&(g.ref||(g.ref=f),aE(f,b,d),b.seen.get(f).isParent=!0)}let i=b.metadataRegistry.get(a);return i&&Object.assign(g.schema,i),"input"===b.io&&function a(b,c){let d=c??{seen:new Set};if(d.seen.has(b))return!1;d.seen.add(b);let e=b._zod.def;if("transform"===e.type)return!0;if("array"===e.type)return a(e.element,d);if("set"===e.type)return a(e.valueType,d);if("lazy"===e.type)return a(e.getter(),d);if("promise"===e.type||"optional"===e.type||"nonoptional"===e.type||"nullable"===e.type||"readonly"===e.type||"default"===e.type||"prefault"===e.type)return a(e.innerType,d);if("intersection"===e.type)return a(e.left,d)||a(e.right,d);if("record"===e.type||"map"===e.type)return a(e.keyType,d)||a(e.valueType,d);if("pipe"===e.type)return!!b._zod.traits.has("$ZodCodec")||a(e.in,d)||a(e.out,d);if("object"===e.type){for(let b in e.shape)if(a(e.shape[b],d))return!0;return!1}if("union"===e.type){for(let b of e.options)if(a(b,d))return!0;return!1}if("tuple"===e.type){for(let b of e.items)if(a(b,d))return!0;if(e.rest&&a(e.rest,d))return!0}return!1}(a)&&(delete g.schema.examples,delete g.schema.default),"input"===b.io&&"_prefault"in g.schema&&((d=g.schema).default??(d.default=g.schema._prefault)),delete g.schema._prefault,b.seen.get(a).schema}function aF(a,b){let c=a.seen.get(b);if(!c)throw Error("Unprocessed schema. This is a bug in Zod.");let d=new Map;for(let b of a.seen.entries()){let c=a.metadataRegistry.get(b[0])?.id;if(c){let a=d.get(c);if(a&&a!==b[0])throw Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);d.set(c,b[0])}}let e=b=>{if(b[1].schema.$ref)return;let d=b[1],{ref:e,defId:f}=(b=>{let d="draft-2020-12"===a.target?"$defs":"definitions";if(a.external){let c=a.external.registry.get(b[0])?.id,e=a.external.uri??(a=>a);if(c)return{ref:e(c)};let f=b[1].defId??b[1].schema.id??`schema${a.counter++}`;return b[1].defId=f,{defId:f,ref:`${e("__shared")}#/${d}/${f}`}}if(b[1]===c)return{ref:"#"};let e=`#/${d}/`,f=b[1].schema.id??`__schema${a.counter++}`;return{defId:f,ref:e+f}})(b);d.def={...d.schema},f&&(d.defId=f);let g=d.schema;for(let a in g)delete g[a];g.$ref=e};if("throw"===a.cycles)for(let b of a.seen.entries()){let a=b[1];if(a.cycle)throw Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
64
+
65
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let c of a.seen.entries()){let d=c[1];if(b===c[0]){e(c);continue}if(a.external){let d=a.external.registry.get(c[0])?.id;if(b!==c[0]&&d){e(c);continue}}if(a.metadataRegistry.get(c[0])?.id||d.cycle||d.count>1&&"ref"===a.reused){e(c);continue}}}function aG(a,b){let c=a.seen.get(b);if(!c)throw Error("Unprocessed schema. This is a bug in Zod.");let d=b=>{let c=a.seen.get(b);if(null===c.ref)return;let e=c.def??c.schema,f={...e},g=c.ref;if(c.ref=null,g){d(g);let c=a.seen.get(g),h=c.schema;if(h.$ref&&("draft-07"===a.target||"draft-04"===a.target||"openapi-3.0"===a.target)?(e.allOf=e.allOf??[],e.allOf.push(h)):Object.assign(e,h),Object.assign(e,f),b._zod.parent===g)for(let a in e)"$ref"!==a&&"allOf"!==a&&(a in f||delete e[a]);if(h.$ref&&c.def)for(let a in e)"$ref"!==a&&"allOf"!==a&&a in c.def&&JSON.stringify(e[a])===JSON.stringify(c.def[a])&&delete e[a]}let h=b._zod.parent;if(h&&h!==g){d(h);let b=a.seen.get(h);if(b?.schema.$ref&&(e.$ref=b.schema.$ref,b.def))for(let a in e)"$ref"!==a&&"allOf"!==a&&a in b.def&&JSON.stringify(e[a])===JSON.stringify(b.def[a])&&delete e[a]}a.override({zodSchema:b,jsonSchema:e,path:c.path??[]})};for(let b of[...a.seen.entries()].reverse())d(b[0]);let e={};if("draft-2020-12"===a.target?e.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===a.target?e.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===a.target?e.$schema="http://json-schema.org/draft-04/schema#":a.target,a.external?.uri){let c=a.external.registry.get(b)?.id;if(!c)throw Error("Schema is missing an `id` property");e.$id=a.external.uri(c)}Object.assign(e,c.def??c.schema);let f=a.metadataRegistry.get(b)?.id;void 0!==f&&e.id===f&&delete e.id;let g=a.external?.defs??{};for(let b of a.seen.entries()){let a=b[1];a.def&&a.defId&&(a.def.id===a.defId&&delete a.def.id,g[a.defId]=a.def)}a.external||Object.keys(g).length>0&&("draft-2020-12"===a.target?e.$defs=g:e.definitions=g);try{let c=JSON.parse(JSON.stringify(e));return Object.defineProperty(c,"~standard",{value:{...b["~standard"],jsonSchema:{input:aH(b,"input",a.processors),output:aH(b,"output",a.processors)}},enumerable:!1,writable:!1}),c}catch(a){throw Error("Error converting schema to JSON.")}}let aH=(a,b,c={})=>d=>{let{libraryOptions:e,target:f}=d??{},g=aD({...e??{},target:f,io:b,processors:c});return aE(a,g),aF(g,a),aG(g,a)},aI={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},aJ=(a,b,c,d)=>{let e=a._zod.def;aE(e.innerType,b,d),b.seen.get(a).ref=e.innerType},aK=d.xI("ZodISODateTime",(a,b)=>{G.init(a,b),a5.init(a,b)}),aL=d.xI("ZodISODate",(a,b)=>{H.init(a,b),a5.init(a,b)}),aM=d.xI("ZodISOTime",(a,b)=>{I.init(a,b),a5.init(a,b)}),aN=d.xI("ZodISODuration",(a,b)=>{J.init(a,b),a5.init(a,b)}),aO=d.xI("ZodError",(a,b)=>{i.init(a,b),a.name="ZodError",Object.defineProperties(a,{format:{value:b=>(function(a,b=a=>a.message){let c={_errors:[]},d=(a,e=[])=>{for(let f of a.issues)if("invalid_union"===f.code&&f.errors.length)f.errors.map(a=>d({issues:a},[...e,...f.path]));else if("invalid_key"===f.code)d({issues:f.issues},[...e,...f.path]);else if("invalid_element"===f.code)d({issues:f.issues},[...e,...f.path]);else{let a=[...e,...f.path];if(0===a.length)c._errors.push(b(f));else{let d=c,e=0;for(;e<a.length;){let c=a[e];e===a.length-1?(d[c]=d[c]||{_errors:[]},d[c]._errors.push(b(f))):d[c]=d[c]||{_errors:[]},d=d[c],e++}}}};return d(a),c})(a,b)},flatten:{value:b=>(function(a,b=a=>a.message){let c={},d=[];for(let e of a.issues)e.path.length>0?(c[e.path[0]]=c[e.path[0]]||[],c[e.path[0]].push(b(e))):d.push(b(e));return{formErrors:d,fieldErrors:c}})(a,b)},addIssue:{value:b=>{a.issues.push(b),a.message=JSON.stringify(a.issues,g.k8,2)}},addIssues:{value:b=>{a.issues.push(...b),a.message=JSON.stringify(a.issues,g.k8,2)}},isEmpty:{get:()=>0===a.issues.length}})},{Parent:Error}),aP=k(aO),aQ=l(aO),aR=m(aO),aS=o(aO),aT=(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return k(aO)(a,b,d)},aU=(a,b,c)=>k(aO)(a,b,c),aV=async(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return l(aO)(a,b,d)},aW=async(a,b,c)=>l(aO)(a,b,c),aX=(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return m(aO)(a,b,d)},aY=(a,b,c)=>m(aO)(a,b,c),aZ=async(a,b,c)=>{let d=c?{...c,direction:"backward"}:{direction:"backward"};return o(aO)(a,b,d)},a$=async(a,b,c)=>o(aO)(a,b,c),a_=new WeakMap;function a0(a,b,c){let d=Object.getPrototypeOf(a),e=a_.get(d);if(e||(e=new Set,a_.set(d,e)),!e.has(b))for(let a in e.add(b),c){let b=c[a];Object.defineProperty(d,a,{configurable:!0,enumerable:!1,get(){let c=b.bind(this);return Object.defineProperty(this,a,{configurable:!0,writable:!0,enumerable:!0,value:c}),c},set(b){Object.defineProperty(this,a,{configurable:!0,writable:!0,enumerable:!0,value:b})}})}}let a1=d.xI("ZodType",(a,b)=>(s.init(a,b),Object.assign(a["~standard"],{jsonSchema:{input:aH(a,"input"),output:aH(a,"output")}}),a.toJSONSchema=((a,b={})=>c=>{let d=aD({...c,processors:b});return aE(a,d),aF(d,a),aG(d,a)})(a,{}),a.def=b,a.type=b.type,Object.defineProperty(a,"_def",{value:b}),a.parse=(b,c)=>aP(a,b,c,{callee:a.parse}),a.safeParse=(b,c)=>aR(a,b,c),a.parseAsync=async(b,c)=>aQ(a,b,c,{callee:a.parseAsync}),a.safeParseAsync=async(b,c)=>aS(a,b,c),a.spa=a.safeParseAsync,a.encode=(b,c)=>aT(a,b,c),a.decode=(b,c)=>aU(a,b,c),a.encodeAsync=async(b,c)=>aV(a,b,c),a.decodeAsync=async(b,c)=>aW(a,b,c),a.safeEncode=(b,c)=>aX(a,b,c),a.safeDecode=(b,c)=>aY(a,b,c),a.safeEncodeAsync=async(b,c)=>aZ(a,b,c),a.safeDecodeAsync=async(b,c)=>a$(a,b,c),a0(a,"ZodType",{check(...a){let b=this.def;return this.clone(g.zM(b,{checks:[...b.checks??[],...a.map(a=>"function"==typeof a?{_zod:{check:a,def:{check:"custom"},onattach:[]}}:a)]}),{parent:!0})},with(...a){return this.check(...a)},clone(a,b){return g.o8(this,a,b)},brand(){return this},register(a,b){return a.add(this,b),this},refine(a,b){return this.check(function(a,b={}){return aC.fU(b$,a,b)}(a,b))},superRefine(a,b){var c,d;return this.check((c=a,d=b,aC.MB(c,d)))},overwrite(a){return this.check(aC.bS(a))},optional(){return bP(this)},exactOptional(){var a;return a=this,new bQ({type:"optional",innerType:a})},nullable(){return bS(this)},nullish(){return bP(bS(this))},nonoptional(a){var b,c;return b=this,c=a,new bV({type:"nonoptional",innerType:b,...g.A2(c)})},array(){return bD(this)},or(a){return new bH({type:"union",options:[this,a],...g.A2(void 0)})},and(a){var b;return b=this,new bI({type:"intersection",left:b,right:a})},transform(a){return bY(this,new bN({type:"transform",transform:a}))},default(a){var b,c;return b=this,c=a,new bT({type:"default",innerType:b,get defaultValue(){return"function"==typeof c?c():g.yG(c)}})},prefault(a){var b,c;return b=this,c=a,new bU({type:"prefault",innerType:b,get defaultValue(){return"function"==typeof c?c():g.yG(c)}})},catch(a){var b,c;return b=this,new bW({type:"catch",innerType:b,catchValue:"function"==typeof(c=a)?c:()=>c})},pipe(a){return bY(this,a)},readonly(){var a;return a=this,new bZ({type:"readonly",innerType:a})},describe(a){let b=this.clone();return aB.fd.add(b,{description:a}),b},meta(...a){if(0===a.length)return aB.fd.get(this);let b=this.clone();return aB.fd.add(b,a[0]),b},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(a){return a(this)}}),Object.defineProperty(a,"description",{get:()=>aB.fd.get(a)?.description,configurable:!0}),a)),a2=d.xI("_ZodString",(a,b)=>{t.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{c.type="string";let{minimum:e,maximum:f,format:g,patterns:h,contentEncoding:i}=a._zod.bag;if("number"==typeof e&&(c.minLength=e),"number"==typeof f&&(c.maxLength=f),g&&(c.format=aI[g]??g,""===c.format&&delete c.format,"time"===g&&delete c.format),i&&(c.contentEncoding=i),h&&h.size>0){let a=[...h];1===a.length?c.pattern=a[0].source:a.length>1&&(c.allOf=[...a.map(a=>({..."draft-07"===b.target||"draft-04"===b.target||"openapi-3.0"===b.target?{type:"string"}:{},pattern:a.source}))])}})(a,b,c,0);let c=a._zod.bag;a.format=c.format??null,a.minLength=c.minimum??null,a.maxLength=c.maximum??null,a0(a,"_ZodString",{regex(...a){return this.check(aC.Fk(...a))},includes(...a){return this.check(aC.dR(...a))},startsWith(...a){return this.check(aC.$S(...a))},endsWith(...a){return this.check(aC.ER(...a))},min(...a){return this.check(aC.m9(...a))},max(...a){return this.check(aC.Eb(...a))},length(...a){return this.check(aC.YA(...a))},nonempty(...a){return this.check(aC.m9(1,...a))},lowercase(a){return this.check(aC.hH(a))},uppercase(a){return this.check(aC.qF(a))},trim(){return this.check(aC.WN())},normalize(...a){return this.check(aC.lo(...a))},toLowerCase(){return this.check(aC.Il())},toUpperCase(){return this.check(aC.xY())},slugify(){return this.check(aC.TL())}})}),a3=d.xI("ZodString",(a,b)=>{t.init(a,b),a2.init(a,b),a.email=b=>a.check(aC.Mu(a6,b)),a.url=b=>a.check(aC.Fn(ba,b)),a.jwt=b=>a.check(aC.rk(br,b)),a.emoji=b=>a.check(aC.aC(bb,b)),a.guid=b=>a.check(aC.tB(a8,b)),a.uuid=b=>a.check(aC.Be(a9,b)),a.uuidv4=b=>a.check(aC.nA(a9,b)),a.uuidv6=b=>a.check(aC.pY(a9,b)),a.uuidv7=b=>a.check(aC.wA(a9,b)),a.nanoid=b=>a.check(aC.Dl(bc,b)),a.guid=b=>a.check(aC.tB(a8,b)),a.cuid=b=>a.check(aC.fs(bd,b)),a.cuid2=b=>a.check(aC.Bj(be,b)),a.ulid=b=>a.check(aC.Ct(bf,b)),a.base64=b=>a.check(aC.rt(bo,b)),a.base64url=b=>a.check(aC.cU(bp,b)),a.xid=b=>a.check(aC.Pw(bg,b)),a.ksuid=b=>a.check(aC._z(bh,b)),a.ipv4=b=>a.check(aC.Ny(bi,b)),a.ipv6=b=>a.check(aC.$O(bk,b)),a.cidrv4=b=>a.check(aC.Uy(bm,b)),a.cidrv6=b=>a.check(aC.gP(bn,b)),a.e164=b=>a.check(aC.KB(bq,b)),a.datetime=b=>a.check(aC.G1(aK,b)),a.date=b=>a.check(aC.db(aL,b)),a.time=b=>a.check(aC.Kn(aM,b)),a.duration=b=>a.check(aC.f2(aN,b))});function a4(a){return aC.Rl(a3,a)}let a5=d.xI("ZodStringFormat",(a,b)=>{u.init(a,b),a2.init(a,b)}),a6=d.xI("ZodEmail",(a,b)=>{x.init(a,b),a5.init(a,b)});function a7(a){return aC.Mu(a6,a)}let a8=d.xI("ZodGUID",(a,b)=>{v.init(a,b),a5.init(a,b)}),a9=d.xI("ZodUUID",(a,b)=>{w.init(a,b),a5.init(a,b)}),ba=d.xI("ZodURL",(a,b)=>{y.init(a,b),a5.init(a,b)}),bb=d.xI("ZodEmoji",(a,b)=>{z.init(a,b),a5.init(a,b)}),bc=d.xI("ZodNanoID",(a,b)=>{A.init(a,b),a5.init(a,b)}),bd=d.xI("ZodCUID",(a,b)=>{B.init(a,b),a5.init(a,b)}),be=d.xI("ZodCUID2",(a,b)=>{C.init(a,b),a5.init(a,b)}),bf=d.xI("ZodULID",(a,b)=>{D.init(a,b),a5.init(a,b)}),bg=d.xI("ZodXID",(a,b)=>{E.init(a,b),a5.init(a,b)}),bh=d.xI("ZodKSUID",(a,b)=>{F.init(a,b),a5.init(a,b)}),bi=d.xI("ZodIPv4",(a,b)=>{K.init(a,b),a5.init(a,b)});function bj(a){return aC.Ny(bi,a)}let bk=d.xI("ZodIPv6",(a,b)=>{L.init(a,b),a5.init(a,b)});function bl(a){return aC.$O(bk,a)}let bm=d.xI("ZodCIDRv4",(a,b)=>{M.init(a,b),a5.init(a,b)}),bn=d.xI("ZodCIDRv6",(a,b)=>{N.init(a,b),a5.init(a,b)}),bo=d.xI("ZodBase64",(a,b)=>{P.init(a,b),a5.init(a,b)}),bp=d.xI("ZodBase64URL",(a,b)=>{Q.init(a,b),a5.init(a,b)}),bq=d.xI("ZodE164",(a,b)=>{R.init(a,b),a5.init(a,b)}),br=d.xI("ZodJWT",(a,b)=>{S.init(a,b),a5.init(a,b)}),bs=d.xI("ZodNumber",(a,b)=>{T.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let{minimum:e,maximum:f,format:g,multipleOf:h,exclusiveMaximum:i,exclusiveMinimum:j}=a._zod.bag;"string"==typeof g&&g.includes("int")?c.type="integer":c.type="number";let k="number"==typeof j&&j>=(e??-1/0),l="number"==typeof i&&i<=(f??1/0),m="draft-04"===b.target||"openapi-3.0"===b.target;k?m?(c.minimum=j,c.exclusiveMinimum=!0):c.exclusiveMinimum=j:"number"==typeof e&&(c.minimum=e),l?m?(c.maximum=i,c.exclusiveMaximum=!0):c.exclusiveMaximum=i:"number"==typeof f&&(c.maximum=f),"number"==typeof h&&(c.multipleOf=h)})(a,b,c,0),a0(a,"ZodNumber",{gt(a,b){return this.check(aC.Tx(a,b))},gte(a,b){return this.check(aC.qm(a,b))},min(a,b){return this.check(aC.qm(a,b))},lt(a,b){return this.check(aC.Au(a,b))},lte(a,b){return this.check(aC.Zm(a,b))},max(a,b){return this.check(aC.Zm(a,b))},int(a){var b;return this.check((b=a,aC.LK(bu,b)))},safe(a){var b;return this.check((b=a,aC.LK(bu,b)))},positive(a){return this.check(aC.Tx(0,a))},nonnegative(a){return this.check(aC.qm(0,a))},negative(a){return this.check(aC.Au(0,a))},nonpositive(a){return this.check(aC.Zm(0,a))},multipleOf(a,b){return this.check(aC.Hi(a,b))},step(a,b){return this.check(aC.Hi(a,b))},finite(){return this}});let c=a._zod.bag;a.minValue=Math.max(c.minimum??-1/0,c.exclusiveMinimum??-1/0)??null,a.maxValue=Math.min(c.maximum??1/0,c.exclusiveMaximum??1/0)??null,a.isInt=(c.format??"").includes("int")||Number.isSafeInteger(c.multipleOf??.5),a.isFinite=!0,a.format=c.format??null});function bt(a){return aC.F7(bs,a)}let bu=d.xI("ZodNumberFormat",(a,b)=>{U.init(a,b),bs.init(a,b)}),bv=d.xI("ZodBoolean",(a,b)=>{V.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(a,b,c)=>{b.type="boolean"}});function bw(a){return aC._L(bv,a)}let bx=d.xI("ZodAny",(a,b)=>{W.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(a,b,c)=>{}});function by(){return aC.KA(bx)}let bz=d.xI("ZodUnknown",(a,b)=>{X.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(a,b,c)=>{}});function bA(){return aC.em(bz)}let bB=d.xI("ZodNever",(a,b)=>{Y.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(a,b,c)=>{b.not={}}}),bC=d.xI("ZodArray",(a,b)=>{$.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def,{minimum:f,maximum:g}=a._zod.bag;"number"==typeof f&&(c.minItems=f),"number"==typeof g&&(c.maxItems=g),c.type="array",c.items=aE(e.element,b,{...d,path:[...d.path,"items"]})})(a,b,c,d),a.element=b.element,a0(a,"ZodArray",{min(a,b){return this.check(aC.m9(a,b))},nonempty(a){return this.check(aC.m9(1,a))},max(a,b){return this.check(aC.Eb(a,b))},length(a,b){return this.check(aC.YA(a,b))},unwrap(){return this.element}})});function bD(a,b){return aC.dZ(bC,a,b)}let bE=d.xI("ZodObject",(a,b)=>{ad.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def;c.type="object",c.properties={};let f=e.shape;for(let a in f)c.properties[a]=aE(f[a],b,{...d,path:[...d.path,"properties",a]});let g=new Set([...new Set(Object.keys(f))].filter(a=>{let c=e.shape[a]._zod;return"input"===b.io?void 0===c.optin:void 0===c.optout}));g.size>0&&(c.required=Array.from(g)),e.catchall?._zod.def.type==="never"?c.additionalProperties=!1:e.catchall?e.catchall&&(c.additionalProperties=aE(e.catchall,b,{...d,path:[...d.path,"additionalProperties"]})):"output"===b.io&&(c.additionalProperties=!1)})(a,b,c,d),g.gJ(a,"shape",()=>b.shape),a0(a,"ZodObject",{keyof(){return bM(Object.keys(this._zod.def.shape))},catchall(a){return this.clone({...this._zod.def,catchall:a})},passthrough(){return this.clone({...this._zod.def,catchall:bA()})},loose(){return this.clone({...this._zod.def,catchall:bA()})},strict(){return this.clone({...this._zod.def,catchall:aC.G8(bB,void 0)})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(a){return g.X$(this,a)},safeExtend(a){return g.W0(this,a)},merge(a){return g.h1(this,a)},pick(a){return g.Up(this,a)},omit(a){return g.cJ(this,a)},partial(...a){return g.OH(bO,this,a[0])},required(...a){return g.mw(bV,this,a[0])}})});function bF(a,b){return new bE({type:"object",shape:a??{},...g.A2(b)})}function bG(a,b){return new bE({type:"object",shape:a,catchall:bA(),...g.A2(b)})}let bH=d.xI("ZodUnion",(a,b)=>{af.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e,f,g;return f=!1===(e=a._zod.def).inclusive,g=e.options.map((a,c)=>aE(a,b,{...d,path:[...d.path,f?"oneOf":"anyOf",c]})),void(f?c.oneOf=g:c.anyOf=g)},a.options=b.options}),bI=d.xI("ZodIntersection",(a,b)=>{ag.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e,f,g,h;return f=aE((e=a._zod.def).left,b,{...d,path:[...d.path,"allOf",0]}),g=aE(e.right,b,{...d,path:[...d.path,"allOf",1]}),void(c.allOf=[...(h=a=>"allOf"in a&&1===Object.keys(a).length)(f)?f.allOf:[f],...h(g)?g.allOf:[g]])}}),bJ=d.xI("ZodRecord",(a,b)=>{ai.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e=a._zod.def;c.type="object";let f=e.keyType,g=f._zod.bag,h=g?.patterns;if("loose"===e.mode&&h&&h.size>0){let a=aE(e.valueType,b,{...d,path:[...d.path,"patternProperties","*"]});for(let b of(c.patternProperties={},h))c.patternProperties[b.source]=a}else("draft-07"===b.target||"draft-2020-12"===b.target)&&(c.propertyNames=aE(e.keyType,b,{...d,path:[...d.path,"propertyNames"]})),c.additionalProperties=aE(e.valueType,b,{...d,path:[...d.path,"additionalProperties"]});let i=f._zod.values;if(i){let a=[...i].filter(a=>"string"==typeof a||"number"==typeof a);a.length>0&&(c.required=a)}})(a,b,c,d),a.keyType=b.keyType,a.valueType=b.valueType});function bK(a,b,c){return new bJ(b&&b._zod?{type:"record",keyType:a,valueType:b,...g.A2(c)}:{type:"record",keyType:a4(),valueType:a,...g.A2(b)})}let bL=d.xI("ZodEnum",(a,b)=>{aj.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e,f;return e=a._zod.def,void((f=(0,g.w5)(e.entries)).every(a=>"number"==typeof a)&&(c.type="number"),f.every(a=>"string"==typeof a)&&(c.type="string"),c.enum=f)},a.enum=b.entries,a.options=Object.values(b.entries);let c=new Set(Object.keys(b.entries));a.extract=(a,d)=>{let e={};for(let d of a)if(c.has(d))e[d]=b.entries[d];else throw Error(`Key ${d} not found in enum`);return new bL({...b,checks:[],...g.A2(d),entries:e})},a.exclude=(a,d)=>{let e={...b.entries};for(let b of a)if(c.has(b))delete e[b];else throw Error(`Key ${b} not found in enum`);return new bL({...b,checks:[],...g.A2(d),entries:e})}});function bM(a,b){return new bL({type:"enum",entries:Array.isArray(a)?Object.fromEntries(a.map(a=>[a,a])):a,...g.A2(b)})}let bN=d.xI("ZodTransform",(a,b)=>{ak.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(a,b,c)=>((a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Transforms cannot be represented in JSON Schema")})(0,a,0,0),a._zod.parse=(c,e)=>{if("backward"===e.direction)throw new d.cV(a.constructor.name);c.addIssue=d=>{"string"==typeof d?c.issues.push(g.sn(d,c.value,b)):(d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=c.value),d.inst??(d.inst=a),c.issues.push(g.sn(d)))};let f=b.transform(c.value,c);return f instanceof Promise?f.then(a=>(c.value=a,c.fallback=!0,c)):(c.value=f,c.fallback=!0,c)}}),bO=d.xI("ZodOptional",(a,b)=>{am.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>aJ(a,b,c,d),a.unwrap=()=>a._zod.def.innerType});function bP(a){return new bO({type:"optional",innerType:a})}let bQ=d.xI("ZodExactOptional",(a,b)=>{an.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>aJ(a,b,c,d),a.unwrap=()=>a._zod.def.innerType}),bR=d.xI("ZodNullable",(a,b)=>{ao.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e,f,g;return f=aE((e=a._zod.def).innerType,b,d),g=b.seen.get(a),void("openapi-3.0"===b.target?(g.ref=e.innerType,c.nullable=!0):c.anyOf=[f,{type:"null"}])},a.unwrap=()=>a._zod.def.innerType});function bS(a){return new bR({type:"nullable",innerType:a})}let bT=d.xI("ZodDefault",(a,b)=>{ap.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e;aE((e=a._zod.def).innerType,b,d),b.seen.get(a).ref=e.innerType,c.default=JSON.parse(JSON.stringify(e.defaultValue))},a.unwrap=()=>a._zod.def.innerType,a.removeDefault=a.unwrap}),bU=d.xI("ZodPrefault",(a,b)=>{ar.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e;aE((e=a._zod.def).innerType,b,d),b.seen.get(a).ref=e.innerType,"input"===b.io&&(c._prefault=JSON.parse(JSON.stringify(e.defaultValue)))},a.unwrap=()=>a._zod.def.innerType}),bV=d.xI("ZodNonOptional",(a,b)=>{as.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e;aE((e=a._zod.def).innerType,b,d),b.seen.get(a).ref=e.innerType},a.unwrap=()=>a._zod.def.innerType}),bW=d.xI("ZodCatch",(a,b)=>{au.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>((a,b,c,d)=>{let e,f=a._zod.def;aE(f.innerType,b,d),b.seen.get(a).ref=f.innerType;try{e=f.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}c.default=e})(a,b,c,d),a.unwrap=()=>a._zod.def.innerType,a.removeCatch=a.unwrap}),bX=d.xI("ZodPipe",(a,b)=>{av.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e,f,g;return f=(e=a._zod.def).in._zod.traits.has("$ZodTransform"),void(aE(g="input"===b.io?f?e.out:e.in:e.out,b,d),b.seen.get(a).ref=g)},a.in=b.in,a.out=b.out});function bY(a,b){return new bX({type:"pipe",in:a,out:b})}let bZ=d.xI("ZodReadonly",(a,b)=>{ax.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(b,c,d)=>{let e;aE((e=a._zod.def).innerType,b,d),b.seen.get(a).ref=e.innerType,c.readOnly=!0},a.unwrap=()=>a._zod.def.innerType}),b$=d.xI("ZodCustom",(a,b)=>{az.init(a,b),a1.init(a,b),a._zod.processJSONSchema=(a,b,c)=>((a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Custom types cannot be represented in JSON Schema")})(0,a,0,0)});aC.q0,aC.mI},36805:(a,b,c)=>{c.d(b,{W:()=>f});var d=c(92730);class e extends d.R{get adapter(){throw Error("this query cannot be compiled to SQL")}compileQuery(){throw Error("this query cannot be compiled to SQL")}provideConnection(){throw Error("this query cannot be executed")}withConnectionProvider(){throw Error("this query cannot have a connection provider")}withPlugin(a){return new e([...this.plugins,a])}withPlugins(a){return new e([...this.plugins,...a])}withPluginAtFront(a){return new e([a,...this.plugins])}withoutPlugins(){return new e([])}}let f=new e},37368:(a,b,c)=>{c.d(b,{G:()=>f});var d=c(11033),e=c(6881);async function f(a,b){let c=new d.c,f=new d.c;return a.provideConnection(async a=>(c.resolve(a),await f.promise),b).catch(a=>c.reject(a)),(0,e.CN)({connection:await c.promise,release:f.resolve})}},37578:(a,b,c)=>{c.d(b,{nd:()=>p});var d=c(52022),e=c(34974),f=c(71194),g=c(31584);class h extends g.o{static [d.i]="SQLiteBaseIntegerBuilder";constructor(a,b,c){super(a,b,c),this.config.autoIncrement=!1}primaryKey(a){return a?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class i extends g.v{static [d.i]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class j extends h{static [d.i]="SQLiteIntegerBuilder";constructor(a){super(a,"number","SQLiteInteger")}build(a){return new k(a,this.config)}}class k extends i{static [d.i]="SQLiteInteger"}class l extends h{static [d.i]="SQLiteTimestampBuilder";constructor(a,b){super(a,"date","SQLiteTimestamp"),this.config.mode=b}defaultNow(){return this.default((0,e.ll)`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(a){return new m(a,this.config)}}class m extends i{static [d.i]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(a){return new Date("timestamp"===this.config.mode?1e3*a:a)}mapToDriverValue(a){let b=a.getTime();return"timestamp"===this.config.mode?Math.floor(b/1e3):b}}class n extends h{static [d.i]="SQLiteBooleanBuilder";constructor(a,b){super(a,"boolean","SQLiteBoolean"),this.config.mode=b}build(a){return new o(a,this.config)}}class o extends i{static [d.i]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(a){return 1===Number(a)}mapToDriverValue(a){return+!!a}}function p(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="timestamp"||d?.mode==="timestamp_ms"?new l(c,d.mode):d?.mode==="boolean"?new n(c,d.mode):new j(c)}},37906:(a,b,c)=>{c.d(b,{l:()=>r});var d=c(20302),e=c(4362),f=c(34435),g=c(99988),h=c(15542),i=c(4319),j=c(57702),k=c(55222),l=c(39881),m=c(6881),n=c(36805);class o{#N;constructor(a){this.#N=(0,m.CN)(a)}get expressionType(){}get isRawBuilder(){return!0}as(a){return new q(this,a)}$castTo(){return new o({...this.#N})}$notNull(){return new o(this.#N)}withPlugin(a){return new o({...this.#N,plugins:void 0!==this.#N.plugins?(0,m.CN)([...this.#N.plugins,a]):(0,m.CN)([a])})}toOperationNode(){return this.#ak(this.#al())}compile(a){return this.#am(this.#al(a))}async execute(a,b){let c=this.#al(a);return c.executeQuery(this.#am(c),b)}#al(a){let b=void 0!==a?a.getExecutor():n.W;return void 0!==this.#N.plugins?b.withPlugins(this.#N.plugins):b}#ak(a){return a.transformQuery(this.#N.rawNode,this.#N.queryId)}#am(a){return a.compileQuery(this.#ak(a),this.#N.queryId)}}function p(a){return new o(a)}class q{#an;#ao;constructor(a,b){this.#an=a,this.#ao=b}get expression(){return this.#an}get alias(){return this.#ao}get rawBuilder(){return this.#an}toOperationNode(){return l.N.create(this.#an.toOperationNode(),(0,e.N)(this.#ao)?this.#ao.toOperationNode():d.O.create(this.#ao))}}let r=Object.assign((a,...b)=>p({queryId:(0,k.a)(),rawNode:f.z.create(a,b?.map(s)??[])}),{ref:a=>p({queryId:(0,k.a)(),rawNode:f.z.createWithChild((0,h.q5)(a))}),val:a=>p({queryId:(0,k.a)(),rawNode:f.z.createWithChild((0,j.$s)(a))}),table:a=>p({queryId:(0,k.a)(),rawNode:f.z.createWithChild((0,i.M$)(a))}),id(...a){let b=Array(a.length+1).fill(".");return b[0]="",b[b.length-1]="",p({queryId:(0,k.a)(),rawNode:f.z.create(b,a.map(d.O.create))})},lit:a=>p({queryId:(0,k.a)(),rawNode:f.z.createWithChild(g.q.createImmediate(a))}),raw:a=>p({queryId:(0,k.a)(),rawNode:f.z.createWithSql(a)}),join(a,b=r`, `){let c=Array(Math.max(2*a.length-1,0)),d=b.toOperationNode();for(let b=0;b<a.length;++b)c[2*b]=s(a[b]),b!==a.length-1&&(c[2*b+1]=d);return p({queryId:(0,k.a)(),rawNode:f.z.createWithChildren(c)})}});function s(a){return(0,e.N)(a)?a.toOperationNode():(0,j.$s)(a)}},37979:(a,b,c)=>{c.d(b,{GW:()=>z,Ht:()=>t,T$:()=>A,VA:()=>u,VM:()=>y,WN:()=>C,ld:()=>w,rZ:()=>x,sA:()=>B,sg:()=>v});var d=c(92421),e=c(79637),f=c(66108),g=c(1167),h=c(64201),i=c(78683),j=c(86546),k=c(70392),l=c(61152),m=c(50498),n=c(18697),o=c(66290),p=c(36220),q=c(15916),r=c(22514),s=c(24416);let t=()=>(0,o.Aw)("/get-session",{method:["GET","POST"],operationId:"getSession",query:i.SY,requireHeaders:!0,metadata:{openapi:{operationId:"getSession",description:"Get the current session",responses:{200:{description:"Success",content:{"application/json":{schema:{type:["object","null"],properties:{session:{$ref:"#/components/schemas/Session"},user:{$ref:"#/components/schemas/User"}},required:["session","user"]}}}}}}}},async a=>{let b=a.context.options.session?.deferSessionRefresh,c="POST"===a.method;if(c&&!b)throw l.LG.from("METHOD_NOT_ALLOWED",m.q.METHOD_NOT_ALLOWED_DEFER_SESSION_REQUIRED);try{let d=await a.getSignedCookie(a.context.authCookies.sessionToken.name,a.context.secret);if(!d)return null;let e=(0,i.Zt)(a,a.context.authCookies.sessionData.name),o=null;if(e){let b=a.context.options.session?.cookieCache?.strategy||"compact";if("jwe"===b){let b=await (0,f.Do)(e,a.context.secretConfig,"better-auth-session");b&&b.session&&b.user?o={session:{session:b.session,user:b.user,updatedAt:b.updatedAt,version:b.version},expiresAt:b.exp?1e3*b.exp:Date.now()}:(0,j.Aj)(a,a.context.authCookies.sessionData)}else if("jwt"===b){let b=await (0,f.RO)(e,a.context.secret);b&&b.session&&b.user?o={session:{session:b.session,user:b.user,updatedAt:b.updatedAt,version:b.version},expiresAt:b.exp?1e3*b.exp:Date.now()}:(0,j.Aj)(a,a.context.authCookies.sessionData)}else{let b=(0,n.$)(r.a.decode(q.z.decode(e)));b&&(await (0,s.s)("SHA-256","base64urlnopad").verify(a.context.secret,JSON.stringify({...b.session,expiresAt:b.expiresAt}),b.signature)?o=b:(0,j.Aj)(a,a.context.authCookies.sessionData))}}let p=await a.getSignedCookie(a.context.authCookies.dontRememberToken.name,a.context.secret);if(o?.session&&a.context.options.session?.cookieCache?.enabled&&!a.query?.disableCookieCache){let b=o.session,c=a.context.options.session?.cookieCache?.version,d="1";if(c){if("string"==typeof c)d=c;else if("function"==typeof c){let a=c(b.session,b.user);d=a instanceof Promise?await a:a}}if((b.version||"1")!==d)(0,j.Aj)(a,a.context.authCookies.sessionData);else{let c=new Date(b.session.expiresAt);if(o.expiresAt<Date.now()||c<new Date)(0,j.Aj)(a,a.context.authCookies.sessionData);else{let c=a.context.sessionConfig.cookieRefreshCache;if(!1===c){a.context.session=b;let c=(0,g.dc)(a.context.options,{...b.session,expiresAt:new Date(b.session.expiresAt),createdAt:new Date(b.session.createdAt),updatedAt:new Date(b.session.updatedAt)}),d=(0,g.kc)(a.context.options,{...b.user,createdAt:new Date(b.user.createdAt),updatedAt:new Date(b.user.updatedAt)});return a.json({session:c,user:d})}let d=o.expiresAt-Date.now(),e=1e3*c.updateAge,f=await (0,k.g)();if(d<e&&!f){let c={session:{...b.session},user:b.user,updatedAt:Date.now()};await (0,j.vt)(a,c,!1);let d=a.context.authCookies.sessionToken.attributes,e=p?void 0:a.context.sessionConfig.expiresIn;await a.setSignedCookie(a.context.authCookies.sessionToken.name,b.session.token,a.context.secret,{...d,maxAge:e});let f=(0,g.dc)(a.context.options,{...c.session,expiresAt:new Date(c.session.expiresAt),createdAt:new Date(c.session.createdAt),updatedAt:new Date(c.session.updatedAt)}),h=(0,g.kc)(a.context.options,{...c.user,createdAt:new Date(c.user.createdAt),updatedAt:new Date(c.user.updatedAt)});return a.context.session={session:f,user:h},a.json({session:f,user:h})}let h=(0,g.dc)(a.context.options,{...b.session,expiresAt:new Date(b.session.expiresAt),createdAt:new Date(b.session.createdAt),updatedAt:new Date(b.session.updatedAt)}),i=(0,g.kc)(a.context.options,{...b.user,createdAt:new Date(b.user.createdAt),updatedAt:new Date(b.user.updatedAt)});return a.context.session={session:h,user:i},a.json({session:h,user:i})}}}let t=await a.context.internalAdapter.findSession(d);if(a.context.session=t,!t||t.session.expiresAt<new Date)return(0,j.eC)(a),t&&(!b||c)&&await a.context.internalAdapter.deleteSession(t.session.token),a.json(null);if(p||a.query?.disableRefresh){let b=(0,g.dc)(a.context.options,t.session),c=(0,g.kc)(a.context.options,t.user);return a.json({session:b,user:c})}let u=a.context.sessionConfig.expiresIn,v=a.context.sessionConfig.updateAge,w=t.session.expiresAt.valueOf()-1e3*u+1e3*v<=Date.now(),x=a.query?.disableRefresh||a.context.options.session?.disableSessionRefresh,y=await (0,k.g)(),z=w&&!x&&!y;if(b&&!c){await (0,j.vt)(a,t,!!p);let b=(0,g.dc)(a.context.options,t.session),c=(0,g.kc)(a.context.options,t.user);return a.json({session:b,user:c,needsRefresh:z})}if(z){let b=await a.context.internalAdapter.updateSession(t.session.token,{expiresAt:(0,h.p)(a.context.sessionConfig.expiresIn,"sec"),updatedAt:new Date});if(!b)throw(0,j.eC)(a),l.LG.from("UNAUTHORIZED",m.q.FAILED_TO_GET_SESSION);let c=(b.expiresAt.valueOf()-Date.now())/1e3;await (0,j.$G)(a,{session:b,user:t.user},!1,{maxAge:c});let d=(0,g.dc)(a.context.options,b),e=(0,g.kc)(a.context.options,t.user);return a.json({session:d,user:e})}await (0,j.vt)(a,t,!!p);let A=(0,g.dc)(a.context.options,t.session),B=(0,g.kc)(a.context.options,t.user);return a.json({session:A,user:B})}catch(b){if((0,d.h)(b))throw b;throw a.context.logger.error("INTERNAL_SERVER_ERROR",b),l.LG.from("INTERNAL_SERVER_ERROR",m.q.FAILED_TO_GET_SESSION)}}),u=a=>(0,e.n)(a.context.options),v=async(a,b)=>{if(a.context.session)return a.context.session;let c=await t()({...a,method:"GET",asResponse:!1,headers:a.headers,returnHeaders:!0,returnStatus:!1,query:{...b,...a.query,disableCookieCache:b?.disableCookieCache||a.query?.disableCookieCache,disableRefresh:b?.disableRefresh||a.query?.disableRefresh}}).catch(()=>null);return c?(c.headers&&c.headers.forEach((b,c)=>{a.context.responseHeaders?"set-cookie"===c.toLowerCase()?a.context.responseHeaders.append(c,b):a.context.responseHeaders.set(c,b):a.context.responseHeaders=new Headers({[c]:b})}),a.context.session=c.response,c.response):(a.context.session=null,null)},w=(0,o.Di)(async a=>{let b=await v(a);if(!b?.session)throw l.LG.from("UNAUTHORIZED",{message:"Unauthorized",code:"UNAUTHORIZED"});return{session:b}}),x=(0,o.Di)(async a=>{let b=await v(a,{disableCookieCache:!0});if(!b?.session)throw l.LG.from("UNAUTHORIZED",{message:"Unauthorized",code:"UNAUTHORIZED"});return{session:b}});(0,o.Di)(async a=>{let b=await v(a);if(!b?.session&&(a.request||a.headers))throw l.LG.from("UNAUTHORIZED",{message:"Unauthorized",code:"UNAUTHORIZED"});return{session:b}});let y=(0,o.Di)(async a=>{let b=await v(a);if(!b?.session)throw l.LG.from("UNAUTHORIZED",{message:"Unauthorized",code:"UNAUTHORIZED"});if(0!==a.context.sessionConfig.freshAge){let c=new Date(b.session.createdAt).getTime(),d=1e3*a.context.sessionConfig.freshAge;if(Date.now()-c>=d)throw l.LG.from("FORBIDDEN",m.q.SESSION_NOT_FRESH)}return{session:b}}),z=()=>(0,o.Aw)("/list-sessions",{method:"GET",operationId:"listUserSessions",use:[y],requireHeaders:!0,metadata:{openapi:{operationId:"listUserSessions",description:"List all active sessions for the user",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"array",items:{$ref:"#/components/schemas/Session"}}}}}}}}},async a=>{try{let b=(await a.context.internalAdapter.listSessions(a.context.session.user.id,{onlyActiveSessions:!0})).filter(a=>a.expiresAt>new Date);return a.json(b.map(b=>(0,g.dc)(a.context.options,b)))}catch(b){throw a.context.logger.error(b),a.error("INTERNAL_SERVER_ERROR")}}),A=(0,o.Aw)("/revoke-session",{method:"POST",body:p.Ik({token:p.Yj().meta({description:"The token to revoke"})}),use:[x],requireHeaders:!0,metadata:{openapi:{description:"Revoke a single session",requestBody:{content:{"application/json":{schema:{type:"object",properties:{token:{type:"string",description:"The token to revoke"}},required:["token"]}}}},responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean",description:"Indicates if the session was revoked successfully"}},required:["status"]}}}}}}}},async a=>{let b=a.body.token;if((await a.context.internalAdapter.findSession(b))?.session.userId===a.context.session.user.id)try{await a.context.internalAdapter.deleteSession(b)}catch(b){throw a.context.logger.error(b&&"object"==typeof b&&"name"in b?b.name:"",b),l.LG.from("INTERNAL_SERVER_ERROR",{message:"Internal Server Error",code:"INTERNAL_SERVER_ERROR"})}return a.json({status:!0})}),B=(0,o.Aw)("/revoke-sessions",{method:"POST",use:[x],requireHeaders:!0,metadata:{openapi:{description:"Revoke all sessions for the user",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean",description:"Indicates if all sessions were revoked successfully"}},required:["status"]}}}}}}}},async a=>{try{await a.context.internalAdapter.deleteUserSessions(a.context.session.user.id)}catch(b){throw a.context.logger.error(b&&"object"==typeof b&&"name"in b?b.name:"",b),l.LG.from("INTERNAL_SERVER_ERROR",{message:"Internal Server Error",code:"INTERNAL_SERVER_ERROR"})}return a.json({status:!0})}),C=(0,o.Aw)("/revoke-other-sessions",{method:"POST",requireHeaders:!0,use:[x],metadata:{openapi:{description:"Revoke all other sessions for the user except the current one",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean",description:"Indicates if all other sessions were revoked successfully"}},required:["status"]}}}}}}}},async a=>{let b=a.context.session;if(!b.user)throw l.LG.from("UNAUTHORIZED",{message:"Unauthorized",code:"UNAUTHORIZED"});let c=(await a.context.internalAdapter.listSessions(b.user.id)).filter(a=>a.expiresAt>new Date).filter(b=>b.token!==a.context.session.session.token);return await Promise.all(c.map(b=>a.context.internalAdapter.deleteSession(b.token))),a.json({status:!0})})},38112:(a,b,c)=>{c.d(b,{V:()=>q});var d=c(59956),e=c(19839),f=c(35088),g=c(67206),h=c(67121),i=c(87010),j=c(57709),k=c(63743),l=c(90233),m=c(49071);async function n(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let n={};if(a.protected)try{let b=(0,d.D)(a.protected);n=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(n,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...n,...a.header},p=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,n,o),q=!0;if(p.has("b64")&&"boolean"!=typeof(q=n.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:r}=o;if("string"!=typeof r||!r)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let s=c&&(0,l.F)("algorithms",c.algorithms);if(s&&!s.has(r))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(q){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let t=!1;"function"==typeof b&&(b=await b(n,a),t=!0),(0,j.y)(r,b,"verify");let u=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?q?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),v=(0,h.h2)(a.signature,"signature",f.Ye),w=await (0,m.l)(b,r);if(!await (0,e.MX)(r,w,v,u))throw new f.h2;let x={payload:q?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(x.protectedHeader=n),void 0!==a.header&&(x.unprotectedHeader=a.header),t)?{...x,key:w}:x}async function o(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await n({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var p=c(62470);async function q(a,b,c){let d=await o(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,p.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},39881:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"AliasNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"AliasNode",node:a,alias:b})})},40417:(a,b,c)=>{c.d(b,{y:()=>f});var d=c(6881),e=c(20302);let f=(0,d.CN)({is:a=>"SchemableIdentifierNode"===a.kind,create:a=>(0,d.CN)({kind:"SchemableIdentifierNode",identifier:e.O.create(a)}),createWithSchema:(a,b)=>(0,d.CN)({kind:"SchemableIdentifierNode",schema:e.O.create(a),identifier:e.O.create(b)})})},41538:(a,b,c)=>{c.d(b,{DG:()=>q,E6:()=>v,J:()=>u,J_:()=>j,Jk:()=>k,KH:()=>l,Kk:()=>n,NI:()=>r,QP:()=>g,RM:()=>o,Tt:()=>t,Yk:()=>m,kH:()=>s,ql:()=>p,sm:()=>i,v$:()=>w});var d=c(95604),e=c(24146),f=c(23781);let g=d.xI("$ZodCheck",(a,b)=>{var c;a._zod??(a._zod={}),a._zod.def=b,(c=a._zod).onattach??(c.onattach=[])}),h={number:"number",bigint:"bigint",object:"date"},i=d.xI("$ZodCheckLessThan",(a,b)=>{g.init(a,b);let c=h[typeof b.value];a._zod.onattach.push(a=>{let c=a._zod.bag,d=(b.inclusive?c.maximum:c.exclusiveMaximum)??1/0;b.value<d&&(b.inclusive?c.maximum=b.value:c.exclusiveMaximum=b.value)}),a._zod.check=d=>{(b.inclusive?d.value<=b.value:d.value<b.value)||d.issues.push({origin:c,code:"too_big",maximum:"object"==typeof b.value?b.value.getTime():b.value,input:d.value,inclusive:b.inclusive,inst:a,continue:!b.abort})}}),j=d.xI("$ZodCheckGreaterThan",(a,b)=>{g.init(a,b);let c=h[typeof b.value];a._zod.onattach.push(a=>{let c=a._zod.bag,d=(b.inclusive?c.minimum:c.exclusiveMinimum)??-1/0;b.value>d&&(b.inclusive?c.minimum=b.value:c.exclusiveMinimum=b.value)}),a._zod.check=d=>{(b.inclusive?d.value>=b.value:d.value>b.value)||d.issues.push({origin:c,code:"too_small",minimum:"object"==typeof b.value?b.value.getTime():b.value,input:d.value,inclusive:b.inclusive,inst:a,continue:!b.abort})}}),k=d.xI("$ZodCheckMultipleOf",(a,b)=>{g.init(a,b),a._zod.onattach.push(a=>{var c;(c=a._zod.bag).multipleOf??(c.multipleOf=b.value)}),a._zod.check=c=>{if(typeof c.value!=typeof b.value)throw Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof c.value?c.value%b.value===BigInt(0):0===f.LG(c.value,b.value))||c.issues.push({origin:typeof c.value,code:"not_multiple_of",divisor:b.value,input:c.value,inst:a,continue:!b.abort})}}),l=d.xI("$ZodCheckNumberFormat",(a,b)=>{g.init(a,b),b.format=b.format||"float64";let c=b.format?.includes("int"),d=c?"int":"number",[h,i]=f.zH[b.format];a._zod.onattach.push(a=>{let d=a._zod.bag;d.format=b.format,d.minimum=h,d.maximum=i,c&&(d.pattern=e.nd)}),a._zod.check=e=>{let f=e.value;if(c){if(!Number.isInteger(f))return void e.issues.push({expected:d,format:b.format,code:"invalid_type",continue:!1,input:f,inst:a});if(!Number.isSafeInteger(f))return void(f>0?e.issues.push({input:f,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}):e.issues.push({input:f,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}))}f<h&&e.issues.push({origin:"number",input:f,code:"too_small",minimum:h,inclusive:!0,inst:a,continue:!b.abort}),f>i&&e.issues.push({origin:"number",input:f,code:"too_big",maximum:i,inclusive:!0,inst:a,continue:!b.abort})}}),m=d.xI("$ZodCheckMaxLength",(a,b)=>{var c;g.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return!f.cl(b)&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.maximum??1/0;b.maximum<c&&(a._zod.bag.maximum=b.maximum)}),a._zod.check=c=>{let d=c.value;if(d.length<=b.maximum)return;let e=f.Rc(d);c.issues.push({origin:e,code:"too_big",maximum:b.maximum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),n=d.xI("$ZodCheckMinLength",(a,b)=>{var c;g.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return!f.cl(b)&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.minimum??-1/0;b.minimum>c&&(a._zod.bag.minimum=b.minimum)}),a._zod.check=c=>{let d=c.value;if(d.length>=b.minimum)return;let e=f.Rc(d);c.issues.push({origin:e,code:"too_small",minimum:b.minimum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),o=d.xI("$ZodCheckLengthEquals",(a,b)=>{var c;g.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return!f.cl(b)&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag;c.minimum=b.length,c.maximum=b.length,c.length=b.length}),a._zod.check=c=>{let d=c.value,e=d.length;if(e===b.length)return;let g=f.Rc(d),h=e>b.length;c.issues.push({origin:g,...h?{code:"too_big",maximum:b.length}:{code:"too_small",minimum:b.length},inclusive:!0,exact:!0,input:c.value,inst:a,continue:!b.abort})}}),p=d.xI("$ZodCheckStringFormat",(a,b)=>{var c,d;g.init(a,b),a._zod.onattach.push(a=>{let c=a._zod.bag;c.format=b.format,b.pattern&&(c.patterns??(c.patterns=new Set),c.patterns.add(b.pattern))}),b.pattern?(c=a._zod).check??(c.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:b.format,input:c.value,...b.pattern?{pattern:b.pattern.toString()}:{},inst:a,continue:!b.abort})}):(d=a._zod).check??(d.check=()=>{})}),q=d.xI("$ZodCheckRegex",(a,b)=>{p.init(a,b),a._zod.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:"regex",input:c.value,pattern:b.pattern.toString(),inst:a,continue:!b.abort})}}),r=d.xI("$ZodCheckLowerCase",(a,b)=>{b.pattern??(b.pattern=e.AC),p.init(a,b)}),s=d.xI("$ZodCheckUpperCase",(a,b)=>{b.pattern??(b.pattern=e.Zv),p.init(a,b)}),t=d.xI("$ZodCheckIncludes",(a,b)=>{g.init(a,b);let c=f.$f(b.includes),d=new RegExp("number"==typeof b.position?`^.{${b.position}}${c}`:c);b.pattern=d,a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(d)}),a._zod.check=c=>{c.value.includes(b.includes,b.position)||c.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:b.includes,input:c.value,inst:a,continue:!b.abort})}}),u=d.xI("$ZodCheckStartsWith",(a,b)=>{g.init(a,b);let c=RegExp(`^${f.$f(b.prefix)}.*`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.startsWith(b.prefix)||c.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:b.prefix,input:c.value,inst:a,continue:!b.abort})}}),v=d.xI("$ZodCheckEndsWith",(a,b)=>{g.init(a,b);let c=RegExp(`.*${f.$f(b.suffix)}$`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.endsWith(b.suffix)||c.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:b.suffix,input:c.value,inst:a,continue:!b.abort})}}),w=d.xI("$ZodCheckOverwrite",(a,b)=>{g.init(a,b),a._zod.check=a=>{a.value=b.tx(a.value)}})},43585:(a,b,c)=>{c.d(b,{P:()=>f});var d=c(6881),e=c(70877);let f=(0,d.CN)({is:a=>"CaseNode"===a.kind,create:a=>(0,d.CN)({kind:"CaseNode",value:a}),cloneWithWhen:(a,b)=>(0,d.CN)({...a,when:(0,d.CN)(a.when?[...a.when,b]:[b])}),cloneWithThen:(a,b)=>(0,d.CN)({...a,when:a.when?(0,d.CN)([...a.when.slice(0,-1),e.t.cloneWithResult(a.when[a.when.length-1],b)]):void 0}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},44013:(a,b,c)=>{c.d(b,{cookies:()=>d.U,headers:()=>e.b});var d=c(44501),e=c(84874);c(99051)},44501:(a,b,c)=>{Object.defineProperty(b,"U",{enumerable:!0,get:function(){return n}});let d=c(27793),e=c(84998),f=c(29294),g=c(63033),h=c(60257),i=c(35253),j=c(12850),k=c(93342),l=c(5143),m=c(98465);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,l.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E843",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let r=o.get(q);if(r)return r;let s=(0,j.makeHangingPromise)(q.renderSignal,k.route,"`cookies()`");return o.set(q,s),s;case"prerender-client":case"validation-client":let t="`cookies`";throw Object.defineProperty(new m.InvariantError(`${t} must not be used within a Client Component. Next.js should be preventing ${t} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,j.delayUntilRuntimeStage)(c,p(c.cookies));case"private-cache":return p(c.cookies);case"request":let u;if((0,h.trackDynamicDataInDynamicRender)(c),u=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(u);{let a=(0,g.isInEarlyRenderStage)(c);if(u===c.mutableCookies)return a?c.asyncApiPromises.earlyMutableCookies:c.asyncApiPromises.mutableCookies;return a?c.asyncApiPromises.earlyCookies:c.asyncApiPromises.cookies}}}(0,g.throwForMissingRequestStore)(a)}c(72718);let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},44542:(a,b,c)=>{c.d(b,{bE:()=>o,xk:()=>p});var d=c(16136),e=c(96640),f=c(6881);let g=(0,f.CN)({is:a=>"OrderByItemNode"===a.kind,create:(a,b)=>(0,f.CN)({kind:"OrderByItemNode",orderBy:a,direction:b}),cloneWith:(a,b)=>(0,f.CN)({...a,...b})});var h=c(34435),i=c(20302);let j=(0,f.CN)({is:a=>"CollateNode"===a.kind,create:a=>(0,f.CN)({kind:"CollateNode",collation:i.O.create(a)})});class k{#N;constructor(a){this.#N=(0,f.CN)(a)}desc(){return new k({node:g.cloneWith(this.#N.node,{direction:h.z.createWithSql("desc")})})}asc(){return new k({node:g.cloneWith(this.#N.node,{direction:h.z.createWithSql("asc")})})}nullsLast(){return new k({node:g.cloneWith(this.#N.node,{nulls:"last"})})}nullsFirst(){return new k({node:g.cloneWith(this.#N.node,{nulls:"first"})})}collate(a){return new k({node:g.cloneWith(this.#N.node,{collation:j.create(a)})})}toOperationNode(){return this.#N.node}}var l=c(10168),m=c(67859),n=c(15542);function o(a){return"asc"===a||"desc"===a}function p(a){if(2===a.length)return[q(a[0],a[1])];if(1===a.length){let[b]=a;return Array.isArray(b)?((0,l.u)("orderBy(array) is deprecated, use multiple orderBy calls instead."),b.map(a=>q(a))):[q(b)]}throw Error(`Invalid number of arguments at order by! expected 1-2, received ${a.length}`)}function q(a,b){let c=function(a){if((0,m.SS)(a))return(0,m.YK)(a);if((0,d.C)(a))return a.toOperationNode();let[b,c]=a.split(" ");return c?((0,l.u)("`orderBy('column asc')` is deprecated. Use `orderBy('column', 'asc')` instead."),r((0,n.q5)(b),c)):(0,n.q5)(a)}(a);if(g.is(c)){if(b)throw Error("Cannot specify direction twice!");return c}return r(c,b)}function r(a,b){if("string"==typeof b){if(!o(b))throw Error(`Invalid order by direction: ${b}`);return g.create(a,h.z.createWithSql(b))}if((0,e.B)(b))return(0,l.u)("`orderBy(..., expr)` is deprecated. Use `orderBy(..., 'asc')` or `orderBy(..., (ob) => ...)` instead."),g.create(a,b.toOperationNode());let c=g.create(a);return b?b(new k({node:c})).toOperationNode():c}},44590:(a,b,c)=>{c.d(b,{$:()=>e});var d=c(53108);let e=a=>(0,d.q)("a-z","A-Z","0-9")(a||32)},45055:(a,b,c)=>{c.d(b,{Z:()=>f});var d=c(6881),e=c(20302);let f=(0,d.CN)({is:a=>"ColumnNode"===a.kind,create:a=>(0,d.CN)({kind:"ColumnNode",column:e.O.create(a)})})},46320:(a,b,c)=>{c.d(b,{x:()=>h});var d=c(52022),e=c(31584);class f extends e.o{static [d.i]="SQLiteRealBuilder";constructor(a){super(a,"number","SQLiteReal")}build(a){return new g(a,this.config)}}class g extends e.v{static [d.i]="SQLiteReal";getSQLType(){return"real"}}function h(a){return new f(a??"")}},47104:(a,b,c)=>{var d=c(71988);c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}})},47245:(a,b,c)=>{c.d(b,{Gq:()=>p,UH:()=>n,Xm:()=>o,zX:()=>m});var d=c(6881);let e=(0,d.CN)({"=":!0,"==":!0,"!=":!0,"<>":!0,">":!0,">=":!0,"<":!0,"<=":!0,in:!0,"not in":!0,is:!0,"is not":!0,like:!0,"not like":!0,match:!0,ilike:!0,"not ilike":!0,"@>":!0,"<@":!0,"^@":!0,"&&":!0,"?":!0,"?&":!0,"?|":!0,"!<":!0,"!>":!0,"<=>":!0,"!~":!0,"~":!0,"~*":!0,"!~*":!0,"@@":!0,"@@@":!0,"!!":!0,"<->":!0,regexp:!0,"is distinct from":!0,"is not distinct from":!0});Object.keys(e);let f=(0,d.CN)({"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"&":!0,"|":!0,"#":!0,"<<":!0,">>":!0});Object.keys(f);let g=(0,d.CN)({"->":!0,"->>":!0}),h=Object.keys(g),i=(0,d.CN)({...e,...f,"||":!0}),j=Object.keys(i),k=(0,d.CN)({exists:!0,"not exists":!0});Object.keys(k);let l=(0,d.CN)({...k,"-":!0,not:!0});[...j,...h,...Object.keys(l)];let m=(0,d.CN)({is:a=>"OperatorNode"===a.kind,create:a=>(0,d.CN)({kind:"OperatorNode",operator:a})});function n(a){return(0,d.Kg)(a)&&i[a]}function o(a){return(0,d.Kg)(a)&&g[a]}function p(a){return(0,d.Kg)(a)&&l[a]}},47506:(a,b,c)=>{c.d(b,{u:()=>d});let d={encode:a=>{if("string"==typeof a&&(a=new TextEncoder().encode(a)),0===a.byteLength)return"";let b=new Uint8Array(a),c="";for(let a of b)c+=a.toString(16).padStart(2,"0");return c},decode:a=>{if(!a)return"";if("string"==typeof a){if(a.length%2!=0||!RegExp("^[0123456789abcdef]+$").test(a))throw Error("Invalid hexadecimal string");let b=new Uint8Array(a.length/2);for(let c=0;c<a.length;c+=2)b[c/2]=parseInt(a.slice(c,c+2),16);return new TextDecoder().decode(b)}return new TextDecoder().decode(a)}}},48835:(a,b,c)=>{c.d(b,{L:()=>k});var d=c(6881),e=c(29941);let f=(0,d.CN)({is:a=>"GroupByNode"===a.kind,create:a=>(0,d.CN)({kind:"GroupByNode",items:(0,d.CN)(a)}),cloneWithItems:(a,b)=>(0,d.CN)({...a,items:(0,d.CN)([...a.items,...b])})});var g=c(21836),h=c(66384);let i=(0,d.CN)({is:a=>"HavingNode"===a.kind,create:a=>(0,d.CN)({kind:"HavingNode",having:a}),cloneWithOperation:(a,b,c)=>(0,d.CN)({...a,having:"And"===b?g.s.create(a.having,c):h.K.create(a.having,c)})});var j=c(36022);let k=(0,d.CN)({is:a=>"SelectQueryNode"===a.kind,create:a=>(0,d.CN)({kind:"SelectQueryNode",...a&&{with:a}}),createFrom:(a,b)=>(0,d.CN)({kind:"SelectQueryNode",from:e.N.create(a),...b&&{with:b}}),cloneWithSelections:(a,b)=>(0,d.CN)({...a,selections:a.selections?(0,d.CN)([...a.selections,...b]):(0,d.CN)(b)}),cloneWithDistinctOn:(a,b)=>(0,d.CN)({...a,distinctOn:a.distinctOn?(0,d.CN)([...a.distinctOn,...b]):(0,d.CN)(b)}),cloneWithFrontModifier:(a,b)=>(0,d.CN)({...a,frontModifiers:a.frontModifiers?(0,d.CN)([...a.frontModifiers,b]):(0,d.CN)([b])}),cloneWithOrderByItems:(a,b)=>j.L.cloneWithOrderByItems(a,b),cloneWithGroupByItems:(a,b)=>(0,d.CN)({...a,groupBy:a.groupBy?f.cloneWithItems(a.groupBy,b):f.create(b)}),cloneWithLimit:(a,b)=>(0,d.CN)({...a,limit:b}),cloneWithOffset:(a,b)=>(0,d.CN)({...a,offset:b}),cloneWithFetch:(a,b)=>(0,d.CN)({...a,fetch:b}),cloneWithHaving:(a,b)=>(0,d.CN)({...a,having:a.having?i.cloneWithOperation(a.having,"And",b):i.create(b)}),cloneWithSetOperations:(a,b)=>(0,d.CN)({...a,setOperations:a.setOperations?(0,d.CN)([...a.setOperations,...b]):(0,d.CN)([...b])}),cloneWithoutSelections:a=>(0,d.CN)({...a,selections:[]}),cloneWithoutLimit:a=>(0,d.CN)({...a,limit:void 0}),cloneWithoutOffset:a=>(0,d.CN)({...a,offset:void 0}),cloneWithoutOrderBy:a=>j.L.cloneWithoutOrderBy(a),cloneWithoutGroupBy:a=>(0,d.CN)({...a,groupBy:void 0})})},49071:(a,b,c)=>{let d;c.d(b,{l:()=>k});var e=c(87010),f=c(59956),g=c(17106),h=c(31708);let i="given KeyObject instance cannot be used for this algorithm",j=async(a,b,c,e=!1)=>{let f=(d||=new WeakMap).get(a);if(f?.[c])return f[c];let h=await (0,g.x)({...b,alg:c});return e&&Object.freeze(a),f?f[c]=h:d.set(a,{[c]:h}),h};async function k(a,b){if(a instanceof Uint8Array||(0,h.R7)(a))return a;if((0,h.D2)(a)){if("secret"===a.type)return a.export();if("toCryptoKey"in a&&"function"==typeof a.toCryptoKey)try{return((a,b)=>{let c,e=(d||=new WeakMap).get(a);if(e?.[b])return e[b];let f="public"===a.type,g=!!f;if("x25519"===a.asymmetricKeyType){switch(b){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError(i)}c=a.toCryptoKey(a.asymmetricKeyType,g,f?[]:["deriveBits"])}if("ed25519"===a.asymmetricKeyType){if("EdDSA"!==b&&"Ed25519"!==b)throw TypeError(i);c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}switch(a.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(b!==a.asymmetricKeyType.toUpperCase())throw TypeError(i);c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}if("rsa"===a.asymmetricKeyType){let d;switch(b){case"RSA-OAEP":d="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":d="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":d="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":d="SHA-512";break;default:throw TypeError(i)}if(b.startsWith("RSA-OAEP"))return a.toCryptoKey({name:"RSA-OAEP",hash:d},g,f?["encrypt"]:["decrypt"]);c=a.toCryptoKey({name:b.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:d},g,[f?"verify":"sign"])}if("ec"===a.asymmetricKeyType){let d=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(a.asymmetricKeyDetails?.namedCurve);if(!d)throw TypeError(i);let e={ES256:"P-256",ES384:"P-384",ES512:"P-521"};e[b]&&d===e[b]&&(c=a.toCryptoKey({name:"ECDSA",namedCurve:d},g,[f?"verify":"sign"])),b.startsWith("ECDH-ES")&&(c=a.toCryptoKey({name:"ECDH",namedCurve:d},g,f?[]:["deriveBits"]))}if(!c)throw TypeError(i);return e?e[b]=c:d.set(a,{[b]:c}),c})(a,b)}catch(a){if(a instanceof TypeError)throw a}let c=a.export({format:"jwk"});return j(a,c,b)}if((0,e.ll)(a))return a.k?(0,f.D)(a.k):j(a,a,b,!0);throw Error("unreachable")}},49112:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={BailoutToCSRError:function(){return f},isBailoutToCSRError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="BAILOUT_TO_CLIENT_SIDE_RENDERING";class f extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===e}},49644:(a,b,c)=>{c.d(b,{d:()=>h});var d=c(4001),e=c(70392),f=c(17426),g=c(66290);let h=()=>{let a=!1;return{id:"next-cookies",version:f.i,hooks:{before:[{matcher:a=>"/get-session"===a.path,handler:(0,g.Di)(async b=>{let d;if(a||(!function(a,b){let c=a.options.plugins||[];if(0===c.length)return;let d=c.findIndex(a=>a.id===b);-1===d||c.slice(d+1).some(a=>a.hooks&&Array.isArray(a.hooks.after)&&a.hooks.after.length>0)&&a.logger.warn(`[better-auth] Cookie integration plugin "${b}" should be placed last in the plugins array. Plugins with \`hooks.after\` running after it may set cookies that are not forwarded to the framework cookie store. Move your cookie integration plugin to the end of the \`plugins\` array to avoid missing \`Set-Cookie\` headers.`)}(b.context,"next-cookies"),a=!0),"_flag"in b&&"router"===b._flag)return;try{let{headers:a}=await Promise.resolve().then(c.bind(c,44013));d=await a()}catch{return}let f="1"===d.get("RSC"),g=!!d.get("next-action");f&&!g&&await (0,e.M)(!0)})}],after:[{matcher:a=>!0,handler:(0,g.Di)(async a=>{let b=a.context.responseHeaders;if((!("_flag"in a)||"router"!==a._flag)&&b instanceof Headers){let a,e=b?.get("set-cookie");if(!e)return;let f=(0,d.To)(e);try{let{cookies:b}=await Promise.resolve().then(c.bind(c,44013));a=await b()}catch(a){if(a instanceof Error&&(a.message.startsWith("`cookies` was called outside a request scope.")||a.message.includes("Cannot find module")))return;throw a}f.forEach((b,c)=>{if(c)try{a.set(c,b.value,(0,d.sR)(b))}catch{}});return}})}]}}}},50056:(a,b,c)=>{let d,e,f;c.d(b,{zp:()=>T,vX:()=>S});var g,h=c(70643);function i(a){if("boolean"!=typeof a)throw TypeError(`boolean expected, not ${a}`)}function j(a){if("number"!=typeof a)throw TypeError("number expected, got "+typeof a);if(!Number.isSafeInteger(a)||a<0)throw RangeError("positive integer expected, got "+a)}function k(a,b,c=""){let d=a instanceof Uint8Array||ArrayBuffer.isView(a)&&"Uint8Array"===a.constructor.name&&"BYTES_PER_ELEMENT"in a&&1===a.BYTES_PER_ELEMENT,e=a?.length,f=void 0!==b;if(!d||f&&e!==b){let g=(c&&`"${c}" `)+"expected Uint8Array"+(f?` of length ${b}`:"")+", got "+(d?`length=${e}`:`type=${typeof a}`);if(!d)throw TypeError(g);throw RangeError(g)}return a}function l(a,b=!0){if(a.destroyed)throw Error("Hash instance has been destroyed");if(b&&a.finished)throw Error("Hash#digest() has already been called")}function m(a){return new Uint32Array(a.buffer,a.byteOffset,Math.floor(a.byteLength/4))}function n(...a){for(let b=0;b<a.length;b++)a[b].fill(0)}let o=68===new Uint8Array(new Uint32Array([0x11223344]).buffer)[0],p=a=>a<<24&0xff000000|a<<8&0xff0000|a>>>8&65280|a>>>24&255,q=o?a=>a:a=>p(a)>>>0,r=o?a=>a:a=>{for(let b=0;b<a.length;b++)a[b]=p(a[b]);return a},s="function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex,t=Array.from({length:256},(a,b)=>b.toString(16).padStart(2,"0"));function u(a){return a>=48&&a<=57?a-48:a>=65&&a<=70?a-55:a>=97&&a<=102?a-87:void 0}function v(a,b,c=!0){if(void 0===b)return new Uint8Array(a);if(k(b,void 0,"output"),b.length!==a)throw Error('"output" expected Uint8Array of length '+a+", got: "+b.length);if(c&&!w(b))throw Error("invalid output, must be aligned");return b}function w(a){return a.byteOffset%4==0}function x(a){return Uint8Array.from(k(a))}function y(a=32){j(a);let b="object"==typeof globalThis?globalThis.crypto:null;if("function"!=typeof b?.getRandomValues)throw Error("crypto.getRandomValues must be defined");return b.getRandomValues(new Uint8Array(a))}function z(a,b=y){let{nonceLength:c}=a;j(c);let d=(a,b,c)=>{let d=function(...a){let b=0;for(let c=0;c<a.length;c++){let d=a[c];k(d),b+=d.length}let c=new Uint8Array(b);for(let b=0,d=0;b<a.length;b++){let e=a[b];c.set(e,d),d+=e.length}return c}(a,b);return c.byteLength&&b.byteLength&&c.buffer===b.buffer&&c.byteOffset<b.byteOffset+b.byteLength&&b.byteOffset<c.byteOffset+c.byteLength||b.fill(0),d},e=(e,...f)=>({encrypt(g){k(g);let h=b(c),i=a(e,h,...f).encrypt(g);return i instanceof Promise?i.then(a=>d(h,a,g)):d(h,i,g)},decrypt(b){k(b);let d=b.subarray(0,c),g=b.subarray(c);return a(e,d,...f).decrypt(g)}});return"blockSize"in a&&(e.blockSize=a.blockSize),"tagLength"in a&&(e.tagLength=a.tagLength),e}let A=a=>Uint8Array.from(a.split(""),a=>a.charCodeAt(0)),B=r(m(A("expand 16-byte k"))),C=r(m(A("expand 32-byte k")));function D(a,b){return a<<b|a>>>32-b}let E=0x100000000-1,F=Uint32Array.of();function G(a,b){return 255&a[b++]|(255&a[b++])<<8}class H{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(a){const b=G(a=x(k(a,32,"key")),0),c=G(a,2),d=G(a,4),e=G(a,6),f=G(a,8),g=G(a,10),h=G(a,12),i=G(a,14);this.r[0]=8191&b,this.r[1]=(b>>>13|c<<3)&8191,this.r[2]=(c>>>10|d<<6)&7939,this.r[3]=(d>>>7|e<<9)&8191,this.r[4]=(e>>>4|f<<12)&255,this.r[5]=f>>>1&8190,this.r[6]=(f>>>14|g<<2)&8191,this.r[7]=(g>>>11|h<<5)&8065,this.r[8]=(h>>>8|i<<8)&8191,this.r[9]=i>>>5&127;for(let b=0;b<8;b++)this.pad[b]=G(a,16+2*b)}process(a,b,c=!1){let{h:d,r:e}=this,f=e[0],g=e[1],h=e[2],i=e[3],j=e[4],k=e[5],l=e[6],m=e[7],n=e[8],o=e[9],p=G(a,b+0),q=G(a,b+2),r=G(a,b+4),s=G(a,b+6),t=G(a,b+8),u=G(a,b+10),v=G(a,b+12),w=G(a,b+14),x=d[0]+(8191&p),y=d[1]+((p>>>13|q<<3)&8191),z=d[2]+((q>>>10|r<<6)&8191),A=d[3]+((r>>>7|s<<9)&8191),B=d[4]+((s>>>4|t<<12)&8191),C=d[5]+(t>>>1&8191),D=d[6]+((t>>>14|u<<2)&8191),E=d[7]+((u>>>11|v<<5)&8191),F=d[8]+((v>>>8|w<<8)&8191),H=d[9]+(w>>>5|2048*!c),I=0,J=0+x*f+5*o*y+5*n*z+5*m*A+5*l*B;I=J>>>13,J&=8191,J+=5*k*C+5*j*D+5*i*E+5*h*F+5*g*H,I+=J>>>13,J&=8191;let K=I+x*g+y*f+5*o*z+5*n*A+5*m*B;I=K>>>13,K&=8191,K+=5*l*C+5*k*D+5*j*E+5*i*F+5*h*H,I+=K>>>13,K&=8191;let L=I+x*h+y*g+z*f+5*o*A+5*n*B;I=L>>>13,L&=8191,L+=5*m*C+5*l*D+5*k*E+5*j*F+5*i*H,I+=L>>>13,L&=8191;let M=I+x*i+y*h+z*g+A*f+5*o*B;I=M>>>13,M&=8191,M+=5*n*C+5*m*D+5*l*E+5*k*F+5*j*H,I+=M>>>13,M&=8191;let N=I+x*j+y*i+z*h+A*g+B*f;I=N>>>13,N&=8191,N+=5*o*C+5*n*D+5*m*E+5*l*F+5*k*H,I+=N>>>13,N&=8191;let O=I+x*k+y*j+z*i+A*h+B*g;I=O>>>13,O&=8191,O+=C*f+5*o*D+5*n*E+5*m*F+5*l*H,I+=O>>>13,O&=8191;let P=I+x*l+y*k+z*j+A*i+B*h;I=P>>>13,P&=8191,P+=C*g+D*f+5*o*E+5*n*F+5*m*H,I+=P>>>13,P&=8191;let Q=I+x*m+y*l+z*k+A*j+B*i;I=Q>>>13,Q&=8191,Q+=C*h+D*g+E*f+5*o*F+5*n*H,I+=Q>>>13,Q&=8191;let R=I+x*n+y*m+z*l+A*k+B*j;I=R>>>13,R&=8191,R+=C*i+D*h+E*g+F*f+5*o*H,I+=R>>>13,R&=8191;let S=I+x*o+y*n+z*m+A*l+B*k;I=S>>>13,S&=8191,S+=C*j+D*i+E*h+F*g+H*f,I+=S>>>13,S&=8191,J=8191&(I=(I=(I<<2)+I|0)+J|0),I>>>=13,K+=I,d[0]=J,d[1]=K,d[2]=L,d[3]=M,d[4]=N,d[5]=O,d[6]=P,d[7]=Q,d[8]=R,d[9]=S}finalize(){let{h:a,pad:b}=this,c=new Uint16Array(10),d=a[1]>>>13;a[1]&=8191;for(let b=2;b<10;b++)a[b]+=d,d=a[b]>>>13,a[b]&=8191;a[0]+=5*d,d=a[0]>>>13,a[0]&=8191,a[1]+=d,d=a[1]>>>13,a[1]&=8191,a[2]+=d,c[0]=a[0]+5,d=c[0]>>>13,c[0]&=8191;for(let b=1;b<10;b++)c[b]=a[b]+d,d=c[b]>>>13,c[b]&=8191;c[9]-=8192;let e=(1^d)-1;for(let a=0;a<10;a++)c[a]&=e;e=~e;for(let b=0;b<10;b++)a[b]=a[b]&e|c[b];a[0]=(a[0]|a[1]<<13)&65535,a[1]=(a[1]>>>3|a[2]<<10)&65535,a[2]=(a[2]>>>6|a[3]<<7)&65535,a[3]=(a[3]>>>9|a[4]<<4)&65535,a[4]=(a[4]>>>12|a[5]<<1|a[6]<<14)&65535,a[5]=(a[6]>>>2|a[7]<<11)&65535,a[6]=(a[7]>>>5|a[8]<<8)&65535,a[7]=(a[8]>>>8|a[9]<<5)&65535;let f=a[0]+b[0];a[0]=65535&f;for(let c=1;c<8;c++)f=(a[c]+b[c]|0)+(f>>>16)|0,a[c]=65535&f;n(c)}update(a){l(this),k(a);let{buffer:b,blockLen:c}=this,d=(a=x(a)).length;for(let e=0;e<d;){let f=Math.min(c-this.pos,d-e);if(f===c){for(;c<=d-e;e+=c)this.process(a,e);continue}b.set(a.subarray(e,e+f),this.pos),this.pos+=f,e+=f,this.pos===c&&(this.process(b,0,!1),this.pos=0)}return this}destroy(){this.destroyed=!0,n(this.h,this.r,this.buffer,this.pad)}digestInto(a){l(this),function(a,b,c=!1){k(a,void 0,"output");let d=b.outputLen;if(a.length<d)throw RangeError("digestInto() expects output buffer of length at least "+d);if(c&&!w(a))throw Error("invalid output, must be aligned")}(a,this),this.finished=!0;let{buffer:b,h:c}=this,{pos:d}=this;if(d){for(b[d++]=1;d<16;d++)b[d]=0;this.process(b,0,!0)}this.finalize();let e=0;for(let b=0;b<8;b++)a[e++]=c[b]>>>0,a[e++]=c[b]>>>8}digest(){let{buffer:a,outputLen:b}=this;this.digestInto(a);let c=a.slice(0,b);return this.destroy(),c}}let I=(g=a=>new H(a),d=()=>[],(e=(a,b)=>g(b,...d(a)).update(a).digest()).outputLen=(f=g(new Uint8Array(32),...d(new Uint8Array(0)))).outputLen,e.blockLen=f.blockLen,e.create=(a,...b)=>g(a,...b),e),J=function(a,b){let{allowShortKeys:c,extendNonceFn:d,counterLength:e,counterRight:f,rounds:g}=function(a,b){if(null==b||"object"!=typeof b)throw Error("options must be defined");return Object.assign(a,b)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},b);if("function"!=typeof a)throw Error("core must be a function");return j(e),j(g),i(f),i(c),(b,h,i,l,p=0)=>{let q,s;if(k(b,void 0,"key"),k(h,void 0,"nonce"),k(i,void 0,"data"),l=v(i.length,l,!1),j(p),p<0||p>=E)throw Error("arx: counter overflow");let t=[],u=b.length;if(32===u)t.push(q=x(b)),s=C;else if(16===u&&c)(q=new Uint8Array(32)).set(b),q.set(b,16),s=B,t.push(q);else throw k(b,32,"arx key"),Error("invalid key size");o&&w(h)||t.push(h=x(h));let y=m(q);if(d){if(24!==h.length)throw Error("arx: extended nonce must be 24 bytes");let a=h.subarray(0,16);if(o)d(s,y,m(a),y);else{let b=r(Uint32Array.from(s));d(b,y,m(a),y),n(b),r(y)}h=h.subarray(16)}else o||r(y);let z=16-e;if(z!==h.length)throw Error(`arx: nonce must be ${z} or 16 bytes`);if(12!==z){let a=new Uint8Array(12);a.set(h,f?0:12-h.length),h=a,t.push(h)}let A=r(m(h));try{return!function(a,b,c,d,e,f,g,h){let i=e.length,j=new Uint8Array(64),k=m(j),l=o&&w(e)&&w(f),n=l?m(e):F,p=l?m(f):F;if(!o){for(let l=0;l<i;g++){if(a(b,c,d,k,g,h),r(k),g>=E)throw Error("arx: counter overflow");let m=Math.min(64,i-l);for(let a=0,b;a<m;a++)f[b=l+a]=e[b]^j[a];l+=m}return}for(let m=0;m<i;g++){if(a(b,c,d,k,g,h),g>=E)throw Error("arx: counter overflow");let o=Math.min(64,i-m);if(l&&64===o){let a=m/4;if(m%4!=0)throw Error("arx: invalid block position");for(let b=0,c;b<16;b++)p[c=a+b]=n[c]^k[b];m+=64;continue}for(let a=0,b;a<o;a++)f[b=m+a]=e[b]^j[a];m+=o}}(a,s,y,A,i,l,p,g),l}finally{n(...t)}}}(function(a,b,c,d,e,f=20){let g=a[0],h=a[1],i=a[2],j=a[3],k=b[0],l=b[1],m=b[2],n=b[3],o=b[4],p=b[5],q=b[6],r=b[7],s=c[0],t=c[1],u=c[2],v=g,w=h,x=i,y=j,z=k,A=l,B=m,C=n,E=o,F=p,G=q,H=r,I=e,J=s,K=t,L=u;for(let a=0;a<f;a+=2)E=E+(I=D(I^(v=v+z|0),16))|0,v=v+(z=D(z^E,12))|0,E=E+(I=D(I^v,8))|0,z=D(z^E,7),F=F+(J=D(J^(w=w+A|0),16))|0,w=w+(A=D(A^F,12))|0,F=F+(J=D(J^w,8))|0,A=D(A^F,7),G=G+(K=D(K^(x=x+B|0),16))|0,x=x+(B=D(B^G,12))|0,G=G+(K=D(K^x,8))|0,B=D(B^G,7),H=H+(L=D(L^(y=y+C|0),16))|0,y=y+(C=D(C^H,12))|0,H=H+(L=D(L^y,8))|0,C=D(C^H,7),G=G+(L=D(L^(v=v+A|0),16))|0,v=v+(A=D(A^G,12))|0,G=G+(L=D(L^v,8))|0,A=D(A^G,7),H=H+(I=D(I^(w=w+B|0),16))|0,w=w+(B=D(B^H,12))|0,H=H+(I=D(I^w,8))|0,B=D(B^H,7),E=E+(J=D(J^(x=x+C|0),16))|0,x=x+(C=D(C^E,12))|0,E=E+(J=D(J^x,8))|0,C=D(C^E,7),F=F+(K=D(K^(y=y+z|0),16))|0,y=y+(z=D(z^F,12))|0,F=F+(K=D(K^y,8))|0,z=D(z^F,7);let M=0;d[M++]=g+v|0,d[M++]=h+w|0,d[M++]=i+x|0,d[M++]=j+y|0,d[M++]=k+z|0,d[M++]=l+A|0,d[M++]=m+B|0,d[M++]=n+C|0,d[M++]=o+E|0,d[M++]=p+F|0,d[M++]=q+G|0,d[M++]=r+H|0,d[M++]=e+I|0,d[M++]=s+J|0,d[M++]=t+K|0,d[M++]=u+L|0},{counterRight:!1,counterLength:8,extendNonceFn:function(a,b,c,d){let e=q(a[0]),f=q(a[1]),g=q(a[2]),h=q(a[3]),i=q(b[0]),j=q(b[1]),k=q(b[2]),l=q(b[3]),m=q(b[4]),n=q(b[5]),o=q(b[6]),p=q(b[7]),s=q(c[0]),t=q(c[1]),u=q(c[2]),v=q(c[3]);for(let a=0;a<20;a+=2)m=m+(s=D(s^(e=e+i|0),16))|0,e=e+(i=D(i^m,12))|0,m=m+(s=D(s^e,8))|0,i=D(i^m,7),n=n+(t=D(t^(f=f+j|0),16))|0,f=f+(j=D(j^n,12))|0,n=n+(t=D(t^f,8))|0,j=D(j^n,7),o=o+(u=D(u^(g=g+k|0),16))|0,g=g+(k=D(k^o,12))|0,o=o+(u=D(u^g,8))|0,k=D(k^o,7),p=p+(v=D(v^(h=h+l|0),16))|0,h=h+(l=D(l^p,12))|0,p=p+(v=D(v^h,8))|0,l=D(l^p,7),o=o+(v=D(v^(e=e+j|0),16))|0,e=e+(j=D(j^o,12))|0,o=o+(v=D(v^e,8))|0,j=D(j^o,7),p=p+(s=D(s^(f=f+k|0),16))|0,f=f+(k=D(k^p,12))|0,p=p+(s=D(s^f,8))|0,k=D(k^p,7),m=m+(t=D(t^(g=g+l|0),16))|0,g=g+(l=D(l^m,12))|0,m=m+(t=D(t^g,8))|0,l=D(l^m,7),n=n+(u=D(u^(h=h+i|0),16))|0,h=h+(i=D(i^n,12))|0,n=n+(u=D(u^h,8))|0,i=D(i^n,7);let w=0;d[w++]=e,d[w++]=f,d[w++]=g,d[w++]=h,d[w++]=s,d[w++]=t,d[w++]=u,d[w++]=v,r(d)},allowShortKeys:!1}),K=new Uint8Array(16),L=(a,b)=>{a.update(b);let c=b.length%16;c&&a.update(K.subarray(c))},M=new Uint8Array(32);function N(a,b,c,d,e){var f,g;let h,l;void 0!==e&&k(e,void 0,"AAD");let m=a(b,c,M),o=(f=d.length,g=e?e.length:0,j(f),j(g),i(!0),(l=new DataView((h=new Uint8Array(16)).buffer,h.byteOffset,h.byteLength)).setBigUint64(0,BigInt(g),!0),l.setBigUint64(8,BigInt(f),!0),h),p=I.create(m);e&&L(p,e),L(p,d),p.update(o);let q=p.digest();return n(m,o),q}let O=((a,b)=>{function c(d,...e){k(d,void 0,"key"),void 0!==a.nonceLength&&k(e[0],a.varSizeNonce?void 0:a.nonceLength,"nonce");let f=a.tagLength;f&&void 0!==e[1]&&k(e[1],void 0,"AAD");let g=b(d,...e),h=(a,b)=>{if(void 0!==b){if(2!==a)throw Error("cipher output not supported");k(b,void 0,"output")}},i=!1;return{encrypt(a,b){if(i)throw Error("cannot encrypt() twice with same key + nonce");return i=!0,k(a),h(g.encrypt.length,b),g.encrypt(a,b)},decrypt(a,b){if(k(a),f&&a.length<f)throw Error('"ciphertext" expected length bigger than tagLength='+f);return h(g.decrypt.length,b),g.decrypt(a,b)}}}return Object.assign(c,a),c})({blockSize:64,nonceLength:24,tagLength:16},(a,b,c)=>({encrypt(d,e){let f=d.length;(e=v(f+16,e,!1)).set(d);let g=e.subarray(0,-16);J(a,b,g,g,1);let h=N(J,a,b,g,c);return e.set(h,f),n(h),e},decrypt(d,e){e=v(d.length-16,e,!1);let f=d.subarray(0,-16),g=d.subarray(-16),h=N(J,a,b,f,c);if(!function(a,b){if(a.length!==b.length)return!1;let c=0;for(let d=0;d<a.length;d++)c|=a[d]^b[d];return 0===c}(g,h))throw n(h),Error("invalid tag");return e.set(d.subarray(0,-16)),J(a,b,e,e,1),n(h),e}})),P="$ba$";async function Q(a,b){let c=await (0,h.n)("SHA-256").digest(a),d=function(a){if("string"!=typeof a)throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode(a))}(b);var e=z(O)(new Uint8Array(c)).encrypt(d);if(k(e),s)return e.toHex();let f="";for(let a=0;a<e.length;a++)f+=t[e[a]];return f}async function R(a,b){let c=await (0,h.n)("SHA-256").digest(a),d=function(a){if("string"!=typeof a)throw TypeError("hex string expected, got "+typeof a);if(s)try{return Uint8Array.fromHex(a)}catch(a){if(a instanceof SyntaxError)throw RangeError(a.message);throw a}let b=a.length,c=b/2;if(b%2)throw RangeError("hex string expected, got unpadded hex of length "+b);let d=new Uint8Array(c);for(let b=0,e=0;b<c;b++,e+=2){let c=u(a.charCodeAt(e)),f=u(a.charCodeAt(e+1));if(void 0===c||void 0===f)throw RangeError('hex string expected, got non-hex character "'+(a[e]+a[e+1])+'" at index '+e);d[b]=16*c+f}return d}(b),e=z(O)(new Uint8Array(c));return new TextDecoder().decode(e.decrypt(d))}let S=async({key:a,data:b})=>{var c;if("string"==typeof a)return Q(a,b);let d=a.keys.get(a.currentVersion);if(!d)throw Error(`Secret version ${a.currentVersion} not found in keys`);let e=await Q(d,b);return c=a.currentVersion,`${P}${c}$${e}`},T=async({key:a,data:b})=>{if("string"==typeof a)return R(a,b);let c=function(a){if(!a.startsWith(P))return null;let b=a.indexOf("$",4);if(-1===b)return null;let c=parseInt(a.slice(4,b),10);return!Number.isInteger(c)||c<0?null:{version:c,ciphertext:a.slice(b+1)}}(b);if(c){let b=a.keys.get(c.version);if(!b)throw Error(`Secret version ${c.version} not found in keys (key may have been retired)`);return R(b,c.ciphertext)}if(a.legacySecret)return R(a.legacySecret,b);throw Error("Cannot decrypt legacy bare-hex payload: no legacy secret available. Set BETTER_AUTH_SECRET for backwards compatibility.")}},50498:(a,b,c)=>{c.d(b,{q:()=>d});let d=(0,c(33746).E)({USER_NOT_FOUND:"User not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_UPDATE_USER:"Failed to update user",FAILED_TO_GET_SESSION:"Failed to get session",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL:"Invalid email",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",INVALID_USER:"Invalid user",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account already linked",PROVIDER_NOT_FOUND:"Provider not found",INVALID_TOKEN:"Invalid token",TOKEN_EXPIRED:"Token expired",ID_TOKEN_NOT_SUPPORTED:"id_token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",USER_EMAIL_NOT_FOUND:"User email not found",EMAIL_NOT_VERIFIED:"Email not verified",PASSWORD_TOO_SHORT:"Password too short",PASSWORD_TOO_LONG:"Password too long",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",EMAIL_CAN_NOT_BE_UPDATED:"Email can not be updated",CHANGE_EMAIL_DISABLED:"Change email is disabled",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SESSION_EXPIRED:"Session expired. Re-authenticate to perform this action.",FAILED_TO_UNLINK_LAST_ACCOUNT:"You can't unlink your last account",ACCOUNT_NOT_FOUND:"Account not found",USER_ALREADY_HAS_PASSWORD:"User already has a password. Provide that to delete the account.",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"Cross-site navigation login blocked. This request appears to be a CSRF attack.",VERIFICATION_EMAIL_NOT_ENABLED:"Verification email isn't enabled",EMAIL_ALREADY_VERIFIED:"Email is already verified",EMAIL_MISMATCH:"Email mismatch",SESSION_NOT_FRESH:"Session is not fresh",LINKED_ACCOUNT_ALREADY_EXISTS:"Linked account already exists",INVALID_ORIGIN:"Invalid origin",INVALID_CALLBACK_URL:"Invalid callbackURL",INVALID_REDIRECT_URL:"Invalid redirectURL",INVALID_ERROR_CALLBACK_URL:"Invalid errorCallbackURL",INVALID_NEW_USER_CALLBACK_URL:"Invalid newUserCallbackURL",MISSING_OR_NULL_ORIGIN:"Missing or null Origin",CALLBACK_URL_REQUIRED:"callbackURL is required",FAILED_TO_CREATE_VERIFICATION:"Unable to create verification",FIELD_NOT_ALLOWED:"Field not allowed to be set",ASYNC_VALIDATION_NOT_SUPPORTED:"Async validation is not supported",VALIDATION_ERROR:"Validation Error",MISSING_FIELD:"Field is required",METHOD_NOT_ALLOWED_DEFER_SESSION_REQUIRED:"POST method requires deferSessionRefresh to be enabled in session config",BODY_MUST_BE_AN_OBJECT:"Body must be an object",PASSWORD_ALREADY_SET:"User already has a password set"})},51075:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return f}});let d=c(55640),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},51586:(a,b,c)=>{c.d(b,{H:()=>i,Q:()=>h});let d=Symbol.for("better-auth:global"),e=null,f={},g="1.6.19";function h(){return globalThis[d]||(globalThis[d]={version:g,epoch:1,context:f},e=globalThis[d]),(e=globalThis[d]).version!==g&&(e.version=g,e.epoch++),globalThis[d]}function i(){return h().version}},52022:(a,b,c)=>{c.d(b,{i:()=>d,is:()=>e});let d=Symbol.for("drizzle:entityKind");function e(a,b){if(!a||"object"!=typeof a)return!1;if(a instanceof b)return!0;if(!Object.prototype.hasOwnProperty.call(b,d))throw Error(`Class "${b.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let c=Object.getPrototypeOf(a).constructor;if(c)for(;c;){if(d in c&&c[d]===b[d])return!0;c=Object.getPrototypeOf(c)}return!1}Symbol.for("drizzle:hasOwnEntityKind")},52126:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"LimitNode"===a.kind,create:a=>(0,d.CN)({kind:"LimitNode",limit:a})})},52303:(a,b,c)=>{c.d(b,{bj:()=>i,uc:()=>k});var d=c(39881),e=c(20302),f=c(4362),g=c(4319),h=c(6881);class i{#ap;get table(){return this.#ap}constructor(a){this.#ap=a}as(a){return new j(this.#ap,a)}}class j{#ap;#ao;get table(){return this.#ap}get alias(){return this.#ao}constructor(a,b){this.#ap=a,this.#ao=b}toOperationNode(){return d.N.create((0,g.M$)(this.#ap),e.O.create(this.#ao))}}function k(a){return(0,h.Gv)(a)&&(0,f.N)(a)&&(0,h.Kg)(a.table)&&(0,h.Kg)(a.alias)}},53108:(a,b,c)=>{function d(a){switch(a){case"a-z":return"abcdefghijklmnopqrstuvwxyz";case"A-Z":return"ABCDEFGHIJKLMNOPQRSTUVWXYZ";case"0-9":return"0123456789";case"-_":return"-_";default:throw Error(`Unsupported alphabet: ${a}`)}}function e(...a){let b=a.map(d).join("");if(0===b.length)throw Error("No valid characters provided for random string generation.");let c=b.length;return(a,...e)=>{let f;if(a<=0)throw Error("Length must be a positive integer.");let g=b,h=c;e.length>0&&(h=(g=e.map(d).join("")).length);let i=Math.floor(256/h)*h,j=new Uint8Array(2*a),k=j.length,l="",m=k;for(;l.length<a;)m>=k&&(crypto.getRandomValues(j),m=0),(f=j[m++])<i&&(l+=g[f%h]);return l}}c.d(b,{q:()=>e})},54922:(a,b,c)=>{c.d(b,{Hl:()=>k,JJ:()=>h,gx:()=>l,u8:()=>f,wp:()=>j,x:()=>i});var d=c(11033),e=c(6881);function f(a="ignore query",b,c){if("ignore query"!==a){if("cancel query"===a){let c=b.cancelQuery;return c||g(a,b.killSession?"kill session":void 0),c.bind(b)}if("kill session"===a){let c=b.killSession;return c||g(a,b.cancelQuery?"cancel query":void 0),c.bind(b)}throw c(),Error(`Unexpected \`inflightQueryAbortStrategy\`: "${a}"`)}}function g(a,b){throw Error(`This dialect doesn't support \`inflightQueryAbortStrategy\` "${a}". Use "ignore query"${b?` or "${b}"`:""} instead.`)}function h(a,b,c){a?.aborted&&(c?.(),i(a.reason,b))}function i(a,b){var c,d;throw c=a,d=b,null===c||"object"!=typeof c||Object.isFrozen(c)||Object.defineProperty(c,"__kysely_timing__",{configurable:!0,enumerable:!1,value:d,writable:!1}),a}let j={};async function k(a,b,c,e){if(!b)return a;h(b,`before ${c}`,e);let{promise:f,resolve:g}=new d.c,k=()=>g(j);b.addEventListener("abort",k);try{h(b,`before ${c}`,e);let d=await Promise.race([a,f]);if(d!==j)return d;e?.(),i(b.reason,`during ${c}`)}finally{b.removeEventListener("abort",k),g(j)}}function l(a){return b=>console.error(`\`${a}\` failed in the background after abortion: ${(0,e.I4)(b)}`)}},55222:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(56181);function e(){return new f}class f{#q;get queryId(){return void 0===this.#q&&(this.#q=(0,d.D)(8)),this.#q}}},55457:(a,b,c)=>{c.d(b,{$:()=>h,Y:()=>g});let d=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);function e(a,b){if(parseInt(a.hash.name.slice(4),10)!==b)throw d(`SHA-${b}`,"algorithm.hash")}function f(a,b){if(b&&!a.usages.includes(b))throw TypeError(`CryptoKey does not support this operation, its usages must include ${b}.`)}function g(a,b,c){switch(b){case"HS256":case"HS384":case"HS512":if("HMAC"!==a.algorithm.name)throw d("HMAC");e(a.algorithm,parseInt(b.slice(2),10));break;case"RS256":case"RS384":case"RS512":if("RSASSA-PKCS1-v1_5"!==a.algorithm.name)throw d("RSASSA-PKCS1-v1_5");e(a.algorithm,parseInt(b.slice(2),10));break;case"PS256":case"PS384":case"PS512":if("RSA-PSS"!==a.algorithm.name)throw d("RSA-PSS");e(a.algorithm,parseInt(b.slice(2),10));break;case"Ed25519":case"EdDSA":if("Ed25519"!==a.algorithm.name)throw d("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let g;if(g=a.algorithm,g.name!==b)throw d(b);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==a.algorithm.name)throw d("ECDSA");let c=function(a){switch(a){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(b);if(a.algorithm.namedCurve!==c)throw d(c,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}f(a,c)}function h(a,b,c){switch(b){case"A128GCM":case"A192GCM":case"A256GCM":{if("AES-GCM"!==a.algorithm.name)throw d("AES-GCM");let c=parseInt(b.slice(1,4),10);if(a.algorithm.length!==c)throw d(c,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if("AES-KW"!==a.algorithm.name)throw d("AES-KW");let c=parseInt(b.slice(1,4),10);if(a.algorithm.length!==c)throw d(c,"algorithm.length");break}case"ECDH":switch(a.algorithm.name){case"ECDH":case"X25519":break;default:throw d("ECDH or X25519")}break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if("PBKDF2"!==a.algorithm.name)throw d("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":if("RSA-OAEP"!==a.algorithm.name)throw d("RSA-OAEP");e(a.algorithm,parseInt(b.slice(9),10)||1);break;default:throw TypeError("CryptoKey does not support this operation")}f(a,c)}},55640:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},55651:(a,b,c)=>{c.d(b,{$z:()=>k,Jr:()=>l,Ln:()=>m,Pl:()=>o,QQ:()=>n,pv:()=>q,vo:()=>j});var d=c(91411),e=c(99449),f=c(61152);function g(a){let b=a.length;for(;b>0&&47===a.charCodeAt(b-1);)b--;return b===a.length?a:a.slice(0,b)}function h(a,b="/api/auth"){try{let b=new URL(a);if("http:"!==b.protocol&&"https:"!==b.protocol)throw new f.$l(`Invalid base URL: ${a}. URL must include 'http://' or 'https://'`)}catch(b){if(b instanceof f.$l)throw b;throw new f.$l(`Invalid base URL: ${a}. Please provide a valid base URL.`,{cause:b})}if(function(a){try{return"/"!==(g(new URL(a).pathname)||"/")}catch{throw new f.$l(`Invalid base URL: ${a}. Please provide a valid base URL.`)}}(a))return a;let c=g(a);return b&&"/"!==b?(b=b.startsWith("/")?b:`/${b}`,`${c}${b}`):c}function i(a,b){return!!a&&""!==a.trim()&&("proto"===b?"http"===a||"https"===a:"host"===b&&![/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some(b=>b.test(a))&&(/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(:[0-9]{1,5})?$/.test(a)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(a)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(a)||/^localhost(:[0-9]{1,5})?$/i.test(a)))}function j(a,b,c,d,g){if(a)return h(a,b);if(!1!==d){let a=e._K.BETTER_AUTH_URL||e._K.NEXT_PUBLIC_BETTER_AUTH_URL||e._K.PUBLIC_BETTER_AUTH_URL||e._K.NUXT_PUBLIC_BETTER_AUTH_URL||e._K.NUXT_PUBLIC_AUTH_URL||("/"!==e._K.BASE_URL?e._K.BASE_URL:void 0);if(a)return h(a,b)}let j=c?.headers.get("x-forwarded-host"),l=c?.headers.get("x-forwarded-proto");if(j&&l&&g&&i(l,"proto")&&i(j,"host"))try{return h(`${l}://${j}`,b)}catch(a){}if(c){let a=k(c.url);if(!a)throw new f.$l("Could not get origin from request. Please provide a valid base URL.");return h(a,b)}if("u">typeof window&&window.location)return h(window.location.origin,b)}function k(a){try{let b=new URL(a);return"null"===b.origin?null:b.origin}catch{return null}}function l(a){try{return new URL(a).protocol}catch{return null}}function m(a){try{return new URL(a).host}catch{return null}}function n(a){return"object"==typeof a&&null!==a&&"allowedHosts"in a&&Array.isArray(a.allowedHosts)}function o(a){return a instanceof Request||"object"==typeof a&&null!==a&&"[object Request]"===Object.prototype.toString.call(a)&&"string"==typeof a.url&&"object"==typeof a.headers&&null!==a.headers&&"function"==typeof a.headers.get}function p(a,b){let c=o(a)?a.headers:a;if(b){let a=c.get("x-forwarded-host");if(a&&i(a,"host"))return a}let d=c.get("host");if(d&&i(d,"host"))return d;if(o(a))try{return new URL(a.url).host}catch{}return null}function q(a,b,c,e,g){if(n(a)){if(c){let e=p(c,g);if(!e){if(a.fallback)return h(a.fallback,b);throw new f.$l("Could not determine host from request headers. Please provide a fallback URL in your baseURL config.")}if(a.allowedHosts.some(a=>((a,b)=>{if(!a||!b)return!1;let c=a.replace(/^https?:\/\//,"").split("/")[0].toLowerCase(),e=b.replace(/^https?:\/\//,"").split("/")[0].toLowerCase();return e.includes("*")||e.includes("?")?(0,d.U)(e)(c):c.toLowerCase()===e.toLowerCase()})(e,a)))return h(`${function(a,b,c){let d;if("http"===b||"https"===b)return b;let e=o(a)?a.headers:a;if(c){let a=e.get("x-forwarded-proto");if(a&&i(a,"proto"))return a}if(o(a))try{let b=new URL(a.url);if("http:"===b.protocol||"https:"===b.protocol)return b.protocol.slice(0,-1)}catch{}let f=p(a,c);return f&&("localhost"===(d=f.replace(/:\d+$/,"").replace(/^\[|\]$/g,"").toLowerCase())||d.endsWith(".localhost")||"::1"===d||d.startsWith("127."))?"http":"https"}(c,a.protocol,g)}://${e}`,b);if(a.fallback)return h(a.fallback,b);throw new f.$l(`Host "${e}" is not in the allowed hosts list. Allowed hosts: ${a.allowedHosts.join(", ")}. Add this host to your allowedHosts config or provide a fallback URL.`)}return a.fallback?h(a.fallback,b):j(void 0,b,void 0,e,g)}let k=o(c)?c:void 0;return"string"==typeof a?j(a,b,k,e,g):j(void 0,b,k,e,g)}},56181:(a,b,c)=>{c.d(b,{D:()=>e});let d=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"];function e(a){let b="";for(let c=0;c<a;++c)b+=d[~~(Math.random()*d.length)];return b}},56223:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"SelectAllNode"===a.kind,create:()=>(0,d.CN)({kind:"SelectAllNode"})})},56590:(a,b,c)=>{c.d(b,{Qs:()=>h,xA:()=>g});var d=c(51586),e=c(79193);let f=async()=>{let a=(0,d.Q)();if(!a.context.endpointContextAsyncStorage){let b=await (0,e.V)();a.context.endpointContextAsyncStorage=new b}return a.context.endpointContextAsyncStorage};async function g(){let a=(await f()).getStore();if(!a)throw Error("No auth context found. Please make sure you are calling this function within a `runWithEndpointContext` callback.");return a}async function h(a,b){return(await f()).run(a,b)}},56621:(a,b,c)=>{c.d(b,{B:()=>p});var d=c(39881),e=c(20302),f=c(6833),g=c(29173),h=c(17130),i=c(6881);let j={AlterTableNode:!0,AlterTypeNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,RefreshMaterializedViewNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0};var k=c(40417),l=c(26593),m=c(23217);let n=(0,i.CN)({json_agg:!0,to_json:!0});class o extends h.V{#aq;#ar=new Set;#as=new Set;constructor(a){super(),this.#aq=a}transformNodeImpl(a,b){if(!((0,i.Gv)(a)&&(0,i.Kg)(a.kind))||!0!==j[a.kind])return super.transformNodeImpl(a,b);let c=this.#at(a);for(let a of c)this.#as.add(a);let d=this.#au(a);for(let a of d)this.#ar.add(a);let e=super.transformNodeImpl(a,b);for(let a of d)this.#ar.delete(a);for(let a of c)this.#as.delete(a);return e}transformSchemableIdentifier(a,b){let c=super.transformSchemableIdentifier(a,b);return c.schema||!this.#ar.has(a.identifier.name)?c:{...c,schema:e.O.create(this.#aq)}}transformReferences(a,b){let c=super.transformReferences(a,b);return c.table.table.schema?c:{...c,table:l.H.createWithSchema(this.#aq,c.table.table.identifier.name)}}transformAggregateFunction(a,b){return{...super.transformAggregateFunction({...a,aggregated:[]},b),aggregated:this.#av(a,b,"aggregated")}}transformFunction(a,b){return{...super.transformFunction({...a,arguments:[]},b),arguments:this.#av(a,b,"arguments")}}transformSelectModifier(a,b){return{...super.transformSelectModifier({...a,of:void 0},b),of:a.of?.map(a=>l.H.is(a)&&!a.table.schema?{...a,table:this.transformIdentifier(a.table.identifier,b)}:this.transformNode(a,b))}}#av(a,b,c){return n[a.func]?a[c].map(a=>!l.H.is(a)||a.table.schema?this.transformNode(a,b):{...a,table:this.transformIdentifier(a.table.identifier,b)}):this.transformNodeList(a[c],b)}#au(a){let b=new Set;if("name"in a&&a.name&&k.y.is(a.name)&&this.#aw(a.name,b),"from"in a&&a.from)for(let c of a.from.froms)this.#ax(c,b);if("into"in a&&a.into&&this.#ax(a.into,b),"table"in a&&a.table&&this.#ax(a.table,b),"joins"in a&&a.joins)for(let c of a.joins)this.#ax(c.table,b);return"using"in a&&a.using&&(f.b.is(a.using)?this.#ax(a.using.table,b):this.#ax(a.using,b)),b}#at(a){let b=new Set;return"with"in a&&a.with&&this.#ay(a.with,b),b}#ax(a,b){if(l.H.is(a))return this.#aw(a.table,b);if(d.N.is(a)&&l.H.is(a.node))return this.#aw(a.node.table,b);if(g.v.is(a)){for(let c of a.items)this.#ax(c,b);return}if(m.f.is(a)){for(let c of a.tables)this.#ax(c,b);return}}#aw(a,b){let c=a.identifier.name;this.#ar.has(c)||this.#as.has(c)||b.add(c)}#ay(a,b){for(let c of a.expressions){let a=c.name.table.table.identifier.name;this.#as.has(a)||b.add(a)}}}class p{#O;constructor(a){this.#O=new o(a)}transformQuery(a){return this.#O.transformNode(a.node,a.queryId)}async transformResult(a){return a.result}}},56865:(a,b,c)=>{c.d(b,{y:()=>f});var d=c(74098),e=c(90981);let f=({schema:a,usePlural:b})=>{let c=(0,d.G)({schema:a,usePlural:b}),f=(0,e.z)({schema:a,usePlural:b});return function({model:b,field:d}){let e=c(b),g=f({model:e,field:d});return a[e]?.fields[g]?.fieldName||g}}},57702:(a,b,c)=>{c.d(b,{$s:()=>j,U2:()=>i,dJ:()=>l,qH:()=>k});var d=c(16645),e=c(13281),f=c(99988),g=c(6881),h=c(67859);function i(a){var b;return(0,g.MH)(a)?(b=a).some(h.SS)?e.s.create(b.map(a=>j(a))):d.h.create(b):j(a)}function j(a){return(0,h.SS)(a)?(0,h.YK)(a):f.q.create(a)}function k(a){return(0,g.Et)(a)||(0,g.Lm)(a)||(0,g.kZ)(a)}function l(a){if(!k(a))throw Error(`unsafe immediate value ${JSON.stringify(a)}`);return f.q.createImmediate(a)}},57709:(a,b,c)=>{c.d(b,{y:()=>i});var d=c(16602),e=c(31708),f=c(87010);let g=a=>a?.[Symbol.toStringTag],h=(a,b,c)=>{if(void 0!==b.use){let a;switch(c){case"sign":case"verify":a="sig";break;case"encrypt":case"decrypt":a="enc"}if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==a)throw TypeError(`Invalid key for this operation, its "alg" must be "${a}" when present`);if(Array.isArray(b.key_ops)){let d;switch(!0){case"sign"===c||"verify"===c:case"dir"===a:case a.includes("CBC-HS"):d=c;break;case a.startsWith("PBES2"):d="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(a):d=!a.includes("GCM")&&a.endsWith("KW")?"encrypt"===c?"wrapKey":"unwrapKey":c;break;case"encrypt"===c&&a.startsWith("RSA"):d="wrapKey";break;case"decrypt"===c:d=a.startsWith("RSA")?"unwrapKey":"deriveBits"}if(d&&b.key_ops?.includes?.(d)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}return!0};function i(a,b,c){switch(a.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((a,b,c)=>{if(!(b instanceof Uint8Array)){if(f.ll(b)){if(f.t9(b)&&h(a,b,c))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!(0,e.P2)(b))throw TypeError((0,d.t)(a,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==b.type)throw TypeError(`${g(b)} instances for symmetric algorithms must be of type "secret"`)}})(a,b,c);break;default:((a,b,c)=>{if(f.ll(b))switch(c){case"decrypt":case"sign":if(f.W2(b)&&h(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if(f.M3(b)&&h(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!(0,e.P2)(b))throw TypeError((0,d.t)(a,b,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===b.type)throw TypeError(`${g(b)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===b.type)switch(c){case"sign":throw TypeError(`${g(b)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${g(b)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===b.type)switch(c){case"verify":throw TypeError(`${g(b)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${g(b)} instances for asymmetric algorithm encryption must be of type "public"`)}})(a,b,c)}}},57796:(a,b,c)=>{c.d(b,{O7:()=>g,Oj:()=>f,g7:()=>h});var d=c(61152),e=c(50498);async function f(a,b){let c=(await a.context.internalAdapter.findAccounts(b.userId))?.find(a=>"credential"===a.providerId),d=c?.password;return!!c&&!!d&&await a.context.password.verify({hash:d,password:b.password})}async function g(a,b){let c=(await b.context.internalAdapter.findAccounts(a))?.find(a=>"credential"===a.providerId),f=c?.password,g=b.body.password;if(!c||!f||!g)throw g&&await b.context.password.hash(g),d.LG.from("BAD_REQUEST",e.q.INVALID_PASSWORD);if(!await b.context.password.verify({hash:f,password:g}))throw d.LG.from("BAD_REQUEST",e.q.INVALID_PASSWORD);return!0}async function h(a,b,c){return!c||!!(await a.context.internalAdapter.findAccounts(b))?.find(a=>"credential"===a.providerId&&a.password)}},58156:(a,b,c)=>{c.d(b,{n:()=>ap});var d,e,f=c(93998),g=c(78322),h=c(45055),i=c(16645),j=c(13281),k=c(6881),l=c(57702);let m=(0,k.CN)({is:a=>"ValuesNode"===a.kind,create:a=>(0,k.CN)({kind:"ValuesNode",values:(0,k.CN)(a)})});var n=c(67859);let o=(0,k.CN)({is:a=>"DefaultInsertValueNode"===a.kind,create:()=>(0,k.CN)({kind:"DefaultInsertValueNode"})});var p=c(93993);function q(a){var b;let c,d=(0,k.Tn)(a)?a((0,p.A)()):a;return c=function(a){let b=new Map;for(let c of a)for(let a of Object.keys(c))b.has(a)||void 0===c[a]||b.set(a,b.size);return b}(b=(0,k.MH)(d)?d:(0,k.CN)([d])),[(0,k.CN)([...c.keys()].map(h.Z.create)),m.create(b.map(a=>(function(a,b){let c=Object.keys(a),d=Array.from({length:b.size}),e=!1,f=c.length;for(let g of c){let c=b.get(g);if((0,k.b0)(c)){f--;continue}let h=a[g];((0,k.b0)(h)||(0,n.SS)(h))&&(e=!0),d[c]=h}if(f<b.size||e){let a=o.create();return j.s.create(d.map(b=>(0,k.b0)(b)?a:(0,l.$s)(b)))}return i.h.create(d)})(a,c)))]}var r=c(33145),s=c(36022);let t=(0,k.CN)({is:a=>"ColumnUpdateNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"ColumnUpdateNode",column:a,value:b})});var u=c(15542);function v(a){return Object.entries((0,k.Tn)(a)?a((0,p.A)()):a).filter(([a,b])=>void 0!==b).map(([a,b])=>t.create(h.Z.create(a),(0,l.$s)(b)))}let w=(0,k.CN)({is:a=>"OnDuplicateKeyNode"===a.kind,create:a=>(0,k.CN)({kind:"OnDuplicateKeyNode",updates:a})});class x{insertId;numInsertedOrUpdatedRows;constructor(a,b){this.insertId=a,this.numInsertedOrUpdatedRows=b}}var y=c(9736),z=c(20302),A=c(69590);let B=(0,k.CN)({is:a=>"OnConflictNode"===a.kind,create:()=>(0,k.CN)({kind:"OnConflictNode"}),cloneWith:(a,b)=>(0,k.CN)({...a,...b}),cloneWithIndexWhere:(a,b)=>(0,k.CN)({...a,indexWhere:a.indexWhere?A.o.cloneWithOperation(a.indexWhere,"And",b):A.o.create(b)}),cloneWithIndexOrWhere:(a,b)=>(0,k.CN)({...a,indexWhere:a.indexWhere?A.o.cloneWithOperation(a.indexWhere,"Or",b):A.o.create(b)}),cloneWithUpdateWhere:(a,b)=>(0,k.CN)({...a,updateWhere:a.updateWhere?A.o.cloneWithOperation(a.updateWhere,"And",b):A.o.create(b)}),cloneWithUpdateOrWhere:(a,b)=>(0,k.CN)({...a,updateWhere:a.updateWhere?A.o.cloneWithOperation(a.updateWhere,"Or",b):A.o.create(b)}),cloneWithoutIndexWhere:a=>(0,k.CN)({...a,indexWhere:void 0}),cloneWithoutUpdateWhere:a=>(0,k.CN)({...a,updateWhere:void 0})});var C=c(72104);class D{#N;constructor(a){this.#N=(0,k.CN)(a)}column(a){let b=h.Z.create(a);return new D({...this.#N,onConflictNode:B.cloneWith(this.#N.onConflictNode,{columns:this.#N.onConflictNode.columns?(0,k.CN)([...this.#N.onConflictNode.columns,b]):(0,k.CN)([b])})})}columns(a){let b=a.map(h.Z.create);return new D({...this.#N,onConflictNode:B.cloneWith(this.#N.onConflictNode,{columns:this.#N.onConflictNode.columns?(0,k.CN)([...this.#N.onConflictNode.columns,...b]):(0,k.CN)(b)})})}constraint(a){return new D({...this.#N,onConflictNode:B.cloneWith(this.#N.onConflictNode,{constraint:z.O.create(a)})})}expression(a){return new D({...this.#N,onConflictNode:B.cloneWith(this.#N.onConflictNode,{indexExpression:a.toOperationNode()})})}where(...a){return new D({...this.#N,onConflictNode:B.cloneWithIndexWhere(this.#N.onConflictNode,(0,C.GB)(a))})}whereRef(a,b,c){return new D({...this.#N,onConflictNode:B.cloneWithIndexWhere(this.#N.onConflictNode,(0,C.vC)(a,b,c))})}clearWhere(){return new D({...this.#N,onConflictNode:B.cloneWithoutIndexWhere(this.#N.onConflictNode)})}doNothing(){return new E({...this.#N,onConflictNode:B.cloneWith(this.#N.onConflictNode,{doNothing:!0})})}doUpdateSet(a){return new F({...this.#N,onConflictNode:B.cloneWith(this.#N.onConflictNode,{updates:v(a)})})}$call(a){return a(this)}}class E{#N;constructor(a){this.#N=(0,k.CN)(a)}toOperationNode(){return this.#N.onConflictNode}}class F{#N;constructor(a){this.#N=(0,k.CN)(a)}where(...a){return new F({...this.#N,onConflictNode:B.cloneWithUpdateWhere(this.#N.onConflictNode,(0,C.GB)(a))})}whereRef(a,b,c){return new F({...this.#N,onConflictNode:B.cloneWithUpdateWhere(this.#N.onConflictNode,(0,C.vC)(a,b,c))})}clearWhere(){return new F({...this.#N,onConflictNode:B.cloneWithoutUpdateWhere(this.#N.onConflictNode)})}$call(a){return a(this)}toOperationNode(){return this.#N.onConflictNode}}var G=c(72417);let H=(0,k.CN)({is:a=>"OrActionNode"===a.kind,create:a=>(0,k.CN)({kind:"OrActionNode",action:a})});class I{#N;constructor(a){this.#N=(0,k.CN)(a)}values(a){let[b,c]=q(a);return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{columns:b,values:c})})}columns(a){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{columns:(0,k.CN)(a.map(h.Z.create))})})}expression(a){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{values:(0,n.YK)(a)})})}defaultValues(){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{defaultValues:!0})})}modifyEnd(a){return new I({...this.#N,queryNode:s.L.cloneWithEndModifier(this.#N.queryNode,a.toOperationNode())})}ignore(){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{orAction:H.create("ignore")})})}orIgnore(){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{orAction:H.create("ignore")})})}orAbort(){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{orAction:H.create("abort")})})}orFail(){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{orAction:H.create("fail")})})}orReplace(){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{orAction:H.create("replace")})})}orRollback(){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{orAction:H.create("rollback")})})}top(a,b){return new I({...this.#N,queryNode:s.L.cloneWithTop(this.#N.queryNode,(0,G.f)(a,b))})}onConflict(a){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{onConflict:a(new D({onConflictNode:B.create()})).toOperationNode()})})}onDuplicateKeyUpdate(a){return new I({...this.#N,queryNode:r.o.cloneWith(this.#N.queryNode,{onDuplicateKey:w.create(v(a))})})}returning(a){return new I({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.G)(a))})}returningAll(){return new I({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.J)())})}output(a){return new I({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.G)(a))})}outputAll(a){return new I({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.J)(a))})}clearReturning(){return new I({...this.#N,queryNode:s.L.cloneWithoutReturning(this.#N.queryNode)})}$call(a){return a(this)}$if(a,b){return a?b(this):new I({...this.#N})}$castTo(){return new I(this.#N)}$narrowType(){return new I(this.#N)}$assertType(){return new I(this.#N)}withPlugin(a){return new I({...this.#N,executor:this.#N.executor.withPlugin(a)})}toOperationNode(){return this.#N.executor.transformQuery(this.#N.queryNode,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){let b=this.compile(),c=await this.#N.executor.executeQuery(b,a),{adapter:d}=this.#N.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new x(c.insertId,c.numAffectedRows??BigInt(0))]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#N.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new I({...this.#N,queryNode:s.L.cloneWithExplain(this.#N.queryNode,a,b)});return await c.execute()}}var J=c(35541),K=c(4319);class L{numDeletedRows;constructor(a){this.numDeletedRows=a}}var M=c(88963),N=c(52126),O=c(44542);class P{#N;constructor(a){this.#N=(0,k.CN)(a)}where(...a){return new d({...this.#N,queryNode:s.L.cloneWithWhere(this.#N.queryNode,(0,C.GB)(a))})}whereRef(a,b,c){return new d({...this.#N,queryNode:s.L.cloneWithWhere(this.#N.queryNode,(0,C.vC)(a,b,c))})}clearWhere(){return new d({...this.#N,queryNode:s.L.cloneWithoutWhere(this.#N.queryNode)})}top(a,b){return new d({...this.#N,queryNode:s.L.cloneWithTop(this.#N.queryNode,(0,G.f)(a,b))})}using(a){return new d({...this.#N,queryNode:M.e.cloneWithUsing(this.#N.queryNode,(0,K.JB)(a))})}innerJoin(...a){return this.#az("InnerJoin",a)}leftJoin(...a){return this.#az("LeftJoin",a)}rightJoin(...a){return this.#az("RightJoin",a)}fullJoin(...a){return this.#az("FullJoin",a)}#az(a,b){return new d({...this.#N,queryNode:s.L.cloneWithJoin(this.#N.queryNode,(0,J.a)(a,b))})}returning(a){return new d({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.G)(a))})}returningAll(a){return new d({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.J)(a))})}output(a){return new d({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.G)(a))})}outputAll(a){return new d({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.J)(a))})}clearReturning(){return new d({...this.#N,queryNode:s.L.cloneWithoutReturning(this.#N.queryNode)})}clearLimit(){return new d({...this.#N,queryNode:M.e.cloneWithoutLimit(this.#N.queryNode)})}orderBy(...a){return new d({...this.#N,queryNode:s.L.cloneWithOrderByItems(this.#N.queryNode,(0,O.xk)(a))})}clearOrderBy(){return new d({...this.#N,queryNode:s.L.cloneWithoutOrderBy(this.#N.queryNode)})}limit(a){return new d({...this.#N,queryNode:M.e.cloneWithLimit(this.#N.queryNode,N.a.create((0,l.$s)(a)))})}modifyEnd(a){return new d({...this.#N,queryNode:s.L.cloneWithEndModifier(this.#N.queryNode,a.toOperationNode())})}$call(a){return a(this)}$if(a,b){return a?b(this):new d({...this.#N})}$castTo(){return new d(this.#N)}$narrowType(){return new d(this.#N)}$assertType(){return new d(this.#N)}withPlugin(a){return new d({...this.#N,executor:this.#N.executor.withPlugin(a)})}toOperationNode(){return this.#N.executor.transformQuery(this.#N.queryNode,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){let b=this.compile(),c=await this.#N.executor.executeQuery(b,a),{adapter:d}=this.#N.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new L(c.numAffectedRows??BigInt(0))]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#N.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new d({...this.#N,queryNode:s.L.cloneWithExplain(this.#N.queryNode,a,b)});return await c.execute()}}d=P;var Q=c(31173);class R{numUpdatedRows;numChangedRows;constructor(a,b){this.numUpdatedRows=a,this.numChangedRows=b}}class S{#N;constructor(a){this.#N=(0,k.CN)(a)}where(...a){return new e({...this.#N,queryNode:s.L.cloneWithWhere(this.#N.queryNode,(0,C.GB)(a))})}whereRef(a,b,c){return new e({...this.#N,queryNode:s.L.cloneWithWhere(this.#N.queryNode,(0,C.vC)(a,b,c))})}clearWhere(){return new e({...this.#N,queryNode:s.L.cloneWithoutWhere(this.#N.queryNode)})}top(a,b){return new e({...this.#N,queryNode:s.L.cloneWithTop(this.#N.queryNode,(0,G.f)(a,b))})}from(a){return new e({...this.#N,queryNode:Q.U.cloneWithFromItems(this.#N.queryNode,(0,K.JB)(a))})}innerJoin(...a){return this.#az("InnerJoin",a)}leftJoin(...a){return this.#az("LeftJoin",a)}rightJoin(...a){return this.#az("RightJoin",a)}fullJoin(...a){return this.#az("FullJoin",a)}#az(a,b){return new e({...this.#N,queryNode:s.L.cloneWithJoin(this.#N.queryNode,(0,J.a)(a,b))})}orderBy(...a){return new e({...this.#N,queryNode:s.L.cloneWithOrderByItems(this.#N.queryNode,(0,O.xk)(a))})}clearOrderBy(){return new e({...this.#N,queryNode:s.L.cloneWithoutOrderBy(this.#N.queryNode)})}limit(a){return new e({...this.#N,queryNode:Q.U.cloneWithLimit(this.#N.queryNode,N.a.create((0,l.$s)(a)))})}set(...a){return new e({...this.#N,queryNode:Q.U.cloneWithUpdates(this.#N.queryNode,function(...a){return 2===a.length?[t.create((0,u.$O)(a[0]),(0,l.$s)(a[1]))]:v(a[0])}(...a))})}returning(a){return new e({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.G)(a))})}returningAll(a){return new e({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.J)(a))})}output(a){return new e({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.G)(a))})}outputAll(a){return new e({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.J)(a))})}modifyEnd(a){return new e({...this.#N,queryNode:s.L.cloneWithEndModifier(this.#N.queryNode,a.toOperationNode())})}clearReturning(){return new e({...this.#N,queryNode:s.L.cloneWithoutReturning(this.#N.queryNode)})}$call(a){return a(this)}$if(a,b){return a?b(this):new e({...this.#N})}$castTo(){return new e(this.#N)}$narrowType(){return new e(this.#N)}$assertType(){return new e(this.#N)}withPlugin(a){return new e({...this.#N,executor:this.#N.executor.withPlugin(a)})}toOperationNode(){return this.#N.executor.transformQuery(this.#N.queryNode,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){let b=this.compile(),c=await this.#N.executor.executeQuery(b,a),{adapter:d}=this.#N.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new R(c.numAffectedRows??BigInt(0),c.numChangedRows)]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#N.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new e({...this.#N,queryNode:s.L.cloneWithExplain(this.#N.queryNode,a,b)});return await c.execute()}}e=S;var T=c(48835),U=c(26593);let V=(0,k.CN)({is:a=>"CommonTableExpressionNameNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"CommonTableExpressionNameNode",table:U.H.create(a),columns:b?(0,k.CN)(b.map(h.Z.create)):void 0})});var W=c(68447);let X=(0,k.CN)({is:a=>"CommonTableExpressionNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"CommonTableExpressionNode",name:a,expression:b}),cloneWith:(a,b)=>(0,k.CN)({...a,...b})});class Y{#N;constructor(a){this.#N=(0,k.CN)(a)}materialized(){return new Y({...this.#N,node:X.cloneWith(this.#N.node,{materialized:!0})})}notMaterialized(){return new Y({...this.#N,node:X.cloneWith(this.#N.node,{materialized:!1})})}toOperationNode(){return this.#N.node}}var Z=c(4362);function $(a,b){var c;let d=(0,Z.N)(b)?b.toOperationNode():b((0,W.bl)()).toOperationNode();return(0,k.Tn)(a)?a((c=d,a=>new Y({node:X.create(_(a),c)}))).toOperationNode():X.create(_(a),d)}function _(a){if(!a.includes("("))return V.create(a);{let b=a.split(/[\(\)]/),c=b[0],d=b[1].split(",").map(a=>a.trim());return V.create(c,d)}}let aa=(0,k.CN)({is:a=>"WithNode"===a.kind,create:(a,b)=>(0,k.CN)({kind:"WithNode",expressions:(0,k.CN)([a]),...b}),cloneWithExpression:(a,b)=>(0,k.CN)({...a,expressions:(0,k.CN)([...a.expressions,b])})});var ab=c(55222),ac=c(56621),ad=c(91564);let ae=(0,k.CN)({is:a=>"MatchedNode"===a.kind,create:(a,b=!1)=>(0,k.CN)({kind:"MatchedNode",not:a,bySource:b})});var af=c(34435),ag=c(70877);function ah(a,b,c){return ag.t.create((0,C.KN)([ae.create(!a.isMatched,a.bySource),...b&&b.length>0?[3===b.length&&c?(0,C.vC)(b[0],b[1],b[2]):(0,C.GB)(b)]:[]],"and",!1))}function ai(a){return(0,k.Kg)(a)?af.z.create([a],[]):(0,Z.N)(a)?a.toOperationNode():a}var aj=c(36805);class ak{numChangedRows;constructor(a){this.numChangedRows=a}}class al{#N;constructor(a){this.#N=(0,k.CN)(a)}modifyEnd(a){return new al({...this.#N,queryNode:s.L.cloneWithEndModifier(this.#N.queryNode,a.toOperationNode())})}top(a,b){return new al({...this.#N,queryNode:s.L.cloneWithTop(this.#N.queryNode,(0,G.f)(a,b))})}using(...a){return new am({...this.#N,queryNode:ad.r.cloneWithUsing(this.#N.queryNode,(0,J.a)("Using",a))})}returning(a){return new al({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.G)(a))})}returningAll(a){return new al({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.J)(a))})}output(a){return new al({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.G)(a))})}outputAll(a){return new al({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.J)(a))})}}class am{#N;constructor(a){this.#N=(0,k.CN)(a)}modifyEnd(a){return new am({...this.#N,queryNode:s.L.cloneWithEndModifier(this.#N.queryNode,a.toOperationNode())})}top(a,b){return new am({...this.#N,queryNode:s.L.cloneWithTop(this.#N.queryNode,(0,G.f)(a,b))})}whenMatched(){return this.#aA([])}whenMatchedAnd(...a){return this.#aA(a)}whenMatchedAndRef(a,b,c){return this.#aA([a,b,c],!0)}#aA(a,b){return new an({...this.#N,queryNode:ad.r.cloneWithWhen(this.#N.queryNode,ah({isMatched:!0},a,b))})}whenNotMatched(){return this.#aB([])}whenNotMatchedAnd(...a){return this.#aB(a)}whenNotMatchedAndRef(a,b,c){return this.#aB([a,b,c],!0)}whenNotMatchedBySource(){return this.#aB([],!1,!0)}whenNotMatchedBySourceAnd(...a){return this.#aB(a,!1,!0)}whenNotMatchedBySourceAndRef(a,b,c){return this.#aB([a,b,c],!0,!0)}returning(a){return new am({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.G)(a))})}returningAll(a){return new am({...this.#N,queryNode:s.L.cloneWithReturning(this.#N.queryNode,(0,g.J)(a))})}output(a){return new am({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.G)(a))})}outputAll(a){return new am({...this.#N,queryNode:s.L.cloneWithOutput(this.#N.queryNode,(0,g.J)(a))})}#aB(a,b=!1,c=!1){let d={...this.#N,queryNode:ad.r.cloneWithWhen(this.#N.queryNode,ah({isMatched:!1,bySource:c},a,b))};return new(c?an:ao)(d)}$call(a){return a(this)}$if(a,b){return a?b(this):new am({...this.#N})}toOperationNode(){return this.#N.executor.transformQuery(this.#N.queryNode,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){let b=this.compile(),c=await this.#N.executor.executeQuery(b,a),{adapter:d}=this.#N.executor,e=b.query;return e.returning&&d.supportsReturning||e.output&&d.supportsOutput?c.rows:[new ak(c.numAffectedRows)]}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??y.F;throw(0,y.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}}class an{#N;constructor(a){this.#N=(0,k.CN)(a)}thenDelete(){return new am({...this.#N,queryNode:ad.r.cloneWithThen(this.#N.queryNode,ai("delete"))})}thenDoNothing(){return new am({...this.#N,queryNode:ad.r.cloneWithThen(this.#N.queryNode,ai("do nothing"))})}thenUpdate(a){return new am({...this.#N,queryNode:ad.r.cloneWithThen(this.#N.queryNode,ai(a(new S({queryId:this.#N.queryId,executor:aj.W,queryNode:Q.U.createWithoutTable()}))))})}thenUpdateSet(...a){return this.thenUpdate(b=>b.set(...a))}}class ao{#N;constructor(a){this.#N=(0,k.CN)(a)}thenDoNothing(){return new am({...this.#N,queryNode:ad.r.cloneWithThen(this.#N.queryNode,ai("do nothing"))})}thenInsertValues(a){let[b,c]=q(a);return new am({...this.#N,queryNode:ad.r.cloneWithThen(this.#N.queryNode,ai(r.o.cloneWith(r.o.createWithoutInto(),{columns:b,values:c})))})}}class ap{#N;constructor(a){this.#N=(0,k.CN)(a)}selectFrom(a){return(0,f.c)({queryId:(0,ab.a)(),executor:this.#N.executor,queryNode:T.L.createFrom((0,K.JB)(a),this.#N.withNode)})}selectNoFrom(a){return(0,f.c)({queryId:(0,ab.a)(),executor:this.#N.executor,queryNode:T.L.cloneWithSelections(T.L.create(this.#N.withNode),(0,g.G)(a))})}insertInto(a){return new I({queryId:(0,ab.a)(),executor:this.#N.executor,queryNode:r.o.create((0,K.M$)(a),this.#N.withNode)})}replaceInto(a){return new I({queryId:(0,ab.a)(),executor:this.#N.executor,queryNode:r.o.create((0,K.M$)(a),this.#N.withNode,!0)})}deleteFrom(a){return new P({queryId:(0,ab.a)(),executor:this.#N.executor,queryNode:M.e.create((0,K.JB)(a),this.#N.withNode)})}updateTable(a){return new S({queryId:(0,ab.a)(),executor:this.#N.executor,queryNode:Q.U.create((0,K.JB)(a),this.#N.withNode)})}mergeInto(a){return new al({queryId:(0,ab.a)(),executor:this.#N.executor,queryNode:ad.r.create((0,K.Xm)(a),this.#N.withNode)})}with(a,b){let c=$(a,b);return new ap({...this.#N,withNode:this.#N.withNode?aa.cloneWithExpression(this.#N.withNode,c):aa.create(c)})}withRecursive(a,b){let c=$(a,b);return new ap({...this.#N,withNode:this.#N.withNode?aa.cloneWithExpression(this.#N.withNode,c):aa.create(c,{recursive:!0})})}withPlugin(a){return new ap({...this.#N,executor:this.#N.executor.withPlugin(a)})}withoutPlugins(){return new ap({...this.#N,executor:this.#N.executor.withoutPlugins()})}withSchema(a){return new ap({...this.#N,executor:this.#N.executor.withPluginAtFront(new ac.B(a))})}}},58918:(a,b,c)=>{c.d(b,{k:()=>d});let d=(0,c(53108).q)("a-z","0-9","A-Z","-_")},59956:(a,b,c)=>{c.d(b,{D:()=>e,l:()=>f});var d=c(67206);function e(a){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof a?a:d.D0.decode(a),{alphabet:"base64url"});let b=a;b instanceof Uint8Array&&(b=d.D0.decode(b)),b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function f(a){let b=a;return("string"==typeof b&&(b=d.Rd.encode(b)),Uint8Array.prototype.toBase64)?b.toBase64({alphabet:"base64url",omitPadding:!0}):(function(a){if(Uint8Array.prototype.toBase64)return a.toBase64();let b=[];for(let c=0;c<a.length;c+=32768)b.push(String.fromCharCode.apply(null,a.subarray(c,c+32768)));return btoa(b.join(""))})(b).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}},60084:(a,b,c)=>{c.d(b,{_:()=>g});var d=c(59956),e=c(67206),f=c(87010);function g(a){let b;if("string"==typeof a){let c=a.split(".");(3===c.length||5===c.length)&&([b]=c)}else if("object"==typeof a&&a)if("protected"in a)b=a.protected;else throw TypeError("Token does not contain a Protected Header");try{if("string"!=typeof b||!b)throw Error();let a=JSON.parse(e.D0.decode((0,d.D)(b)));if(!(0,f.Gv)(a))throw Error();return a}catch{throw TypeError("Invalid Token or Protected Header formatting")}}},60257:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d,e,f,g={DynamicHoleKind:function(){return $},Postpone:function(){return D},PreludeState:function(){return af},abortAndThrowOnSynchronousRequestDataAccess:function(){return C},abortOnSynchronousPlatformIOAccess:function(){return B},accessedDynamicData:function(){return L},annotateDynamicAccess:function(){return Q},consumeDynamicAccess:function(){return M},createDynamicTrackingState:function(){return u},createDynamicValidationState:function(){return v},createHangingInputAbortSignal:function(){return P},createInstantValidationState:function(){return _},createRenderInBrowserAbortSignal:function(){return O},formatDynamicAPIAccesses:function(){return N},getFirstDynamicReason:function(){return w},getNavigationDisallowedDynamicReasons:function(){return aj},getStaticShellDisallowedDynamicReasons:function(){return ai},isDynamicPostpone:function(){return G},isPrerenderInterruptedError:function(){return K},logDisallowedDynamicError:function(){return ag},markCurrentScopeAsDynamic:function(){return x},postponeWithTracking:function(){return E},throwIfDisallowedDynamic:function(){return ah},throwToInterruptStaticGeneration:function(){return y},trackAllowedDynamicAccess:function(){return Z},trackDynamicDataInDynamicRender:function(){return z},trackDynamicHoleInNavigation:function(){return aa},trackDynamicHoleInRuntimeShell:function(){return ac},trackDynamicHoleInStaticShell:function(){return ad},trackThrownErrorInNavigation:function(){return ab},useDynamicRouteParams:function(){return R},useDynamicSearchParams:function(){return S}};for(var h in g)Object.defineProperty(b,h,{enumerable:!0,get:g[h]});let i=(d=c(4062))&&d.__esModule?d:{default:d},j=c(77155),k=c(35253),l=c(63033),m=c(29294),n=c(12850),o=c(81371),p=c(7481),q=c(49112),r=c(98465),s=c(76119),t="function"==typeof i.default.unstable_postpone;function u(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function v(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function w(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function x(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new k.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return E(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new j.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function y(a,b,c){let d=Object.defineProperty(new j.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function z(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(a,b,c){let d=J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function B(a,b,c,d){let e=d.dynamicTracking;A(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function C(a,b,c,d){if(!1===d.controller.signal.aborted){A(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function D({reason:a,route:b}){let c=l.workUnitAsyncStorage.getStore();E(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function E(a,b,c){(function(){if(!t)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),i.default.unstable_postpone(F(a,b))}function F(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function G(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&H(a.message)}function H(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===H(F("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let I="NEXT_PRERENDER_INTERRUPTED";function J(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=I,b}function K(a){return"object"==typeof a&&null!==a&&a.digest===I&&"name"in a&&"message"in a&&a instanceof Error}function L(a){return a.length>0}function M(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function N(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
66
+ ${b}`))}function O(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function P(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else if("prerender-runtime"===a.type&&a.stagedRendering){let{stagedRendering:c}=a;c.waitForStage((0,n.getRuntimeStage)(c)).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()))}else(0,p.scheduleOnNextTick)(()=>b.abort());return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function Q(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function R(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return E(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function S(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let T=/\n\s+at Suspense \(<anonymous>\)/,U=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),V=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),W=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),X=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),Y=RegExp(`\\n\\s+at ${s.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`);function Z(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.hasDynamicMetadata=!0;return}if(W.test(b)){c.hasDynamicViewport=!0;return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1079",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}var $=((e={})[e.Runtime=1]="Runtime",e[e.Dynamic=2]="Dynamic",e);function _(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],createInstantStack:a}}function aa(a,b,c,d,e,f){if(X.test(b))return;if(V.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateMetadata` or you have file-based metadata such as icons that depend on dynamic params segments.":"Uncached data or `connection()` was accessed inside `generateMetadata`."} Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1076",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicMetadata=d;return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateViewport`.":"Uncached data or `connection()` was accessed inside `generateViewport`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1086",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(d);return}let g=Y.exec(b);if(g){let a=T.exec(b);if(a&&a.index<g.index){c.hasAllowedDynamic=!0;return}}else if(f.expectedIds.size===f.renderedIds.size){c.hasAllowedClientDynamicAboveBoundary=!0,c.hasAllowedDynamic=!0;return}else{let d=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1082",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.validationPreventingErrors.push(d);return}if(d.syncDynamicErrorWithStack){let a=d.syncDynamicErrorWithStack;null!==c.createInstantStack&&void 0===a.cause&&(a.cause=c.createInstantStack()),c.dynamicErrors.push(a);return}let h=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed outside of `<Suspense>`.":"Uncached data or `connection()` was accessed outside of `<Suspense>`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1078",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(h)}function ab(a,b,c,d){let e=Y.exec(d);if(e){let f=T.exec(d);if(f&&f.index<e.index)return;let g=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1112",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=ae(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function ac(a,b,c,d){if(X.test(b))return;if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1080",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1077",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}if(T.test(b)){c.hasAllowedDynamic=!0;return}else if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1084",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(e)}function ad(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1085",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1081",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1083",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}function ae(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var af=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function ag(a,b){console.error(b),console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
67
+ - Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
68
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function ah(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ag(a,d.syncDynamicErrorWithStack),new k.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ag(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new k.StaticGenBailoutError}function ai(a,b,c,d){if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new r.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function aj(a,b,c,d,e){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:f}=c;if(f.length>0)return f;if(e.renderedIds.size<e.expectedIds.size){let{thrownErrorsOutsideBoundary:b,createInstantStack:d}=c;if(0===b.length){let b=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,c=null!==d?d():Error();return c.name="Error",c.message=b,[c]}if(1===b.length){let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,b[0]]}{let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,...b]}}if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return c.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new r.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}return[]}},61152:(a,b,c)=>{c.d(b,{$l:()=>e,LG:()=>f});var d=c(14802),e=class extends Error{constructor(a,b){super(a,b),this.name="BetterAuthError",this.message=a,this.stack=""}},f=class a extends d.LG{constructor(...a){super(...a)}static fromStatus(b,c){return new a(b,c)}static from(b,c){return new a(b,{message:c.message,code:c.code})}}},61244:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},62470:(a,b,c)=>{c.d(b,{cE:()=>m,k6:()=>l});var d=c(35088),e=c(67206),f=c(87010);let g=a=>Math.floor(a.getTime()/1e3),h=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function i(a){let b,c=h.exec(a);if(!c||c[4]&&c[1])throw TypeError("Invalid time period format");let d=parseFloat(c[2]);switch(c[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":b=Math.round(d);break;case"minute":case"minutes":case"min":case"mins":case"m":b=Math.round(60*d);break;case"hour":case"hours":case"hr":case"hrs":case"h":b=Math.round(3600*d);break;case"day":case"days":case"d":b=Math.round(86400*d);break;case"week":case"weeks":case"w":b=Math.round(604800*d);break;default:b=Math.round(0x1e187e0*d)}return"-"===c[1]||"ago"===c[4]?-b:b}function j(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let k=a=>a.includes("/")?a.toLowerCase():`application/${a.toLowerCase()}`;function l(a,b,c={}){var h,j;let m,n;try{m=JSON.parse(e.D0.decode(b))}catch{}if(!(0,f.Gv)(m))throw new d.Dp("JWT Claims Set must be a top-level JSON object");let{typ:o}=c;if(o&&("string"!=typeof a.typ||k(a.typ)!==k(o)))throw new d.ie('unexpected "typ" JWT header value',m,"typ","check_failed");let{requiredClaims:p=[],issuer:q,subject:r,audience:s,maxTokenAge:t}=c,u=[...p];for(let a of(void 0!==t&&u.push("iat"),void 0!==s&&u.push("aud"),void 0!==r&&u.push("sub"),void 0!==q&&u.push("iss"),new Set(u.reverse())))if(!(a in m))throw new d.ie(`missing required "${a}" claim`,m,a,"missing");if(q&&!(Array.isArray(q)?q:[q]).includes(m.iss))throw new d.ie('unexpected "iss" claim value',m,"iss","check_failed");if(r&&m.sub!==r)throw new d.ie('unexpected "sub" claim value',m,"sub","check_failed");if(s&&(h=m.aud,j="string"==typeof s?[s]:s,"string"==typeof h?!j.includes(h):!(Array.isArray(h)&&j.some(Set.prototype.has.bind(new Set(h))))))throw new d.ie('unexpected "aud" claim value',m,"aud","check_failed");switch(typeof c.clockTolerance){case"string":n=i(c.clockTolerance);break;case"number":n=c.clockTolerance;break;case"undefined":n=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:v}=c,w=g(v||new Date);if((void 0!==m.iat||t)&&"number"!=typeof m.iat)throw new d.ie('"iat" claim must be a number',m,"iat","invalid");if(void 0!==m.nbf){if("number"!=typeof m.nbf)throw new d.ie('"nbf" claim must be a number',m,"nbf","invalid");if(m.nbf>w+n)throw new d.ie('"nbf" claim timestamp check failed',m,"nbf","check_failed")}if(void 0!==m.exp){if("number"!=typeof m.exp)throw new d.ie('"exp" claim must be a number',m,"exp","invalid");if(m.exp<=w-n)throw new d.n('"exp" claim timestamp check failed',m,"exp","check_failed")}if(t){let a=w-m.iat;if(a-n>("number"==typeof t?t:i(t)))throw new d.n('"iat" claim timestamp check failed (too far in the past)',m,"iat","check_failed");if(a<0-n)throw new d.ie('"iat" claim timestamp check failed (it should be in the past)',m,"iat","check_failed")}return m}class m{#aC;constructor(a){if(!(0,f.Gv)(a))throw TypeError("JWT Claims Set MUST be an object");this.#aC=structuredClone(a)}data(){return e.Rd.encode(JSON.stringify(this.#aC))}get iss(){return this.#aC.iss}set iss(a){this.#aC.iss=a}get sub(){return this.#aC.sub}set sub(a){this.#aC.sub=a}get aud(){return this.#aC.aud}set aud(a){this.#aC.aud=a}set jti(a){this.#aC.jti=a}set nbf(a){"number"==typeof a?this.#aC.nbf=j("setNotBefore",a):a instanceof Date?this.#aC.nbf=j("setNotBefore",g(a)):this.#aC.nbf=g(new Date)+i(a)}set exp(a){"number"==typeof a?this.#aC.exp=j("setExpirationTime",a):a instanceof Date?this.#aC.exp=j("setExpirationTime",g(a)):this.#aC.exp=g(new Date)+i(a)}set iat(a){void 0===a?this.#aC.iat=g(new Date):a instanceof Date?this.#aC.iat=j("setIssuedAt",g(a)):"string"==typeof a?this.#aC.iat=j("setIssuedAt",g(new Date)+i(a)):this.#aC.iat=j("setIssuedAt",a)}}},63584:(a,b,c)=>{c.d(b,{Pe:()=>h});var d=c(52022);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}},63743:(a,b,c)=>{c.d(b,{n:()=>e});var d=c(35088);function e(a,b,c,e,f){let g;if(void 0!==f.crit&&e?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!e||void 0===e.crit)return new Set;if(!Array.isArray(e.crit)||0===e.crit.length||e.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let h of(g=void 0!==c?new Map([...Object.entries(c),...b.entries()]):b,e.crit)){if(!g.has(h))throw new d.T0(`Extension Header Parameter "${h}" is not recognized`);if(void 0===f[h])throw new a(`Extension Header Parameter "${h}" is missing`);if(g.get(h)&&void 0===e[h])throw new a(`Extension Header Parameter "${h}" MUST be integrity protected`)}return new Set(e.crit)}},63903:(a,b,c)=>{c.d(b,{Q:()=>e});var d=c(52022);class e{static [d.i]="ColumnBuilder";config;constructor(a,b,c){this.config={name:a,keyAsName:""===a,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:b,columnType:c,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(a){return this.config.default=a,this.config.hasDefault=!0,this}$defaultFn(a){return this.config.defaultFn=a,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(a){return this.config.onUpdateFn=a,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(a){""===this.config.name&&(this.config.name=a)}}},64201:(a,b,c)=>{c.d(b,{p:()=>d});let d=(a,b="ms")=>new Date(Date.now()+("sec"===b?1e3*a:a))},65625:(a,b,c)=>{c.d(b,{Og:()=>h});var d=c(59956),e=c(17106),f=c(35088),g=c(87010);async function h(a,b,c){let h;if(!(0,g.Gv)(a))throw TypeError("JWK must be an object");switch(b??=a.alg,h??=c?.extractable??a.ext,a.kty){case"oct":if("string"!=typeof a.k||!a.k)throw TypeError('missing "k" (Key Value) Parameter value');return(0,d.D)(a.k);case"RSA":if("oth"in a&&void 0!==a.oth)throw new f.T0('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');return(0,e.x)({...a,alg:b,ext:h});case"AKP":if("string"!=typeof a.alg||!a.alg)throw TypeError('missing "alg" (Algorithm) Parameter value');if(void 0!==b&&b!==a.alg)throw TypeError("JWK alg and alg option value mismatch");return(0,e.x)({...a,ext:h});case"EC":case"OKP":return(0,e.x)({...a,alg:b,ext:h});default:throw new f.T0('Unsupported "kty" (Key Type) Parameter value')}}},65685:(a,b,c)=>{c.d(b,{t:()=>u});var d=c(99002),e=c(6881),f=c(69590),g=c(5607);let h=(0,e.CN)({is:a=>"AggregateFunctionNode"===a.kind,create:(a,b=[])=>(0,e.CN)({kind:"AggregateFunctionNode",func:a,aggregated:b}),cloneWithDistinct:a=>(0,e.CN)({...a,distinct:!0}),cloneWithOrderBy(a,b,c=!1){let d=c?"withinGroup":"orderBy";return(0,e.CN)({...a,[d]:a[d]?g.O.cloneWithItems(a[d],b):g.O.create(b)})},cloneWithFilter:(a,b)=>(0,e.CN)({...a,filter:a.filter?f.o.cloneWithOperation(a.filter,"And",b):f.o.create(b)}),cloneWithOrFilter:(a,b)=>(0,e.CN)({...a,filter:a.filter?f.o.cloneWithOperation(a.filter,"Or",b):f.o.create(b)}),cloneWithOver:(a,b)=>(0,e.CN)({...a,over:b})}),i=(0,e.CN)({is:a=>"FunctionNode"===a.kind,create:(a,b)=>(0,e.CN)({kind:"FunctionNode",func:a,arguments:b})});var j=c(15542),k=c(78322),l=c(39881),m=c(20302),n=c(68447),o=c(72104),p=c(44542),q=c(36022);class r{#N;constructor(a){this.#N=(0,e.CN)(a)}get expressionType(){}as(a){return new s(this,a)}distinct(){return new r({...this.#N,aggregateFunctionNode:h.cloneWithDistinct(this.#N.aggregateFunctionNode)})}orderBy(...a){return new r({...this.#N,aggregateFunctionNode:q.L.cloneWithOrderByItems(this.#N.aggregateFunctionNode,(0,p.xk)(a))})}clearOrderBy(){return new r({...this.#N,aggregateFunctionNode:q.L.cloneWithoutOrderBy(this.#N.aggregateFunctionNode)})}withinGroupOrderBy(...a){return new r({...this.#N,aggregateFunctionNode:h.cloneWithOrderBy(this.#N.aggregateFunctionNode,(0,p.xk)(a),!0)})}filterWhere(...a){return new r({...this.#N,aggregateFunctionNode:h.cloneWithFilter(this.#N.aggregateFunctionNode,(0,o.GB)(a))})}filterWhereRef(a,b,c){return new r({...this.#N,aggregateFunctionNode:h.cloneWithFilter(this.#N.aggregateFunctionNode,(0,o.vC)(a,b,c))})}over(a){let b=(0,n.EQ)();return new r({...this.#N,aggregateFunctionNode:h.cloneWithOver(this.#N.aggregateFunctionNode,(a?a(b):b).toOperationNode())})}$call(a){return a(this)}$castTo(){return new r(this.#N)}$notNull(){return new r(this.#N)}toOperationNode(){return this.#N.aggregateFunctionNode}}class s{#aD;#ao;constructor(a,b){this.#aD=a,this.#ao=b}get expression(){return this.#aD}get alias(){return this.#ao}toOperationNode(){return l.N.create(this.#aD.toOperationNode(),m.O.create(this.#ao))}}var t=c(4319);function u(){let a=(a,b)=>new d.Is(i.create(a,(0,j.kU)(b??[]))),b=(a,b)=>new r({aggregateFunctionNode:h.create(a,b?(0,j.kU)(b):void 0)});return Object.assign(a,{agg:b,avg:a=>b("avg",[a]),coalesce:(...b)=>a("coalesce",b),count:a=>b("count",[a]),countAll:a=>new r({aggregateFunctionNode:h.create("count",(0,k.J)(a))}),max:a=>b("max",[a]),min:a=>b("min",[a]),sum:a=>b("sum",[a]),any:b=>a("any",[b]),jsonAgg:a=>new r({aggregateFunctionNode:h.create("json_agg",[(0,e.Kg)(a)?(0,t.M$)(a):a.toOperationNode()])}),toJson:a=>new d.Is(i.create("to_json",[(0,e.Kg)(a)?(0,t.M$)(a):a.toOperationNode()]))})}},65946:(a,b,c)=>{c.d(b,{l:()=>d});class d{get supportsCreateIfNotExists(){return!0}get supportsMultipleConnections(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}},66108:(a,b,c)=>{let d;function e(a,b=""){if("number"!=typeof a){let c=b&&`"${b}" `;throw TypeError(`${c}expected number, got ${typeof a}`)}if(!Number.isSafeInteger(a)||a<0){let c=b&&`"${b}" `;throw RangeError(`${c}expected integer >= 0, got ${a}`)}}function f(a,b,c=""){let d=a instanceof Uint8Array||ArrayBuffer.isView(a)&&"Uint8Array"===a.constructor.name&&"BYTES_PER_ELEMENT"in a&&1===a.BYTES_PER_ELEMENT,e=a?.length,g=void 0!==b;if(!d||g&&e!==b){let f=(c&&`"${c}" `)+"expected Uint8Array"+(g?` of length ${b}`:"")+", got "+(d?`length=${e}`:`type=${typeof a}`);if(!d)throw TypeError(f);throw RangeError(f)}return a}function g(a){if("function"!=typeof a||"function"!=typeof a.create)throw TypeError("Hash must wrapped by utils.createHasher");if(e(a.outputLen),e(a.blockLen),a.outputLen<1)throw Error('"outputLen" must be >= 1');if(a.blockLen<1)throw Error('"blockLen" must be >= 1')}function h(a,b=!0){if(a.destroyed)throw Error("Hash instance has been destroyed");if(b&&a.finished)throw Error("Hash#digest() has already been called")}function i(a,b){f(a,void 0,"digestInto() output");let c=b.outputLen;if(a.length<c)throw RangeError('"digestInto() output" expected to be of length >='+c)}function j(...a){for(let b=0;b<a.length;b++)a[b].fill(0)}function k(a){return new DataView(a.buffer,a.byteOffset,a.byteLength)}function l(a,b){return a<<32-b|a>>>b}c.d(b,{FA:()=>aS,Do:()=>a$,lT:()=>aY,RO:()=>aT});class m{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(a,b){if(g(a),f(b,void 0,"key"),this.iHash=a.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const c=this.blockLen,d=new Uint8Array(c);d.set(b.length>c?a.create().update(b).digest():b);for(let a=0;a<d.length;a++)d[a]^=54;this.iHash.update(d),this.oHash=a.create();for(let a=0;a<d.length;a++)d[a]^=106;this.oHash.update(d),j(d)}update(a){return h(this),this.iHash.update(a),this}digestInto(a){h(this),i(a,this),this.finished=!0;let b=a.subarray(0,this.outputLen);this.iHash.digestInto(b),this.oHash.update(b),this.oHash.digestInto(b),this.destroy()}digest(){let a=new Uint8Array(this.oHash.outputLen);return this.digestInto(a),a}_cloneInto(a){a||=Object.create(Object.getPrototypeOf(this),{});let{oHash:b,iHash:c,finished:d,destroyed:e,blockLen:f,outputLen:g}=this;return a.finished=d,a.destroyed=e,a.blockLen=f,a.outputLen=g,a.oHash=b._cloneInto(a.oHash),a.iHash=c._cloneInto(a.iHash),a}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let n=((d=(a,b,c)=>new m(a,b).update(c).digest()).create=(a,b)=>new m(a,b),d),o=Uint8Array.of(0),p=Uint8Array.of();class q{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(a,b,c,d){this.blockLen=a,this.outputLen=b,this.padOffset=c,this.isLE=d,this.buffer=new Uint8Array(a),this.view=k(this.buffer)}update(a){h(this),f(a);let{view:b,buffer:c,blockLen:d}=this,e=a.length;for(let f=0;f<e;){let g=Math.min(d-this.pos,e-f);if(g===d){let b=k(a);for(;d<=e-f;f+=d)this.process(b,f);continue}c.set(a.subarray(f,f+g),this.pos),this.pos+=g,f+=g,this.pos===d&&(this.process(b,0),this.pos=0)}return this.length+=a.length,this.roundClean(),this}digestInto(a){h(this),i(a,this),this.finished=!0;let{buffer:b,view:c,blockLen:d,isLE:e}=this,{pos:f}=this;b[f++]=128,j(this.buffer.subarray(f)),this.padOffset>d-f&&(this.process(c,0),f=0);for(let a=f;a<d;a++)b[a]=0;c.setBigUint64(d-8,BigInt(8*this.length),e),this.process(c,0);let g=k(a),l=this.outputLen;if(l%4)throw Error("_sha2: outputLen must be aligned to 32bit");let m=l/4,n=this.get();if(m>n.length)throw Error("_sha2: outputLen bigger than state");for(let a=0;a<m;a++)g.setUint32(4*a,n[a],e)}digest(){let{buffer:a,outputLen:b}=this;this.digestInto(a);let c=a.slice(0,b);return this.destroy(),c}_cloneInto(a){(a||=new this.constructor).set(...this.get());let{blockLen:b,buffer:c,length:d,finished:e,destroyed:f,pos:g}=this;return a.destroyed=f,a.finished=e,a.length=d,a.pos=g,d%b&&a.buffer.set(c),a}clone(){return this._cloneInto()}}let r=Uint32Array.from([0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]),s=BigInt(0x100000000-1),t=BigInt(32),u=Uint32Array.from([0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]),v=new Uint32Array(64);class w extends q{constructor(a){super(64,a,8,!1)}get(){let{A:a,B:b,C:c,D:d,E:e,F:f,G:g,H:h}=this;return[a,b,c,d,e,f,g,h]}set(a,b,c,d,e,f,g,h){this.A=0|a,this.B=0|b,this.C=0|c,this.D=0|d,this.E=0|e,this.F=0|f,this.G=0|g,this.H=0|h}process(a,b){for(let c=0;c<16;c++,b+=4)v[c]=a.getUint32(b,!1);for(let a=16;a<64;a++){let b=v[a-15],c=v[a-2],d=l(b,7)^l(b,18)^b>>>3,e=l(c,17)^l(c,19)^c>>>10;v[a]=e+v[a-7]+d+v[a-16]|0}let{A:c,B:d,C:e,D:f,E:g,F:h,G:i,H:j}=this;for(let a=0;a<64;a++){var k,m,n,o;let b=j+(l(g,6)^l(g,11)^l(g,25))+((k=g)&h^~k&i)+u[a]+v[a]|0,p=(l(c,2)^l(c,13)^l(c,22))+((m=c)&(n=d)^m&(o=e)^n&o)|0;j=i,i=h,h=g,g=f+b|0,f=e,e=d,d=c,c=b+p|0}c=c+this.A|0,d=d+this.B|0,e=e+this.C|0,f=f+this.D|0,g=g+this.E|0,h=h+this.F|0,i=i+this.G|0,j=j+this.H|0,this.set(c,d,e,f,g,h,i,j)}roundClean(){j(v)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),j(this.buffer)}}class x extends w{A=0|r[0];B=0|r[1];C=0|r[2];D=0|r[3];E=0|r[4];F=0|r[5];G=0|r[6];H=0|r[7];constructor(){super(32)}}let y=function(a,b=!1){let c=a.length,d=new Uint32Array(c),e=new Uint32Array(c);for(let f=0;f<c;f++){let{h:c,l:g}=function(a,b=!1){return b?{h:Number(a&s),l:Number(a>>t&s)}:{h:0|Number(a>>t&s),l:0|Number(a&s)}}(a[f],b);[d[f],e[f]]=[c,g]}return[d,e]}(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(a=>BigInt(a))),z=y[0],A=y[1],B=new Uint32Array(80),C=new Uint32Array(80),D=function(a,b={}){let c=(b,c)=>a(c).update(b).digest(),d=a(void 0);return c.outputLen=d.outputLen,c.blockLen=d.blockLen,c.canXOF=d.canXOF,c.create=b=>a(b),Object.assign(c,b),Object.freeze(c)}(()=>new x,{oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,1])});var E=c(59956),F=c(19839),G=c(87010),H=c(35088),I=c(67206),J=c(57709),K=c(63743),L=c(49071),M=c(67121);class N{#aC;#aE;#aF;constructor(a){if(!(a instanceof Uint8Array))throw TypeError("payload must be an instance of Uint8Array");this.#aC=a}setProtectedHeader(a){return(0,M.ac)(this.#aE,"setProtectedHeader"),this.#aE=a,this}setUnprotectedHeader(a){return(0,M.ac)(this.#aF,"setUnprotectedHeader"),this.#aF=a,this}async sign(a,b){let c,d,e,f;if(!this.#aE&&!this.#aF)throw new H.Ye("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!(0,G.fz)(this.#aE,this.#aF))throw new H.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let g={...this.#aE,...this.#aF},h=(0,K.n)(H.Ye,new Map([["b64",!0]]),b?.crit,this.#aE,g),i=!0;if(h.has("b64")&&"boolean"!=typeof(i=this.#aE.b64))throw new H.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:j}=g;if("string"!=typeof j||!j)throw new H.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');(0,J.y)(j,a,"sign"),i?(c=(0,E.l)(this.#aC),d=(0,I.lF)(c)):(d=this.#aC,c=""),this.#aE?(e=(0,E.l)(JSON.stringify(this.#aE)),f=(0,I.lF)(e)):(e="",f=new Uint8Array);let k=(0,I.xW)(f,(0,I.lF)("."),d),l=await (0,L.l)(a,j),m=await (0,F._S)(j,l,k),n={signature:(0,E.l)(m),payload:c};return this.#aF&&(n.header=this.#aF),this.#aE&&(n.protected=e),n}}class O{#aG;constructor(a){this.#aG=new N(a)}setProtectedHeader(a){return this.#aG.setProtectedHeader(a),this}async sign(a,b){let c=await this.#aG.sign(a,b);if(void 0===c.payload)throw TypeError("use the flattened module for creating JWS with b64: false");return`${c.protected}.${c.payload}.${c.signature}`}}var P=c(62470);class Q{#aE;#aH;constructor(a={}){this.#aH=new P.cE(a)}setIssuer(a){return this.#aH.iss=a,this}setSubject(a){return this.#aH.sub=a,this}setAudience(a){return this.#aH.aud=a,this}setJti(a){return this.#aH.jti=a,this}setNotBefore(a){return this.#aH.nbf=a,this}setExpirationTime(a){return this.#aH.exp=a,this}setIssuedAt(a){return this.#aH.iat=a,this}setProtectedHeader(a){return this.#aE=a,this}async sign(a,b){let c=new O(this.#aH.data());if(c.setProtectedHeader(this.#aE),Array.isArray(this.#aE?.crit)&&this.#aE.crit.includes("b64")&&!1===this.#aE.b64)throw new H.Dp("JWTs MUST NOT use unencoded payload");return c.sign(a,b)}}var R=c(38112),S=c(31708),T=c(16602);async function U(a){if((0,S.D2)(a))if("secret"!==a.type)return a.export({format:"jwk"});else a=a.export();if(a instanceof Uint8Array)return{kty:"oct",k:(0,E.l)(a)};if(!(0,S.R7)(a))throw TypeError((0,T.X)(a,"CryptoKey","KeyObject","Uint8Array"));if(!a.extractable)throw TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:b,key_ops:c,alg:d,use:e,...f}=await crypto.subtle.exportKey("jwk",a);return"AKP"===f.kty&&(f.alg=d),f}async function V(a){return U(a)}let W=(a,b)=>{if("string"!=typeof a||!a)throw new H._L(`${b} missing or invalid`)};async function X(a,b){let c,d;if((0,G.ll)(a))c=a;else if((0,S.P2)(a))c=await V(a);else throw TypeError((0,T.X)(a,"CryptoKey","KeyObject","JSON Web Key"));if("sha256"!==(b??="sha256")&&"sha384"!==b&&"sha512"!==b)throw TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');switch(c.kty){case"AKP":W(c.alg,'"alg" (Algorithm) Parameter'),W(c.pub,'"pub" (Public key) Parameter'),d={alg:c.alg,kty:c.kty,pub:c.pub};break;case"EC":W(c.crv,'"crv" (Curve) Parameter'),W(c.x,'"x" (X Coordinate) Parameter'),W(c.y,'"y" (Y Coordinate) Parameter'),d={crv:c.crv,kty:c.kty,x:c.x,y:c.y};break;case"OKP":W(c.crv,'"crv" (Subtype of Key Pair) Parameter'),W(c.x,'"x" (Public Key) Parameter'),d={crv:c.crv,kty:c.kty,x:c.x};break;case"RSA":W(c.e,'"e" (Exponent) Parameter'),W(c.n,'"n" (Modulus) Parameter'),d={e:c.e,kty:c.kty,n:c.n};break;case"oct":W(c.k,'"k" (Key Value) Parameter'),d={k:c.k,kty:c.kty};break;default:throw new H.T0('"kty" (Key Type) Parameter missing or unsupported')}let e=(0,I.lF)(JSON.stringify(d));return(0,E.l)(await (0,M.br)(b,e))}var Y=c(55457);function Z(a){switch(a){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new H.T0(`Unsupported JWE Algorithm: ${a}`)}}let $=a=>crypto.getRandomValues(new Uint8Array(Z(a)>>3));function _(a,b){let c=a.byteLength<<3;if(c!==b)throw new H.aA(`Invalid Content Encryption Key length. Expected ${b} bits, got ${c} bits`)}function aa(a){switch(a){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new H.T0(`Unsupported JWE Algorithm: ${a}`)}}function ab(a,b){if(b.length<<3!==aa(a))throw new H.aA("Invalid Initialization Vector length")}async function ac(a,b,c){if(!(b instanceof Uint8Array))throw TypeError((0,T.X)(b,"Uint8Array"));let d=parseInt(a.slice(1,4),10);return{encKey:await crypto.subtle.importKey("raw",b.subarray(d>>3),"AES-CBC",!1,[c]),macKey:await crypto.subtle.importKey("raw",b.subarray(0,d>>3),{hash:`SHA-${d<<1}`,name:"HMAC"},!1,["sign"]),keySize:d}}async function ad(a,b,c){return new Uint8Array((await crypto.subtle.sign("HMAC",a,b)).slice(0,c>>3))}async function ae(a,b,c,d,e){let{encKey:f,macKey:g,keySize:h}=await ac(a,c,"encrypt"),i=new Uint8Array(await crypto.subtle.encrypt({iv:d,name:"AES-CBC"},f,b)),j=(0,I.xW)(e,d,i,(0,I.mx)(e.length<<3));return{ciphertext:i,tag:await ad(g,j,h),iv:d}}async function af(a,b){if(!(a instanceof Uint8Array))throw TypeError("First argument must be a buffer");if(!(b instanceof Uint8Array))throw TypeError("Second argument must be a buffer");let c={name:"HMAC",hash:"SHA-256"},d=await crypto.subtle.generateKey(c,!1,["sign"]),e=new Uint8Array(await crypto.subtle.sign(c,d,a)),f=new Uint8Array(await crypto.subtle.sign(c,d,b)),g=0,h=-1;for(;++h<32;)g|=e[h]^f[h];return 0===g}async function ag(a,b,c,d,e,f){let g,h,{encKey:i,macKey:j,keySize:k}=await ac(a,b,"decrypt"),l=(0,I.xW)(f,d,c,(0,I.mx)(f.length<<3)),m=await ad(j,l,k);try{g=await af(e,m)}catch{}if(!g)throw new H.xO;try{h=new Uint8Array(await crypto.subtle.decrypt({iv:d,name:"AES-CBC"},i,c))}catch{}if(!h)throw new H.xO;return h}async function ah(a,b,c,d,e){let f;c instanceof Uint8Array?f=await crypto.subtle.importKey("raw",c,"AES-GCM",!1,["encrypt"]):((0,Y.$)(c,a,"encrypt"),f=c);let g=new Uint8Array(await crypto.subtle.encrypt({additionalData:e,iv:d,name:"AES-GCM",tagLength:128},f,b)),h=g.slice(-16);return{ciphertext:g.slice(0,-16),tag:h,iv:d}}async function ai(a,b,c,d,e,f){let g;b instanceof Uint8Array?g=await crypto.subtle.importKey("raw",b,"AES-GCM",!1,["decrypt"]):((0,Y.$)(b,a,"decrypt"),g=b);try{return new Uint8Array(await crypto.subtle.decrypt({additionalData:f,iv:d,name:"AES-GCM",tagLength:128},g,(0,I.xW)(c,e)))}catch{throw new H.xO}}let aj="Unsupported JWE Content Encryption Algorithm";async function ak(a,b,c,d,e){if(!(0,S.R7)(c)&&!(c instanceof Uint8Array))throw TypeError((0,T.X)(c,"CryptoKey","KeyObject","Uint8Array","JSON Web Key"));if(d)ab(a,d);else d=crypto.getRandomValues(new Uint8Array(aa(a)>>3));switch(a){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return c instanceof Uint8Array&&_(c,parseInt(a.slice(-3),10)),ae(a,b,c,d,e);case"A128GCM":case"A192GCM":case"A256GCM":return c instanceof Uint8Array&&_(c,parseInt(a.slice(1,4),10)),ah(a,b,c,d,e);default:throw new H.T0(aj)}}async function al(a,b,c,d,e,f){if(!(0,S.R7)(b)&&!(b instanceof Uint8Array))throw TypeError((0,T.X)(b,"CryptoKey","KeyObject","Uint8Array","JSON Web Key"));if(!d)throw new H.aA("JWE Initialization Vector missing");if(!e)throw new H.aA("JWE Authentication Tag missing");switch(ab(a,d),a){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return b instanceof Uint8Array&&_(b,parseInt(a.slice(-3),10)),ag(a,b,c,d,e,f);case"A128GCM":case"A192GCM":case"A256GCM":return b instanceof Uint8Array&&_(b,parseInt(a.slice(1,4),10)),ai(a,b,c,d,e,f);default:throw new H.T0(aj)}}function am(a,b){if(a.algorithm.length!==parseInt(b.slice(1,4),10))throw TypeError(`Invalid key size for alg: ${b}`)}function an(a,b,c){return a instanceof Uint8Array?crypto.subtle.importKey("raw",a,"AES-KW",!0,[c]):((0,Y.$)(a,b,c),a)}async function ao(a,b,c){let d=await an(b,a,"wrapKey");am(d,a);let e=await crypto.subtle.importKey("raw",c,{hash:"SHA-256",name:"HMAC"},!0,["sign"]);return new Uint8Array(await crypto.subtle.wrapKey("raw",e,d,"AES-KW"))}async function ap(a,b,c){let d=await an(b,a,"unwrapKey");am(d,a);let e=await crypto.subtle.unwrapKey("raw",c,d,"AES-KW",{hash:"SHA-256",name:"HMAC"},!0,["sign"]);return new Uint8Array(await crypto.subtle.exportKey("raw",e))}function aq(a){return(0,I.xW)((0,I.VS)(a.length),a)}async function ar(a,b,c){let d=b>>3,e=Math.ceil(d/32),f=new Uint8Array(32*e);for(let b=1;b<=e;b++){let d=new Uint8Array(4+a.length+c.length);d.set((0,I.VS)(b),0),d.set(a,4),d.set(c,4+a.length);let e=await (0,M.br)("sha256",d);f.set(e,(b-1)*32)}return f.slice(0,d)}async function as(a,b,c,d,e=new Uint8Array,f=new Uint8Array){var g;(0,Y.$)(a,"ECDH"),(0,Y.$)(b,"ECDH","deriveBits");let h=aq((0,I.lF)(c)),i=aq(e),j=aq(f),k=(0,I.VS)(d),l=new Uint8Array,m=(0,I.xW)(h,i,j,k,l);return ar(new Uint8Array(await crypto.subtle.deriveBits({name:a.algorithm.name,public:a},b,"X25519"===(g=a).algorithm.name?256:Math.ceil(parseInt(g.algorithm.namedCurve.slice(-3),10)/8)<<3)),d,m)}function at(a){switch(a.algorithm.namedCurve){case"P-256":case"P-384":case"P-521":return!0;default:return"X25519"===a.algorithm.name}}async function au(a,b,c,d){if(!(a instanceof Uint8Array)||a.length<8)throw new H.aA("PBES2 Salt Input must be 8 or more octets");if(!Number.isSafeInteger(c)||1!==Math.sign(c))throw new H.aA("PBES2 Count Input must be a positive integer");let e=(0,I.xW)((0,I.lF)(b),Uint8Array.of(0),a),f=parseInt(b.slice(13,16),10),g={hash:`SHA-${b.slice(8,11)}`,iterations:c,name:"PBKDF2",salt:e},h=await (d instanceof Uint8Array?crypto.subtle.importKey("raw",d,"PBKDF2",!1,["deriveBits"]):((0,Y.$)(d,b,"deriveBits"),d));return new Uint8Array(await crypto.subtle.deriveBits(g,h,f))}async function av(a,b,c,d=2048,e=crypto.getRandomValues(new Uint8Array(16))){let f=await au(e,a,d,b);return{encryptedKey:await ao(a.slice(-6),f,c),p2c:d,p2s:(0,E.l)(e)}}async function aw(a,b,c,d,e){let f=await au(e,a,d,b);return ap(a.slice(-6),f,c)}let ax=a=>{switch(a){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new H.T0(`alg ${a} is not supported either by JOSE or your javascript runtime`)}};async function ay(a,b,c){return(0,Y.$)(b,a,"encrypt"),(0,F.Ob)(a,b),new Uint8Array(await crypto.subtle.encrypt(ax(a),b,c))}async function az(a,b,c){return(0,Y.$)(b,a,"decrypt"),(0,F.Ob)(a,b),new Uint8Array(await crypto.subtle.decrypt(ax(a),b,c))}var aA=c(65625);async function aB(a,b,c,d){let e=a.slice(0,7),f=await ak(e,c,b,d,new Uint8Array);return{encryptedKey:f.ciphertext,iv:(0,E.l)(f.iv),tag:(0,E.l)(f.tag)}}async function aC(a,b,c,d,e){return al(a.slice(0,7),b,c,d,e,new Uint8Array)}let aD='Invalid or unsupported "alg" (JWE Algorithm) header value';function aE(a){if(void 0===a)throw new H.aA("JWE Encrypted Key missing")}async function aF(a,b,c,d,e){switch(a){case"dir":if(void 0!==c)throw new H.aA("Encountered unexpected JWE Encrypted Key");return b;case"ECDH-ES":if(void 0!==c)throw new H.aA("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let e,f;if(!(0,G.Gv)(d.epk))throw new H.aA('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if((0,S.Tz)(b),!at(b))throw new H.T0("ECDH with the provided key is not allowed or not supported by your javascript runtime");let g=await (0,aA.Og)(d.epk,a);if((0,S.Tz)(g),void 0!==d.apu){if("string"!=typeof d.apu)throw new H.aA('JOSE Header "apu" (Agreement PartyUInfo) invalid');e=(0,M.h2)(d.apu,"apu",H.aA)}if(void 0!==d.apv){if("string"!=typeof d.apv)throw new H.aA('JOSE Header "apv" (Agreement PartyVInfo) invalid');f=(0,M.h2)(d.apv,"apv",H.aA)}let h=await as(g,b,"ECDH-ES"===a?d.enc:a,"ECDH-ES"===a?Z(d.enc):parseInt(a.slice(-5,-2),10),e,f);if("ECDH-ES"===a)return h;return aE(c),ap(a.slice(-6),h,c)}case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return aE(c),(0,S.Tz)(b),az(a,b,c);case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{let f;if(aE(c),"number"!=typeof d.p2c)throw new H.aA('JOSE Header "p2c" (PBES2 Count) missing or invalid');let g=e?.maxPBES2Count||1e4;if(d.p2c>g)throw new H.aA('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if("string"!=typeof d.p2s)throw new H.aA('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return f=(0,M.h2)(d.p2s,"p2s",H.aA),aw(a,b,c,d.p2c,f)}case"A128KW":case"A192KW":case"A256KW":return aE(c),ap(a,b,c);case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":if(aE(c),"string"!=typeof d.iv)throw new H.aA('JOSE Header "iv" (Initialization Vector) missing or invalid');if("string"!=typeof d.tag)throw new H.aA('JOSE Header "tag" (Authentication Tag) missing or invalid');return aC(a,b,c,(0,M.h2)(d.iv,"iv",H.aA),(0,M.h2)(d.tag,"tag",H.aA));default:throw new H.T0(aD)}}async function aG(a,b,c,d,e={}){let f,g,h;switch(a){case"dir":h=c;break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let i;if((0,S.Tz)(c),!at(c))throw new H.T0("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:j,apv:k}=e;i=e.epk?await (0,L.l)(e.epk,a):(await crypto.subtle.generateKey(c.algorithm,!0,["deriveBits"])).privateKey;let{x:l,y:m,crv:n,kty:o}=await V(i),p=await as(c,i,"ECDH-ES"===a?b:a,"ECDH-ES"===a?Z(b):parseInt(a.slice(-5,-2),10),j,k);if(g={epk:{x:l,crv:n,kty:o}},"EC"===o&&(g.epk.y=m),j&&(g.apu=(0,E.l)(j)),k&&(g.apv=(0,E.l)(k)),"ECDH-ES"===a){h=p;break}h=d||$(b);let q=a.slice(-6);f=await ao(q,p,h);break}case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":h=d||$(b),(0,S.Tz)(c),f=await ay(a,c,h);break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{h=d||$(b);let{p2c:i,p2s:j}=e;({encryptedKey:f,...g}=await av(a,c,h,i,j));break}case"A128KW":case"A192KW":case"A256KW":h=d||$(b),f=await ao(a,c,h);break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{h=d||$(b);let{iv:i}=e;({encryptedKey:f,...g}=await aB(a,c,h,i));break}default:throw new H.T0(aD)}return{cek:h,encryptedKey:f,parameters:g}}function aH(a){if(void 0===globalThis[a])throw new H.T0(`JWE "zip" (Compression Algorithm) Header Parameter requires the ${a} API.`)}async function aI(a){aH("CompressionStream");let b=new CompressionStream("deflate-raw"),c=b.writable.getWriter();c.write(a).catch(()=>{}),c.close().catch(()=>{});let d=[],e=b.readable.getReader();for(;;){let{value:a,done:b}=await e.read();if(b)break;d.push(a)}return(0,I.xW)(...d)}async function aJ(a,b){aH("DecompressionStream");let c=new DecompressionStream("deflate-raw"),d=c.writable.getWriter();d.write(a).catch(()=>{}),d.close().catch(()=>{});let e=[],f=0,g=c.readable.getReader();for(;;){let{value:a,done:c}=await g.read();if(c)break;if(e.push(a),f+=a.byteLength,b!==1/0&&f>b)throw new H.aA("Decompressed plaintext exceeded the configured limit")}return(0,I.xW)(...e)}class aK{#aI;#aE;#aJ;#aF;#aK;#aL;#aM;#aN;constructor(a){if(!(a instanceof Uint8Array))throw TypeError("plaintext must be an instance of Uint8Array");this.#aI=a}setKeyManagementParameters(a){return(0,M.ac)(this.#aN,"setKeyManagementParameters"),this.#aN=a,this}setProtectedHeader(a){return(0,M.ac)(this.#aE,"setProtectedHeader"),this.#aE=a,this}setSharedUnprotectedHeader(a){return(0,M.ac)(this.#aJ,"setSharedUnprotectedHeader"),this.#aJ=a,this}setUnprotectedHeader(a){return(0,M.ac)(this.#aF,"setUnprotectedHeader"),this.#aF=a,this}setAdditionalAuthenticatedData(a){return this.#aK=a,this}setContentEncryptionKey(a){return(0,M.ac)(this.#aL,"setContentEncryptionKey"),this.#aL=a,this}setInitializationVector(a){return(0,M.ac)(this.#aM,"setInitializationVector"),this.#aM=a,this}async encrypt(a,b){let c,d,e,f,g,h;if(!this.#aE&&!this.#aF&&!this.#aJ)throw new H.aA("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!(0,G.fz)(this.#aE,this.#aF,this.#aJ))throw new H.aA("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let i={...this.#aE,...this.#aF,...this.#aJ};if((0,K.n)(H.aA,new Map,b?.crit,this.#aE,i),void 0!==i.zip&&"DEF"!==i.zip)throw new H.T0('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value.');if(void 0!==i.zip&&!this.#aE?.zip)throw new H.aA('JWE "zip" (Compression Algorithm) Header Parameter MUST be in a protected header.');let{alg:j,enc:k}=i;if("string"!=typeof j||!j)throw new H.aA('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("string"!=typeof k||!k)throw new H.aA('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(this.#aL&&("dir"===j||"ECDH-ES"===j))throw TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${j}`);(0,J.y)("dir"===j?k:j,a,"encrypt");{let e,f=await (0,L.l)(a,j);({cek:d,encryptedKey:c,parameters:e}=await aG(j,k,f,this.#aL,this.#aN)),e&&(b&&M.oB in b?this.#aF?this.#aF={...this.#aF,...e}:this.setUnprotectedHeader(e):this.#aE?this.#aE={...this.#aE,...e}:this.setProtectedHeader(e))}if(this.#aE?(f=(0,E.l)(JSON.stringify(this.#aE)),g=(0,I.lF)(f)):(f="",g=new Uint8Array),this.#aK){h=(0,E.l)(this.#aK);let a=(0,I.lF)(h);e=(0,I.xW)(g,(0,I.lF)("."),a)}else e=g;let l=this.#aI;"DEF"===i.zip&&(l=await aI(l).catch(a=>{throw new H.aA("Failed to compress plaintext",{cause:a})}));let{ciphertext:m,tag:n,iv:o}=await ak(k,l,d,this.#aM,e),p={ciphertext:(0,E.l)(m)};return o&&(p.iv=(0,E.l)(o)),n&&(p.tag=(0,E.l)(n)),c&&(p.encrypted_key=(0,E.l)(c)),h&&(p.aad=h),this.#aE&&(p.protected=f),this.#aJ&&(p.unprotected=this.#aJ),this.#aF&&(p.header=this.#aF),p}}class aL{#aG;constructor(a){this.#aG=new aK(a)}setContentEncryptionKey(a){return this.#aG.setContentEncryptionKey(a),this}setInitializationVector(a){return this.#aG.setInitializationVector(a),this}setProtectedHeader(a){return this.#aG.setProtectedHeader(a),this}setKeyManagementParameters(a){return this.#aG.setKeyManagementParameters(a),this}async encrypt(a,b){let c=await this.#aG.encrypt(a,b);return[c.protected,c.encrypted_key,c.iv,c.ciphertext,c.tag].join(".")}}class aM{#aL;#aM;#aN;#aE;#aO;#aP;#aQ;#aH;constructor(a={}){this.#aH=new P.cE(a)}setIssuer(a){return this.#aH.iss=a,this}setSubject(a){return this.#aH.sub=a,this}setAudience(a){return this.#aH.aud=a,this}setJti(a){return this.#aH.jti=a,this}setNotBefore(a){return this.#aH.nbf=a,this}setExpirationTime(a){return this.#aH.exp=a,this}setIssuedAt(a){return this.#aH.iat=a,this}setProtectedHeader(a){return(0,M.ac)(this.#aE,"setProtectedHeader"),this.#aE=a,this}setKeyManagementParameters(a){return(0,M.ac)(this.#aN,"setKeyManagementParameters"),this.#aN=a,this}setContentEncryptionKey(a){return(0,M.ac)(this.#aL,"setContentEncryptionKey"),this.#aL=a,this}setInitializationVector(a){return(0,M.ac)(this.#aM,"setInitializationVector"),this.#aM=a,this}replicateIssuerAsHeader(){return this.#aO=!0,this}replicateSubjectAsHeader(){return this.#aP=!0,this}replicateAudienceAsHeader(){return this.#aQ=!0,this}async encrypt(a,b){let c=new aL(this.#aH.data());return this.#aE&&(this.#aO||this.#aP||this.#aQ)&&(this.#aE={...this.#aE,iss:this.#aO?this.#aH.iss:void 0,sub:this.#aP?this.#aH.sub:void 0,aud:this.#aQ?this.#aH.aud:void 0}),c.setProtectedHeader(this.#aE),this.#aM&&c.setInitializationVector(this.#aM),this.#aL&&c.setContentEncryptionKey(this.#aL),this.#aN&&c.setKeyManagementParameters(this.#aN),c.encrypt(a,b)}}var aN=c(60084),aO=c(90233);async function aP(a,b,c){let d,e,f,g,h,i;if(!(0,G.Gv)(a))throw new H.aA("Flattened JWE must be an object");if(void 0===a.protected&&void 0===a.header&&void 0===a.unprotected)throw new H.aA("JOSE Header missing");if(void 0!==a.iv&&"string"!=typeof a.iv)throw new H.aA("JWE Initialization Vector incorrect type");if("string"!=typeof a.ciphertext)throw new H.aA("JWE Ciphertext missing or incorrect type");if(void 0!==a.tag&&"string"!=typeof a.tag)throw new H.aA("JWE Authentication Tag incorrect type");if(void 0!==a.protected&&"string"!=typeof a.protected)throw new H.aA("JWE Protected Header incorrect type");if(void 0!==a.encrypted_key&&"string"!=typeof a.encrypted_key)throw new H.aA("JWE Encrypted Key incorrect type");if(void 0!==a.aad&&"string"!=typeof a.aad)throw new H.aA("JWE AAD incorrect type");if(void 0!==a.header&&!(0,G.Gv)(a.header))throw new H.aA("JWE Shared Unprotected Header incorrect type");if(void 0!==a.unprotected&&!(0,G.Gv)(a.unprotected))throw new H.aA("JWE Per-Recipient Unprotected Header incorrect type");if(a.protected)try{let b=(0,E.D)(a.protected);d=JSON.parse(I.D0.decode(b))}catch{throw new H.aA("JWE Protected Header is invalid")}if(!(0,G.fz)(d,a.header,a.unprotected))throw new H.aA("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let j={...d,...a.header,...a.unprotected};if((0,K.n)(H.aA,new Map,c?.crit,d,j),void 0!==j.zip&&"DEF"!==j.zip)throw new H.T0('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value.');if(void 0!==j.zip&&!d?.zip)throw new H.aA('JWE "zip" (Compression Algorithm) Header Parameter MUST be in a protected header.');let{alg:k,enc:l}=j;if("string"!=typeof k||!k)throw new H.aA("missing JWE Algorithm (alg) in JWE Header");if("string"!=typeof l||!l)throw new H.aA("missing JWE Encryption Algorithm (enc) in JWE Header");let m=c&&(0,aO.F)("keyManagementAlgorithms",c.keyManagementAlgorithms),n=c&&(0,aO.F)("contentEncryptionAlgorithms",c.contentEncryptionAlgorithms);if(m&&!m.has(k)||!m&&k.startsWith("PBES2"))throw new H.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(n&&!n.has(l))throw new H.Rb('"enc" (Encryption Algorithm) Header Parameter value not allowed');void 0!==a.encrypted_key&&(e=(0,M.h2)(a.encrypted_key,"encrypted_key",H.aA));let o=!1;"function"==typeof b&&(b=await b(d,a),o=!0),(0,J.y)("dir"===k?l:k,b,"decrypt");let p=await (0,L.l)(b,k);try{f=await aF(k,p,e,j,c)}catch(a){if(a instanceof TypeError||a instanceof H.aA||a instanceof H.T0)throw a;f=$(l)}void 0!==a.iv&&(g=(0,M.h2)(a.iv,"iv",H.aA)),void 0!==a.tag&&(h=(0,M.h2)(a.tag,"tag",H.aA));let q=void 0!==a.protected?(0,I.lF)(a.protected):new Uint8Array;i=void 0!==a.aad?(0,I.xW)(q,(0,I.lF)("."),(0,I.lF)(a.aad)):q;let r=(0,M.h2)(a.ciphertext,"ciphertext",H.aA),s=await al(l,f,r,g,h,i),t={plaintext:s};if("DEF"===j.zip){let a=c?.maxDecompressedLength??25e4;if(0===a)throw new H.T0('JWE "zip" (Compression Algorithm) Header Parameter is not supported.');if(a!==1/0&&(!Number.isSafeInteger(a)||a<1))throw TypeError("maxDecompressedLength must be 0, a positive safe integer, or Infinity");t.plaintext=await aJ(s,a).catch(a=>{if(a instanceof H.aA)throw a;throw new H.aA("Failed to decompress plaintext",{cause:a})})}return(void 0!==a.protected&&(t.protectedHeader=d),void 0!==a.aad&&(t.additionalAuthenticatedData=(0,M.h2)(a.aad,"aad",H.aA)),void 0!==a.unprotected&&(t.sharedUnprotectedHeader=a.unprotected),void 0!==a.header&&(t.unprotectedHeader=a.header),o)?{...t,key:p}:t}async function aQ(a,b,c){if(a instanceof Uint8Array&&(a=I.D0.decode(a)),"string"!=typeof a)throw new H.aA("Compact JWE must be a string or Uint8Array");let{0:d,1:e,2:f,3:g,4:h,length:i}=a.split(".");if(5!==i)throw new H.aA("Invalid Compact JWE");let j=await aP({ciphertext:g,iv:f||void 0,protected:d,tag:h||void 0,encrypted_key:e||void 0},b,c),k={plaintext:j.plaintext,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}async function aR(a,b,c){let d=await aQ(a,b,c),e=(0,P.k6)(d.protectedHeader,d.plaintext,c),{protectedHeader:f}=d;if(void 0!==f.iss&&f.iss!==e.iss)throw new H.ie('replicated "iss" claim header parameter mismatch',e,"iss","mismatch");if(void 0!==f.sub&&f.sub!==e.sub)throw new H.ie('replicated "sub" claim header parameter mismatch',e,"sub","mismatch");if(void 0!==f.aud&&JSON.stringify(f.aud)!==JSON.stringify(e.aud))throw new H.ie('replicated "aud" claim header parameter mismatch',e,"aud","mismatch");let g={payload:e,protectedHeader:f};return"function"==typeof b?{...g,key:d.key}:g}async function aS(a,b,c=3600){return await new Q(a).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime(Math.floor(Date.now()/1e3)+c).sign(new TextEncoder().encode(b))}async function aT(a,b){try{return(await (0,R.V)(a,new TextEncoder().encode(b))).payload}catch{return null}}let aU=new Uint8Array([66,101,116,116,101,114,65,117,116,104,46,106,115,32,71,101,110,101,114,97,116,101,100,32,69,110,99,114,121,112,116,105,111,110,32,75,101,121]),aV="A256CBC-HS512";function aW(a,b){var c,d,h;return c=new TextEncoder().encode(a),d=new TextEncoder().encode(b),function(a,b,c,d=32){g(a),e(d,"length"),f(b,void 0,"prk");let h=a.outputLen;if(b.length<h)throw Error('"prk" must be at least HashLen octets');if(d>255*h)throw Error("Length must be <= 255*HashLen");let i=Math.ceil(d/h);void 0===c?c=p:f(c,void 0,"info");let k=new Uint8Array(i*h),l=n.create(a,b),m=l._cloneInto(),q=new Uint8Array(l.outputLen);for(let a=0;a<i;a++)o[0]=a+1,m.update(0===a?p:q).update(c).update(o).digestInto(q),k.set(q,h*a),l._cloneInto(m);return l.destroy(),m.destroy(),j(q,o),k.slice(0,d)}(D,(h=d,g(D),void 0===h&&(h=new Uint8Array(D.outputLen)),n(D,h,c)),aU,64)}function aX(a){if("string"==typeof a)return[{version:0,value:a}];let b=[];for(let[c,d]of a.keys)b.push({version:c,value:d});return a.legacySecret&&!b.some(b=>b.value===a.legacySecret)&&b.push({version:-1,value:a.legacySecret}),b}async function aY(a,b,c,d=3600){let e=aW(function(a){if("string"==typeof a)return a;let b=a.keys.get(a.currentVersion);if(!b)throw Error(`Secret version ${a.currentVersion} not found in keys`);return b}(b),c),f=await X({kty:"oct",k:E.l(e)},"sha256");return await new aM(a).setProtectedHeader({alg:"dir",enc:aV,kid:f}).setIssuedAt().setExpirationTime((Date.now()/1e3|0)+d).setJti(crypto.randomUUID()).encrypt(e)}let aZ={clockTolerance:15,keyManagementAlgorithms:["dir"],contentEncryptionAlgorithms:[aV,"A256GCM"]};async function a$(a,b,c){if(!a)return null;let d=!1;try{d=void 0!==(0,aN._)(a).kid}catch{return null}try{let d=aX(b),{payload:e}=await aR(a,async a=>{let b=a.kid;if(void 0!==b){for(let a of d){let d=aW(a.value,c);if(b===await X({kty:"oct",k:E.l(d)},"sha256"))return d}throw Error("no matching decryption secret")}return d.length,aW(d[0].value,c)},aZ);return e}catch{if(d)return null;let e=aX(b);if(e.length<=1)return null;for(let b=1;b<e.length;b++)try{let d=e[b],{payload:f}=await aR(a,aW(d.value,c),aZ);return f}catch{continue}return null}}},66290:(a,b,c)=>{c.d(b,{Aw:()=>j,Di:()=>h});var d=c(56590),e=c(92421),f=c(73954);let g=(0,f.Ny)(async()=>({})),h=f.Ny.create({use:[g,(0,f.Ny)(async()=>({}))]}),i=[g];function j(a,b,c){let g="string"==typeof a?a:void 0,h="object"==typeof b?b:a,j="function"==typeof b?b:c,k=async a=>{try{return await (0,d.Qs)(a,()=>j(a))}catch(c){var b;throw b=a.responseHeaders,(0,e.h)(c)&&b&&Object.defineProperty(c,f.Ri,{enumerable:!1,configurable:!0,value:b,writable:!1}),c}};return g?(0,f.UD)(g,{...h,use:[...h?.use||[],...i]},k):(0,f.UD)({...h,use:[...h?.use||[],...i]},k)}j.serverOnly=(a,b)=>j({...a,metadata:{...a.metadata,SERVER_ONLY:!0}},b)},66384:(a,b,c)=>{c.d(b,{K:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"OrNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"OrNode",left:a,right:b})})},67121:(a,b,c)=>{c.d(b,{ac:()=>f,br:()=>h,h2:()=>g,oB:()=>e});var d=c(59956);let e=Symbol();function f(a,b){if(a)throw TypeError(`${b} can only be called once`)}function g(a,b,c){try{return(0,d.D)(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}async function h(a,b){let c=`SHA-${a.slice(-3)}`;return new Uint8Array(await crypto.subtle.digest(c,b))}},67206:(a,b,c)=>{c.d(b,{D0:()=>e,Rd:()=>d,VS:()=>i,lF:()=>j,mx:()=>h,xW:()=>f});let d=new TextEncoder,e=new TextDecoder;function f(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function g(a,b,c){if(b<0||b>=0x100000000)throw RangeError(`value must be >= 0 and <= ${0x100000000-1}. Received ${b}`);a.set([b>>>24,b>>>16,b>>>8,255&b],c)}function h(a){let b=Math.floor(a/0x100000000),c=new Uint8Array(8);return g(c,b,0),g(c,a%0x100000000,4),c}function i(a){let b=new Uint8Array(4);return g(b,a),b}function j(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}},67859:(a,b,c)=>{c.d(b,{SS:()=>j,YK:()=>h,v0:()=>i});var d=c(96640),e=c(4362),f=c(93993),g=c(6881);function h(a){if((0,e.N)(a))return a.toOperationNode();if((0,g.Tn)(a))return a((0,f.A)()).toOperationNode();throw Error(`invalid expression: ${JSON.stringify(a)}`)}function i(a){if((0,e.N)(a))return a.toOperationNode();if((0,g.Tn)(a))return a((0,f.A)()).toOperationNode();throw Error(`invalid aliased expression: ${JSON.stringify(a)}`)}function j(a){return(0,d.B)(a)||(0,d.q)(a)||(0,g.Tn)(a)}},68447:(a,b,c)=>{c.d(b,{GQ:()=>u,EQ:()=>v,bl:()=>t});var d=c(6833),e=c(6881),f=c(5607);let g=(0,e.CN)({is:a=>"PartitionByNode"===a.kind,create:a=>(0,e.CN)({kind:"PartitionByNode",items:(0,e.CN)(a)}),cloneWithItems:(a,b)=>(0,e.CN)({...a,items:(0,e.CN)([...a.items,...b])})}),h=(0,e.CN)({is:a=>"OverNode"===a.kind,create:()=>(0,e.CN)({kind:"OverNode"}),cloneWithOrderByItems:(a,b)=>(0,e.CN)({...a,orderBy:a.orderBy?f.O.cloneWithItems(a.orderBy,b):f.O.create(b)}),cloneWithPartitionByItems:(a,b)=>(0,e.CN)({...a,partitionBy:a.partitionBy?g.cloneWithItems(a.partitionBy,b):g.create(b)})});var i=c(34435),j=c(72104);class k{#N;constructor(a){this.#N=(0,e.CN)(a)}on(...a){return new k({...this.#N,joinNode:d.b.cloneWithOn(this.#N.joinNode,(0,j.GB)(a))})}onRef(a,b,c){return new k({...this.#N,joinNode:d.b.cloneWithOn(this.#N.joinNode,(0,j.vC)(a,b,c))})}onTrue(){return new k({...this.#N,joinNode:d.b.cloneWithOn(this.#N.joinNode,i.z.createWithSql("true"))})}$call(a){return a(this)}toOperationNode(){return this.#N.joinNode}}var l=c(36022),m=c(44542);let n=(0,e.CN)({is:a=>"PartitionByItemNode"===a.kind,create:a=>(0,e.CN)({kind:"PartitionByItemNode",partitionBy:a})});var o=c(15542);class p{#N;constructor(a){this.#N=(0,e.CN)(a)}orderBy(...a){return new p({overNode:h.cloneWithOrderByItems(this.#N.overNode,(0,m.xk)(a))})}clearOrderBy(){return new p({overNode:l.L.cloneWithoutOrderBy(this.#N.overNode)})}partitionBy(a){return new p({overNode:h.cloneWithPartitionByItems(this.#N.overNode,(0,o.kU)(a).map(n.create))})}$call(a){return a(this)}toOperationNode(){return this.#N.overNode}}var q=c(58156),r=c(36805),s=c(4319);function t(){return new q.n({executor:r.W})}function u(a,b){return new k({joinNode:d.b.create(a,(0,s.uJ)(b))})}function v(){return new p({overNode:h.create()})}},69590:(a,b,c)=>{c.d(b,{o:()=>g});var d=c(6881),e=c(21836),f=c(66384);let g=(0,d.CN)({is:a=>"WhereNode"===a.kind,create:a=>(0,d.CN)({kind:"WhereNode",where:a}),cloneWithOperation:(a,b,c)=>(0,d.CN)({...a,where:"And"===b?e.s.create(a.where,c):f.K.create(a.where,c)})})},70392:(a,b,c)=>{c.d(b,{M:()=>e,g:()=>d});let{get:d,set:e}=(0,c(33168).sL)(()=>!1)},70643:(a,b,c)=>{c.d(b,{n:()=>f});var d=c(15916),e=c(8975);function f(a,b){return{digest:async c=>{let f=new TextEncoder,g="string"==typeof c?f.encode(c):c,h=await (0,e.N)().digest(a,g);return"hex"===b?Array.from(new Uint8Array(h)).map(a=>a.toString(16).padStart(2,"0")).join(""):"base64"===b||"base64url"===b||"base64urlnopad"===b?b.includes("url")?d.z.encode(h,{padding:"base64urlnopad"!==b}):d.K.encode(h):h}}}},70877:(a,b,c)=>{c.d(b,{t:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"WhenNode"===a.kind,create:a=>(0,d.CN)({kind:"WhenNode",condition:a}),cloneWithResult:(a,b)=>(0,d.CN)({...a,result:b})})},71194:(a,b,c)=>{c.d(b,{DV:()=>k,He:()=>function a(b,c){return Object.entries(b).reduce((b,[i,j])=>{if("string"!=typeof i)return b;let k=c?[...c,i]:[i];return(0,e.is)(j,d.V)||(0,e.is)(j,f.Xs)||(0,e.is)(j,f.Xs.Aliased)||(0,e.is)(j,g.n)?b.push({path:k,field:j}):(0,e.is)(j,h.XI)?b.push(...a(j[h.XI.Symbol.Columns],k)):b.push(...a(j,k)),b},[])},Ll:()=>p,Lq:()=>q,XJ:()=>m,YD:()=>n,a6:()=>j,q:()=>l,su:()=>r,zN:()=>o});var d=c(31537),e=c(52022),f=c(34974),g=c(7725),h=c(78137),i=c(89330);function j(a,b,c){let i={},j=a.reduce((a,{path:j,field:k},l)=>{let m;m=(0,e.is)(k,d.V)?k:(0,e.is)(k,f.Xs)?k.decoder:(0,e.is)(k,g.n)?k._.sql.decoder:k.sql.decoder;let n=a;for(let[a,f]of j.entries())if(a<j.length-1)f in n||(n[f]={}),n=n[f];else{let a=b[l],g=n[f]=null===a?null:m.mapFromDriverValue(a);if(c&&(0,e.is)(k,d.V)&&2===j.length){let a=j[0];a in i?"string"==typeof i[a]&&i[a]!==(0,h.Io)(k.table)&&(i[a]=!1):i[a]=null===g&&(0,h.Io)(k.table)}}return a},{});if(c&&Object.keys(i).length>0)for(let[a,b]of Object.entries(i))"string"!=typeof b||c[b]||(j[a]=null);return j}function k(a,b){let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let[a,b]of c.entries())if(b!==d[a])return!1;return!0}function l(a,b){let c=Object.entries(b).filter(([,a])=>void 0!==a).map(([b,c])=>(0,e.is)(c,f.Xs)||(0,e.is)(c,d.V)?[b,c]:[b,new f.Iw(c,a[h.XI.Symbol.Columns][b])]);if(0===c.length)throw Error("No values to set");return Object.fromEntries(c)}function m(a,b){for(let c of b)for(let b of Object.getOwnPropertyNames(c.prototype))"constructor"!==b&&Object.defineProperty(a.prototype,b,Object.getOwnPropertyDescriptor(c.prototype,b)||Object.create(null))}function n(a){return a[h.XI.Symbol.Columns]}function o(a){return(0,e.is)(a,g.n)?a._.alias:(0,e.is)(a,f.Ss)?a[i.n].name:(0,e.is)(a,f.Xs)?void 0:a[h.XI.Symbol.IsAlias]?a[h.XI.Symbol.Name]:a[h.XI.Symbol.BaseName]}function p(a,b){return{name:"string"==typeof a&&a.length>0?a:"",config:"object"==typeof a?a:b}}function q(a){if("object"!=typeof a||null===a||"Object"!==a.constructor.name)return!1;if("logger"in a){let b=typeof a.logger;return"boolean"===b||"object"===b&&"function"==typeof a.logger.logQuery||"undefined"===b}if("schema"in a){let b=typeof a.schema;return"object"===b||"undefined"===b}if("casing"in a){let b=typeof a.casing;return"string"===b||"undefined"===b}if("mode"in a)return"default"===a.mode&&"planetscale"===a.mode&&void 0===a.mode;if("connection"in a){let b=typeof a.connection;return"string"===b||"object"===b||"undefined"===b}if("client"in a){let b=typeof a.client;return"object"===b||"function"===b||"undefined"===b}return 0===Object.keys(a).length}let r="u"<typeof TextDecoder?null:new TextDecoder},72104:(a,b,c)=>{c.d(b,{GB:()=>n,KN:()=>r,Ve:()=>q,ds:()=>o,vC:()=>p});var d=c(14884),e=c(6881),f=c(4362),g=c(47245),h=c(15542),i=c(57702),j=c(99988),k=c(21836),l=c(89328),m=c(66384);function n(a){if(3===a.length)return o(a[0],a[1],a[2]);if(1===a.length)return(0,i.$s)(a[0]);throw Error(`invalid arguments: ${JSON.stringify(a)}`)}function o(a,b,c){var e;return("is"===(e=b)||"is not"===e)&&s(c)?d.l.create((0,h.$O)(a),t(b),j.q.createImmediate(c)):d.l.create((0,h.$O)(a),t(b),(0,i.U2)(c))}function p(a,b,c){return d.l.create((0,h.$O)(a),t(b),(0,h.$O)(c))}function q(a,b){return r(Object.entries(a).filter(([,a])=>!(0,e.b0)(a)).map(([a,b])=>o(a,s(b)?"is":"=",b)),b)}function r(a,b,c=!0){let e="and"===b?k.s.create:m.K.create;if(0===a.length)return d.l.create(j.q.createImmediate(1),g.zX.create("="),j.q.createImmediate(+("and"===b)));let f=u(a[0]);for(let b=1;b<a.length;++b)f=e(f,u(a[b]));return a.length>1&&c?l.k.create(f):f}function s(a){return(0,e.kZ)(a)||(0,e.Lm)(a)}function t(a){if((0,g.UH)(a))return g.zX.create(a);if((0,f.N)(a))return a.toOperationNode();throw Error(`invalid operator ${JSON.stringify(a)}`)}function u(a){return(0,f.N)(a)?a.toOperationNode():a}},72417:(a,b,c)=>{c.d(b,{f:()=>f});var d=c(6881);let e=(0,d.CN)({is:a=>"TopNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"TopNode",expression:a,modifiers:b})});function f(a,b){var c;if(!(0,d.Et)(a)&&!(0,d.sI)(a))throw Error(`Invalid top expression: ${a}`);if(!(0,d.b0)(b)&&"percent"!==(c=b)&&"with ties"!==c&&"percent with ties"!==c)throw Error(`Invalid top modifiers: ${b}`);return e.create(a,b)}},72718:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d,e={RenderStage:function(){return i},StagedRenderingController:function(){return j}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(98465),h=c(1694);var i=((d={})[d.Before=1]="Before",d[d.EarlyStatic=2]="EarlyStatic",d[d.Static=3]="Static",d[d.EarlyRuntime=4]="EarlyRuntime",d[d.Runtime=5]="Runtime",d[d.Dynamic=6]="Dynamic",d[d.Abandoned=7]="Abandoned",d);class j{constructor(a,b,c){this.abortSignal=a,this.abandonController=b,this.shouldTrackSyncIO=c,this.currentStage=1,this.syncInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.staticStageListeners=[],this.earlyRuntimeStageListeners=[],this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.staticStagePromise=(0,h.createPromiseWithResolvers)(),this.earlyRuntimeStagePromise=(0,h.createPromiseWithResolvers)(),this.runtimeStagePromise=(0,h.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,h.createPromiseWithResolvers)(),a&&a.addEventListener("abort",()=>{let{reason:b}=a;this.staticStagePromise.promise.catch(k),this.staticStagePromise.reject(b),this.earlyRuntimeStagePromise.promise.catch(k),this.earlyRuntimeStagePromise.reject(b),this.runtimeStagePromise.promise.catch(k),this.runtimeStagePromise.reject(b),this.dynamicStagePromise.promise.catch(k),this.dynamicStagePromise.reject(b)},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){if(this.currentStage>=a)b();else if(3===a)this.staticStageListeners.push(b);else if(4===a)this.earlyRuntimeStageListeners.push(b);else if(5===a)this.runtimeStageListeners.push(b);else if(6===a)this.dynamicStageListeners.push(b);else throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}shouldTrackSyncInterrupt(){if(!this.shouldTrackSyncIO)return!1;switch(this.currentStage){case 1:case 5:case 6:case 7:default:return!1;case 2:case 3:case 4:return!0}}syncInterruptCurrentStageWithReason(a){if(1!==this.currentStage&&7!==this.currentStage){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=7;return}switch(this.currentStage){case 2:case 3:case 4:this.syncInterruptReason=a,this.advanceStage(6);return;case 5:return}}}getSyncInterruptReason(){return this.syncInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){let{currentStage:a}=this;switch(a){case 2:this.resolveStaticStage();case 3:this.resolveEarlyRuntimeStage();case 4:this.resolveRuntimeStage();case 5:this.currentStage=7;return}}advanceStage(a){if(a<=this.currentStage)return;let b=this.currentStage;if(this.currentStage=a,b<3&&a>=3&&this.resolveStaticStage(),b<4&&a>=4&&this.resolveEarlyRuntimeStage(),b<5&&a>=5&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),b<6&&a>=6){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveStaticStage(){let a=this.staticStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.staticStagePromise.resolve()}resolveEarlyRuntimeStage(){let a=this.earlyRuntimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.earlyRuntimeStagePromise.resolve()}resolveRuntimeStage(){let a=this.runtimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let a=this.dynamicStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.dynamicStagePromise.resolve()}getStagePromise(a){switch(a){case 3:return this.staticStagePromise.promise;case 4:return this.earlyRuntimeStagePromise.promise;case 5:return this.runtimeStagePromise.promise;case 6:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){var d,e,f;let g,h=(d=this.getStagePromise(a),e=b,f=c,g=new Promise((a,b)=>{d.then(a.bind(null,f),b)}),void 0!==e&&(g.displayName=e),g);return this.abortSignal&&h.catch(k),h}}function k(){}},73954:(a,b,c)=>{let d;c.d(b,{LG:()=>e.LG,UD:()=>B,Ny:()=>C,aE:()=>O,Ri:()=>e.Ri,X8:()=>w,Zr:()=>n});var e=c(14802);let f=/^application\/([a-z0-9.+-]*\+)?json/i;async function g(a,b){let c=a.headers.get("content-type")||"",d=c.toLowerCase();if(a.body){if(b&&b.length>0&&!b.some(a=>{let b=d.split(";")[0].trim(),c=a.toLowerCase().trim();return b===c||b.includes(c)})){if(!d)throw new e.LG(415,{message:`Content-Type is required. Allowed types: ${b.join(", ")}`,code:"UNSUPPORTED_MEDIA_TYPE"});throw new e.LG(415,{message:`Content-Type "${c}" is not allowed. Allowed types: ${b.join(", ")}`,code:"UNSUPPORTED_MEDIA_TYPE"})}if(f.test(d))try{return await a.json()}catch(a){if(a instanceof SyntaxError)throw new e.LG(400,{message:"Invalid JSON in request body",code:"BAD_REQUEST"});throw a}if(d.includes("application/x-www-form-urlencoded")){let b=await a.formData(),c={};return b.forEach((a,b)=>{c[b]=a.toString()}),c}if(d.includes("multipart/form-data")){let b=await a.formData(),c={};return b.forEach((a,b)=>{c[b]=a}),c}return d.includes("text/plain")?await a.text():d.includes("application/octet-stream")?await a.arrayBuffer():d.includes("application/pdf")||d.includes("image/")||d.includes("video/")?await a.blob():d.includes("application/stream")||a.body instanceof ReadableStream?a.body:await a.text()}}function h(a){return a instanceof e.LG||a?.name==="APIError"}async function i(a){try{return{data:await a,error:null}}catch(a){return{data:null,error:a}}}function j(a){return a instanceof Request||"[object Request]"===Object.prototype.toString.call(a)}let k=new Set(["host","user-agent","referer","from","expect","authorization","proxy-authorization","cookie","origin","accept-charset","accept-encoding","accept-language","if-match","if-none-match","if-modified-since","if-unmodified-since","if-range","range","max-forwards","connection","keep-alive","transfer-encoding","te","upgrade","trailer","proxy-connection","content-length"]);function l(a){for(let b of k)a.delete(b)}function m(a,b){if(b)for(let[c,d]of new Headers(b).entries())"set-cookie"===c.toLowerCase()?a.append(c,d):a.set(c,d)}function n(a,b){if(a instanceof Response){if(b?.headers){let c=new Headers(b.headers);l(c),m(a.headers,c)}return a}if(a&&"object"==typeof a&&"_flag"in a&&"json"===a._flag){let c=a.body,d=a.routerResponse;if(d instanceof Response)return d;let e=new Headers;if(m(e,d?.headers),m(e,a.headers),b?.headers){let a=new Headers(b.headers);l(a),m(e,a)}return e.set("Content-Type","application/json"),new Response(JSON.stringify(c),{...d,headers:e,status:a.status??b?.status??d?.status,statusText:b?.statusText??d?.statusText})}if(h(a))return n(a.body,{status:b?.status??a.statusCode,statusText:a.status.toString(),headers:b?.headers||a.headers});let c=a,d=new Headers(b?.headers);if(l(d),a){if("string"==typeof a)c=a,d.set("Content-Type","text/plain");else if(a instanceof ArrayBuffer||ArrayBuffer.isView(a))c=a,d.set("Content-Type","application/octet-stream");else if(a instanceof Blob)c=a,d.set("Content-Type",a.type||"application/octet-stream");else if(a instanceof FormData)c=a;else if(a instanceof URLSearchParams)c=a,d.set("Content-Type","application/x-www-form-urlencoded");else if(a instanceof ReadableStream)c=a,d.set("Content-Type","application/octet-stream");else if(function(a){if(void 0===a)return!1;let b=typeof a;return"string"===b||"number"===b||"boolean"===b||null===b||"object"===b&&(!!Array.isArray(a)||!a.buffer&&(a.constructor&&"Object"===a.constructor.name||"function"==typeof a.toJSON))}(a)){let b,e,f;b=new WeakMap,e=new WeakMap,f=0,c=JSON.stringify(a,function(a,c){if("bigint"==typeof c)return c.toString();if("object"==typeof c&&null!==c){if(((a,c)=>{let d=c;for(;d;){if(d===a)return!0;d=b.get(d)}return!1})(c,this))return`[Circular ref-${e.get(c)}]`;b.set(c,this),e.has(c)||e.set(c,f++)}return c}),d.set("Content-Type","application/json")}}else null===a&&(c=JSON.stringify(null)),d.set("content-type","application/json");return new Response(c,{...b,headers:d})}var o=c(8975);let p={name:"HMAC",hash:"SHA-256"},q=async a=>{let b="string"==typeof a?new TextEncoder().encode(a):a;return await (0,o.N)().importKey("raw",b,p,!1,["sign","verify"])},r=async(a,b,c)=>{try{let d=atob(a),e=new Uint8Array(d.length);for(let a=0,b=d.length;a<b;a++)e[a]=d.charCodeAt(a);return await (0,o.N)().verify(p,c,e,new TextEncoder().encode(b))}catch(a){return!1}},s=async(a,b)=>{let c=await q(b);return btoa(String.fromCharCode(...new Uint8Array(await (0,o.N)().sign(p.name,c,new TextEncoder().encode(a)))))},t=async(a,b)=>{let c=await s(a,b);return encodeURIComponent(a=`${a}.${c}`)},u=(a,b)=>{let c=a;if(b)if("secure"===b)c="__Secure-"+a;else{if("host"!==b)return;c="__Host-"+a}return c},v=(a,b,c={})=>{let d;if(d=c?.prefix==="secure"?`__Secure-${a}=${b}`:c?.prefix==="host"?`__Host-${a}=${b}`:`${a}=${b}`,a.startsWith("__Secure-")&&!c.secure&&(c.secure=!0),a.startsWith("__Host-")&&(c.secure||(c.secure=!0),"/"!==c.path&&(c.path="/"),c.domain&&(c.domain=void 0)),c&&"number"==typeof c.maxAge&&c.maxAge>=0){if(c.maxAge>3456e4)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");d+=`; Max-Age=${Math.floor(c.maxAge)}`}if(c.domain&&"host"!==c.prefix&&(d+=`; Domain=${c.domain}`),c.path&&(d+=`; Path=${c.path}`),c.expires){if(c.expires.getTime()-Date.now()>3456e7)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");d+=`; Expires=${c.expires.toUTCString()}`}return c.httpOnly&&(d+="; HttpOnly"),c.secure&&(d+="; Secure"),c.sameSite&&(d+=`; SameSite=${c.sameSite.charAt(0).toUpperCase()+c.sameSite.slice(1)}`),c.partitioned&&(c.secure||(c.secure=!0),d+="; Partitioned"),d},w=(a,b,c)=>v(a,b=encodeURIComponent(b),c),x=async(a,b,c,d)=>v(a,b=await t(b,c),d);async function y(a,b={}){let c={body:b.body,query:b.query};if(a.body){let d=await a.body["~standard"].validate(b.body);if(d.issues)return{data:null,error:z(d.issues,"body")};c.body=d.value}if(a.query){let d=await a.query["~standard"].validate(b.query);if(d.issues)return{data:null,error:z(d.issues,"query")};c.query=d.value}return a.requireHeaders&&!b.headers?{data:null,error:{message:"Headers is required",issues:[]}}:a.requireRequest&&!b.request?{data:null,error:{message:"Request is required",issues:[]}}:{data:c,error:null}}function z(a,b){return{message:a.map(a=>`[${a.path?.length?`${b}.`+a.path.map(a=>"object"==typeof a?a.key:a).join("."):b}] ${a.message}`).join("; "),issues:a}}let A=async(a,{options:b,path:c})=>{let d,f=new Headers,{data:g,error:h}=await y(b,a);if(h)throw new e.yI(h.message,h.issues);let i="headers"in a?a.headers instanceof Headers?a.headers:new Headers(a.headers):"request"in a&&j(a.request)?a.request.headers:null,k=i?.get("cookie"),l=k?function(a){if("string"!=typeof a)throw TypeError("argument str must be a string");let b=new Map,c=0;for(;c<a.length;){let d=a.indexOf("=",c);if(-1===d)break;let e=a.indexOf(";",c);if(-1===e)e=a.length;else if(e<d){c=a.lastIndexOf(";",d-1)+1;continue}let f=a.slice(c,d).trim();if(!b.has(f)){let c=a.slice(d+1,e).trim();34===c.codePointAt(0)&&(c=c.slice(1,-1)),b.set(f,function(a){try{return a.includes("%")?decodeURIComponent(a):a}catch{return a}}(c))}c=e+1}return b}(k):void 0,m={...a,body:g.body,query:g.query,path:a.path||c||"virtual:",context:"context"in a&&a.context?a.context:{},returned:void 0,headers:a?.headers,request:a?.request,params:"params"in a?a.params:void 0,method:a.method??(Array.isArray(b.method)?b.method[0]:"*"===b.method?"GET":b.method),setHeader:(a,b)=>{f.set(a,b)},getHeader:a=>i?i.get(a):null,getCookie:(a,b)=>{let c=u(a,b);return c&&l?.get(c)||null},getSignedCookie:async(a,b,c)=>{let d=u(a,c);if(!d)return null;let e=l?.get(d);if(!e)return null;let f=e.lastIndexOf(".");if(f<1)return null;let g=e.substring(0,f),h=e.substring(f+1);return 44===h.length&&h.endsWith("=")?!!await r(h,g,await q(b))&&g:null},setCookie:(a,b,c)=>{let d=w(a,b,c);return f.append("set-cookie",d),d},setSignedCookie:async(a,b,c,d)=>{let e=await x(a,b,c,d);return f.append("set-cookie",e),e},redirect:a=>(f.set("location",a),new e.LG("FOUND",void 0,f)),error:(a,b,c)=>new e.LG(a,b,c),setStatus:a=>{d=a},json:(b,c)=>a.asResponse?{body:c?.body||b,routerResponse:c,_flag:"json"}:b,responseHeaders:f,get responseStatus(){return d}};for(let a of b.use||[]){let b=await a({...m,returnHeaders:!0,asResponse:!1});b.response&&Object.assign(m.context,b.response),b.headers&&b.headers.forEach((a,b)=>{m.responseHeaders.set(b,a)})}return m};function B(a,b,c){let d="string"==typeof a?a:void 0,f="object"==typeof b?b:a,g="function"==typeof b?b:c;if(("GET"===f.method||"HEAD"===f.method)&&f.body)throw new e.xH("Body is not allowed with GET or HEAD methods");if(d&&/\/{2,}/.test(d))throw new e.xH("Path cannot contain consecutive slashes");let j=async(...a)=>{let b=a[0]||{},{data:c,error:j}=await i(A(b,{options:f,path:d}));if(j){if(!(j instanceof e.yI))throw j;throw f.onValidationError&&await f.onValidationError({message:j.message,issues:j.issues}),new e.LG(400,{message:j.message,code:"VALIDATION_ERROR"})}let k=await g(c).catch(async a=>{if(h(a)){let c=f.onAPIError;if(c&&await c(a),b.asResponse)return a}throw a}),l=c.responseHeaders,m=c.responseStatus;return b.asResponse?n(k,{headers:l,status:m}):b.returnHeaders?b.returnStatus?{headers:l,response:k,status:m}:{headers:l,response:k}:b.returnStatus?{response:k,status:m}:k};return j.options=f,j.path=d,j}function C(a,b){let c=async c=>{let d="function"==typeof a?a:b,f=await A(c,{options:"function"==typeof a?{}:a,path:"/"});if(!d)throw Error("handler must be defined");try{let a=await d(f),b=f.responseHeaders;return c.returnHeaders?{headers:b,response:a}:a}catch(a){throw h(a)&&Object.defineProperty(a,e.Ri,{enumerable:!1,configurable:!0,get:()=>f.responseHeaders}),a}};return c.options="function"==typeof a?{}:a,c}B.create=a=>(b,c,d)=>B(b,{...c,use:[...c?.use||[],...a?.use||[]]},d),C.create=a=>function(b,c){if("function"==typeof b)return C({use:a?.use},b);if(!c)throw Error("Middleware handler is required");return C({...b,method:"*",use:[...a?.use||[],...b.use||[]]},c)};var D=c(36220);let E={};function F(a){switch(a.constructor.name){case"ZodString":default:return"string";case"ZodNumber":return"number";case"ZodBoolean":return"boolean";case"ZodObject":return"object";case"ZodArray":return"array"}}function G(a){let b=[];return a.metadata?.openapi?.parameters?b.push(...a.metadata.openapi.parameters):a.query instanceof D.bv&&Object.entries(a.query.shape).forEach(([a,c])=>{c instanceof D.bv&&b.push({name:a,in:"query",schema:{type:F(c),..."minLength"in c&&c.minLength?{minLength:c.minLength}:{},description:c.description}})}),b}function H(a){return{400:{content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}},required:["message"]}}},description:"Bad Request. Usually due to missing parameters, or invalid parameters."},401:{content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}},required:["message"]}}},description:"Unauthorized. Due to missing or invalid authentication."},403:{content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}},description:"Forbidden. You do not have permission to access this resource or to perform this action."},404:{content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}},description:"Not Found. The requested resource was not found."},429:{content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}},description:"Too Many Requests. You have exceeded the rate limit. Try again later."},500:{content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}},description:"Internal Server Error. This is a problem with the server that you cannot fix."},...a}}async function I(a,b){return Object.entries(a).forEach(([a,b])=>{let c=b.options;if(!(!b.path||c.metadata?.SERVER_ONLY)&&("GET"===c.method&&(E[b.path]={get:{tags:["Default",...c.metadata?.openapi?.tags||[]],description:c.metadata?.openapi?.description,operationId:c.metadata?.openapi?.operationId,security:[{bearerAuth:[]}],parameters:G(c),responses:H(c.metadata?.openapi?.responses)}}),"POST"===c.method)){let a=function(a){if(a.metadata?.openapi?.requestBody)return a.metadata.openapi.requestBody;if(a.body&&(a.body instanceof D.bv||a.body instanceof D.Ii)){let b=a.body.shape;if(!b)return;let c={},d=[];return Object.entries(b).forEach(([a,b])=>{b instanceof D.bv&&(c[a]={type:F(b),description:b.description},b instanceof D.Ii||d.push(a))}),{required:!(a.body instanceof D.Ii)&&!!a.body,content:{"application/json":{schema:{type:"object",properties:c,required:d}}}}}}(c);E[b.path]={post:{tags:["Default",...c.metadata?.openapi?.tags||[]],description:c.metadata?.openapi?.description,operationId:c.metadata?.openapi?.operationId,security:[{bearerAuth:[]}],parameters:G(c),...a?{requestBody:a}:{requestBody:{content:{"application/json":{schema:{type:"object",properties:{}}}}}},responses:H(c.metadata?.openapi?.responses)}}}}),{openapi:"3.1.1",info:{title:"Better Auth",description:"API Reference for your Better Auth Instance",version:"1.1.0"},components:{schemas:{}},security:[{apiKeyCookie:[]}],servers:[{url:b?.url}],tags:[{name:"Default",description:"Default endpoints that are included with Better Auth by default. These endpoints are not part of any plugin."}],paths:E}}let J=((d=function(){}).prototype=Object.create(null),Object.freeze(d.prototype),d);function K(){return{root:{key:""},static:new J}}function L(a){let[b,...c]=a.split("/");return""===c[c.length-1]?c.slice(0,-1):c}function M(a,b){let c=new J;for(let[d,e]of b){let b=d<0?a.slice(-(d+1)).join("/"):a[d];if("string"==typeof e)c[e]=b;else{let a=b.match(e);if(a)for(let b in a.groups)c[b]=a.groups[b]}}return c}function N(a,b="",c,d){b=b.toUpperCase(),47!==c.charCodeAt(0)&&(c=`/${c}`);let e=L(c=c.replace(/\\:/g,"%3A")),f=a.root,g=0,h=[],i=[];for(let a=0;a<e.length;a++){let b=e[a];if(b.startsWith("**")){f.wildcard||(f.wildcard={key:"**"}),f=f.wildcard,h.push([-(a+1),b.split(":")[1]||"_",2===b.length]);break}if("*"===b||b.includes(":")){if(f.param||(f.param={key:"*"}),f=f.param,"*"===b)h.push([a,`_${g++}`,!0]);else if(b.includes(":",1)){let c=function(a){let b=a.replace(/:(\w+)/g,(a,b)=>`(?<${b}>[^/]+)`).replace(/\./g,"\\.");return RegExp(`^${b}$`)}(b);i[a]=c,f.hasRegexParam=!0,h.push([a,c,!1])}else h.push([a,b.slice(1),!1]);continue}"\\*"===b?b=e[a]="*":"\\*\\*"===b&&(b=e[a]="**");let c=f.static?.[b];if(c)f=c;else{let a={key:b};f.static||(f.static=new J),f.static[b]=a,f=a}}let j=h.length>0;f.methods||(f.methods=new J),f.methods[b]??=[],f.methods[b].push({data:d||null,paramsRegexp:i,paramsMap:j?h:void 0}),j||(a.static["/"+e.join("/")]=f)}let O=(a,b)=>{if(!b?.openapi?.disabled){let c={path:"/api/reference",...b?.openapi};a.openapi=B(c.path,{method:"GET"},async b=>{let d,e;return new Response((d=await I(a),e=c.scalar,`<!doctype html>
69
+ <html>
70
+ <head>
71
+ <title>Scalar API Reference</title>
72
+ <meta charset="utf-8" />
73
+ <meta
74
+ name="viewport"
75
+ content="width=device-width, initial-scale=1" />
76
+ </head>
77
+ <body>
78
+ <script
79
+ id="api-reference"
80
+ type="application/json">
81
+ ${JSON.stringify(d)}
82
+ </script>
83
+ <script>
84
+ var configuration = {
85
+ favicon: ${e?.logo?`data:image/svg+xml;utf8,${encodeURIComponent(e.logo)}`:void 0} ,
86
+ theme: ${e?.theme||"saturn"},
87
+ metaData: {
88
+ title: ${e?.title||"Open API Reference"},
89
+ description: ${e?.description||"Better Call Open API"},
90
+ }
91
+ }
92
+ document.getElementById('api-reference').dataset.configuration =
93
+ JSON.stringify(configuration)
94
+ </script>
95
+ <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
96
+ </body>
97
+ </html>`),{headers:{"Content-Type":"text/html"}})})}let c=K(),d=K();for(let b of Object.values(a))if(!(!b.options||!b.path||b.options?.metadata?.SERVER_ONLY))for(let a of Array.isArray(b.options?.method)?b.options.method:[b.options?.method])N(c,a,b.path,b);if(b?.routerMiddleware?.length)for(let{path:a,middleware:c}of b.routerMiddleware)N(d,"*",a,c);let e=async a=>{let e=new URL(a.url),f=e.pathname,i=b?.basePath&&"/"!==b.basePath?f.split(b.basePath).reduce((a,c,d)=>(0!==d&&(d>1?a.push(`${b.basePath}${c}`):a.push(c)),a),[]).join(""):e.pathname;if(!i?.length||/\/{2,}/.test(i))return new Response(null,{status:404,statusText:"Not Found"});let j=function(a,b="",c){47===c.charCodeAt(c.length-1)&&(c=c.slice(0,-1));let d=a.static[c];if(d&&d.methods){let a=d.methods[b]||d.methods[""];if(void 0!==a)return a[0]}let e=L(c),f=function a(b,c,d,e,f){if(f===e.length){if(c.methods){let a=c.methods[d]||c.methods[""];if(a)return a}if(c.param&&c.param.methods){let a=c.param.methods[d]||c.param.methods[""];if(a){let b=a[0].paramsMap;if(b?.[b?.length-1]?.[2])return a}}if(c.wildcard&&c.wildcard.methods){let a=c.wildcard.methods[d]||c.wildcard.methods[""];if(a){let b=a[0].paramsMap;if(b?.[b?.length-1]?.[2])return a}}return}let g=e[f];if(c.static){let h=c.static[g];if(h){let c=a(b,h,d,e,f+1);if(c)return c}}if(c.param){let h=a(b,c.param,d,e,f+1);if(h){if(c.param.hasRegexParam){let a=h.find(a=>a.paramsRegexp[f]?.test(g))||h.find(a=>!a.paramsRegexp[f]);return a?[a]:void 0}return h}}if(c.wildcard&&c.wildcard.methods)return c.wildcard.methods[d]||c.wildcard.methods[""]}(a,a.root,b,e,0)?.[0];if(void 0!==f)return{data:f.data,params:f.paramsMap?M(e,f.paramsMap):void 0}}(c,a.method,i);if(i.endsWith("/")!==j?.data?.path?.endsWith("/")&&!b?.skipTrailingSlashes||!j?.data)return new Response(null,{status:404,statusText:"Not Found"});let k={};e.searchParams.forEach((a,b)=>{b in k?Array.isArray(k[b])?k[b].push(a):k[b]=[k[b],a]:k[b]=a});let l=j.data;try{let c=l.options.metadata?.allowedMediaTypes||b?.allowedMediaTypes,e={path:i,method:a.method,headers:a.headers,params:j.params?JSON.parse(JSON.stringify(j.params)):{},request:a,body:l.options.disableBody?void 0:await g(l.options.cloneRequest?a.clone():a,c),query:k,_flag:"router",asResponse:!0,context:b?.routerContext},f=function(a,b="",c){47===c.charCodeAt(c.length-1)&&(c=c.slice(0,-1));let d=L(c);return(function a(b,c,d,e,f,g=[]){let h=e[f];if(c.wildcard&&c.wildcard.methods){let a=c.wildcard.methods[d]||c.wildcard.methods[""];a&&g.push(...a)}if(c.param&&(a(b,c.param,d,e,f+1,g),f===e.length&&c.param.methods)){let a=c.param.methods[d]||c.param.methods[""];if(a){let b=a[0].paramsMap;b?.[b?.length-1]?.[2]&&g.push(...a)}}let i=c.static?.[h];if(i&&a(b,i,d,e,f+1,g),f===e.length&&c.methods){let a=c.methods[d]||c.methods[""];a&&g.push(...a)}return g})(a,a.root,b,d,0).map(a=>({data:a.data,params:a.paramsMap?M(d,a.paramsMap):void 0}))}(d,"*",i);if(f?.length)for(let{data:a,params:b}of f){let c=await a({...e,params:b,asResponse:!1});if(c instanceof Response)return c}return await l(e)}catch(c){if(b?.onError)try{let d=await b.onError(c,a);if(d instanceof Response)return n(d)}catch(a){if(h(a))return n(a);throw a}if(b?.throwError)throw c;if(h(c))return n(c);return console.error("# SERVER_ERROR: ",c),new Response(null,{status:500,statusText:"Internal Server Error"})}};return{handler:async a=>{let c=await b?.onRequest?.(a);if(c instanceof Response)return c;let d=j(c)?c:a,f=await e(d),g=await b?.onResponse?.(f,d);return g instanceof Response?g:f},endpoints:a}}},74098:(a,b,c)=>{c.d(b,{G:()=>e});var d=c(61152);let e=({usePlural:a,schema:b})=>c=>{if(a&&"s"===c.charAt(c.length-1)){let a=c.slice(0,-1),d=b[a]?a:void 0;if(d||(d=Object.entries(b).find(([b,c])=>c.modelName===a)?.[0]),d)return d}let e=b[c]?c:void 0;if(e||(e=Object.entries(b).find(([a,b])=>b.modelName===c)?.[0]),!e)throw new d.$l(`Model "${c}" not found in schema`);return e}},74234:(a,b,c)=>{c.d(b,{t:()=>h});var d=c(99449);let e={eterm:4,cons25:4,console:4,cygwin:4,dtterm:4,gnome:4,hurd:4,jfbterm:4,konsole:4,kterm:4,mlterm:4,mosh:24,putty:4,st:4,"rxvt-unicode-24bit":24,terminator:24,"xterm-kitty":24},f=new Map(Object.entries({APPVEYOR:8,BUILDKITE:8,CIRCLECI:24,DRONE:8,GITEA_ACTIONS:24,GITHUB_ACTIONS:24,GITLAB_CI:8,TRAVIS:8})),g=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function h(){if(void 0!==(0,d.lh)("FORCE_COLOR"))switch((0,d.lh)("FORCE_COLOR")){case"":case"1":case"true":return 4;case"2":return 8;case"3":return 24;default:return 1}if(void 0!==(0,d.lh)("NODE_DISABLE_COLORS")&&""!==(0,d.lh)("NODE_DISABLE_COLORS")||void 0!==(0,d.lh)("NO_COLOR")&&""!==(0,d.lh)("NO_COLOR")||"dumb"===(0,d.lh)("TERM"))return 1;if((0,d.lh)("TMUX"))return 24;if("TF_BUILD"in d._K&&"AGENT_NAME"in d._K)return 4;if("CI"in d._K){for(let{0:a,1:b}of f)if(a in d._K)return b;return"codeship"===(0,d.lh)("CI_NAME")?8:1}if("TEAMCITY_VERSION"in d._K)return null!==/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec((0,d.lh)("TEAMCITY_VERSION"))?4:1;switch((0,d.lh)("TERM_PROGRAM")){case"iTerm.app":if(!(0,d.lh)("TERM_PROGRAM_VERSION")||null!==/^[0-2]\./.exec((0,d.lh)("TERM_PROGRAM_VERSION")))return 8;return 24;case"HyperTerm":case"MacTerm":return 24;case"Apple_Terminal":return 8}if("truecolor"===(0,d.lh)("COLORTERM")||"24bit"===(0,d.lh)("COLORTERM"))return 24;if((0,d.lh)("TERM")){if(null!==/truecolor/.exec((0,d.lh)("TERM")))return 24;if(null!==/^xterm-256/.exec((0,d.lh)("TERM")))return 8;let a=(0,d.lh)("TERM").toLowerCase();if(e[a])return e[a];if(g.some(b=>null!==b.exec(a)))return 4}return(0,d.lh)("COLORTERM")?4:1}},74252:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
98
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},74408:(a,b,c)=>{c.d(b,{f:()=>aD});var d=c(87550),e=c(52022);class f{static [e.i]="ConsoleLogWriter";write(a){console.log(a)}}class g{static [e.i]="DefaultLogger";writer;constructor(a){this.writer=a?.writer??new f}logQuery(a,b){let c=b.map(a=>{try{return JSON.stringify(a)}catch{return String(a)}}),d=c.length?` -- params: [${c.join(", ")}]`:"";this.writer.write(`Query: ${a}${d}`)}}class h{static [e.i]="NoopLogger";logQuery(){}}var i=c(78137),j=c(31537);let k=Symbol.for("drizzle:PgInlineForeignKeys"),l=Symbol.for("drizzle:EnableRLS");class m extends i.XI{static [e.i]="PgTable";static Symbol=Object.assign({},i.XI.Symbol,{InlineForeignKeys:k,EnableRLS:l});[k]=[];[l]=!1;[i.XI.Symbol.ExtraConfigBuilder]=void 0;[i.XI.Symbol.ExtraConfigColumns]={}}class n{static [e.i]="PgPrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new o(a,this.columns,this.name)}}class o{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [e.i]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[m.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}var p=c(19202),q=c(33068),r=c(34974);class s{constructor(a,b,c){this.sourceTable=a,this.referencedTable=b,this.relationName=c,this.referencedTableName=b[i.XI.Symbol.Name]}static [e.i]="Relation";referencedTableName;fieldName}class t{constructor(a,b){this.table=a,this.config=b}static [e.i]="Relations"}class u extends s{constructor(a,b,c,d){super(a,b,c?.relationName),this.config=c,this.isNullable=d}static [e.i]="One";withFieldName(a){let b=new u(this.sourceTable,this.referencedTable,this.config,this.isNullable);return b.fieldName=a,b}}class v extends s{constructor(a,b,c){super(a,b,c?.relationName),this.config=c}static [e.i]="Many";withFieldName(a){let b=new v(this.sourceTable,this.referencedTable,this.config);return b.fieldName=a,b}}function w(a){return{one:function(b,c){return new u(a,b,c,c?.fields.reduce((a,b)=>a&&b.notNull,!0)??!1)},many:function(b,c){return new v(a,b,c)}}}var x=c(89330);class y{constructor(a){this.table=a}static [e.i]="ColumnAliasProxyHandler";get(a,b){return"table"===b?this.table:a[b]}}class z{constructor(a,b){this.alias=a,this.replaceOriginalName=b}static [e.i]="TableAliasProxyHandler";get(a,b){if(b===i.XI.Symbol.IsAlias)return!0;if(b===i.XI.Symbol.Name||this.replaceOriginalName&&b===i.XI.Symbol.OriginalName)return this.alias;if(b===x.n)return{...a[x.n],name:this.alias,isAlias:!0};if(b===i.XI.Symbol.Columns){let b=a[i.XI.Symbol.Columns];if(!b)return b;let c={};return Object.keys(b).map(d=>{c[d]=new Proxy(b[d],new y(new Proxy(a,this)))}),c}let c=a[b];return(0,e.is)(c,j.V)?new Proxy(c,new y(new Proxy(a,this))):c}}class A{constructor(a){this.alias=a}static [e.i]=null;get(a,b){return"sourceTable"===b?B(a.sourceTable,this.alias):a[b]}}function B(a,b){return new Proxy(a,new z(b,!1))}function C(a,b){return new Proxy(a,new y(new Proxy(a.table,new z(b,!1))))}function D(a,b){return new r.Xs.Aliased(E(a.sql,b),a.fieldAlias)}function E(a,b){return r.ll.join(a.queryChunks.map(a=>(0,e.is)(a,j.V)?C(a,b):(0,e.is)(a,r.Xs)?E(a,b):(0,e.is)(a,r.Xs.Aliased)?D(a,b):a))}var F=c(7725);class G{static [e.i]="SelectionProxyHandler";config;constructor(a){this.config={...a}}get(a,b){if("_"===b)return{...a._,selectedFields:new Proxy(a._.selectedFields,this)};if(b===x.n)return{...a[x.n],selectedFields:new Proxy(a[x.n].selectedFields,this)};if("symbol"==typeof b)return a[b];let c=((0,e.is)(a,F.n)?a._.selectedFields:(0,e.is)(a,r.Ss)?a[x.n].selectedFields:a)[b];if((0,e.is)(c,r.Xs.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!c.isSelectionField)return c.sql;let a=c.clone();return a.isSelectionField=!0,a}if((0,e.is)(c,r.Xs)){if("sql"===this.config.sqlBehavior)return c;throw Error(`You tried to reference "${b}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,e.is)(c,j.V)?this.config.alias?new Proxy(c,new y(new Proxy(c.table,new z(this.config.alias,this.config.replaceOriginalName??!1)))):c:"object"!=typeof c||null===c?c:new Proxy(c,new G(this.config))}}function H(a){return(a.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(a=>a.toLowerCase()).join("_")}function I(a){return(a.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((a,b,c)=>a+(0===c?b.toLowerCase():`${b[0].toUpperCase()}${b.slice(1)}`),"")}function J(a){return a}class K{static [e.i]="CasingCache";cache={};cachedTables={};convert;constructor(a){this.convert="snake_case"===a?H:"camelCase"===a?I:J}getColumnCasing(a){if(!a.keyAsName)return a.name;let b=a.table[i.XI.Symbol.Schema]??"public",c=a.table[i.XI.Symbol.OriginalName],d=`${b}.${c}.${a.name}`;return this.cache[d]||this.cacheTable(a.table),this.cache[d]}cacheTable(a){let b=a[i.XI.Symbol.Schema]??"public",c=a[i.XI.Symbol.OriginalName],d=`${b}.${c}`;if(!this.cachedTables[d]){for(let b of Object.values(a[i.XI.Symbol.Columns])){let a=`${d}.${b.name}`;this.cache[a]=this.convert(b.name)}this.cachedTables[d]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class L extends Error{static [e.i]="DrizzleError";constructor({message:a,cause:b}){super(a),this.name="DrizzleError",this.cause=b}}class M extends Error{constructor(a,b,c){super(`Failed query: ${a}
99
+ params: ${b}`),this.query=a,this.params=b,this.cause=c,Error.captureStackTrace(this,M),c&&(this.cause=c)}}class N extends L{static [e.i]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}var O=c(31584),P=c(15198),Q=c(71194);class R extends r.Ss{static [e.i]="SQLiteViewBase"}class S{static [e.i]="SQLiteDialect";casing;constructor(a){this.casing=new K(a?.casing)}escapeName(a){return`"${a.replace(/"/g,'""')}"`}escapeParam(a){return"?"}escapeString(a){return`'${a.replace(/'/g,"''")}'`}buildWithCTE(a){if(!a?.length)return;let b=[(0,r.ll)`with `];for(let[c,d]of a.entries())b.push((0,r.ll)`${r.ll.identifier(d._.alias)} as (${d._.sql})`),c<a.length-1&&b.push((0,r.ll)`, `);return b.push((0,r.ll)` `),r.ll.join(b)}buildDeleteQuery({table:a,where:b,returning:c,withList:d,limit:e,orderBy:f}){let g=this.buildWithCTE(d),h=c?(0,r.ll)` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,i=b?(0,r.ll)` where ${b}`:void 0,j=this.buildOrderBy(f),k=this.buildLimit(e);return(0,r.ll)`${g}delete from ${a}${i}${h}${j}${k}`}buildUpdateSet(a,b){let c=a[i.XI.Symbol.Columns],d=Object.keys(c).filter(a=>void 0!==b[a]||c[a]?.onUpdateFn!==void 0),f=d.length;return r.ll.join(d.flatMap((a,d)=>{let g=c[a],h=g.onUpdateFn?.(),i=b[a]??((0,e.is)(h,r.Xs)?h:r.ll.param(h,g)),j=(0,r.ll)`${r.ll.identifier(this.casing.getColumnCasing(g))} = ${i}`;return d<f-1?[j,r.ll.raw(", ")]:[j]}))}buildUpdateQuery({table:a,set:b,where:c,returning:d,withList:e,joins:f,from:g,limit:h,orderBy:i}){let j=this.buildWithCTE(e),k=this.buildUpdateSet(a,b),l=g&&r.ll.join([r.ll.raw(" from "),this.buildFromTable(g)]),m=this.buildJoins(f),n=d?(0,r.ll)` returning ${this.buildSelection(d,{isSingleTable:!0})}`:void 0,o=c?(0,r.ll)` where ${c}`:void 0,p=this.buildOrderBy(i),q=this.buildLimit(h);return(0,r.ll)`${j}update ${a} set ${k}${l}${m}${o}${n}${p}${q}`}buildSelection(a,{isSingleTable:b=!1}={}){let c=a.length,d=a.flatMap(({field:a},d)=>{let f=[];if((0,e.is)(a,r.Xs.Aliased)&&a.isSelectionField)f.push(r.ll.identifier(a.fieldAlias));else if((0,e.is)(a,r.Xs.Aliased)||(0,e.is)(a,r.Xs)){let c=(0,e.is)(a,r.Xs.Aliased)?a.sql:a;b?f.push(new r.Xs(c.queryChunks.map(a=>(0,e.is)(a,j.V)?r.ll.identifier(this.casing.getColumnCasing(a)):a))):f.push(c),(0,e.is)(a,r.Xs.Aliased)&&f.push((0,r.ll)` as ${r.ll.identifier(a.fieldAlias)}`)}else if((0,e.is)(a,j.V)){let c=a.table[i.XI.Symbol.Name];"SQLiteNumericBigInt"===a.columnType?b?f.push((0,r.ll)`cast(${r.ll.identifier(this.casing.getColumnCasing(a))} as text)`):f.push((0,r.ll)`cast(${r.ll.identifier(c)}.${r.ll.identifier(this.casing.getColumnCasing(a))} as text)`):b?f.push(r.ll.identifier(this.casing.getColumnCasing(a))):f.push((0,r.ll)`${r.ll.identifier(c)}.${r.ll.identifier(this.casing.getColumnCasing(a))}`)}else if((0,e.is)(a,F.n)){let b=Object.entries(a._.selectedFields);if(1===b.length){let c=b[0][1],d=(0,e.is)(c,r.Xs)?c.decoder:(0,e.is)(c,j.V)?{mapFromDriverValue:a=>c.mapFromDriverValue(a)}:c.sql.decoder;d&&(a._.sql.decoder=d)}f.push(a)}return d<c-1&&f.push((0,r.ll)`, `),f});return r.ll.join(d)}buildJoins(a){if(!a||0===a.length)return;let b=[];if(a)for(let[c,d]of a.entries()){0===c&&b.push((0,r.ll)` `);let f=d.table,g=d.on?(0,r.ll)` on ${d.on}`:void 0;if((0,e.is)(f,P.jo)){let a=f[P.jo.Symbol.Name],c=f[P.jo.Symbol.Schema],e=f[P.jo.Symbol.OriginalName],h=a===e?void 0:d.alias;b.push((0,r.ll)`${r.ll.raw(d.joinType)} join ${c?(0,r.ll)`${r.ll.identifier(c)}.`:void 0}${r.ll.identifier(e)}${h&&(0,r.ll)` ${r.ll.identifier(h)}`}${g}`)}else b.push((0,r.ll)`${r.ll.raw(d.joinType)} join ${f}${g}`);c<a.length-1&&b.push((0,r.ll)` `)}return r.ll.join(b)}buildLimit(a){return"object"==typeof a||"number"==typeof a&&a>=0?(0,r.ll)` limit ${a}`:void 0}buildOrderBy(a){let b=[];if(a)for(let[c,d]of a.entries())b.push(d),c<a.length-1&&b.push((0,r.ll)`, `);return b.length>0?(0,r.ll)` order by ${r.ll.join(b)}`:void 0}buildFromTable(a){return(0,e.is)(a,i.XI)&&a[i.XI.Symbol.IsAlias]?(0,r.ll)`${(0,r.ll)`${r.ll.identifier(a[i.XI.Symbol.Schema]??"")}.`.if(a[i.XI.Symbol.Schema])}${r.ll.identifier(a[i.XI.Symbol.OriginalName])} ${r.ll.identifier(a[i.XI.Symbol.Name])}`:a}buildSelectQuery({withList:a,fields:b,fieldsFlat:c,where:d,having:f,table:g,joins:h,orderBy:k,groupBy:l,limit:m,offset:n,distinct:o,setOperators:p}){let q=c??(0,Q.He)(b);for(let a of q){let b;if((0,e.is)(a.field,j.V)&&(0,i.Io)(a.field.table)!==((0,e.is)(g,F.n)?g._.alias:(0,e.is)(g,R)?g[x.n].name:(0,e.is)(g,r.Xs)?void 0:(0,i.Io)(g))&&(b=a.field.table,!h?.some(({alias:a})=>a===(b[i.XI.Symbol.IsAlias]?(0,i.Io)(b):b[i.XI.Symbol.BaseName])))){let b=(0,i.Io)(a.field.table);throw Error(`Your "${a.path.join("->")}" field references a column "${b}"."${a.field.name}", but the table "${b}" is not part of the query! Did you forget to join it?`)}}let s=!h||0===h.length,t=this.buildWithCTE(a),u=o?(0,r.ll)` distinct`:void 0,v=this.buildSelection(q,{isSingleTable:s}),w=this.buildFromTable(g),y=this.buildJoins(h),z=d?(0,r.ll)` where ${d}`:void 0,A=f?(0,r.ll)` having ${f}`:void 0,B=[];if(l)for(let[a,b]of l.entries())B.push(b),a<l.length-1&&B.push((0,r.ll)`, `);let C=B.length>0?(0,r.ll)` group by ${r.ll.join(B)}`:void 0,D=this.buildOrderBy(k),E=this.buildLimit(m),G=n?(0,r.ll)` offset ${n}`:void 0,H=(0,r.ll)`${t}select${u} ${v} from ${w}${y}${z}${C}${A}${D}${E}${G}`;return p.length>0?this.buildSetOperations(H,p):H}buildSetOperations(a,b){let[c,...d]=b;if(!c)throw Error("Cannot pass undefined values to any set operator");return 0===d.length?this.buildSetOperationQuery({leftSelect:a,setOperator:c}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:a,setOperator:c}),d)}buildSetOperationQuery({leftSelect:a,setOperator:{type:b,isAll:c,rightSelect:d,limit:f,orderBy:g,offset:h}}){let i,j=(0,r.ll)`${a.getSQL()} `,k=(0,r.ll)`${d.getSQL()}`;if(g&&g.length>0){let a=[];for(let b of g)if((0,e.is)(b,O.v))a.push(r.ll.identifier(b.name));else if((0,e.is)(b,r.Xs)){for(let a=0;a<b.queryChunks.length;a++){let c=b.queryChunks[a];(0,e.is)(c,O.v)&&(b.queryChunks[a]=r.ll.identifier(this.casing.getColumnCasing(c)))}a.push((0,r.ll)`${b}`)}else a.push((0,r.ll)`${b}`);i=(0,r.ll)` order by ${r.ll.join(a,(0,r.ll)`, `)}`}let l="object"==typeof f||"number"==typeof f&&f>=0?(0,r.ll)` limit ${f}`:void 0,m=r.ll.raw(`${b} ${c?"all ":""}`),n=h?(0,r.ll)` offset ${h}`:void 0;return(0,r.ll)`${j}${m}${k}${i}${l}${n}`}buildInsertQuery({table:a,values:b,onConflict:c,returning:d,withList:f,select:g}){let h=[],j=Object.entries(a[i.XI.Symbol.Columns]).filter(([a,b])=>!b.shouldDisableInsert()),k=j.map(([,a])=>r.ll.identifier(this.casing.getColumnCasing(a)));if(g)(0,e.is)(b,r.Xs)?h.push(b):h.push(b.getSQL());else for(let[a,c]of(h.push(r.ll.raw("values ")),b.entries())){let d=[];for(let[a,b]of j){let f=c[a];if(void 0===f||(0,e.is)(f,r.Iw)&&void 0===f.value){let a;if(null!==b.default&&void 0!==b.default)a=(0,e.is)(b.default,r.Xs)?b.default:r.ll.param(b.default,b);else if(void 0!==b.defaultFn){let c=b.defaultFn();a=(0,e.is)(c,r.Xs)?c:r.ll.param(c,b)}else if(b.default||void 0===b.onUpdateFn)a=(0,r.ll)`null`;else{let c=b.onUpdateFn();a=(0,e.is)(c,r.Xs)?c:r.ll.param(c,b)}d.push(a)}else d.push(f)}h.push(d),a<b.length-1&&h.push((0,r.ll)`, `)}let l=this.buildWithCTE(f),m=r.ll.join(h),n=d?(0,r.ll)` returning ${this.buildSelection(d,{isSingleTable:!0})}`:void 0,o=c?.length?r.ll.join(c):void 0;return(0,r.ll)`${l}insert into ${a} ${k} ${m}${o}${n}`}sqlToQuery(a,b){return a.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:b})}buildRelationalQuery({fullSchema:a,schema:b,tableNamesMap:c,table:d,tableConfig:f,queryConfig:g,tableAlias:h,nestedQueryRelation:k,joinOn:l}){let m,n=[],o,s,t=[],w,x=[];if(!0===g)n=Object.entries(f.columns).map(([a,b])=>({dbKey:b.name,tsKey:a,field:C(b,h),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let d=Object.fromEntries(Object.entries(f.columns).map(([a,b])=>[a,C(b,h)]));if(g.where){let a="function"==typeof g.where?g.where(d,{and:p.Uo,between:p.Tq,eq:p.eq,exists:p.t2,gt:p.gt,gte:p.RO,ilike:p.B3,inArray:p.RV,isNull:p.kZ,isNotNull:p.Pe,like:p.mj,lt:p.lt,lte:p.wJ,ne:p.ne,not:p.AU,notBetween:p.o8,notExists:p.KJ,notLike:p.RK,notIlike:p.q1,notInArray:p.KL,or:p.or,sql:r.ll}):g.where;w=a&&E(a,h)}let k=[],l=[];if(g.columns){let a=!1;for(let[b,c]of Object.entries(g.columns))void 0!==c&&b in f.columns&&(a||!0!==c||(a=!0),l.push(b));l.length>0&&(l=a?l.filter(a=>g.columns?.[a]===!0):Object.keys(f.columns).filter(a=>!l.includes(a)))}else l=Object.keys(f.columns);for(let a of l){let b=f.columns[a];k.push({tsKey:a,value:b})}let m=[];if(g.with&&(m=Object.entries(g.with).filter(a=>!!a[1]).map(([a,b])=>({tsKey:a,queryConfig:b,relation:f.relations[a]}))),g.extras)for(let[a,b]of Object.entries("function"==typeof g.extras?g.extras(d,{sql:r.ll}):g.extras))k.push({tsKey:a,value:D(b,h)});for(let{tsKey:a,value:b}of k)n.push({dbKey:(0,e.is)(b,r.Xs.Aliased)?b.fieldAlias:f.columns[a].name,tsKey:a,field:(0,e.is)(b,j.V)?C(b,h):b,relationTableTsKey:void 0,isJson:!1,selection:[]});let v="function"==typeof g.orderBy?g.orderBy(d,{sql:r.ll,asc:q.Y,desc:q.i}):g.orderBy??[];for(let{tsKey:d,queryConfig:f,relation:k}of(Array.isArray(v)||(v=[v]),t=v.map(a=>(0,e.is)(a,j.V)?C(a,h):E(a,h)),o=g.limit,s=g.offset,m)){let g=function(a,b,c){if((0,e.is)(c,u)&&c.config)return{fields:c.config.fields,references:c.config.references};let d=b[(0,i.Lf)(c.referencedTable)];if(!d)throw Error(`Table "${c.referencedTable[i.XI.Symbol.Name]}" not found in schema`);let f=a[d];if(!f)throw Error(`Table "${d}" not found in schema`);let g=c.sourceTable,h=b[(0,i.Lf)(g)];if(!h)throw Error(`Table "${g[i.XI.Symbol.Name]}" not found in schema`);let j=[];for(let a of Object.values(f.relations))(c.relationName&&c!==a&&a.relationName===c.relationName||!c.relationName&&a.referencedTable===c.sourceTable)&&j.push(a);if(j.length>1)throw c.relationName?Error(`There are multiple relations with name "${c.relationName}" in table "${d}"`):Error(`There are multiple relations between "${d}" and "${c.sourceTable[i.XI.Symbol.Name]}". Please specify relation name`);if(j[0]&&(0,e.is)(j[0],u)&&j[0].config)return{fields:j[0].config.references,references:j[0].config.fields};throw Error(`There is not enough information to infer relation "${h}.${c.fieldName}"`)}(b,c,k),j=c[(0,i.Lf)(k.referencedTable)],l=`${h}_${d}`,m=(0,p.Uo)(...g.fields.map((a,b)=>(0,p.eq)(C(g.references[b],l),C(a,h)))),o=this.buildRelationalQuery({fullSchema:a,schema:b,tableNamesMap:c,table:a[j],tableConfig:b[j],queryConfig:(0,e.is)(k,u)?!0===f?{limit:1}:{...f,limit:1}:f,tableAlias:l,joinOn:m,nestedQueryRelation:k}),q=(0,r.ll)`(${o.sql})`.as(d);n.push({dbKey:d,tsKey:d,field:q,relationTableTsKey:j,isJson:!0,selection:o.selection})}}if(0===n.length)throw new L({message:`No fields selected for table "${f.tsName}" ("${h}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});if(w=(0,p.Uo)(l,w),k){let a=(0,r.ll)`json_array(${r.ll.join(n.map(({field:a})=>(0,e.is)(a,O.v)?r.ll.identifier(this.casing.getColumnCasing(a)):(0,e.is)(a,r.Xs.Aliased)?a.sql:a),(0,r.ll)`, `)})`;(0,e.is)(k,v)&&(a=(0,r.ll)`coalesce(json_group_array(${a}), json_array())`);let b=[{dbKey:"data",tsKey:"data",field:a.as("data"),isJson:!0,relationTableTsKey:f.tsName,selection:n}];void 0!==o||void 0!==s||t.length>0?(m=this.buildSelectQuery({table:B(d,h),fields:{},fieldsFlat:[{path:[],field:r.ll.raw("*")}],where:w,limit:o,offset:s,orderBy:t,setOperators:[]}),w=void 0,o=void 0,s=void 0,t=void 0):m=B(d,h),m=this.buildSelectQuery({table:(0,e.is)(m,P.jo)?m:new F.n(m,{},h),fields:{},fieldsFlat:b.map(({field:a})=>({path:[],field:(0,e.is)(a,j.V)?C(a,h):a})),joins:x,where:w,limit:o,offset:s,orderBy:t,setOperators:[]})}else m=this.buildSelectQuery({table:B(d,h),fields:{},fieldsFlat:n.map(({field:a})=>({path:[],field:(0,e.is)(a,j.V)?C(a,h):a})),joins:x,where:w,limit:o,offset:s,orderBy:t,setOperators:[]});return{tableTsKey:f.tsName,sql:m,selection:n}}}class T extends S{static [e.i]="SQLiteSyncDialect";migrate(a,b,c){let d=void 0===c||"string"==typeof c?"__drizzle_migrations":c.migrationsTable??"__drizzle_migrations",e=(0,r.ll)`
100
+ CREATE TABLE IF NOT EXISTS ${r.ll.identifier(d)} (
101
+ id SERIAL PRIMARY KEY,
102
+ hash text NOT NULL,
103
+ created_at numeric
104
+ )
105
+ `;b.run(e);let f=b.values((0,r.ll)`SELECT id, hash, created_at FROM ${r.ll.identifier(d)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;b.run((0,r.ll)`BEGIN`);try{for(let c of a)if(!f||Number(f[2])<c.folderMillis){for(let a of c.sql)b.run(r.ll.raw(a));b.run((0,r.ll)`INSERT INTO ${r.ll.identifier(d)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}b.run((0,r.ll)`COMMIT`)}catch(a){throw b.run((0,r.ll)`ROLLBACK`),a}}}class U extends null{static [e.i]=null;async migrate(a,b,c){let d=void 0===c||"string"==typeof c?"__drizzle_migrations":c.migrationsTable??"__drizzle_migrations",e=sql`
106
+ CREATE TABLE IF NOT EXISTS ${sql.identifier(d)} (
107
+ id SERIAL PRIMARY KEY,
108
+ hash text NOT NULL,
109
+ created_at numeric
110
+ )
111
+ `;await b.run(e);let f=(await b.values(sql`SELECT id, hash, created_at FROM ${sql.identifier(d)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await b.transaction(async b=>{for(let c of a)if(!f||Number(f[2])<c.folderMillis){for(let a of c.sql)await b.run(sql.raw(a));await b.run(sql`INSERT INTO ${sql.identifier(d)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}class V{static [e.i]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class W{static [e.i]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(a){return this.then(void 0,a)}finally(a){return this.then(b=>(a?.(),b),b=>{throw a?.(),b})}then(a,b){return this.execute().then(a,b)}}function X(a){return(0,e.is)(a,P.jo)?[`${a[i.XI.Symbol.BaseName]}`]:(0,e.is)(a,F.n)?a._.usedTables??[]:(0,e.is)(a,r.Xs)?a.usedTables??[]:[]}class Y{static [e.i]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(a){this.fields=a.fields,this.session=a.session,this.dialect=a.dialect,this.withList=a.withList,this.distinct=a.distinct}from(a){let b,c=!!this.fields;return b=this.fields?this.fields:(0,e.is)(a,F.n)?Object.fromEntries(Object.keys(a._.selectedFields).map(b=>[b,a[b]])):(0,e.is)(a,R)?a[x.n].selectedFields:(0,e.is)(a,r.Xs)?{}:(0,Q.YD)(a),new $({table:a,fields:b,isPartialSelect:c,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class Z extends V{static [e.i]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:a,fields:b,isPartialSelect:c,session:d,dialect:e,withList:f,distinct:g}){for(const h of(super(),this.config={withList:f,table:a,fields:{...b},distinct:g,setOperators:[]},this.isPartialSelect=c,this.session=d,this.dialect=e,this._={selectedFields:b,config:this.config},this.tableName=(0,Q.zN)(a),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},X(a)))this.usedTables.add(h)}getUsedTables(){return[...this.usedTables]}createJoin(a){return(b,c)=>{let d=this.tableName,f=(0,Q.zN)(b);for(let a of X(b))this.usedTables.add(a);if("string"==typeof f&&this.config.joins?.some(a=>a.alias===f))throw Error(`Alias "${f}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof d&&(this.config.fields={[d]:this.config.fields}),"string"==typeof f&&!(0,e.is)(b,r.Xs))){let a=(0,e.is)(b,F.n)?b._.selectedFields:(0,e.is)(b,r.Ss)?b[x.n].selectedFields:b[i.XI.Symbol.Columns];this.config.fields[f]=a}if("function"==typeof c&&(c=c(new Proxy(this.config.fields,new G({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:c,table:b,joinType:a,alias:f}),"string"==typeof f)switch(a){case"left":this.joinsNotNullableMap[f]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[f]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[f]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[f]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(a,b){return c=>{let d="function"==typeof c?c(aa()):c;if(!(0,Q.DV)(this.getSelectedFields(),d.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:a,isAll:b,rightSelect:d}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(a){return this.config.setOperators.push(...a),this}where(a){return"function"==typeof a&&(a=a(new Proxy(this.config.fields,new G({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=a,this}having(a){return"function"==typeof a&&(a=a(new Proxy(this.config.fields,new G({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=a,this}groupBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.fields,new G({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(b)?b:[b]}else this.config.groupBy=a;return this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.fields,new G({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=c:this.config.orderBy=c}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=a:this.config.orderBy=a;return this}limit(a){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=a:this.config.limit=a,this}offset(a){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=a:this.config.offset=a,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}as(a){let b=[];if(b.push(...X(this.config.table)),this.config.joins)for(let a of this.config.joins)b.push(...X(a.table));return new Proxy(new F.n(this.getSQL(),this.config.fields,a,!1,[...new Set(b)]),new G({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new G({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class $ extends Z{static [e.i]="SQLiteSelect";_prepare(a=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let b=(0,Q.He)(this.config.fields),c=this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),b,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return c.joinsNotNullableMap=this.joinsNotNullableMap,c}$withCache(a){return this.cacheConfig=void 0===a?{config:{},enable:!0,autoInvalidate:!0}:!1===a?{enable:!1}:{enable:!0,autoInvalidate:!0,...a},this}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.all()}}function _(a,b){return(c,d,...e)=>{let f=[d,...e].map(c=>({type:a,isAll:b,rightSelect:c}));for(let a of f)if(!(0,Q.DV)(c.getSelectedFields(),a.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return c.addSetOperators(f)}}(0,Q.XJ)($,[W]);let aa=()=>({union:ab,unionAll:ac,intersect:ad,except:ae}),ab=_("union",!1),ac=_("union",!0),ad=_("intersect",!1),ae=_("except",!1);class af{static [e.i]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(a){this.dialect=(0,e.is)(a,S)?a:void 0,this.dialectConfig=(0,e.is)(a,S)?void 0:a}$with=(a,b)=>{let c=this;return{as:d=>("function"==typeof d&&(d=d(c)),new Proxy(new F.J(d.getSQL(),b??("getSelectedFields"in d?d.getSelectedFields()??{}:{}),a,!0),new G({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...a){let b=this;return{select:function(c){return new Y({fields:c??void 0,session:void 0,dialect:b.getDialect(),withList:a})},selectDistinct:function(c){return new Y({fields:c??void 0,session:void 0,dialect:b.getDialect(),withList:a,distinct:!0})}}}select(a){return new Y({fields:a??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(a){return new Y({fields:a??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new T(this.dialectConfig)),this.dialect}}class ag{constructor(a,b,c,d){this.table=a,this.session=b,this.dialect=c,this.withList=d}static [e.i]="SQLiteUpdateBuilder";set(a){return new ah(this.table,(0,Q.q)(this.table,a),this.session,this.dialect,this.withList)}}class ah extends W{constructor(a,b,c,d,e){super(),this.session=c,this.dialect=d,this.config={set:b,table:a,withList:e,joins:[]}}static [e.i]="SQLiteUpdate";config;from(a){return this.config.from=a,this}createJoin(a){return(b,c)=>{let d=(0,Q.zN)(b);if("string"==typeof d&&this.config.joins.some(a=>a.alias===d))throw Error(`Alias "${d}" is already used in this query`);if("function"==typeof c){let a=this.config.from?(0,e.is)(b,P.jo)?b[i.XI.Symbol.Columns]:(0,e.is)(b,F.n)?b._.selectedFields:(0,e.is)(b,R)?b[x.n].selectedFields:void 0:void 0;c=c(new Proxy(this.config.table[i.XI.Symbol.Columns],new G({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),a&&new Proxy(a,new G({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:c,table:b,joinType:a,alias:d}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(a){return this.config.where=a,this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.table[i.XI.Symbol.Columns],new G({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.orderBy=c}else this.config.orderBy=a;return this}limit(a){return this.config.limit=a,this}returning(a=this.config.table[P.jo.Symbol.Columns]){return this.config.returning=(0,Q.He)(a),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:X(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class ai{constructor(a,b,c,d){this.table=a,this.session=b,this.dialect=c,this.withList=d}static [e.i]="SQLiteInsertBuilder";values(a){if(0===(a=Array.isArray(a)?a:[a]).length)throw Error("values() must be called with at least one value");let b=a.map(a=>{let b={},c=this.table[i.XI.Symbol.Columns];for(let d of Object.keys(a)){let f=a[d];b[d]=(0,e.is)(f,r.Xs)?f:new r.Iw(f,c[d])}return b});return new aj(this.table,b,this.session,this.dialect,this.withList)}select(a){let b="function"==typeof a?a(new af):a;if(!(0,e.is)(b,r.Xs)&&!(0,Q.DV)(this.table[i.e],b._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new aj(this.table,b,this.session,this.dialect,this.withList,!0)}}class aj extends W{constructor(a,b,c,d,e,f){super(),this.session=c,this.dialect=d,this.config={table:a,values:b,withList:e,select:f}}static [e.i]="SQLiteInsert";config;returning(a=this.config.table[P.jo.Symbol.Columns]){return this.config.returning=(0,Q.He)(a),this}onConflictDoNothing(a={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===a.target)this.config.onConflict.push((0,r.ll)` on conflict do nothing`);else{let b=Array.isArray(a.target)?(0,r.ll)`${a.target}`:(0,r.ll)`${[a.target]}`,c=a.where?(0,r.ll)` where ${a.where}`:(0,r.ll)``;this.config.onConflict.push((0,r.ll)` on conflict ${b} do nothing${c}`)}return this}onConflictDoUpdate(a){if(a.where&&(a.targetWhere||a.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let b=a.where?(0,r.ll)` where ${a.where}`:void 0,c=a.targetWhere?(0,r.ll)` where ${a.targetWhere}`:void 0,d=a.setWhere?(0,r.ll)` where ${a.setWhere}`:void 0,e=Array.isArray(a.target)?(0,r.ll)`${a.target}`:(0,r.ll)`${[a.target]}`,f=this.dialect.buildUpdateSet(this.config.table,(0,Q.q)(this.config.table,a.set));return this.config.onConflict.push((0,r.ll)` on conflict ${e}${c} do update set ${f}${b}${d}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:X(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class ak extends W{constructor(a,b,c,d){super(),this.table=a,this.session=b,this.dialect=c,this.config={table:a,withList:d}}static [e.i]="SQLiteDelete";config;where(a){return this.config.where=a,this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.table[i.XI.Symbol.Columns],new G({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.orderBy=c}else this.config.orderBy=a;return this}limit(a){return this.config.limit=a,this}returning(a=this.table[P.jo.Symbol.Columns]){return this.config.returning=(0,Q.He)(a),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:X(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(a){return this._prepare().execute(a)}$dynamic(){return this}}class al extends r.Xs{constructor(a){super(al.buildEmbeddedCount(a.source,a.filters).queryChunks),this.params=a,this.session=a.session,this.sql=al.buildCount(a.source,a.filters)}sql;static [e.i]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(a,b){return(0,r.ll)`(select count(*) from ${a}${r.ll.raw(" where ").if(b)}${b})`}static buildCount(a,b){return(0,r.ll)`select count(*) from ${a}${r.ll.raw(" where ").if(b)}${b}`}then(a,b){return Promise.resolve(this.session.count(this.sql)).then(a,b)}catch(a){return this.then(void 0,a)}finally(a){return this.then(b=>(a?.(),b),b=>{throw a?.(),b})}}class am{constructor(a,b,c,d,e,f,g,h){this.mode=a,this.fullSchema=b,this.schema=c,this.tableNamesMap=d,this.table=e,this.tableConfig=f,this.dialect=g,this.session=h}static [e.i]="SQLiteAsyncRelationalQueryBuilder";findMany(a){return"sync"===this.mode?new ao(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a||{},"many"):new an(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a||{},"many")}findFirst(a){return"sync"===this.mode?new ao(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a?{...a,limit:1}:{limit:1},"first"):new an(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a?{...a,limit:1}:{limit:1},"first")}}class an extends W{constructor(a,b,c,d,e,f,g,h,i){super(),this.fullSchema=a,this.schema=b,this.tableNamesMap=c,this.table=d,this.tableConfig=e,this.dialect=f,this.session=g,this.config=h,this.mode=i}static [e.i]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(a=!1){let{query:b,builtQuery:c}=this._toSQL();return this.session[a?"prepareOneTimeQuery":"prepareQuery"](c,void 0,"first"===this.mode?"get":"all",!0,(a,c)=>{let d=a.map(a=>(function a(b,c,d,f,g=a=>a){let h={};for(let[i,k]of f.entries())if(k.isJson){let f=c.relations[k.tsKey],j=d[i],l="string"==typeof j?JSON.parse(j):j;h[k.tsKey]=(0,e.is)(f,u)?l&&a(b,b[k.relationTableTsKey],l,k.selection,g):l.map(c=>a(b,b[k.relationTableTsKey],c,k.selection,g))}else{let a,b=g(d[i]),c=k.field;a=(0,e.is)(c,j.V)?c:(0,e.is)(c,r.Xs)?c.decoder:c.sql.decoder,h[k.tsKey]=null===b?null:a.mapFromDriverValue(b)}return h})(this.schema,this.tableConfig,a,b.selection,c));return"first"===this.mode?d[0]:d})}prepare(){return this._prepare(!1)}_toSQL(){let a=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),b=this.dialect.sqlToQuery(a.sql);return{query:a,builtQuery:b}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class ao extends an{static [e.i]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class ap extends W{constructor(a,b,c,d,e){super(),this.execute=a,this.getSQL=b,this.dialect=d,this.mapBatchResult=e,this.config={action:c}}static [e.i]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(a,b){return b?this.mapBatchResult(a):a}_prepare(){return this}isResponseInArrayMode(){return!1}}class aq{constructor(a,b,c,d){this.resultKind=a,this.dialect=b,this.session=c,this._=d?{schema:d.schema,fullSchema:d.fullSchema,tableNamesMap:d.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const e=this.query;if(this._.schema)for(const[f,g]of Object.entries(this._.schema))e[f]=new am(a,d.fullSchema,this._.schema,this._.tableNamesMap,d.fullSchema[f],g,b,c);this.$cache={invalidate:async a=>{}}}static [e.i]="BaseSQLiteDatabase";query;$with=(a,b)=>{let c=this;return{as:d=>("function"==typeof d&&(d=d(new af(c.dialect))),new Proxy(new F.J(d.getSQL(),b??("getSelectedFields"in d?d.getSelectedFields()??{}:{}),a,!0),new G({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(a,b){return new al({source:a,filters:b,session:this.session})}with(...a){let b=this;return{select:function(c){return new Y({fields:c??void 0,session:b.session,dialect:b.dialect,withList:a})},selectDistinct:function(c){return new Y({fields:c??void 0,session:b.session,dialect:b.dialect,withList:a,distinct:!0})},update:function(c){return new ag(c,b.session,b.dialect,a)},insert:function(c){return new ai(c,b.session,b.dialect,a)},delete:function(c){return new ak(c,b.session,b.dialect,a)}}}select(a){return new Y({fields:a??void 0,session:this.session,dialect:this.dialect})}selectDistinct(a){return new Y({fields:a??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(a){return new ag(a,this.session,this.dialect)}$cache;insert(a){return new ai(a,this.session,this.dialect)}delete(a){return new ak(a,this.session,this.dialect)}run(a){let b="string"==typeof a?r.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ap(async()=>this.session.run(b),()=>b,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(b)}all(a){let b="string"==typeof a?r.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ap(async()=>this.session.all(b),()=>b,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(b)}get(a){let b="string"==typeof a?r.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ap(async()=>this.session.get(b),()=>b,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(b)}values(a){let b="string"==typeof a?r.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ap(async()=>this.session.values(b),()=>b,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(b)}transaction(a,b){return this.session.transaction(a,b)}}class ar{static [e.i]="Cache"}class as extends ar{strategy(){return"all"}static [e.i]="NoopCache";async get(a){}async put(a,b,c,d){}async onMutate(a){}}async function at(a,b){let c=`${a}-${JSON.stringify(b)}`,d=new TextEncoder().encode(c);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",d))].map(a=>a.toString(16).padStart(2,"0")).join("")}class au extends W{constructor(a){super(),this.resultCb=a}static [e.i]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class av{constructor(a,b,c,d,e,f){this.mode=a,this.executeMethod=b,this.query=c,this.cache=d,this.queryMetadata=e,this.cacheConfig=f,d&&"all"===d.strategy()&&void 0===f&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [e.i]="PreparedQuery";joinsNotNullableMap;async queryWithCache(a,b,c){if(void 0===this.cache||(0,e.is)(this.cache,as)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await c()}catch(c){throw new M(a,b,c)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[a]=await Promise.all([c(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return a}catch(c){throw new M(a,b,c)}if(!this.cacheConfig)try{return await c()}catch(c){throw new M(a,b,c)}if("select"===this.queryMetadata.type){let d=await this.cache.get(this.cacheConfig.tag??await at(a,b),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===d){let d;try{d=await c()}catch(c){throw new M(a,b,c)}return await this.cache.put(this.cacheConfig.tag??await at(a,b),d,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),d}return d}try{return await c()}catch(c){throw new M(a,b,c)}}getQuery(){return this.query}mapRunResult(a,b){return a}mapAllResult(a,b){throw Error("Not implemented")}mapGetResult(a,b){throw Error("Not implemented")}execute(a){return"async"===this.mode?this[this.executeMethod](a):new au(()=>this[this.executeMethod](a))}mapResult(a,b){switch(this.executeMethod){case"run":return this.mapRunResult(a,b);case"all":return this.mapAllResult(a,b);case"get":return this.mapGetResult(a,b)}}}class aw{constructor(a){this.dialect=a}static [e.i]="SQLiteSession";prepareOneTimeQuery(a,b,c,d,e,f,g){return this.prepareQuery(a,b,c,d,e,f,g)}run(a){let b=this.dialect.sqlToQuery(a);try{return this.prepareOneTimeQuery(b,void 0,"run",!1).run()}catch(a){throw new L({cause:a,message:`Failed to run the query '${b.sql}'`})}}extractRawRunValueFromBatchResult(a){return a}all(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(a){throw Error("Not implemented")}get(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(a){throw Error("Not implemented")}values(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).values()}async count(a){return(await this.values(a))[0][0]}extractRawValuesValueFromBatchResult(a){throw Error("Not implemented")}}class ax extends aq{constructor(a,b,c,d,e=0){super(a,b,c,d),this.schema=d,this.nestedIndex=e}static [e.i]="SQLiteTransaction";rollback(){throw new N}}class ay extends aw{constructor(a,b,c,d={}){super(b),this.client=a,this.schema=c,this.logger=d.logger??new h,this.cache=d.cache??new as}static [e.i]="BetterSQLiteSession";logger;cache;prepareQuery(a,b,c,d,e,f,g){return new aA(this.client.prepare(a.sql),a,this.logger,this.cache,f,g,b,c,d,e)}transaction(a,b={}){let c=new az("sync",this.dialect,this,this.schema);return this.client.transaction(a)[b.behavior??"deferred"](c)}}class az extends ax{static [e.i]="BetterSQLiteTransaction";transaction(a){let b=`sp${this.nestedIndex}`,c=new az("sync",this.dialect,this.session,this.schema,this.nestedIndex+1);this.session.run(r.ll.raw(`savepoint ${b}`));try{let d=a(c);return this.session.run(r.ll.raw(`release savepoint ${b}`)),d}catch(a){throw this.session.run(r.ll.raw(`rollback to savepoint ${b}`)),a}}}class aA extends av{constructor(a,b,c,d,e,f,g,h,i,j){super("sync",h,b,d,e,f),this.stmt=a,this.logger=c,this.fields=g,this._isResponseInArrayMode=i,this.customResultMapper=j}static [e.i]="BetterSQLitePreparedQuery";run(a){let b=(0,r.Ct)(this.query.params,a??{});return this.logger.logQuery(this.query.sql,b),this.stmt.run(...b)}all(a){let{fields:b,joinsNotNullableMap:c,query:d,logger:e,stmt:f,customResultMapper:g}=this;if(!b&&!g){let b=(0,r.Ct)(d.params,a??{});return e.logQuery(d.sql,b),f.all(...b)}let h=this.values(a);return g?g(h):h.map(a=>(0,Q.a6)(b,a,c))}get(a){let b=(0,r.Ct)(this.query.params,a??{});this.logger.logQuery(this.query.sql,b);let{fields:c,stmt:d,joinsNotNullableMap:e,customResultMapper:f}=this;if(!c&&!f)return d.get(...b);let g=d.raw().get(...b);if(g)return f?f([g]):(0,Q.a6)(c,g,e)}values(a){let b=(0,r.Ct)(this.query.params,a??{});return this.logger.logQuery(this.query.sql,b),this.stmt.raw().all(...b)}isResponseInArrayMode(){return this._isResponseInArrayMode}}class aB extends aq{static [e.i]="BetterSQLite3Database"}function aC(a,b={}){let c,d,f=new T({casing:b.casing});if(!0===b.logger?c=new g:!1!==b.logger&&(c=b.logger),b.schema){let a=function(a,b){1===Object.keys(a).length&&"default"in a&&!(0,e.is)(a.default,i.XI)&&(a=a.default);let c={},d={},f={};for(let[g,h]of Object.entries(a))if((0,e.is)(h,i.XI)){let a=(0,i.Lf)(h),b=d[a];for(let d of(c[a]=g,f[g]={tsName:g,dbName:h[i.XI.Symbol.Name],schema:h[i.XI.Symbol.Schema],columns:h[i.XI.Symbol.Columns],relations:b?.relations??{},primaryKey:b?.primaryKey??[]},Object.values(h[i.XI.Symbol.Columns])))d.primary&&f[g].primaryKey.push(d);let j=h[i.XI.Symbol.ExtraConfigBuilder]?.(h[i.XI.Symbol.ExtraConfigColumns]);if(j)for(let a of Object.values(j))(0,e.is)(a,n)&&f[g].primaryKey.push(...a.columns)}else if((0,e.is)(h,t)){let a,e=(0,i.Lf)(h.table),g=c[e];for(let[c,i]of Object.entries(h.config(b(h.table))))if(g){let b=f[g];b.relations[c]=i,a&&b.primaryKey.push(...a)}else e in d||(d[e]={relations:{},primaryKey:a}),d[e].relations[c]=i}return{tables:f,tableNamesMap:c}}(b.schema,w);d={fullSchema:b.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let h=new ay(a,f,d,{logger:c}),j=new aB("sync",f,h,d);return j.$client=a,j}function aD(...a){if(void 0===a[0]||"string"==typeof a[0])return aC(void 0===a[0]?new d:new d(a[0]),a[1]);if((0,Q.Lq)(a[0])){let{connection:b,client:c,...e}=a[0];if(c)return aC(c,e);if("object"==typeof b){let{source:a,...c}=b;return aC(new d(a,c),e)}return aC(new d(b),e)}return aC(a[0],a[1])}(aD||(aD={})).mock=function(a){return aC({},a)}},75560:(a,b,c)=>{function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"forbidden",{enumerable:!0,get:function(){return d}}),c(55640).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},76070:(a,b,c)=>{c.d(b,{OU:()=>k});var d=c(99002),e=c(6881),f=c(15542),g=c(43585),h=c(70877),i=c(72104),j=c(57702);class k{#N;constructor(a){this.#N=(0,e.CN)(a)}when(...a){return new l({...this.#N,node:g.P.cloneWithWhen(this.#N.node,h.t.create((0,i.GB)(a)))})}whenRef(a,b,c){return new l({...this.#N,node:g.P.cloneWithWhen(this.#N.node,h.t.create((0,i.vC)(a,b,c)))})}}class l{#N;constructor(a){this.#N=(0,e.CN)(a)}then(a){return new m({...this.#N,node:g.P.cloneWithThen(this.#N.node,(0,j.qH)(a)?(0,j.dJ)(a):(0,j.$s)(a))})}thenRef(a){return new m({...this.#N,node:g.P.cloneWithThen(this.#N.node,(0,f.$O)(a))})}}class m{#N;constructor(a){this.#N=(0,e.CN)(a)}when(...a){return new l({...this.#N,node:g.P.cloneWithWhen(this.#N.node,h.t.create((0,i.GB)(a)))})}whenRef(a,b,c){return new l({...this.#N,node:g.P.cloneWithWhen(this.#N.node,h.t.create((0,i.vC)(a,b,c)))})}else(a){return new n({...this.#N,node:g.P.cloneWith(this.#N.node,{else:(0,j.qH)(a)?(0,j.dJ)(a):(0,j.$s)(a)})})}elseRef(a){return new n({...this.#N,node:g.P.cloneWith(this.#N.node,{else:(0,f.$O)(a)})})}end(){return new d.Is(g.P.cloneWith(this.#N.node,{isStatement:!1}))}endCase(){return new d.Is(g.P.cloneWith(this.#N.node,{isStatement:!0}))}}class n{#N;constructor(a){this.#N=(0,e.CN)(a)}end(){return new d.Is(g.P.cloneWith(this.#N.node,{isStatement:!1}))}endCase(){return new d.Is(g.P.cloneWith(this.#N.node,{isStatement:!0}))}}},76119:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return c}});let c="__next_instant_validation_boundary__"},77155:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={DynamicServerError:function(){return f},isDynamicServerError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="DYNAMIC_SERVER_USAGE";class f extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},78137:(a,b,c)=>{c.d(b,{HE:()=>k,Io:()=>o,Lf:()=>p,XI:()=>n,e:()=>g});var d=c(52022),e=c(82492);let f=Symbol.for("drizzle:Schema"),g=Symbol.for("drizzle:Columns"),h=Symbol.for("drizzle:ExtraConfigColumns"),i=Symbol.for("drizzle:OriginalName"),j=Symbol.for("drizzle:BaseName"),k=Symbol.for("drizzle:IsAlias"),l=Symbol.for("drizzle:ExtraConfigBuilder"),m=Symbol.for("drizzle:IsDrizzleTable");class n{static [d.i]="Table";static Symbol={Name:e.E,Schema:f,OriginalName:i,Columns:g,ExtraConfigColumns:h,BaseName:j,IsAlias:k,ExtraConfigBuilder:l};[e.E];[i];[f];[g];[h];[j];[k]=!1;[m]=!0;[l]=void 0;constructor(a,b,c){this[e.E]=this[i]=a,this[f]=b,this[j]=c}}function o(a){return a[e.E]}function p(a){return`${a[f]??"public"}.${a[e.E]}`}},78322:(a,b,c)=>{c.d(b,{J:()=>n,G:()=>function a(b){return(0,d.Tn)(b)?a(b((0,l.A)())):(0,d.MH)(b)?b.map(a=>m(a)):[m(b)]}});var d=c(6881),e=c(16960),f=c(56223);let g=(0,d.CN)({is:a=>"SelectionNode"===a.kind,create:a=>(0,d.CN)({kind:"SelectionNode",selection:a}),createSelectAll:()=>(0,d.CN)({kind:"SelectionNode",selection:f.U.create()}),createSelectAllFromTable:a=>(0,d.CN)({kind:"SelectionNode",selection:e.q.createSelectAll(a)})});var h=c(15542),i=c(16136),j=c(67859),k=c(4319),l=c(93993);function m(a){return(0,d.Kg)(a)?g.create((0,h.DT)(a)):(0,i.C)(a)?g.create(a.toOperationNode()):g.create((0,j.v0)(a))}function n(a){return a?Array.isArray(a)?a.map(o):[o(a)]:[g.createSelectAll()]}function o(a){if((0,d.Kg)(a))return g.createSelectAllFromTable((0,k.M$)(a));throw Error(`invalid value selectAll expression: ${JSON.stringify(a)}`)}},78683:(a,b,c)=>{c.d(b,{Ce:()=>n,R_:()=>l,SY:()=>p,Uh:()=>k,Zt:()=>m,ec:()=>o});var d=c(66108),e=c(4001),f=c(18697),g=c(73954),h=c(36220),i=c(20067);let j=a=>(b,c,d)=>{let f=function(a,b){let c={};for(let[d,f]of(0,e.JT)(b.headers?.get("cookie")||""))d.startsWith(a)&&(c[d]=f);return c}(b,d),h=d.context.logger,i=()=>{let a=function(a,b){let c={};for(let d in a)c[d]={name:d,value:"",attributes:{...b,maxAge:0}};return c}(f,c);for(let a in f)delete f[a];return a};return{chunk(d,e){let j=i();for(let i of function(a,b,c,d){var e,f;let h=(e=`${b.name}.99`,f=b.attributes,4050-(0,g.X8)(e,"",{...f}).length),i=h>0?Math.ceil(b.value.length/h):1/0;if(i<=1)return c[b.name]=b.value,[b];if(i>100)return d.warn(`${a} cookie is too large to store even after chunking, so the cache was skipped. Reduce the cached data or use a database session.`),[];let j=[];for(let a=0;a<i;a++){let d=`${b.name}.${a}`,e=a*h,f=b.value.substring(e,e+h);j.push({...b,name:d,value:f}),c[d]=f}return d.debug(`CHUNKING_${a.toUpperCase()}_COOKIE`,{message:`${a} cookie exceeds the 4050 byte limit and was split into ${i} chunks.`,valueSize:b.value.length,chunkCount:i,chunkSizes:j.map(a=>a.value.length)}),j}(a,{name:b,value:d,attributes:{...c,...e}},f,h))j[i.name]=i;return Object.values(j)},clean:()=>Object.values(i()),setCookies(a){for(let b of a)d.setCookie(b.name,b.value,b.attributes)}}},k=j("Session"),l=j("Account");function m(a,b){let c=a.getCookie(b);if(c)return c;let d=[],f=a.headers?.get("cookie");if(!f)return null;for(let[a,c]of(0,e.JT)(f))if(a.startsWith(b+".")){let b=parseInt(a.split(".").at(-1)||"0",10);isNaN(b)||d.push({index:b,value:c})}return d.length>0?(d.sort((a,b)=>a.index-b.index),d.map(a=>a.value).join("")):null}async function n(a,b){let c=a.context.authCookies.accountData,e={maxAge:300,...c.attributes},f=await (0,d.lT)(b,a.context.secretConfig,"better-auth-account",e.maxAge),g=l(c.name,e,a);g.setCookies(g.chunk(f,e))}async function o(a){let b=m(a,a.context.authCookies.accountData.name);if(b){let c=(0,f.$)(await (0,d.Do)(b,a.context.secretConfig,"better-auth-account"));if(c)return c}return null}let p=h.lq(h.Ik({disableCookieCache:i.zM().meta({description:"Disable cookie cache and fetch session from database"}).optional(),disableRefresh:i.zM().meta({description:"Disable session refresh. Useful for checking session status, without updating the session"}).optional()}))},79193:(a,b,c)=>{c.d(b,{V:()=>e});let d=import("node:async_hooks").then(a=>a.AsyncLocalStorage).catch(a=>{if("AsyncLocalStorage"in globalThis)return globalThis.AsyncLocalStorage;if("u">typeof window)return null;throw console.warn("[better-auth] Warning: AsyncLocalStorage is not available in this environment. Some features may not work as expected."),console.warn("[better-auth] Please read more about this warning at https://better-auth.com/docs/installation#mount-handler"),console.warn("[better-auth] If you are using Cloudflare Workers, please see: https://developers.cloudflare.com/workers/configuration/compatibility-flags/#nodejs-compatibility-flag"),a});async function e(){let a=await d;if(null!==a)return a;throw Error("getAsyncLocalStorage is only available in server code")}},79637:(a,b,c)=>{function d(a){return!!a.database||!!a.secondaryStorage}function e(a){return!!a.database}c.d(b,{n:()=>d,y:()=>e})},81371:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={METADATA_BOUNDARY_NAME:function(){return e},OUTLET_BOUNDARY_NAME:function(){return g},ROOT_LAYOUT_BOUNDARY_NAME:function(){return h},VIEWPORT_BOUNDARY_NAME:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_metadata_boundary__",f="__next_viewport_boundary__",g="__next_outlet_boundary__",h="__next_root_layout_boundary__"},81757:(a,b,c)=>{c.d(b,{Qq:()=>k});var d=c(52022),e=c(71194),f=c(31584);class g extends f.o{static [d.i]="SQLiteTextBuilder";constructor(a,b){super(a,"string","SQLiteText"),this.config.enumValues=b.enum,this.config.length=b.length}build(a){return new h(a,this.config)}}class h extends f.v{static [d.i]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(a,b){super(a,b)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class i extends f.o{static [d.i]="SQLiteTextJsonBuilder";constructor(a){super(a,"json","SQLiteTextJson")}build(a){return new j(a,this.config)}}class j extends f.v{static [d.i]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(a){return JSON.parse(a)}mapToDriverValue(a){return JSON.stringify(a)}}function k(a,b={}){let{name:c,config:d}=(0,e.Ll)(a,b);return"json"===d.mode?new i(c):new g(c,d)}},82358:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(74098);let e=({usePlural:a,schema:b})=>{let c=(0,d.G)({schema:b,usePlural:a});return d=>{let e=c(d);return b&&b[e]&&b[e].modelName!==d?a?`${b[e].modelName}s`:b[e].modelName:a?`${d}s`:d}}},82492:(a,b,c)=>{c.d(b,{E:()=>d});let d=Symbol.for("drizzle:Name")},83847:a=>{var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={},g={RequestCookies:()=>n,ResponseCookies:()=>o,parseCookie:()=>j,parseSetCookie:()=>k,stringifyCookie:()=>i};for(var h in g)b(f,h,{get:g[h],enumerable:!0});function i(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function j(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function k(a){if(!a)return;let[[b,c],...d]=j(a),{domain:e,expires:f,httponly:g,maxage:h,path:i,samesite:k,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:i,...k&&{sameSite:l.includes(q=(q=k).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:m.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let i of d(f))e.call(a,i)||i===g||b(a,i,{get:()=>f[i],enumerable:!(h=c(f,i))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var l=["strict","lax","none"],m=["low","medium","high"],n=class{constructor(a){this._parsed=new Map,this._headers=a;const b=a.get("cookie");if(b)for(const[a,c]of j(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>i(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>i(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},o=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;const e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(const a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){const b=k(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=i(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(i).join("; ")}}},84874:(a,b,c)=>{Object.defineProperty(b,"b",{enumerable:!0,get:function(){return m}});let d=c(36074),e=c(29294),f=c(63033),g=c(60257),h=c(35253),i=c(12850),j=c(93342),k=c(5143),l=c(98465);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,k.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\`. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E839",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let q=(0,i.makeHangingPromise)(p.renderSignal,j.route,"`headers()`");return n.set(p,q),q;case"prerender-client":case"validation-client":let r="`headers`";throw Object.defineProperty(new l.InvariantError(`${r} must not be used within a client component. Next.js should be preventing ${r} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,i.delayUntilRuntimeStage)(c,o(c.headers));case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return(0,f.isInEarlyRenderStage)(c)?c.asyncApiPromises.earlyHeaders:c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}c(72718);let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},84946:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(61576),e=c(59434);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},84988:(a,b,c)=>{var d=c(93879);c.o(d,"redirect")&&c.d(b,{redirect:function(){return d.redirect}})},84998:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(83847)},85394:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=c(12850),e=c(34891),f=c(49112),g=c(25020),h=c(60257),i=c(77155);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},86217:(a,b,c)=>{c.d(b,{d3:()=>g,dS:()=>j,iD:()=>i,vp:()=>h});var d=c(51586),e=c(79193);let f=async()=>{let a=(0,d.Q)();if(!a.context.adapterAsyncStorage){let b=await (0,e.V)();a.context.adapterAsyncStorage=new b}return a.context.adapterAsyncStorage},g=async a=>f().then(b=>b.getStore()?.adapter||a).catch(()=>a),h=async(a,b)=>{let c=!1;return f().then(async d=>{let e,f;c=!0;let g=[],h=!1;try{e=await d.run({adapter:a,pendingHooks:g,isTransactionActive:!1},b)}catch(a){f=a,h=!0}for(let a of g)await a();if(h)throw f;return e}).catch(a=>{if(!c)return b();throw a})},i=async(a,b)=>{let c=!1;return f().then(async d=>{let e,f;if(c=!0,d.getStore()?.isTransactionActive)return b();let g=[],h=!1;try{e=await a.transaction(async a=>d.run({adapter:a,pendingHooks:g,isTransactionActive:!0},b))}catch(a){h=!0,f=a}for(let a of g)await a();if(h)throw f;return e}).catch(a=>{if(!c)return b();throw a})},j=async a=>f().then(b=>{let c=b.getStore();if(!c)return a();c.pendingHooks.push(a)}).catch(()=>a())},86546:(a,b,c)=>{c.d(b,{a6:()=>r,eC:()=>w,Aj:()=>v,OR:()=>s,vt:()=>t,$G:()=>u});var d=c(55651),e=c(79637),f=c(66108),g=c(1167),h=c(64201),i=c(33513);let j=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)(?: (ago|from now))?$/i;var k=c(4001),l=c(78683),m=c(99449),n=c(61152),o=c(94657),p=c(15916);c(22514);var q=c(24416);function r(a){let b="string"==typeof a.baseURL?a.baseURL:void 0,c="object"==typeof a.baseURL&&null!==a.baseURL?a.baseURL.protocol:void 0,e=(a.advanced?.useSecureCookies!==void 0?a.advanced?.useSecureCookies:"https"===c||"http"!==c&&(b?b.startsWith("https://"):m.KV))?k.yE:"",f=!!a.advanced?.crossSubDomainCookies?.enabled,g=f?a.advanced?.crossSubDomainCookies?.domain||(b?new URL(b).hostname:void 0):void 0;if(f&&!g&&!(0,d.QQ)(a.baseURL))throw new n.$l("baseURL is required when crossSubdomainCookies are enabled.");return function(b,c={}){let d=a.advanced?.cookiePrefix||"better-auth",h=a.advanced?.cookies?.[b]?.name||`${d}.${b}`,i=a.advanced?.cookies?.[b]?.attributes??{};return{name:`${e}${h}`,attributes:{secure:!!e,sameSite:"lax",path:"/",httpOnly:!0,...f?{domain:g}:{},...a.advanced?.defaultCookieAttributes,...c,...i}}}}function s(a){let b=r(a),c=b("session_token",{maxAge:a.session?.expiresIn||Math.round(function(){let a,b=j.exec("7d");if(!b||b[4]&&b[1])throw TypeError('Invalid time string format: "7d". Use formats like "7d", "30m", "1 hour", etc.');let c=parseFloat(b[2]),d=b[3].toLowerCase();switch(d){case"years":case"year":case"yrs":case"yr":case"y":a=315576e5*c;break;case"months":case"month":case"mo":a=2592e6*c;break;case"weeks":case"week":case"w":a=6048e5*c;break;case"days":case"day":case"d":a=864e5*c;break;case"hours":case"hour":case"hrs":case"hr":case"h":a=36e5*c;break;case"minutes":case"minute":case"mins":case"min":case"m":a=6e4*c;break;case"seconds":case"second":case"secs":case"sec":case"s":a=1e3*c;break;default:throw TypeError(`Unknown time unit: "${d}"`)}return"-"===b[1]||"ago"===b[4]?-a:a}()/1e3)}),d=b("session_data",{maxAge:a.session?.cookieCache?.maxAge||300}),e=b("account_data",{maxAge:a.session?.cookieCache?.maxAge||300}),f=b("dont_remember");return{sessionToken:{name:c.name,attributes:c.attributes},sessionData:{name:d.name,attributes:d.attributes},dontRememberToken:{name:f.name,attributes:f.attributes},accountData:{name:e.name,attributes:e.attributes}}}async function t(a,b,c){let d;if(!a.context.options.session?.cookieCache?.enabled)return;let j=(0,o.d)(b.session,a.context.options.session?.additionalFields),m=(0,g.kc)(a.context.options,b.user),n=a.context.options.session?.cookieCache?.version,r="1";if(n){if("string"==typeof n)r=n;else if("function"==typeof n){let a=n(b.session,b.user);r=(0,i.y)(a)?await a:a}}let s={session:j,user:m,updatedAt:Date.now(),version:r},t={...a.context.authCookies.sessionData.attributes,maxAge:c?void 0:a.context.authCookies.sessionData.attributes.maxAge},u=(0,h.p)(t.maxAge||60,"sec").getTime(),w=a.context.options.session?.cookieCache?.strategy||"compact";d="jwe"===w?await (0,f.lT)(s,a.context.secretConfig,"better-auth-session",t.maxAge||300):"jwt"===w?await (0,f.FA)(s,a.context.secret,t.maxAge||300):p.z.encode(JSON.stringify({session:s,expiresAt:u,signature:await (0,q.s)("SHA-256","base64urlnopad").sign(a.context.secret,JSON.stringify({...s,expiresAt:u}))}),{padding:!1});let x=(0,l.Uh)(a.context.authCookies.sessionData.name,t,a);if(x.setCookies(x.chunk(d,t)),a.context.options.account?.storeAccountCookie&&!function(a,b){let c=new Set;a.responseHeaders&&c.add(a.responseHeaders),a.context?.responseHeaders&&c.add(a.context.responseHeaders);let d=`${b}=`,e=`${b}.`;for(let a of c)if(("function"==typeof a.getSetCookie?a.getSetCookie():(0,k.K7)(a.get("set-cookie")||"")).some(a=>a.startsWith(d)||a.startsWith(e)))return!0;return!1}(a,a.context.authCookies.accountData.name)){let c=await (0,l.ec)(a);if(c)if((0,e.y)(a.context.options)&&c.userId!==b.user.id){v(a,a.context.authCookies.accountData);let b=(0,l.R_)(a.context.authCookies.accountData.name,a.context.authCookies.accountData.attributes,a);b.setCookies(b.clean())}else await (0,l.Ce)(a,c)}}async function u(a,b,c,d){let e=await a.getSignedCookie(a.context.authCookies.dontRememberToken.name,a.context.secret);c=void 0!==c?c:!!e;let f=a.context.authCookies.sessionToken.attributes,g=c?void 0:a.context.sessionConfig.expiresIn;await a.setSignedCookie(a.context.authCookies.sessionToken.name,b.session.token,a.context.secret,{...f,maxAge:g,...d}),c&&await a.setSignedCookie(a.context.authCookies.dontRememberToken.name,"true",a.context.secret,a.context.authCookies.dontRememberToken.attributes),await t(a,b,c),a.context.setNewSession(b)}function v(a,b){!function(a,b){let c=new Set;a.responseHeaders&&c.add(a.responseHeaders),a.context?.responseHeaders&&c.add(a.context.responseHeaders);let d=`${b}=`,e=`${b}.`;for(let a of c){let b="function"==typeof a.getSetCookie?a.getSetCookie():(0,k.K7)(a.get("set-cookie")||"");if(!b.length)continue;let c=b.filter(a=>!a.startsWith(d)&&!a.startsWith(e));if(c.length!==b.length)for(let b of(a.delete("set-cookie"),c))a.append("set-cookie",b)}}(a,b.name),a.setCookie(b.name,"",{...b.attributes,maxAge:0})}function w(a,b){if(v(a,a.context.authCookies.sessionToken),v(a,a.context.authCookies.sessionData),a.context.options.account?.storeAccountCookie){v(a,a.context.authCookies.accountData);let b=(0,l.R_)(a.context.authCookies.accountData.name,a.context.authCookies.accountData.attributes,a),c=b.clean();b.setCookies(c)}"cookie"===a.context.oauthConfig.storeStateStrategy&&v(a,a.context.createAuthCookie("oauth_state"));let c=(0,l.Uh)(a.context.authCookies.sessionData.name,a.context.authCookies.sessionData.attributes,a),d=c.clean();c.setCookies(d),b||v(a,a.context.authCookies.dontRememberToken)}},87010:(a,b,c)=>{function d(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;if(null===Object.getPrototypeOf(a))return!0;let b=a;for(;null!==Object.getPrototypeOf(b);)b=Object.getPrototypeOf(b);return Object.getPrototypeOf(a)===b}function e(...a){let b,c=a.filter(Boolean);if(0===c.length||1===c.length)return!0;for(let a of c){let c=Object.keys(a);if(!b||0===b.size){b=new Set(c);continue}for(let a of c){if(b.has(a))return!1;b.add(a)}}return!0}c.d(b,{Gv:()=>d,M3:()=>h,W2:()=>g,fz:()=>e,ll:()=>f,t9:()=>i});let f=a=>d(a)&&"string"==typeof a.kty,g=a=>"oct"!==a.kty&&("AKP"===a.kty&&"string"==typeof a.priv||"string"==typeof a.d),h=a=>"oct"!==a.kty&&void 0===a.d&&void 0===a.priv,i=a=>"oct"===a.kty&&"string"==typeof a.k},88183:(a,b,c)=>{c.d(b,{n:()=>p});var d=c(18304),e=c(33145),f=c(6881);class g{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#aR=(0,f.CN)({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this),AlterTypeNode:this.visitAlterType.bind(this),AddValueNode:this.visitAddValue.bind(this),RenameValueNode:this.visitRenameValue.bind(this)});visitNode=a=>{this.nodeStack.push(a),this.#aR[a.kind](a),this.nodeStack.pop()}}var h=c(47245),i=c(89328),j=c(34435),k=c(95019),l=c(32329),m=c(70877);let n=/'/g,o=/['"]/g;class p extends g{#aS="";#aT=[];get numParameters(){return this.#aT.length}compileQuery(a,b){return this.#aS="",this.#aT=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(a),(0,f.CN)({query:a,queryId:b,sql:this.getSql(),parameters:[...this.#aT]})}getSql(){return this.#aS}visitSelectQuery(a){let b=void 0!==this.parentNode&&!i.k.is(this.parentNode)&&!e.o.is(this.parentNode)&&!d.B.is(this.parentNode)&&!k.Y.is(this.parentNode)&&!l.i.is(this.parentNode);void 0===this.parentNode&&a.explain&&(this.visitNode(a.explain),this.append(" ")),b&&this.append("("),a.with&&(this.visitNode(a.with),this.append(" ")),this.append("select"),a.distinctOn&&(this.append(" "),this.compileDistinctOn(a.distinctOn)),a.frontModifiers?.length&&(this.append(" "),this.compileList(a.frontModifiers," ")),a.top&&(this.append(" "),this.visitNode(a.top)),a.selections&&(this.append(" "),this.compileList(a.selections)),a.from&&(this.append(" "),this.visitNode(a.from)),a.joins&&(this.append(" "),this.compileList(a.joins," ")),a.where&&(this.append(" "),this.visitNode(a.where)),a.groupBy&&(this.append(" "),this.visitNode(a.groupBy)),a.having&&(this.append(" "),this.visitNode(a.having)),a.setOperations&&(this.append(" "),this.compileList(a.setOperations," ")),a.orderBy&&(this.append(" "),this.visitNode(a.orderBy)),a.limit&&(this.append(" "),this.visitNode(a.limit)),a.offset&&(this.append(" "),this.visitNode(a.offset)),a.fetch&&(this.append(" "),this.visitNode(a.fetch)),a.endModifiers?.length&&(this.append(" "),this.compileList(this.sortSelectModifiers(a.endModifiers)," ")),b&&this.append(")")}visitFrom(a){this.append("from "),this.compileList(a.froms)}visitSelection(a){this.visitNode(a.selection)}visitColumn(a){this.visitNode(a.column)}compileDistinctOn(a){this.append("distinct on ("),this.compileList(a),this.append(")")}compileList(a,b=", "){let c=a.length-1;for(let d=0;d<=c;d++)this.visitNode(a[d]),d<c&&this.append(b)}visitWhere(a){this.append("where "),this.visitNode(a.where)}visitHaving(a){this.append("having "),this.visitNode(a.having)}visitInsertQuery(a){let b=void 0!==this.parentNode&&!i.k.is(this.parentNode)&&!j.z.is(this.parentNode)&&!m.t.is(this.parentNode);void 0===this.parentNode&&a.explain&&(this.visitNode(a.explain),this.append(" ")),b&&this.append("("),a.with&&(this.visitNode(a.with),this.append(" ")),this.append(a.replace?"replace":"insert"),a.orAction&&(this.append(" "),this.visitNode(a.orAction)),a.top&&(this.append(" "),this.visitNode(a.top)),a.into&&(this.append(" into "),this.visitNode(a.into)),a.columns&&(this.append(" ("),this.compileList(a.columns),this.append(")")),a.output&&(this.append(" "),this.visitNode(a.output)),a.values&&(this.append(" "),this.visitNode(a.values)),a.defaultValues&&(this.append(" "),this.append("default values")),a.onConflict&&(this.append(" "),this.visitNode(a.onConflict)),a.onDuplicateKey&&(this.append(" "),this.visitNode(a.onDuplicateKey)),a.returning&&(this.append(" "),this.visitNode(a.returning)),b&&this.append(")"),a.endModifiers?.length&&(this.append(" "),this.compileList(a.endModifiers," "))}visitValues(a){this.append("values "),this.compileList(a.values)}visitDeleteQuery(a){let b=void 0!==this.parentNode&&!i.k.is(this.parentNode)&&!j.z.is(this.parentNode);void 0===this.parentNode&&a.explain&&(this.visitNode(a.explain),this.append(" ")),b&&this.append("("),a.with&&(this.visitNode(a.with),this.append(" ")),this.append("delete "),a.top&&(this.visitNode(a.top),this.append(" ")),this.visitNode(a.from),a.output&&(this.append(" "),this.visitNode(a.output)),a.using&&(this.append(" "),this.visitNode(a.using)),a.joins&&(this.append(" "),this.compileList(a.joins," ")),a.where&&(this.append(" "),this.visitNode(a.where)),a.orderBy&&(this.append(" "),this.visitNode(a.orderBy)),a.limit&&(this.append(" "),this.visitNode(a.limit)),a.returning&&(this.append(" "),this.visitNode(a.returning)),b&&this.append(")"),a.endModifiers?.length&&(this.append(" "),this.compileList(a.endModifiers," "))}visitReturning(a){this.append("returning "),this.compileList(a.selections)}visitAlias(a){this.visitNode(a.node),this.append(" as "),this.visitNode(a.alias)}visitReference(a){a.table&&(this.visitNode(a.table),this.append(".")),this.visitNode(a.column)}visitSelectAll(a){this.append("*")}visitIdentifier(a){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(a),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(a){if(!(0,f.Kg)(a.name))throw Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(a.name))}visitAnd(a){this.visitNode(a.left),this.append(" and "),this.visitNode(a.right)}visitOr(a){this.visitNode(a.left),this.append(" or "),this.visitNode(a.right)}visitValue(a){a.immediate?this.appendImmediateValue(a.value):this.appendValue(a.value)}visitValueList(a){this.append("("),this.compileList(a.values),this.append(")")}visitTuple(a){this.append("("),this.compileList(a.values),this.append(")")}visitPrimitiveValueList(a){this.append("(");let{values:b}=a;for(let a=0;a<b.length;++a)this.appendValue(b[a]),a!==b.length-1&&this.append(", ");this.append(")")}visitParens(a){this.append("("),this.visitNode(a.node),this.append(")")}visitJoin(a){this.append(s[a.joinType]),this.append(" "),this.visitNode(a.table),a.on&&(this.append(" "),this.visitNode(a.on))}visitOn(a){this.append("on "),this.visitNode(a.on)}visitRaw(a){let{sqlFragments:b,parameters:c}=a;for(let a=0;a<b.length;++a)this.append(b[a]),c.length>a&&this.visitNode(c[a])}visitOperator(a){this.append(a.operator)}visitTable(a){this.visitNode(a.table)}visitSchemableIdentifier(a){a.schema&&(this.visitNode(a.schema),this.append(".")),this.visitNode(a.identifier)}visitCreateTable(a){this.append("create "),a.frontModifiers?.length&&(this.compileList(a.frontModifiers," "),this.append(" ")),a.temporary&&this.append("temporary "),this.append("table "),a.ifNotExists&&this.append("if not exists "),this.visitNode(a.table),a.selectQuery||(this.append(" ("),this.compileList([...a.columns,...a.constraints??[],...a.indexes??[]]),this.append(")")),a.onCommit&&(this.append(" on commit "),this.append(a.onCommit)),a.endModifiers?.length&&(this.append(" "),this.compileList(a.endModifiers," ")),a.selectQuery&&(this.append(" as "),this.visitNode(a.selectQuery))}visitColumnDefinition(a){a.ifNotExists&&this.append("if not exists "),this.visitNode(a.column),this.append(" "),this.visitNode(a.dataType),a.unsigned&&this.append(" unsigned"),a.frontModifiers&&a.frontModifiers.length>0&&(this.append(" "),this.compileList(a.frontModifiers," ")),a.generated&&(this.append(" "),this.visitNode(a.generated)),a.identity&&this.append(" identity"),a.defaultTo&&(this.append(" "),this.visitNode(a.defaultTo)),a.notNull&&this.append(" not null"),a.unique&&this.append(" unique"),a.nullsNotDistinct&&this.append(" nulls not distinct"),a.primaryKey&&this.append(" primary key"),a.autoIncrement&&(this.append(" "),this.append(this.getAutoIncrement())),a.references&&(this.append(" "),this.visitNode(a.references)),a.check&&(this.append(" "),this.visitNode(a.check)),a.endModifiers&&a.endModifiers.length>0&&(this.append(" "),this.compileList(a.endModifiers," "))}getAutoIncrement(){return"auto_increment"}visitReferences(a){this.append("references "),this.visitNode(a.table),this.append(" ("),this.compileList(a.columns),this.append(")"),a.onDelete&&(this.append(" on delete "),this.append(a.onDelete)),a.onUpdate&&(this.append(" on update "),this.append(a.onUpdate))}visitDropTable(a){this.append("drop "),a.temporary&&this.append("temporary "),this.append("table "),a.ifExists&&this.append("if exists "),this.visitNode(a.table),a.cascade&&this.append(" cascade")}visitDataType(a){this.append(a.dataType)}visitOrderBy(a){this.append("order by "),this.compileList(a.items)}visitOrderByItem(a){this.visitNode(a.orderBy),a.collation&&(this.append(" "),this.visitNode(a.collation)),a.direction&&(this.append(" "),this.visitNode(a.direction)),a.nulls&&(this.append(" nulls "),this.append(a.nulls))}visitGroupBy(a){this.append("group by "),this.compileList(a.items)}visitGroupByItem(a){this.visitNode(a.groupBy)}visitUpdateQuery(a){let b=void 0!==this.parentNode&&!i.k.is(this.parentNode)&&!j.z.is(this.parentNode)&&!m.t.is(this.parentNode);if(void 0===this.parentNode&&a.explain&&(this.visitNode(a.explain),this.append(" ")),b&&this.append("("),a.with&&(this.visitNode(a.with),this.append(" ")),this.append("update "),a.top&&(this.visitNode(a.top),this.append(" ")),a.table&&(this.visitNode(a.table),this.append(" ")),this.append("set "),a.updates&&this.compileList(a.updates),a.output&&(this.append(" "),this.visitNode(a.output)),a.from&&(this.append(" "),this.visitNode(a.from)),a.joins){if(!a.from)throw Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(a.joins," ")}a.where&&(this.append(" "),this.visitNode(a.where)),a.returning&&(this.append(" "),this.visitNode(a.returning)),a.orderBy&&(this.append(" "),this.visitNode(a.orderBy)),a.limit&&(this.append(" "),this.visitNode(a.limit)),b&&this.append(")"),a.endModifiers?.length&&(this.append(" "),this.compileList(a.endModifiers," "))}visitColumnUpdate(a){this.visitNode(a.column),this.append(" = "),this.visitNode(a.value)}visitLimit(a){this.append("limit "),this.visitNode(a.limit)}visitOffset(a){this.append("offset "),this.visitNode(a.offset)}visitOnConflict(a){this.append("on conflict"),a.columns?(this.append(" ("),this.compileList(a.columns),this.append(")")):a.constraint?(this.append(" on constraint "),this.visitNode(a.constraint)):a.indexExpression&&(this.append(" ("),this.visitNode(a.indexExpression),this.append(")")),a.indexWhere&&(this.append(" "),this.visitNode(a.indexWhere)),!0===a.doNothing?this.append(" do nothing"):a.updates&&(this.append(" do update set "),this.compileList(a.updates),a.updateWhere&&(this.append(" "),this.visitNode(a.updateWhere)))}visitOnDuplicateKey(a){this.append("on duplicate key update "),this.compileList(a.updates)}visitCreateIndex(a){this.append("create "),a.unique&&this.append("unique "),this.append("index "),a.ifNotExists&&this.append("if not exists "),this.visitNode(a.name),a.table&&(this.append(" on "),this.visitNode(a.table)),a.using&&(this.append(" using "),this.visitNode(a.using)),a.columns&&(this.append(" ("),this.compileList(a.columns),this.append(")")),a.nullsNotDistinct&&this.append(" nulls not distinct"),a.where&&(this.append(" "),this.visitNode(a.where))}visitDropIndex(a){this.append("drop index "),a.ifExists&&this.append("if exists "),this.visitNode(a.name),a.table&&(this.append(" on "),this.visitNode(a.table)),a.cascade&&this.append(" cascade")}visitCreateSchema(a){this.append("create schema "),a.ifNotExists&&this.append("if not exists "),this.visitNode(a.schema)}visitDropSchema(a){this.append("drop schema "),a.ifExists&&this.append("if exists "),this.visitNode(a.schema),a.cascade&&this.append(" cascade")}visitPrimaryKeyConstraint(a){a.name&&(this.append("constraint "),this.visitNode(a.name),this.append(" ")),this.append("primary key ("),this.compileList(a.columns),this.append(")"),this.buildDeferrable(a)}buildDeferrable(a){void 0!==a.deferrable&&(a.deferrable?this.append(" deferrable"):this.append(" not deferrable")),void 0!==a.initiallyDeferred&&(a.initiallyDeferred?this.append(" initially deferred"):this.append(" initially immediate"))}visitUniqueConstraint(a){a.name&&(this.append("constraint "),this.visitNode(a.name),this.append(" ")),this.append("unique"),a.nullsNotDistinct&&this.append(" nulls not distinct"),this.append(" ("),this.compileList(a.columns),this.append(")"),this.buildDeferrable(a)}visitCheckConstraint(a){a.name&&(this.append("constraint "),this.visitNode(a.name),this.append(" ")),this.append("check ("),this.visitNode(a.expression),this.append(")")}visitForeignKeyConstraint(a){a.name&&(this.append("constraint "),this.visitNode(a.name),this.append(" ")),this.append("foreign key ("),this.compileList(a.columns),this.append(") "),this.visitNode(a.references),a.onDelete&&(this.append(" on delete "),this.append(a.onDelete)),a.onUpdate&&(this.append(" on update "),this.append(a.onUpdate)),this.buildDeferrable(a)}visitList(a){this.compileList(a.items)}visitWith(a){this.append("with "),a.recursive&&this.append("recursive "),this.compileList(a.expressions)}visitCommonTableExpression(a){this.visitNode(a.name),this.append(" as "),(0,f.Lm)(a.materialized)&&(a.materialized||this.append("not "),this.append("materialized ")),this.visitNode(a.expression)}visitCommonTableExpressionName(a){this.visitNode(a.table),a.columns&&(this.append("("),this.compileList(a.columns),this.append(")"))}visitAlterTable(a){this.append("alter table "),this.visitNode(a.table),this.append(" "),a.renameTo&&(this.append("rename to "),this.visitNode(a.renameTo)),a.setSchema&&(this.append("set schema "),this.visitNode(a.setSchema)),a.addConstraint&&this.visitNode(a.addConstraint),a.dropConstraint&&this.visitNode(a.dropConstraint),a.renameConstraint&&this.visitNode(a.renameConstraint),a.columnAlterations&&this.compileColumnAlterations(a.columnAlterations),a.addIndex&&this.visitNode(a.addIndex),a.dropIndex&&this.visitNode(a.dropIndex)}visitAddColumn(a){this.append("add column "),this.visitNode(a.column)}visitRenameColumn(a){this.append("rename column "),this.visitNode(a.column),this.append(" to "),this.visitNode(a.renameTo)}visitDropColumn(a){this.append("drop column "),a.ifExists&&this.append("if exists "),this.visitNode(a.column)}visitAlterColumn(a){this.append("alter column "),this.visitNode(a.column),this.append(" "),a.dataType&&(this.announcesNewColumnDataType()&&this.append("type "),this.visitNode(a.dataType),a.dataTypeExpression&&(this.append("using "),this.visitNode(a.dataTypeExpression))),a.setDefault&&(this.append("set default "),this.visitNode(a.setDefault)),a.dropDefault&&this.append("drop default"),a.setNotNull&&this.append("set not null"),a.dropNotNull&&this.append("drop not null")}visitModifyColumn(a){this.append("modify column "),this.visitNode(a.column)}visitAddConstraint(a){this.append("add "),this.visitNode(a.constraint)}visitDropConstraint(a){this.append("drop constraint "),a.ifExists&&this.append("if exists "),this.visitNode(a.constraintName),"cascade"===a.modifier?this.append(" cascade"):"restrict"===a.modifier&&this.append(" restrict")}visitRenameConstraint(a){this.append("rename constraint "),this.visitNode(a.oldName),this.append(" to "),this.visitNode(a.newName)}visitSetOperation(a){this.append(a.operator),this.append(" "),a.all&&this.append("all "),this.visitNode(a.expression)}visitCreateView(a){this.append("create "),a.orReplace&&this.append("or replace "),a.materialized&&this.append("materialized "),a.temporary&&this.append("temporary "),this.append("view "),a.ifNotExists&&this.append("if not exists "),this.visitNode(a.name),this.append(" "),a.columns&&(this.append("("),this.compileList(a.columns),this.append(") ")),a.as&&(this.append("as "),this.visitNode(a.as))}visitRefreshMaterializedView(a){this.append("refresh materialized view "),a.concurrently&&this.append("concurrently "),this.visitNode(a.name),a.withNoData?this.append(" with no data"):this.append(" with data")}visitDropView(a){this.append("drop "),a.materialized&&this.append("materialized "),this.append("view "),a.ifExists&&this.append("if exists "),this.visitNode(a.name),a.cascade&&this.append(" cascade")}visitGenerated(a){this.append("generated "),a.always&&this.append("always "),a.byDefault&&this.append("by default "),this.append("as "),a.identity&&this.append("identity"),a.expression&&(this.append("("),this.visitNode(a.expression),this.append(")")),a.stored&&this.append(" stored")}visitDefaultValue(a){this.append("default "),this.visitNode(a.defaultValue)}visitSelectModifier(a){a.rawModifier?this.visitNode(a.rawModifier):this.append(q[a.modifier]),a.of&&(this.append(" of "),this.compileList(a.of,", "))}visitCreateType(a){this.append("create type "),this.visitNode(a.name),a.enum&&(this.append(" as enum "),this.visitNode(a.enum))}visitDropType(a){this.append("drop type "),a.ifExists&&this.append("if exists "),this.visitNode(a.name),a.additionalNames?.length&&(this.append(", "),this.compileList(a.additionalNames)),a.cascade&&this.append(" cascade")}visitAlterType(a){this.append("alter type "),this.visitNode(a.name),this.append(" "),a.addValue?this.visitNode(a.addValue):a.renameTo?(this.append("rename to "),this.visitNode(a.renameTo)):a.renameValue?this.visitNode(a.renameValue):a.setSchema&&(this.append("set schema "),this.visitNode(a.setSchema))}visitAddValue(a){this.append("add value "),a.ifNotExists&&this.append("if not exists "),this.visitNode(a.value),a.neighborValue&&(this.append(a.isBefore?" before ":" after "),this.visitNode(a.neighborValue))}visitRenameValue(a){this.append("rename value "),this.visitNode(a.oldValue),this.append(" to "),this.visitNode(a.newValue)}visitExplain(a){this.append("explain"),(a.options||a.format)&&(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),a.options&&(this.visitNode(a.options),a.format&&this.append(this.getExplainOptionsDelimiter())),a.format&&(this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(a.format)),this.append(this.getRightExplainOptionsWrapper()))}visitDefaultInsertValue(a){this.append("default")}visitAggregateFunction(a){this.append(a.func),this.append("("),a.distinct&&this.append("distinct "),this.compileList(a.aggregated),a.orderBy&&(this.append(" "),this.visitNode(a.orderBy)),this.append(")"),a.withinGroup&&(this.append(" within group ("),this.visitNode(a.withinGroup),this.append(")")),a.filter&&(this.append(" filter("),this.visitNode(a.filter),this.append(")")),a.over&&(this.append(" "),this.visitNode(a.over))}visitOver(a){this.append("over("),a.partitionBy&&(this.visitNode(a.partitionBy),a.orderBy&&this.append(" ")),a.orderBy&&this.visitNode(a.orderBy),this.append(")")}visitPartitionBy(a){this.append("partition by "),this.compileList(a.items)}visitPartitionByItem(a){this.visitNode(a.partitionBy)}visitBinaryOperation(a){this.visitNode(a.leftOperand),this.append(" "),this.visitNode(a.operator),this.append(" "),this.visitNode(a.rightOperand)}visitUnaryOperation(a){this.visitNode(a.operator),this.isMinusOperator(a.operator)||this.append(" "),this.visitNode(a.operand)}isMinusOperator(a){return h.zX.is(a)&&"-"===a.operator}visitUsing(a){this.append("using "),this.compileList(a.tables)}visitFunction(a){this.append(a.func),this.append("("),this.compileList(a.arguments),this.append(")")}visitCase(a){this.append("case"),a.value&&(this.append(" "),this.visitNode(a.value)),a.when&&(this.append(" "),this.compileList(a.when," ")),a.else&&(this.append(" else "),this.visitNode(a.else)),this.append(" end"),a.isStatement&&this.append(" case")}visitWhen(a){this.append("when "),this.visitNode(a.condition),a.result&&(this.append(" then "),this.visitNode(a.result))}visitJSONReference(a){this.visitNode(a.reference),this.visitNode(a.traversal)}visitJSONPath(a){for(let b of(a.inOperator&&this.visitNode(a.inOperator),this.append("'$"),a.pathLegs))this.visitNode(b);this.append("'")}visitJSONPathLeg(a){let b="ArrayLocation"===a.type,c=String(a.value);b?(this.append("["),this.append(this.sanitizeStringLiteral(c)),this.append("]")):(this.append('."'),this.append(this.sanitizeJSONPathMemberValue(c)),this.append('"'))}visitJSONOperatorChain(a){for(let b=0,c=a.values.length;b<c;b++)b===c-1?this.visitNode(a.operator):this.append("->"),this.visitNode(a.values[b])}visitMergeQuery(a){a.with&&(this.visitNode(a.with),this.append(" ")),this.append("merge "),a.top&&(this.visitNode(a.top),this.append(" ")),this.append("into "),this.visitNode(a.into),a.using&&(this.append(" "),this.visitNode(a.using)),a.whens&&(this.append(" "),this.compileList(a.whens," ")),a.returning&&(this.append(" "),this.visitNode(a.returning)),a.output&&(this.append(" "),this.visitNode(a.output)),a.endModifiers?.length&&(this.append(" "),this.compileList(a.endModifiers," "))}visitMatched(a){a.not&&this.append("not "),this.append("matched"),a.bySource&&this.append(" by source")}visitAddIndex(a){this.parentNode&&d.B.is(this.parentNode)||this.append("add "),a.unique&&this.append("unique "),this.append("index "),this.visitNode(a.name),a.columns&&(this.append(" ("),this.compileList(a.columns),this.append(")")),a.using&&(this.append(" using "),this.visitNode(a.using))}visitCast(a){this.append("cast("),this.visitNode(a.expression),this.append(" as "),this.visitNode(a.dataType),this.append(")")}visitFetch(a){this.append("fetch next "),this.visitNode(a.rowCount),this.append(` rows ${a.modifier}`)}visitOutput(a){this.append("output "),this.compileList(a.selections)}visitTop(a){this.append(`top(${a.expression})`),a.modifiers&&this.append(` ${a.modifiers}`)}visitOrAction(a){this.append(a.action)}visitCollate(a){this.append("collate "),this.visitNode(a.collation)}append(a){this.#aS+=a}appendValue(a){this.addParameter(a),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(a){let b=this.getLeftIdentifierWrapper(),c=this.getRightIdentifierWrapper(),d="";for(let e of a)d+=e,e===b?d+=b:e===c&&(d+=c);return d}sanitizeStringLiteral(a){return a.replace(n,"''")}sanitizeJSONPathMemberValue(a){return a.replace(o,a=>"'"===a?"''":'\\"')}addParameter(a){this.#aT.push(a)}appendImmediateValue(a){if((0,f.Kg)(a))this.appendStringLiteral(a);else if((0,f.Et)(a)||(0,f.Lm)(a)||(0,f.sI)(a))this.append(a.toString());else if((0,f.kZ)(a))this.append("null");else if((0,f.$P)(a))this.appendImmediateValue(a.toISOString());else throw Error(`invalid immediate value ${a}`)}appendStringLiteral(a){this.append("'"),this.append(this.sanitizeStringLiteral(a)),this.append("'")}sortSelectModifiers(a){return(0,f.CN)(a.toSorted((a,b)=>a.modifier&&b.modifier?r[a.modifier]-r[b.modifier]:1))}compileColumnAlterations(a){this.compileList(a)}announcesNewColumnDataType(){return!0}}let q=(0,f.CN)({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),r=(0,f.CN)({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),s=(0,f.CN)({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"})},88963:(a,b,c)=>{c.d(b,{e:()=>h});var d=c(6881),e=c(29941),f=c(23217),g=c(36022);let h=(0,d.CN)({is:a=>"DeleteQueryNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"DeleteQueryNode",from:e.N.create(a),...b&&{with:b}}),cloneWithOrderByItems:(a,b)=>g.L.cloneWithOrderByItems(a,b),cloneWithoutOrderBy:a=>g.L.cloneWithoutOrderBy(a),cloneWithLimit:(a,b)=>(0,d.CN)({...a,limit:b}),cloneWithoutLimit:a=>(0,d.CN)({...a,limit:void 0}),cloneWithUsing:(a,b)=>(0,d.CN)({...a,using:void 0!==a.using?f.f.cloneWithTables(a.using,b):f.f.create(b)})})},89328:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"ParensNode"===a.kind,create:a=>(0,d.CN)({kind:"ParensNode",node:a})})},89330:(a,b,c)=>{c.d(b,{n:()=>d});let d=Symbol.for("drizzle:ViewBaseConfig")},90233:(a,b,c)=>{c.d(b,{F:()=>d});function d(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}},90981:(a,b,c)=>{c.d(b,{z:()=>f});var d=c(61152),e=c(74098);let f=({schema:a,usePlural:b})=>{let c=(0,e.G)({schema:a,usePlural:b});return({field:b,model:e})=>{if("id"===b||"_id"===b)return"id";let f=c(e),g=a[f]?.fields[b];if(!g){let c=Object.entries(a[f].fields).find(([a,c])=>c.fieldName===b);c&&(g=c[1],b=c[0])}if(!g)throw new d.$l(`Field ${b} not found in model ${f}`);return b}}},91411:(a,b,c)=>{function d(a){return"-"===a||"^"===a||"$"===a||"+"===a||"."===a||"("===a||")"===a||"|"===a||"["===a||"]"===a||"{"===a||"}"===a||"*"===a||"?"===a||"\\"===a?`\\${a}`:a}function e(a,b){if("string"!=typeof b)throw TypeError(`Sample must be a string, but ${typeof b} given`);return a.test(b)}function f(a,b){if("string"!=typeof a&&!Array.isArray(a))throw TypeError(`The first argument must be a single pattern string or an array of patterns, but ${typeof a} given`);if(("string"==typeof b||"boolean"==typeof b)&&(b={separator:b}),2==arguments.length&&!(void 0===b||"object"==typeof b&&null!==b&&!Array.isArray(b)))throw TypeError(`The second argument must be an options object or a string/boolean separator, but ${typeof b} given`);if("\\"===(b=b||{}).separator)throw Error("\\ is not a valid separator because it is used for escaping. Try setting the separator to `true` instead");let c=function a(b,c=!0){if(Array.isArray(b))return`(?:${b.map(b=>`^${a(b,c)}$`).join("|")})`;let e="",f="",g=".";!0===c?(e="/",f="[/\\\\]",g="[^/\\\\]"):c&&((f=function(a){let b="";for(let c=0;c<a.length;c++)b+=d(a[c]);return b}(e=c)).length>1?(f=`(?:${f})`,g=`((?!${f}).)`):g=`[^${f}]`);let h=c?`${f}+?`:"",i=c?`${f}*?`:"",j=c?b.split(e):[b],k="";for(let a=0;a<j.length;a++){let b=j[a],e=j[a+1],f="";if(b||!(a>0)){if(c&&(f=a===j.length-1?i:"**"!==e?h:""),c&&"**"===b){f&&(k+=0===a?"":f,k+=`(?:${g}*?${f})*?`);continue}for(let a=0;a<b.length;a++){let c=b[a];"\\"===c?a<b.length-1&&(k+=d(b[a+1]),a++):"?"===c?k+=g:"*"===c?k+=`${g}*?`:k+=d(c)}k+=f}}return k}(a,b.separator),f=RegExp(`^${c}$`,b.flags),g=e.bind(null,f);return g.options=b,g.pattern=a,g.regexp=f,g}c.d(b,{U:()=>f})},91564:(a,b,c)=>{c.d(b,{r:()=>f});var d=c(6881),e=c(70877);let f=(0,d.CN)({is:a=>"MergeQueryNode"===a.kind,create:(a,b)=>(0,d.CN)({kind:"MergeQueryNode",into:a,...b&&{with:b}}),cloneWithUsing:(a,b)=>(0,d.CN)({...a,using:b}),cloneWithWhen:(a,b)=>(0,d.CN)({...a,whens:a.whens?(0,d.CN)([...a.whens,b]):(0,d.CN)([b])}),cloneWithThen:(a,b)=>(0,d.CN)({...a,whens:a.whens?(0,d.CN)([...a.whens.slice(0,-1),e.t.cloneWithResult(a.whens[a.whens.length-1],b)]):void 0})})},92421:(a,b,c)=>{c.d(b,{h:()=>f});var d=c(61152),e=c(73954);function f(a){return a instanceof e.LG||a instanceof d.LG||a?.name==="APIError"}},92730:(a,b,c)=>{c.d(b,{R:()=>i});var d=c(6881),e=c(37368),f=c(54922),g=c(11033);let h=(0,d.CN)([]);class i{#aU;constructor(a=h){this.#aU=a}get plugins(){return this.#aU}transformQuery(a,b){for(let c of this.#aU){let d=c.transformQuery({node:a,queryId:b});if(d.kind===a.kind)a=d;else throw Error(`KyselyPlugin.transformQuery must return a node of the same kind that was given to it. The plugin was given a ${a.kind} but it returned a ${d.kind}`)}return a}async executeQuery(a,b){let{inflightQueryAbortStrategy:c="ignore query",signal:h}=b||{};if(!h){let c=await this.provideConnection(async b=>await b.executeQuery(a),b);return await this.#aV(c,a.queryId)}(0,f.JJ)(h,"before query execution"),b=(0,d.CN)({signal:h});let{connection:i,release:j}=await (0,e.G)(this,b),k=this.provideConnection.bind(this),{promise:l,resolve:m}=new g.c,n=()=>m(f.wp);h.addEventListener("abort",n,{once:!0});try{(0,f.JJ)(h,"before query execution",j);let d=(0,f.u8)(c,i,j);if(d&&i.collectSessionInfo){(0,f.JJ)(h,"before query execution",j);let a=i.collectSessionInfo();await Promise.race([l,a]).catch(a=>{throw j(),a})===f.wp&&(a.catch((0,f.gx)("collectSessionInfo")).finally(j),(0,f.x)(h.reason,"before query execution"))}let e=i.executeQuery(a,b),g=await Promise.race([l,e]).catch(a=>{throw j(),a});g===f.wp?(Promise.allSettled([e.catch((0,f.gx)("query")),d?.(k).catch((0,f.gx)("inflightQueryAbortHandler"))]).finally(j),(0,f.x)(h.reason,"during query execution")):j();let m=this.#aV(g,a.queryId,b),n=await Promise.race([l,m]);return n===f.wp&&(m.catch((0,f.gx)("plugins.transformResult")),(0,f.x)(h.reason,"during result transformation")),n}finally{m(f.wp),h.removeEventListener("abort",n)}}async *stream(a,b,c){let h,i,{signal:j}=c||{};if(!j){let{connection:d,release:f}=await (0,e.G)(this);try{for await(let e of d.streamQuery(a,b))yield await this.#aV(e,a.queryId,c)}finally{f()}return}c=(0,d.CN)({signal:j}),(0,f.JJ)(j,"before connection acquisition");let{connection:k,release:l}=await (0,e.G)(this,c),{promise:m,resolve:n}=new g.c,o=()=>n(f.wp);j.addEventListener("abort",o,{once:!0}),(0,f.JJ)(j,"before query streaming",l);let{queryId:p}=a;try{for(h=k.streamQuery(a,b,c);;){(0,f.JJ)(j,"during query streaming");let a=h.next(),b=await Promise.race([m,a]);if(b===f.wp&&(i=a.catch((0,f.gx)("iterator.next")),(0,f.x)(j.reason,"during query streaming")),b.done)break;let d=this.#aV(b.value,p,c),e=await Promise.race([m,d]);e===f.wp&&(i=d.catch((0,f.gx)("plugins.transformResult")),(0,f.x)(j.reason,"during result transformation")),yield e}}finally{n(f.wp),j.removeEventListener("abort",o);let a=(h?.return?.()||Promise.resolve()).finally(()=>i).finally(l);i||await a}}async #aV(a,b,c){let{signal:e}=c||{};for(let c of this.#aU)a=await c.transformResult((0,d.CN)({queryId:b,result:a,signal:e}));return a}}},93342:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(c(4062));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},93879:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(99815),g=c(33829),h=c(51075),i=c(75560),j=c(3679),k=c(33987);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},93993:(a,b,c)=>{c.d(b,{O:()=>K,A:()=>L});var d=c(93998),e=c(48835),f=c(4319),g=c(55222),h=c(65685),i=c(15542),j=c(72104),k=c(89328),l=c(99002),m=c(47245),n=c(6881);let o=(0,n.CN)({is:a=>"UnaryOperationNode"===a.kind,create:(a,b)=>(0,n.CN)({kind:"UnaryOperationNode",operator:a,operand:b})});var p=c(57702),q=c(36805),r=c(76070),s=c(43585),t=c(39881),u=c(20302),v=c(14060);let w=(0,n.CN)({is:a=>"JSONPathLegNode"===a.kind,create:(a,b)=>(0,n.CN)({kind:"JSONPathLegNode",type:a,value:b})});var x=c(18915),y=c(23911),z=c(4362),A=c(99988);let B=/^#-\d+$/;class C{#K;constructor(a){this.#K=a}at(a){if("number"!=typeof a&&"string"!=typeof a||"number"==typeof a&&!Number.isInteger(a)||"string"==typeof a&&"last"!==a&&!B.test(a))throw Error(`Unexpected index value in .at(...): ${a}`);return this.#aW("ArrayLocation",a)}key(a){return this.#aW("Member",a)}#aW(a,b){return new D(y.Q.is(this.#K)?y.Q.cloneWithTraversal(this.#K,x.c.is(this.#K.traversal)?x.c.cloneWithLeg(this.#K.traversal,w.create(a,b)):v.k.cloneWithValue(this.#K.traversal,A.q.createImmediate(b))):x.c.cloneWithLeg(this.#K,w.create(a,b)))}}class D extends C{#K;constructor(a){super(a),this.#K=a}get expressionType(){}as(a){return new E(this,a)}$castTo(){return new D(this.#K)}$notNull(){return new D(this.#K)}toOperationNode(){return this.#K}}class E{#aX;#ao;constructor(a,b){this.#aX=a,this.#ao=b}get expression(){return this.#aX}get alias(){return this.#ao}toOperationNode(){return t.N.create(this.#aX.toOperationNode(),(0,z.N)(this.#ao)?this.#ao.toOperationNode():u.O.create(this.#ao))}}var F=c(14884),G=c(21836);let H=(0,n.CN)({is:a=>"TupleNode"===a.kind,create:a=>(0,n.CN)({kind:"TupleNode",values:(0,n.CN)(a)})});var I=c(23759);let J=(0,n.CN)({is:a=>"CastNode"===a.kind,create:(a,b)=>(0,n.CN)({kind:"CastNode",expression:a,dataType:b})});function K(a=q.W){function b(a,b){return new l.Is(function(a,b){if((0,m.Gq)(a))return o.create(m.zX.create(a),(0,i.$O)(b));throw Error(`invalid unary operator ${JSON.stringify(a)}`)}(a,b))}let c=Object.assign(function(a,b,c){return new l.Is((0,j.ds)(a,b,c))},{fn:void 0,eb:void 0,selectFrom:b=>(0,d.c)({queryId:(0,g.a)(),executor:a,queryNode:e.L.createFrom((0,f.JB)(b))}),case:a=>new r.OU({node:s.P.create((0,n.b0)(a)?void 0:(0,i.$O)(a))}),ref:(a,b)=>(0,n.b0)(b)?new l.Is((0,i.q5)(a)):new C((0,i.NF)(a,b)),jsonPath:()=>new C(x.c.create()),table:a=>new l.Is((0,f.M$)(a)),val:a=>new l.Is((0,p.$s)(a)),refTuple:(...a)=>new l.Is(H.create(a.map(i.$O))),tuple:(...a)=>new l.Is(H.create(a.map(p.$s))),lit:a=>new l.Is((0,p.dJ)(a)),unary:b,not:a=>b("not",a),exists:a=>b("exists",a),neg:a=>b("-",a),between:(a,b,c)=>new l.Is(F.l.create((0,i.$O)(a),m.zX.create("between"),G.s.create((0,p.$s)(b),(0,p.$s)(c)))),betweenSymmetric:(a,b,c)=>new l.Is(F.l.create((0,i.$O)(a),m.zX.create("between symmetric"),G.s.create((0,p.$s)(b),(0,p.$s)(c)))),and:a=>new l.Is((0,n.MH)(a)?(0,j.KN)(a,"and"):(0,j.Ve)(a,"and")),or:a=>new l.Is((0,n.MH)(a)?(0,j.KN)(a,"or"):(0,j.Ve)(a,"or")),parens(...a){let b=(0,j.GB)(a);return new l.Is(k.k.is(b)?b:k.k.create(b))},cast:(a,b)=>new l.Is(J.create((0,i.$O)(a),(0,I.Q)(b)))});return c.fn=(0,h.t)(),c.eb=c,c}function L(a){return K()}},93998:(a,b,c)=>{c.d(b,{c:()=>E});var d,e=c(39881),f=c(6881);let g=(0,f.CN)({is:a=>"SelectModifierNode"===a.kind,create:(a,b)=>(0,f.CN)({kind:"SelectModifierNode",modifier:a,of:b}),createWithExpression:a=>(0,f.CN)({kind:"SelectModifierNode",rawModifier:a})});var h=c(35541),i=c(4319),j=c(78322),k=c(15542),l=c(48835),m=c(36022),n=c(44542),o=c(52126);let p=(0,f.CN)({is:a=>"OffsetNode"===a.kind,create:a=>(0,f.CN)({kind:"OffsetNode",offset:a})}),q=(0,f.CN)({is:a=>"GroupByItemNode"===a.kind,create:a=>(0,f.CN)({kind:"GroupByItemNode",groupBy:a})});var r=c(93993),s=c(9736),t=c(20302),u=c(32329),v=c(67859);function w(a,b,c){return(0,f.Tn)(b)&&(b=b((0,r.O)())),(0,f.MH)(b)||(b=[b]),b.map(b=>u.i.create(a,(0,v.YK)(b),c))}var x=c(72104),y=c(99002),z=c(57702),A=c(99988);let B=(0,f.CN)({is:a=>"FetchNode"===a.kind,create:(a,b)=>({kind:"FetchNode",rowCount:A.q.create(a),modifier:b})});var C=c(72417);class D{#N;constructor(a){this.#N=(0,f.CN)(a)}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...a){return new d({...this.#N,queryNode:m.L.cloneWithWhere(this.#N.queryNode,(0,x.GB)(a))})}whereRef(a,b,c){return new d({...this.#N,queryNode:m.L.cloneWithWhere(this.#N.queryNode,(0,x.vC)(a,b,c))})}having(...a){return new d({...this.#N,queryNode:l.L.cloneWithHaving(this.#N.queryNode,(0,x.GB)(a))})}havingRef(a,b,c){return new d({...this.#N,queryNode:l.L.cloneWithHaving(this.#N.queryNode,(0,x.vC)(a,b,c))})}select(a){return new d({...this.#N,queryNode:l.L.cloneWithSelections(this.#N.queryNode,(0,j.G)(a))})}distinctOn(a){return new d({...this.#N,queryNode:l.L.cloneWithDistinctOn(this.#N.queryNode,(0,k.kU)(a))})}modifyFront(a){return new d({...this.#N,queryNode:l.L.cloneWithFrontModifier(this.#N.queryNode,g.createWithExpression(a.toOperationNode()))})}modifyEnd(a){return new d({...this.#N,queryNode:m.L.cloneWithEndModifier(this.#N.queryNode,g.createWithExpression(a.toOperationNode()))})}distinct(){return new d({...this.#N,queryNode:l.L.cloneWithFrontModifier(this.#N.queryNode,g.create("Distinct"))})}forUpdate(a){return new d({...this.#N,queryNode:m.L.cloneWithEndModifier(this.#N.queryNode,g.create("ForUpdate",a?(0,f._j)(a).map(i.M$):void 0))})}forShare(a){return new d({...this.#N,queryNode:m.L.cloneWithEndModifier(this.#N.queryNode,g.create("ForShare",a?(0,f._j)(a).map(i.M$):void 0))})}forKeyShare(a){return new d({...this.#N,queryNode:m.L.cloneWithEndModifier(this.#N.queryNode,g.create("ForKeyShare",a?(0,f._j)(a).map(i.M$):void 0))})}forNoKeyUpdate(a){return new d({...this.#N,queryNode:m.L.cloneWithEndModifier(this.#N.queryNode,g.create("ForNoKeyUpdate",a?(0,f._j)(a).map(i.M$):void 0))})}skipLocked(){return new d({...this.#N,queryNode:m.L.cloneWithEndModifier(this.#N.queryNode,g.create("SkipLocked"))})}noWait(){return new d({...this.#N,queryNode:m.L.cloneWithEndModifier(this.#N.queryNode,g.create("NoWait"))})}selectAll(a){return new d({...this.#N,queryNode:l.L.cloneWithSelections(this.#N.queryNode,(0,j.J)(a))})}innerJoin(...a){return this.#az("InnerJoin",a)}leftJoin(...a){return this.#az("LeftJoin",a)}rightJoin(...a){return this.#az("RightJoin",a)}fullJoin(...a){return this.#az("FullJoin",a)}crossJoin(...a){return this.#az("CrossJoin",a)}innerJoinLateral(...a){return this.#az("LateralInnerJoin",a)}leftJoinLateral(...a){return this.#az("LateralLeftJoin",a)}crossJoinLateral(...a){return this.#az("LateralCrossJoin",a)}crossApply(...a){return this.#az("CrossApply",a)}outerApply(...a){return this.#az("OuterApply",a)}#az(a,b){return new d({...this.#N,queryNode:m.L.cloneWithJoin(this.#N.queryNode,(0,h.a)(a,b))})}orderBy(...a){return new d({...this.#N,queryNode:m.L.cloneWithOrderByItems(this.#N.queryNode,(0,n.xk)(a))})}groupBy(a){var b;return new d({...this.#N,queryNode:l.L.cloneWithGroupByItems(this.#N.queryNode,(b=a,b=(0,f.Tn)(b)?b((0,r.A)()):b,(0,k.kU)(b).map(q.create)))})}limit(a){return new d({...this.#N,queryNode:l.L.cloneWithLimit(this.#N.queryNode,o.a.create((0,z.$s)(a)))})}offset(a){return new d({...this.#N,queryNode:l.L.cloneWithOffset(this.#N.queryNode,p.create((0,z.$s)(a)))})}fetch(a,b="only"){return new d({...this.#N,queryNode:l.L.cloneWithFetch(this.#N.queryNode,function(a,b){var c;if(!(0,f.Et)(a)&&!(0,f.sI)(a))throw Error(`Invalid fetch row count: ${a}`);if("only"!==(c=b)&&"with ties"!==c)throw Error(`Invalid fetch modifier: ${b}`);return B.create(a,b)}(a,b))})}top(a,b){return new d({...this.#N,queryNode:m.L.cloneWithTop(this.#N.queryNode,(0,C.f)(a,b))})}union(a){return new d({...this.#N,queryNode:l.L.cloneWithSetOperations(this.#N.queryNode,w("union",a,!1))})}unionAll(a){return new d({...this.#N,queryNode:l.L.cloneWithSetOperations(this.#N.queryNode,w("union",a,!0))})}intersect(a){return new d({...this.#N,queryNode:l.L.cloneWithSetOperations(this.#N.queryNode,w("intersect",a,!1))})}intersectAll(a){return new d({...this.#N,queryNode:l.L.cloneWithSetOperations(this.#N.queryNode,w("intersect",a,!0))})}except(a){return new d({...this.#N,queryNode:l.L.cloneWithSetOperations(this.#N.queryNode,w("except",a,!1))})}exceptAll(a){return new d({...this.#N,queryNode:l.L.cloneWithSetOperations(this.#N.queryNode,w("except",a,!0))})}as(a){return new F(this,a)}clearSelect(){return new d({...this.#N,queryNode:l.L.cloneWithoutSelections(this.#N.queryNode)})}clearWhere(){return new d({...this.#N,queryNode:m.L.cloneWithoutWhere(this.#N.queryNode)})}clearLimit(){return new d({...this.#N,queryNode:l.L.cloneWithoutLimit(this.#N.queryNode)})}clearOffset(){return new d({...this.#N,queryNode:l.L.cloneWithoutOffset(this.#N.queryNode)})}clearOrderBy(){return new d({...this.#N,queryNode:m.L.cloneWithoutOrderBy(this.#N.queryNode)})}clearGroupBy(){return new d({...this.#N,queryNode:l.L.cloneWithoutGroupBy(this.#N.queryNode)})}$call(a){return a(this)}$if(a,b){return a?b(this):new d({...this.#N})}$castTo(){return new d(this.#N)}$narrowType(){return new d(this.#N)}$assertType(){return new d(this.#N)}$asTuple(){return new y.Is(this.toOperationNode())}$asScalar(){return new y.Is(this.toOperationNode())}withPlugin(a){return new d({...this.#N,executor:this.#N.executor.withPlugin(a)})}toOperationNode(){return this.#N.executor.transformQuery(this.#N.queryNode,this.#N.queryId)}compile(){return this.#N.executor.compileQuery(this.toOperationNode(),this.#N.queryId)}async execute(a){let b=this.compile();return(await this.#N.executor.executeQuery(b,a)).rows}async executeTakeFirst(a){let[b]=await this.execute(a);return b}async executeTakeFirstOrThrow(a){"function"==typeof a&&(a={errorConstructor:a});let b=await this.executeTakeFirst(a);if(void 0===b){let b=a?.errorConstructor??s.F;throw(0,s.x)(b)?new b(this.toOperationNode()):b(this.toOperationNode())}return b}async *stream(a){"object"!=typeof a&&(a={chunkSize:a});let b=this.compile();for await(let c of this.#N.executor.stream(b,a.chunkSize??100,a))yield*c.rows}async explain(a,b){let c=new d({...this.#N,queryNode:m.L.cloneWithExplain(this.#N.queryNode,a,b)});return await c.execute()}}function E(a){return new D(a)}d=D;class F{#aY;#ao;constructor(a,b){this.#aY=a,this.#ao=b}get expression(){return this.#aY}get alias(){return this.#ao}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return e.N.create(this.#aY.toOperationNode(),t.O.create(this.#ao))}}},94042:(a,b,c)=>{c.d(b,{AI:()=>P});var d=c(1167),e=c(58918),f=c(50056),g=c(86546),h=c(37979),i=c(57796),j=c(17426);let k=(0,c(33746).E)({OTP_NOT_ENABLED:"OTP not enabled",OTP_HAS_EXPIRED:"OTP has expired",TOTP_NOT_ENABLED:"TOTP not enabled",TWO_FACTOR_NOT_ENABLED:"Two factor isn't enabled",BACKUP_CODES_NOT_ENABLED:"Backup codes aren't enabled",INVALID_BACKUP_CODE:"Invalid backup code",INVALID_CODE:"Invalid code",TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:"Too many attempts. Please request a new code.",INVALID_TWO_FACTOR_COOKIE:"Invalid two factor cookie"}),l="two_factor",m="trust_device";var n=c(61152),o=c(24416);async function p(a){let b=a=>{throw n.LG.from("UNAUTHORIZED",k[a])},c=await (0,h.sg)(a);if(!c){let c=a.context.createAuthCookie(l),f=await a.getSignedCookie(c.name,a.context.secret);if(!f)throw n.LG.from("UNAUTHORIZED",k.INVALID_TWO_FACTOR_COOKIE);let h=await a.context.internalAdapter.findVerificationValue(f);if(!h)throw n.LG.from("UNAUTHORIZED",k.INVALID_TWO_FACTOR_COOKIE);let i=await a.context.internalAdapter.findUserById(h.value);if(!i)throw n.LG.from("UNAUTHORIZED",k.INVALID_TWO_FACTOR_COOKIE);let j=await a.getSignedCookie(a.context.authCookies.dontRememberToken.name,a.context.secret);return{valid:async a=>{let b=await a.context.internalAdapter.consumeVerificationValue(f);if(!b||b.value!==i.id)throw(0,g.Aj)(a,c),n.LG.from("UNAUTHORIZED",k.INVALID_TWO_FACTOR_COOKIE);let h=await a.context.internalAdapter.createSession(b.value,!!j);if(!h)throw n.LG.from("INTERNAL_SERVER_ERROR",{message:"failed to create session",code:"FAILED_TO_CREATE_SESSION"});if(await (0,g.$G)(a,{session:h,user:i}),(0,g.Aj)(a,c),a.body.trustDevice){let b=a.context.getPlugin("two-factor").options?.trustDeviceMaxAge??2592e3,c=a.context.createAuthCookie(m,{maxAge:b}),d=`trust-device-${(0,e.k)(32)}`,f=await (0,o.s)("SHA-256","base64urlnopad").sign(a.context.secret,`${i.id}!${d}`);await a.context.internalAdapter.createVerificationValue({value:i.id,identifier:d,expiresAt:new Date(Date.now()+1e3*b)}),await a.setSignedCookie(c.name,`${f}!${d}`,a.context.secret,c.attributes),(0,g.Aj)(a,a.context.authCookies.dontRememberToken)}return a.json({token:h.token,user:(0,d.kc)(a.context.options,i)})},invalid:b,session:{session:null,user:i},key:f}}return{valid:async a=>a.json({token:c.session.token,user:(0,d.kc)(a.context.options,c.user)}),invalid:b,session:c,key:`${c.user.id}!${c.session.id}`}}var q=c(50498),r=c(18697),s=c(66290),t=c(36220),u=c(20067);async function v(a,b,c){let d=JSON.stringify(a);return c?.storeBackupCodes==="encrypted"?(0,f.vX)({data:d,key:b}):"object"==typeof c?.storeBackupCodes&&"encrypt"in c?.storeBackupCodes?c.storeBackupCodes.encrypt(d):d}async function w(a,b){let c=b?.customBackupCodesGenerate?b.customBackupCodesGenerate():Array.from({length:b?.amount??10}).fill(null).map(()=>(0,e.k)(b?.length??10,"a-z","0-9","A-Z")).map(a=>`${a.slice(0,5)}-${a.slice(5)}`);return{backupCodes:c,encryptedBackupCodes:await v(c,a,b)}}async function x(a,b,c){let d=await y(a.backupCodes,b,c);return d?{status:d.includes(a.code),updated:d.filter(b=>b!==a.code)}:{status:!1,updated:null}}async function y(a,b,c){return c?.storeBackupCodes==="encrypted"?(0,r.$)(await (0,f.zp)({key:b,data:a})):"object"==typeof c?.storeBackupCodes&&"decrypt"in c?.storeBackupCodes?(0,r.$)(await c?.storeBackupCodes.decrypt(a)):(0,r.$)(a)}let z=t.Ik({code:t.Yj().meta({description:'A backup code to verify. Eg: "123456"'}),disableSession:t.zM().meta({description:"If true, the session cookie will not be set."}).optional(),trustDevice:t.zM().meta({description:"If true, the device will be trusted for 30 days. It'll be refreshed on every sign in request within this time. Eg: true"}).optional()}),A=t.Ik({userId:u.Yj().meta({description:'The user ID to view all backup codes. Eg: "user-id"'})});var B=c(15916),C=c(70643);let D=async a=>{let b=await (0,C.n)("SHA-256").digest(new TextEncoder().encode(a));return B.z.encode(new Uint8Array(b),{padding:!1})},E=t.Ik({code:t.Yj().meta({description:'The otp code to verify. Eg: "012345"'}),trustDevice:t.zM().optional().meta({description:"If true, the device will be trusted for 30 days. It'll be refreshed on every sign in request within this time. Eg: true"})}),F=t.Ik({trustDevice:t.zM().optional().meta({description:"If true, the device will be trusted for 30 days. It'll be refreshed on every sign in request within this time. Eg: true"})}).optional(),G={user:{fields:{twoFactorEnabled:{type:"boolean",required:!1,defaultValue:!1,input:!1}}},twoFactor:{fields:{secret:{type:"string",required:!0,returned:!1,index:!0},backupCodes:{type:"string",required:!0,returned:!1},userId:{type:"string",required:!0,returned:!1,references:{model:"user",field:"id"},index:!0},verified:{type:"boolean",required:!1,defaultValue:!0,input:!1}}}};function H(a){return a?"0123456789ABCDEFGHIJKLMNOPQRSTUV":"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"}let I={encode(a,b={}){let c=H(!1);return function(a,b,c){let d="",e=0,f=0;for(let c of a)for(e=e<<8|c,f+=8;f>=5;)f-=5,d+=b[e>>f&31];if(f>0&&(d+=b[e<<5-f&31]),c){let a=(8-d.length%8)%8;d+="=".repeat(a)}return d}("string"==typeof a?new TextEncoder().encode(a):new Uint8Array(a),c,b.padding??!0)},decode(a){"string"!=typeof a&&(a=new TextDecoder().decode(a));let b=H(!1);return function(a,b){let c=function(a){let b=new Map;for(let c=0;c<a.length;c++)b.set(a[c],c);return b}(b),d=[],e=0,f=0;for(let b of a){if("="===b)break;let a=c.get(b);if(void 0===a)throw Error(`Invalid Base32 character: ${b}`);for(e=e<<5|a,f+=5;f>=8;)f-=8,d.push(e>>f&255)}return Uint8Array.from(d)}(a,b)}};async function J(a,{counter:b,digits:c,hash:d="SHA-1"}){let e=c??6;if(e<1||e>8)throw TypeError("Digits must be between 1 and 8");let f=new ArrayBuffer(8);new DataView(f).setBigUint64(0,BigInt(b),!1);let g=new Uint8Array(f),h=new Uint8Array(await (0,o.s)(d).sign(a,g)),i=15&h[h.length-1];return(((127&h[i])<<24|(255&h[i+1])<<16|(255&h[i+2])<<8|255&h[i+3])%10**e).toString().padStart(e,"0")}async function K(a,b){let c=b?.digits??6,d=b?.period??30,e=Math.floor(Date.now()/(1e3*d));return await J(a,{counter:e,digits:c,hash:b?.hash})}async function L(a,{window:b=1,digits:c=6,secret:d,period:e=30}){let f=Math.floor(Date.now()/(1e3*e)),g=!1;for(let e=-b;e<=b;e++)g=function(a,b){let c=a.length^b.length;for(let d=0;d<b.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(a,await J(d,{counter:f+e,digits:c}))||g;return g}c(47506);let M=(a,b)=>{let c=b?.digits??6,d=b?.period??30;return{hotp:b=>J(a,{counter:b,digits:c}),totp:()=>K(a,{digits:c,period:d}),verify:(b,e)=>L(b,{secret:a,digits:c,period:d,...e}),url:(b,e)=>(function({issuer:a,account:b,secret:c,digits:d=6,period:e=30}){let f=encodeURIComponent(a),g=encodeURIComponent(b),h=`otpauth://totp/${f}:${g}`,i=new URLSearchParams({secret:I.encode(c,{padding:!1}),issuer:a});return void 0!==d&&i.set("digits",d.toString()),void 0!==e&&i.set("period",e.toString()),`${h}?${i.toString()}`})({issuer:b,account:e,secret:a,digits:c,period:d})}},N=t.Ik({secret:t.Yj().meta({description:"The secret to generate the TOTP code"})}),O=t.Ik({code:t.Yj().meta({description:'The otp code to verify. Eg: "012345"'}),trustDevice:t.zM().meta({description:"If true, the device will be trusted for 30 days. It'll be refreshed on every sign in request within this time. Eg: true"}).optional()}),P=a=>{var b,c;let r,u,B,C,H,I,J,K="twoFactor",L=a?.trustDeviceMaxAge??2592e3,P=a?.allowPasswordless,Q={storeBackupCodes:"encrypted",...a?.backupCodeOptions},R=(r={...b={...a?.totpOptions,allowPasswordless:a?.totpOptions?.allowPasswordless??P},digits:b?.digits||6,period:b?.period||30},u=t.Yj().meta({description:"User password"}),B=b?.allowPasswordless?t.Ik({password:u.optional()}):t.Ik({password:u}),C="twoFactor",{id:"totp",version:j.i,endpoints:{generateTOTP:s.Aw.serverOnly({method:"POST",body:N,metadata:{openapi:{summary:"Generate TOTP code",description:"Use this endpoint to generate a TOTP code",responses:{200:{description:"Successful response",content:{"application/json":{schema:{type:"object",properties:{code:{type:"string"}}}}}}}}}},async a=>{if(b?.disable)throw a.context.logger.error("totp isn't configured. please pass totp option on two factor plugin to enable totp"),n.LG.from("BAD_REQUEST",{message:"totp isn't configured",code:"TOTP_NOT_CONFIGURED"});return{code:await M(a.body.secret,{period:r.period,digits:r.digits}).totp()}}),getTOTPURI:(0,s.Aw)("/two-factor/get-totp-uri",{method:"POST",use:[h.ld],body:B,metadata:{openapi:{summary:"Get TOTP URI",description:"Use this endpoint to get the TOTP URI",responses:{200:{description:"Successful response",content:{"application/json":{schema:{type:"object",properties:{totpURI:{type:"string"}}}}}}}}}},async a=>{if(b?.disable)throw a.context.logger.error("totp isn't configured. please pass totp option on two factor plugin to enable totp"),n.LG.from("BAD_REQUEST",{message:"totp isn't configured",code:"TOTP_NOT_CONFIGURED"});let c=a.context.session.user,d=await a.context.adapter.findOne({model:C,where:[{field:"userId",value:c.id}]});if(!d)throw n.LG.from("BAD_REQUEST",k.TOTP_NOT_ENABLED);let e=await (0,f.zp)({key:a.context.secretConfig,data:d.secret});if(await (0,i.g7)(a,c.id,b?.allowPasswordless)){if(!a.body.password)throw n.LG.from("BAD_REQUEST",q.q.INVALID_PASSWORD);await a.context.password.checkPassword(c.id,a)}return{totpURI:M(e,{digits:r.digits,period:r.period}).url(b?.issuer||a.context.appName,c.email)}}),verifyTOTP:(0,s.Aw)("/two-factor/verify-totp",{method:"POST",body:O,metadata:{openapi:{summary:"Verify two factor TOTP",description:"Verify two factor TOTP",responses:{200:{description:"Successful response",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean"}}}}}}}}}},async a=>{if(b?.disable)throw a.context.logger.error("totp isn't configured. please pass totp option on two factor plugin to enable totp"),n.LG.from("BAD_REQUEST",{message:"totp isn't configured",code:"TOTP_NOT_CONFIGURED"});let{session:c,valid:d,invalid:e}=await p(a),h=c.user,i=!c.session,j=await a.context.adapter.findOne({model:C,where:[{field:"userId",value:h.id}]});if(!j||i&&!1===j.verified)throw n.LG.from("BAD_REQUEST",k.TOTP_NOT_ENABLED);if(!await M(await (0,f.zp)({key:a.context.secretConfig,data:j.secret}),{period:r.period,digits:r.digits}).verify(a.body.code))return e("INVALID_CODE");if(!0!==j.verified){if(!h.twoFactorEnabled){let b=c.session,d=await a.context.internalAdapter.updateUser(h.id,{twoFactorEnabled:!0});await (0,g.$G)(a,{session:await a.context.internalAdapter.createSession(h.id,!1,b),user:d}),await a.context.internalAdapter.deleteSession(b.token)}await a.context.adapter.update({model:C,update:{verified:!0},where:[{field:"id",value:j.id}]})}return d(a)})}}),S=(c={...Q,allowPasswordless:a?.backupCodeOptions?.allowPasswordless??P},H="twoFactor",I=t.Yj().meta({description:"The users password."}),J=c.allowPasswordless?t.Ik({password:I.optional()}):t.Ik({password:I}),{id:"backup_code",version:j.i,endpoints:{verifyBackupCode:(0,s.Aw)("/two-factor/verify-backup-code",{method:"POST",body:z,metadata:{openapi:{description:"Verify a backup code for two-factor authentication",responses:{200:{description:"Backup code verified successfully",content:{"application/json":{schema:{type:"object",properties:{user:{type:"object",properties:{id:{type:"string",description:"Unique identifier of the user"},email:{type:"string",format:"email",nullable:!0,description:"User's email address"},emailVerified:{type:"boolean",nullable:!0,description:"Whether the email is verified"},name:{type:"string",nullable:!0,description:"User's name"},image:{type:"string",format:"uri",nullable:!0,description:"User's profile image URL"},twoFactorEnabled:{type:"boolean",description:"Whether two-factor authentication is enabled for the user"},createdAt:{type:"string",format:"date-time",description:"Timestamp when the user was created"},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the user was last updated"}},required:["id","twoFactorEnabled","createdAt","updatedAt"],description:"The authenticated user object with two-factor details"},session:{type:"object",properties:{token:{type:"string",description:"Session token"},userId:{type:"string",description:"ID of the user associated with the session"},createdAt:{type:"string",format:"date-time",description:"Timestamp when the session was created"},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the session expires"}},required:["token","userId","createdAt","expiresAt"],description:"The current session object, included unless disableSession is true"}},required:["user","session"]}}}}}}}},async a=>{let{session:b,valid:e}=await p(a),f=b.user,g=await a.context.adapter.findOne({model:H,where:[{field:"userId",value:f.id}]});if(!g)throw n.LG.from("BAD_REQUEST",k.BACKUP_CODES_NOT_ENABLED);let h=await x({backupCodes:g.backupCodes,code:a.body.code},a.context.secretConfig,c);if(!h.status||!h.updated)throw n.LG.from("UNAUTHORIZED",k.INVALID_BACKUP_CODE);let i=await v(h.updated,a.context.secretConfig,c);if(!await a.context.adapter.incrementOne({model:H,where:[{field:"id",value:g.id},{field:"backupCodes",value:g.backupCodes}],increment:{},set:{backupCodes:i}}))throw n.LG.fromStatus("CONFLICT",{message:"Failed to verify backup code. Please try again."});return a.body.disableSession?a.json({token:b.session?.token,user:(0,d.kc)(a.context.options,b.user)}):e(a)}),generateBackupCodes:(0,s.Aw)("/two-factor/generate-backup-codes",{method:"POST",body:J,use:[h.ld],metadata:{openapi:{description:"Generate new backup codes for two-factor authentication",responses:{200:{description:"Backup codes generated successfully",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean",description:"Indicates if the backup codes were generated successfully",enum:[!0]},backupCodes:{type:"array",items:{type:"string"},description:"Array of generated backup codes in plain text"}},required:["status","backupCodes"]}}}}}}}},async a=>{let b=a.context.session.user;if(!b.twoFactorEnabled)throw n.LG.from("BAD_REQUEST",k.TWO_FACTOR_NOT_ENABLED);if(await (0,i.g7)(a,b.id,c.allowPasswordless)){if(!a.body.password)throw n.LG.from("BAD_REQUEST",q.q.INVALID_PASSWORD);await a.context.password.checkPassword(b.id,a)}let d=await a.context.adapter.findOne({model:H,where:[{field:"userId",value:b.id}]});if(!d)throw n.LG.from("BAD_REQUEST",k.TWO_FACTOR_NOT_ENABLED);let e=await w(a.context.secretConfig,c);return await a.context.adapter.update({model:H,update:{backupCodes:e.encryptedBackupCodes},where:[{field:"id",value:d.id}]}),a.json({status:!0,backupCodes:e.backupCodes})}),viewBackupCodes:s.Aw.serverOnly({method:"POST",body:A},async a=>{let b=await a.context.adapter.findOne({model:H,where:[{field:"userId",value:a.body.userId}]});if(!b)throw n.LG.from("BAD_REQUEST",k.BACKUP_CODES_NOT_ENABLED);let d=await y(b.backupCodes,a.context.secretConfig,c);if(!d)throw n.LG.from("BAD_REQUEST",k.INVALID_BACKUP_CODE);return a.json({status:!0,backupCodes:d})})}}),T=(a=>{let b={storeOTP:"plain",digits:6,...a,period:60*(a?.period||3)*1e3};async function c(a,c){return"hashed"===b.storeOTP?await D(c):"object"==typeof b.storeOTP&&"hash"in b.storeOTP?await b.storeOTP.hash(c):"object"==typeof b.storeOTP&&"encrypt"in b.storeOTP?await b.storeOTP.encrypt(c):"encrypted"===b.storeOTP?await (0,f.vX)({key:a.context.secretConfig,data:c}):c}async function h(a,c,d){return"hashed"===b.storeOTP?[c,await D(d)]:"encrypted"===b.storeOTP?[await (0,f.zp)({key:a.context.secretConfig,data:c}),d]:"object"==typeof b.storeOTP&&"encrypt"in b.storeOTP?[await b.storeOTP.decrypt(c),d]:"object"==typeof b.storeOTP&&"hash"in b.storeOTP?[c,await b.storeOTP.hash(d)]:[c,d]}return{id:"otp",version:j.i,endpoints:{sendTwoFactorOTP:(0,s.Aw)("/two-factor/send-otp",{method:"POST",body:F,metadata:{openapi:{summary:"Send two factor OTP",description:"Send two factor OTP to the user",responses:{200:{description:"Successful response",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean"}}}}}}}}}},async d=>{if(!a||!a.sendOTP)throw d.context.logger.error("send otp isn't configured. Please configure the send otp function on otp options."),n.LG.from("BAD_REQUEST",{message:"otp isn't configured",code:"OTP_NOT_CONFIGURED"});let{session:f,key:g}=await p(d),h=(0,e.k)(b.digits,"0-9"),i=await c(d,h);await d.context.internalAdapter.createVerificationValue({value:`${i}:0`,identifier:`2fa-otp-${g}`,expiresAt:new Date(Date.now()+b.period)});let j=a.sendOTP({user:f.user,otp:h},d);return j instanceof Promise&&await d.context.runInBackgroundOrAwait(j.catch(a=>{d.context.logger.error("Failed to send two-factor OTP",a)})),d.json({status:!0})}),verifyTwoFactorOTP:(0,s.Aw)("/two-factor/verify-otp",{method:"POST",body:E,metadata:{openapi:{summary:"Verify two factor OTP",description:"Verify two factor OTP",responses:{200:{description:"Two-factor OTP verified successfully",content:{"application/json":{schema:{type:"object",properties:{token:{type:"string",description:"Session token for the authenticated session"},user:{type:"object",properties:{id:{type:"string",description:"Unique identifier of the user"},email:{type:"string",format:"email",nullable:!0,description:"User's email address"},emailVerified:{type:"boolean",nullable:!0,description:"Whether the email is verified"},name:{type:"string",nullable:!0,description:"User's name"},image:{type:"string",format:"uri",nullable:!0,description:"User's profile image URL"},createdAt:{type:"string",format:"date-time",description:"Timestamp when the user was created"},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the user was last updated"}},required:["id","createdAt","updatedAt"],description:"The authenticated user object"}},required:["token","user"]}}}}}}}},async b=>{let{session:c,key:e,valid:f,invalid:i}=await p(b),j=await b.context.internalAdapter.consumeVerificationValue(`2fa-otp-${e}`);if(!j)throw n.LG.from("BAD_REQUEST",k.OTP_HAS_EXPIRED);let[l,m]=j.value?.split(":")??[],o=a?.allowedAttempts||5,r=parseInt(m,10)||0;if(r>=o)throw n.LG.from("BAD_REQUEST",k.TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE);let[s,t]=await h(b,l,b.body.code);if(function(a,b){"string"==typeof a&&(a=new TextEncoder().encode(a)),"string"==typeof b&&(b=new TextEncoder().encode(b));let c=new Uint8Array(a),d=new Uint8Array(b),e=c.length^d.length,f=Math.max(c.length,d.length);for(let a=0;a<f;a++)e|=(a<c.length?c[a]:0)^(a<d.length?d[a]:0);return 0===e}(new TextEncoder().encode(s),new TextEncoder().encode(t))){if(!c.user.twoFactorEnabled){if(!c.session)throw n.LG.from("BAD_REQUEST",q.q.FAILED_TO_CREATE_SESSION);let a=await b.context.internalAdapter.updateUser(c.user.id,{twoFactorEnabled:!0}),e=await b.context.internalAdapter.createSession(c.user.id,!1,c.session);return await (0,g.$G)(b,{session:e,user:a}),await b.context.internalAdapter.deleteSession(c.session.token),b.json({token:e.token,user:(0,d.kc)(b.context.options,a)})}return f(b)}return await b.context.internalAdapter.createVerificationValue({value:`${l}:${r+1}`,identifier:`2fa-otp-${e}`,expiresAt:j.expiresAt}),i("INVALID_CODE")})}}})(a?.otpOptions),U=t.Yj().meta({description:"User password"}),V=P?t.Ik({password:U.optional(),issuer:t.Yj().meta({description:"Custom issuer for the TOTP URI"}).optional()}):t.Ik({password:U,issuer:t.Yj().meta({description:"Custom issuer for the TOTP URI"}).optional()}),W=P?t.Ik({password:U.optional()}):t.Ik({password:U});return{id:"two-factor",version:j.i,endpoints:{...R.endpoints,...T.endpoints,...S.endpoints,enableTwoFactor:(0,s.Aw)("/two-factor/enable",{method:"POST",body:V,use:[h.ld],metadata:{openapi:{summary:"Enable two factor authentication",description:"Use this endpoint to enable two factor authentication. This will generate a TOTP URI and backup codes. Once the user verifies the TOTP URI, the two factor authentication will be enabled.",responses:{200:{description:"Successful response",content:{"application/json":{schema:{type:"object",properties:{totpURI:{type:"string",description:"TOTP URI"},backupCodes:{type:"array",items:{type:"string"},description:"Backup codes"}}}}}}}}}},async b=>{let c=b.context.session.user,{password:d,issuer:h}=b.body;if(await (0,i.g7)(b,c.id,P)&&(!d||!await (0,i.Oj)(b,{password:d,userId:c.id})))throw n.LG.from("BAD_REQUEST",q.q.INVALID_PASSWORD);let j=(0,e.k)(32),k=await (0,f.vX)({key:b.context.secretConfig,data:j}),l=await w(b.context.secretConfig,Q);if(a?.skipVerificationOnEnable){let a=await b.context.internalAdapter.updateUser(c.id,{twoFactorEnabled:!0});await (0,g.$G)(b,{session:await b.context.internalAdapter.createSession(a.id,!1,b.context.session.session),user:a}),await b.context.internalAdapter.deleteSession(b.context.session.session.token)}let m=await b.context.adapter.findOne({model:K,where:[{field:"userId",value:c.id}]});await b.context.adapter.deleteMany({model:K,where:[{field:"userId",value:c.id}]}),await b.context.adapter.create({model:K,data:{secret:k,backupCodes:l.encryptedBackupCodes,userId:c.id,verified:null!=m&&!1!==m.verified||!!a?.skipVerificationOnEnable}});let o=M(j,{digits:a?.totpOptions?.digits||6,period:a?.totpOptions?.period}).url(h||a?.issuer||b.context.appName,c.email);return b.json({totpURI:o,backupCodes:l.backupCodes})}),disableTwoFactor:(0,s.Aw)("/two-factor/disable",{method:"POST",body:W,use:[h.rZ],metadata:{openapi:{summary:"Disable two factor authentication",description:"Use this endpoint to disable two factor authentication.",responses:{200:{description:"Successful response",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean"}}}}}}}}}},async a=>{let b=a.context.session.user,{password:c}=a.body;if(await (0,i.g7)(a,b.id,P)&&(!c||!await (0,i.Oj)(a,{password:c,userId:b.id})))throw n.LG.from("BAD_REQUEST",q.q.INVALID_PASSWORD);let d=await a.context.internalAdapter.updateUser(b.id,{twoFactorEnabled:!1});await a.context.adapter.delete({model:K,where:[{field:"userId",value:d.id}]}),await (0,g.$G)(a,{session:await a.context.internalAdapter.createSession(d.id,!1,a.context.session.session),user:d}),await a.context.internalAdapter.deleteSession(a.context.session.session.token);let e=a.context.createAuthCookie(m,{maxAge:L}),f=await a.getSignedCookie(e.name,a.context.secret);if(f){let[,b]=f.split("!");b&&await a.context.internalAdapter.deleteVerificationByIdentifier(b),(0,g.Aj)(a,e)}return a.json({status:!0})})},options:a,hooks:{after:[{matcher:a=>"/sign-in/email"===a.path||"/sign-in/username"===a.path||"/sign-in/phone-number"===a.path,handler:(0,s.Di)(async b=>{let c=b.context.newSession;if(!c||!c?.user.twoFactorEnabled)return;let d=b.context.createAuthCookie(m,{maxAge:L}),f=await b.getSignedCookie(d.name,b.context.secret);if(f){let[a,h]=f.split("!");if(a&&h&&a===await (0,o.s)("SHA-256","base64urlnopad").sign(b.context.secret,`${c.user.id}!${h}`)){let a=await b.context.internalAdapter.findVerificationValue(h);if(a&&a.value===c.user.id&&a.expiresAt>new Date){await b.context.internalAdapter.deleteVerificationByIdentifier(h);let a=`trust-device-${(0,e.k)(32)}`,f=await (0,o.s)("SHA-256","base64urlnopad").sign(b.context.secret,`${c.user.id}!${a}`);await b.context.internalAdapter.createVerificationValue({value:c.user.id,identifier:a,expiresAt:new Date(Date.now()+1e3*L)});let g=b.context.createAuthCookie(m,{maxAge:L});await b.setSignedCookie(g.name,`${f}!${a}`,b.context.secret,d.attributes);return}}(0,g.Aj)(b,d)}(0,g.eC)(b,!0),await b.context.internalAdapter.deleteSession(c.session.token),b.context.setNewSession(null);let h=a?.twoFactorCookieMaxAge??600,i=b.context.createAuthCookie(l,{maxAge:h}),j=`2fa-${(0,e.k)(20)}`;await b.context.internalAdapter.createVerificationValue({value:c.user.id,identifier:j,expiresAt:new Date(Date.now()+1e3*h)}),await b.setSignedCookie(i.name,j,b.context.secret,i.attributes);let k=[];if(!a?.totpOptions?.disable){let a=await b.context.adapter.findOne({model:K,where:[{field:"userId",value:c.user.id}]});a&&!1!==a.verified&&k.push("totp")}return a?.otpOptions?.sendOTP&&k.push("otp"),b.json({twoFactorRedirect:!0,twoFactorMethods:k})})}]},schema:(0,d.oh)(G,{...a?.schema,twoFactor:{...a?.schema?.twoFactor,...a?.twoFactorTable?{modelName:a.twoFactorTable}:{}}}),rateLimit:[{pathMatcher:a=>a.startsWith("/two-factor/"),window:10,max:3}],$ERROR_CODES:k}}},94657:(a,b,c)=>{c.d(b,{d:()=>d});function d(a,b){if(!a||!b)return a;let c=Object.entries(b).filter(([,{returned:a}])=>!1===a).map(([a])=>a);return Object.entries(structuredClone(a)).filter(([a])=>!c.includes(a)).reduce((a,[b,c])=>({...a,[b]:c}),{})}},95019:(a,b,c)=>{c.d(b,{Y:()=>f});var d=c(6881),e=c(40417);let f=(0,d.CN)({is:a=>"CreateViewNode"===a.kind,create:a=>(0,d.CN)({kind:"CreateViewNode",name:e.y.create(a)}),cloneWith:(a,b)=>(0,d.CN)({...a,...b})})},95388:(a,b,c)=>{c.d(b,{y:()=>s});var d=c(29962),e=c(34745),f=c(61152),g=c(19202),h=c(34974),i=c(33068),j=c(22199);function k(a,b,c){return"pg"===c?(0,g.B3)(a,b):(0,h.ll)`LOWER(${a}) LIKE LOWER(${b})`}function l(a,b){return 0===b.length?(0,h.ll)`false`:(0,h.ll)`LOWER(${a}) IN (${h.ll.join(b.map(a=>(0,h.ll)`LOWER(${a})`),(0,h.ll)`, `)})`}function m(a,b){return 0===b.length?(0,h.ll)`true`:(0,h.ll)`LOWER(${a}) NOT IN (${h.ll.join(b.map(a=>(0,h.ll)`LOWER(${a})`),(0,h.ll)`, `)})`}function n(a,b){return(0,h.ll)`LOWER(${a}) = LOWER(${b})`}function o(a,b){return(0,h.ll)`LOWER(${a}) <> LOWER(${b})`}function p(a,b,c){let d=0;return(a&&"object"==typeof a&&"rowCount"in a?d=a.rowCount:Array.isArray(a)?d=a.length>0&&q(a[0])?r(a[0]):a.length:q(a)&&(d=r(a)),"number"!=typeof d)?(e.vF.error(`[Drizzle Adapter] The result of the ${b} operation is not a number. This is likely a bug in the adapter. Please report this issue to the Better Auth team.`,{result:a,...c}),0):d}function q(a){return!!a&&"object"==typeof a&&("affectedRows"in a||"rowsAffected"in a||"changes"in a)}function r(a){return a.affectedRows??a.rowsAffected??a.changes}let s=(a,b)=>{let c=null,q=!1,r=(a,c=!1)=>({getFieldName:d,getDefaultFieldName:r,getDefaultModelName:s,options:t,schema:u})=>{function v(c){let d=b.schema||a._.fullSchema;if(!d)throw new f.$l("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let e=d[c];if(!e)throw new f.$l(`[# Drizzle Adapter]: The model "${c}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return e}"mysql"!==b.provider||t.advanced?.database?.generateId!==!1||q||(q=!0,e.vF.warn('[Drizzle Adapter] MySQL does not support INSERT...RETURNING. With generateId set to false, the adapter uses best-effort fallback strategies (unique columns, full-field match) to retrieve inserted rows. For reliable behavior, use Better Auth\'s default ID generation, a custom generateId function, or generateId: "serial" for auto-increment.'));let w=async(f,i,j,k)=>{if("mysql"!==b.provider)return(await i.returning())[0];await i.execute();let l=v(f),m=i.config?.values;if(k?.length){let b=x(k.map(a=>void 0!==j[a.field]?{...a,value:j[a.field]}:a),f);return(await a.select().from(l).where(...b))[0]}let n=async a=>{let b=m?.[0]?.id?.value;if(b)return(await a.select().from(l).where((0,g.eq)(l.id,b)).limit(1).execute())[0]??null;if(j.id)return(await a.select().from(l).where((0,g.eq)(l.id,j.id)).limit(1).execute())[0]??null;if(t.advanced?.database?.generateId==="serial"&&l.id){let b=(await a.select({id:(0,h.ll)`LAST_INSERT_ID()`}).from(l).limit(1).execute())[0]?.id;if(b)return(await a.select().from(l).where((0,g.eq)(l.id,b)).limit(1).execute())[0]??null}let c=u[s(f)]?.fields;if(c)for(let[b,e]of Object.entries(c)){if(!e.unique)continue;let c=d({model:f,field:b}),h=j[c];if(null==h||!l[c])continue;let i=await a.select().from(l).where((0,g.eq)(l[c],h)).limit(1).execute();if(i[0])return i[0]}let i=[];for(let[a,b]of Object.entries(j))void 0!==b&&l[a]&&i.push(null===b?(0,g.kZ)(l[a]):(0,g.eq)(l[a],b));if(i.length>0){let b=(0,g.Uo)(...i);if(b){let c=await a.select().from(l).where(b).limit(2).execute();if(1===c.length)return c[0]}}return e.vF.warn(`[Drizzle Adapter] Unable to safely identify the inserted "${f}" row on MySQL. Enable Better Auth ID generation or use generateId: "serial" for reliable behavior.`),null};return c?n(a):a.transaction(n)};function x(a,c){let e=v(c);if(!a)return[];if(1===a.length){let h=a[0];if(!h)return[];let i=d({model:c,field:h.field});if(!e[i])throw new f.$l(`The field "${h.field}" does not exist in the schema for the model "${c}". Please update your schema.`);let j=(h.mode??"sensitive")==="insensitive"&&("string"==typeof h.value||Array.isArray(h.value)&&h.value.every(a=>"string"==typeof a));if("in"===h.operator){if(!Array.isArray(h.value))throw new f.$l(`The value for the field "${h.field}" must be an array when using the "in" operator.`);return j?[l(e[i],h.value)]:[(0,g.RV)(e[i],h.value)]}if("not_in"===h.operator){if(!Array.isArray(h.value))throw new f.$l(`The value for the field "${h.field}" must be an array when using the "not_in" operator.`);return j?[m(e[i],h.value)]:[(0,g.KL)(e[i],h.value)]}return"contains"===h.operator?j&&"string"==typeof h.value?[k(e[i],`%${h.value}%`,b.provider)]:[(0,g.mj)(e[i],`%${h.value}%`)]:"starts_with"===h.operator?j&&"string"==typeof h.value?[k(e[i],`${h.value}%`,b.provider)]:[(0,g.mj)(e[i],`${h.value}%`)]:"ends_with"===h.operator?j&&"string"==typeof h.value?[k(e[i],`%${h.value}`,b.provider)]:[(0,g.mj)(e[i],`%${h.value}`)]:"lt"===h.operator?[(0,g.lt)(e[i],h.value)]:"lte"===h.operator?[(0,g.wJ)(e[i],h.value)]:"ne"===h.operator?null===h.value?[(0,g.Pe)(e[i])]:j&&"string"==typeof h.value?[o(e[i],h.value)]:[(0,g.ne)(e[i],h.value)]:"gt"===h.operator?[(0,g.gt)(e[i],h.value)]:"gte"===h.operator?[(0,g.RO)(e[i],h.value)]:null===h.value?[(0,g.kZ)(e[i])]:j&&"string"==typeof h.value?[n(e[i],h.value)]:[(0,g.eq)(e[i],h.value)]}let h=a.filter(a=>"AND"===a.connector||!a.connector),i=a.filter(a=>"OR"===a.connector),j=(0,g.Uo)(...h.map(a=>{let h=d({model:c,field:a.field}),i=(a.mode??"sensitive")==="insensitive"&&("string"==typeof a.value||Array.isArray(a.value)&&a.value.every(a=>"string"==typeof a));if("in"===a.operator){if(!Array.isArray(a.value))throw new f.$l(`The value for the field "${a.field}" must be an array when using the "in" operator.`);return i?l(e[h],a.value):(0,g.RV)(e[h],a.value)}if("not_in"===a.operator){if(!Array.isArray(a.value))throw new f.$l(`The value for the field "${a.field}" must be an array when using the "not_in" operator.`);return i?m(e[h],a.value):(0,g.KL)(e[h],a.value)}return"contains"===a.operator?i&&"string"==typeof a.value?k(e[h],`%${a.value}%`,b.provider):(0,g.mj)(e[h],`%${a.value}%`):"starts_with"===a.operator?i&&"string"==typeof a.value?k(e[h],`${a.value}%`,b.provider):(0,g.mj)(e[h],`${a.value}%`):"ends_with"===a.operator?i&&"string"==typeof a.value?k(e[h],`%${a.value}`,b.provider):(0,g.mj)(e[h],`%${a.value}`):"lt"===a.operator?(0,g.lt)(e[h],a.value):"lte"===a.operator?(0,g.wJ)(e[h],a.value):"gt"===a.operator?(0,g.gt)(e[h],a.value):"gte"===a.operator?(0,g.RO)(e[h],a.value):"ne"===a.operator?null===a.value?(0,g.Pe)(e[h]):i&&"string"==typeof a.value?o(e[h],a.value):(0,g.ne)(e[h],a.value):null===a.value?(0,g.kZ)(e[h]):i&&"string"==typeof a.value?n(e[h],a.value):(0,g.eq)(e[h],a.value)})),p=(0,g.or)(...i.map(a=>{let h=d({model:c,field:a.field});if(!e[h])throw new f.$l(`The field "${a.field}" does not exist in the schema for the model "${c}". Please update your schema.`);let i=(a.mode??"sensitive")==="insensitive"&&("string"==typeof a.value||Array.isArray(a.value)&&a.value.every(a=>"string"==typeof a));if("in"===a.operator){if(!Array.isArray(a.value))throw new f.$l(`The value for the field "${a.field}" must be an array when using the "in" operator.`);return i?l(e[h],a.value):(0,g.RV)(e[h],a.value)}if("not_in"===a.operator){if(!Array.isArray(a.value))throw new f.$l(`The value for the field "${a.field}" must be an array when using the "not_in" operator.`);return i?m(e[h],a.value):(0,g.KL)(e[h],a.value)}return"contains"===a.operator?i&&"string"==typeof a.value?k(e[h],`%${a.value}%`,b.provider):(0,g.mj)(e[h],`%${a.value}%`):"starts_with"===a.operator?i&&"string"==typeof a.value?k(e[h],`${a.value}%`,b.provider):(0,g.mj)(e[h],`${a.value}%`):"ends_with"===a.operator?i&&"string"==typeof a.value?k(e[h],`%${a.value}`,b.provider):(0,g.mj)(e[h],`%${a.value}`):"lt"===a.operator?(0,g.lt)(e[h],a.value):"lte"===a.operator?(0,g.wJ)(e[h],a.value):"gt"===a.operator?(0,g.gt)(e[h],a.value):"gte"===a.operator?(0,g.RO)(e[h],a.value):"ne"===a.operator?null===a.value?(0,g.Pe)(e[h]):i&&"string"==typeof a.value?o(e[h],a.value):(0,g.ne)(e[h],a.value):null===a.value?(0,g.kZ)(e[h]):i&&"string"==typeof a.value?n(e[h],a.value):(0,g.eq)(e[h],a.value)}));return h.length&&i.length?[(0,g.Uo)(j,p)]:h.length?[j]:i.length?[p]:[]}function y(c){if(a.query[c])return c;if(b.usePlural){let b=`${c}s`;if(a.query[b])return b}if(b.schema){let d=b.schema[c];if(d){let b=a._.fullSchema;if(b){for(let c of Object.keys(a.query))if(b[c]===d)return c}}}return null}return{async create({model:b,data:c}){let e=v(b);if(!e)throw new f.$l("Drizzle adapter failed to initialize. Drizzle Schema not found. Please provide a schema object in the adapter options object.");for(let a in c){let c;try{c=d({model:b,field:a})}catch{c=a}if(!e[c])throw new f.$l(`The field "${a}" does not exist in the "${b}" Drizzle schema. Please update your drizzle schema or re-generate using "npx auth@latest generate".`)}return await w(b,a.insert(e).values(c),c)},async findOne({model:c,where:f,select:g,join:h}){let i=v(c),j=x(f,c);if(t.experimental?.joins){let f=y(c);if(a.query&&f){let e,i=[];if(h)for(let[a,c]of(e={},Object.entries(h))){let d=c.limit??t.advanced?.database?.defaultFindManyLimit??100,f="one-to-one"===c.relation,g=f||b.usePlural?"":"s";e[`${a}${g}`]=!!f||{limit:d},f||i.push(`${a}${g}`)}let k=await a.query[f].findFirst({where:j[0],columns:g?.length&&g.length>0?g.reduce((a,b)=>(a[d({model:c,field:b})]=!0,a),{}):void 0,with:e});if(k)for(let a of i){let c=b.usePlural?a:a.slice(0,-1);k[c]=k[a],a!==c&&delete k[a]}return k}e.vF.error(`[# Drizzle Adapter]: The model "${c}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx auth@latest generate".`),e.vF.info("Falling back to regular query")}let k=await a.select(g?.length&&g.length>0?g.reduce((a,b)=>{let e=d({model:c,field:b});return{...a,[e]:i[e]}},{}):void 0).from(i).where(...j);return k.length?k[0]:null},async findMany({model:c,where:f,sortBy:g,limit:h,select:j,offset:k,join:l}){let m=v(c),n=f?x(f,c):[],o=g?.direction==="desc"?i.i:i.Y;if(t.experimental?.joins){let f=y(c);if(f){let e,i,p=[];if(l)for(let[a,c]of(e={},Object.entries(l))){let d="one-to-one"===c.relation,f=c.limit??t.advanced?.database?.defaultFindManyLimit??100,g=d||b.usePlural?"":"s";e[`${a}${g}`]=!!d||{limit:f},d||p.push(`${a}${g}`)}g?.field&&(i=[o(m[d({model:c,field:g?.field})])]);let q=await a.query[f].findMany({where:n[0],with:e,columns:j?.length&&j.length>0?j.reduce((a,b)=>(a[d({model:c,field:b})]=!0,a),{}):void 0,limit:h??100,offset:k??0,orderBy:i});if(q)for(let a of q)for(let c of p){let d=b.usePlural?c:c.slice(0,-1);d!==c&&(a[d]=a[c],delete a[c])}return q}e.vF.error(`[# Drizzle Adapter]: The model "${c}" was not found in the query object. Please update your Drizzle schema to include relations or re-generate using "npx auth@latest generate".`),e.vF.info("Falling back to regular query")}let p=a.select(j?.length&&j.length>0?j.reduce((a,b)=>{let e=d({model:c,field:b});return{...a,[e]:m[e]}},{}):void 0).from(m);return void 0!==h&&(p=p.limit(h)),void 0!==k&&(p=p.offset(k)),g?.field&&(p=p.orderBy(o(m[d({model:c,field:g?.field})]))),await p.where(...n)},async count({model:b,where:c}){let d=v(b),e=c?x(c,b):[];return(await a.select({count:(0,j.U9)()}).from(d).where(...e))[0].count},async update({model:b,where:c,update:d}){let e=v(b),f=x(c,b);return await w(b,a.update(e).set(d).where(...f),d,c)},async updateMany({model:b,where:c,update:d}){let e=v(b),f=x(c,b);return p(await a.update(e).set(d).where(...f),"updateMany",{model:b,where:c})},async delete({model:b,where:c}){let d=v(b),e=x(c,b);return await a.delete(d).where(...e)},async deleteMany({model:b,where:c}){let d=v(b),e=x(c,b);return p(await a.delete(d).where(...e),"deleteMany",{model:b,where:c})},async consumeOne({model:e,where:f}){let h=v(e),i=x(f,e),j=d({model:e,field:"id"}),k=h[j];if("mysql"===b.provider){let b=async a=>{let b=(await a.select().from(h).where(...i).for("update").limit(1))[0];if(!b)return null;let c=b[j]??b.id;return null!=c&&k&&p(await a.delete(h).where((0,g.eq)(k,c)).execute(),"consumeOne",{model:e,where:f})>0?b:null};return c?b(a):a.transaction(b)}if(!k)return null;let l=a.select({id:k}).from(h).where(...i).limit(1);return(await a.delete(h).where((0,g.RV)(k,l)).returning())[0]??null},async incrementOne({model:e,where:i,increment:j,set:k}){let l=v(e),m=x(i,e),n=d({model:e,field:"id"}),o=l[n],p={};for(let[a,b]of Object.entries(j)){let c=d({model:e,field:a}),g=l[c];if(!g)throw new f.$l(`The field "${a}" does not exist in the schema for the model "${e}". Please update your schema.`);p[c]=(0,h.ll)`${g} + ${b}`}if(k)for(let[a,b]of Object.entries(k)){let c=d({model:e,field:a});if(!l[c])throw new f.$l(`The field "${a}" does not exist in the schema for the model "${e}". Please update your schema.`);p[c]=b}if("mysql"===b.provider){let b=async a=>{let b=(await a.select().from(l).where(...m).for("update").limit(1))[0];if(!b)return null;let c=b[n]??b.id;return null!=c&&o?(await a.update(l).set(p).where((0,g.eq)(o,c)).execute(),(await a.select().from(l).where((0,g.eq)(o,c)).limit(1).execute())[0]??null):null};return c?b(a):a.transaction(b)}if(!o)return null;let q=a.select({id:o}).from(l).where(...m).limit(1);return(await a.update(l).set(p).where((0,g.RV)(o,q)).returning())[0]??null},options:b}},s=null;s={config:{adapterId:"drizzle",adapterName:"Drizzle Adapter",usePlural:b.usePlural??!1,debugLogs:b.debugLogs??!1,supportsUUIDs:"pg"===b.provider,supportsJSON:"pg"===b.provider,supportsArrays:"pg"===b.provider,customTransformOutput:({data:a,fieldAttributes:b})=>"date"===b.type?null==a?a:new Date(a):a,transaction:!!b.transaction&&(b=>a.transaction(a=>b((0,d.I)({config:{...s.config,transaction:!1},adapter:r(a,!0)})(c))))},adapter:r(a)};let t=(0,d.I)(s);return a=>(c=a,t(a))}},95482:(a,b,c)=>{let d,e,f,g,h;c.d(b,{l:()=>de});var i,j=c(27716),k=c(34745);async function l(a,b){let d;if(a.database)d="function"==typeof a.database?a.database(a):await b(a);else{let b=Object.keys((0,j.y)(a)).reduce((a,b)=>(a[b]=[],a),{}),{memoryAdapter:e}=await c.e(162).then(c.bind(c,30162));d=e(b)(a)}return d.transaction||(k.vF.warn("Adapter does not correctly implement transaction function, patching it automatically. Please update your adapter implementation."),d.transaction=async a=>a(d)),d}var m=c(61152);async function n(a){return l(a,async a=>{let{createKyselyAdapter:b}=await c.e(3524).then(c.bind(c,3524)),{kysely:d,databaseType:e,transaction:f}=await b(a);if(!d)throw new m.$l("Failed to initialize database adapter");let{kyselyAdapter:g}=await c.e(3524).then(c.bind(c,3524));return g(d,{type:e||"sqlite",debugLogs:!!a.database&&"debugLogs"in a.database&&a.database.debugLogs,transaction:f})(a)})}var o=c(30200),p=c(82358),q=c(56865),r=c(37906);let s={postgres:{string:["character varying","varchar","text","uuid"],number:["int4","integer","bigint","smallint","numeric","real","double precision"],boolean:["bool","boolean"],date:["timestamptz","timestamp","date"],json:["json","jsonb"]},mysql:{string:["varchar","text","uuid"],number:["integer","int","bigint","smallint","decimal","float","double"],boolean:["boolean","tinyint"],date:["timestamp","datetime","date"],json:["json"]},sqlite:{string:["TEXT"],number:["INTEGER","REAL"],boolean:["INTEGER","BOOLEAN"],date:["DATE","INTEGER"],json:["TEXT"]},mssql:{string:["varchar","nvarchar","uniqueidentifier"],number:["int","bigint","smallint","decimal","float","double"],boolean:["bit","smallint"],date:["datetime2","date","datetime"],json:["varchar","nvarchar"]}};async function t(a){try{let b=await (0,r.l)`SHOW search_path`.execute(a),c=b.rows[0]?.search_path??b.rows[0]?.searchPath;if(c)return c.split(",").map(a=>a.trim()).map(a=>a.replace(/^["']|["']$/g,"")).filter(a=>!a.startsWith("$")&&!a.startsWith("\\$"))[0]||"public"}catch{}return"public"}async function u(a){let b=function(a){let b=(0,j.y)(a),c={};for(let a in b){let d=b[a],e=d.fields,f={};if(Object.entries(e).forEach(([a,c])=>{if(f[c.fieldName||a]=c,c.references){let d=b[c.references.model];d&&(f[c.fieldName||a].references={...c.references,model:d.modelName,field:c.references.field})}}),c[d.modelName]){c[d.modelName].fields={...c[d.modelName].fields,...f};continue}c[d.modelName]={fields:f,order:d.order||1/0}}return c}(a),c=(0,k.h)(a.logger),{kysely:d,databaseType:e}=await (0,o.xA)(a);e||(c.warn("Could not determine database type, defaulting to sqlite. Please provide a type in the database options to avoid this."),e="sqlite"),d||(c.error("Only kysely adapter is supported for migrations. You can use `generate` command to generate the schema, if you're using a different adapter."),process.exit(1));let f="public";if("postgres"===e){f=await t(d),c.debug(`PostgreSQL migration: Using schema '${f}' (from search_path)`);try{let a=await (0,r.l)`
112
+ SELECT schema_name
113
+ FROM information_schema.schemata
114
+ WHERE schema_name = ${f}
115
+ `.execute(d);(a.rows[0]?.schema_name??a.rows[0]?.schemaName)||c.warn(`Schema '${f}' does not exist. Tables will be inspected from available schemas. Consider creating the schema first or checking your database configuration.`)}catch(a){c.debug(`Could not verify schema existence: ${a instanceof Error?a.message:String(a)}`)}}let g=await d.introspection.getTables(),h=g;if("postgres"===e)try{let a=await (0,r.l)`
116
+ SELECT table_name
117
+ FROM information_schema.tables
118
+ WHERE table_schema = ${f}
119
+ AND table_type = 'BASE TABLE'
120
+ `.execute(d),b=new Set(a.rows.map(a=>a.table_name??a.tableName));h=g.filter(a=>a.schema===f&&b.has(a.name)),c.debug(`Found ${h.length} table(s) in schema '${f}': ${h.map(a=>a.name).join(", ")||"(none)"}`)}catch(a){c.warn(`Could not filter tables by schema. Using all discovered tables. Error: ${a instanceof Error?a.message:String(a)}`)}let i=[],l=[];for(let[a,d]of Object.entries(b)){let b=h.find(b=>b.name===a);if(!b){let b=i.findIndex(b=>b.table===a),c={table:a,fields:d.fields,order:d.order||1/0},e=i.findIndex(a=>(a.order||1/0)>c.order);-1===e?-1===b?i.push(c):i[b].fields={...i[b].fields,...d.fields}:i.splice(e,0,c);continue}let f={};for(let[g,h]of Object.entries(d.fields)){let d=b.columns.find(a=>a.name===g);if(!d){f[g]=h;continue}!function(a,b,c){if("string[]"===b||"number[]"===b)return a.toLowerCase().includes("json");let d=s[c];return(Array.isArray(b)?d.string.map(a=>a.toLowerCase()):d[b].map(a=>a.toLowerCase())).includes(a.toLowerCase().split("(")[0].trim())}(d.dataType,h.type,e)&&c.warn(`Field ${g} in table ${a} has a different type in the database. Expected ${h.type} but got ${d.dataType}.`)}Object.keys(f).length>0&&l.push({table:a,fields:f,order:d.order||1/0})}let m=[],n=a.advanced?.database?.generateId==="uuid",u=a.advanced?.database?.generateId==="serial";function v(a,b){let c=a.type,d=e||"sqlite",f={string:{sqlite:"text",postgres:"text",mysql:a.unique?"varchar(255)":a.references?"varchar(36)":a.sortable||a.index?"varchar(255)":"text",mssql:a.unique||a.sortable?"varchar(255)":a.references?"varchar(36)":"varchar(8000)"},boolean:{sqlite:"integer",postgres:"boolean",mysql:"boolean",mssql:"smallint"},number:{sqlite:a.bigint?"bigint":"integer",postgres:a.bigint?"bigint":"integer",mysql:a.bigint?"bigint":"integer",mssql:a.bigint?"bigint":"integer"},date:{sqlite:"date",postgres:"timestamptz",mysql:"timestamp(3)",mssql:(0,r.l)`datetime2(3)`},json:{sqlite:"text",postgres:"jsonb",mysql:"json",mssql:"varchar(8000)"},id:{postgres:u?(0,r.l)`integer GENERATED BY DEFAULT AS IDENTITY`:n?"uuid":"text",mysql:u?"integer":"varchar(36)",mssql:u?"integer":"varchar(36)",sqlite:u?"integer":"text"},foreignKeyId:{postgres:u?"integer":n?"uuid":"text",mysql:u?"integer":"varchar(36)",mssql:u?"integer":"varchar(36)",sqlite:u?"integer":"text"},"string[]":{sqlite:"text",postgres:"jsonb",mysql:"json",mssql:"varchar(8000)"},"number[]":{sqlite:"text",postgres:"jsonb",mysql:"json",mssql:"varchar(8000)"}};if("id"===b||a.references?.field==="id")return"id"===b?f.id[d]:f.foreignKeyId[d];if(Array.isArray(c))return"text";if(!(c in f))throw Error(`Unsupported field type '${String(c)}' for field '${b}'. Allowed types are: string, number, boolean, date, string[], number[]. If you need to store structured data, store it as a JSON string (type: "string") or split it into primitive fields. See https://better-auth.com/docs/advanced/schema#additional-fields`);return f[c][d]}let w=(0,p.j)({schema:(0,j.y)(a),usePlural:!1}),x=(0,q.y)({schema:(0,j.y)(a),usePlural:!1});function y(a,b){try{return`${w(a)}.${x({model:a,field:b})}`}catch{return`${a}.${b}`}}let z=[];if(l.length)for(let a of l)for(let[b,c]of Object.entries(a.fields)){let f=v(c,b),g=d.schema.alterTable(a.table);if(c.index){let e=`${a.table}_${b}_${c.unique?"uidx":"idx"}`,f=d.schema.createIndex(e).on(a.table).columns([b]);z.push(c.unique?f.unique():f)}let h=g.addColumn(b,f,a=>(a=!1!==c.required?a.notNull():a,c.references&&(a=a.references(y(c.references.model,c.references.field)).onDelete(c.references.onDelete||"cascade")),c.unique&&(a=a.unique()),"date"===c.type&&"function"==typeof c.defaultValue&&("postgres"===e||"mysql"===e||"mssql"===e)&&(a="mysql"===e?a.defaultTo((0,r.l)`CURRENT_TIMESTAMP(3)`):a.defaultTo((0,r.l)`CURRENT_TIMESTAMP`)),a));m.push(h)}if(i.length)for(let a of i){let b=v({type:u?"number":"string"},"id"),c=d.schema.createTable(a.table).addColumn("id",b,a=>{if(u)return"postgres"===e?a.primaryKey().notNull():"sqlite"===e?a.primaryKey().notNull():"mssql"===e?a.identity().primaryKey().notNull():a.autoIncrement().primaryKey().notNull();return n&&"postgres"===e?a.primaryKey().defaultTo((0,r.l)`pg_catalog.gen_random_uuid()`).notNull():a.primaryKey().notNull()});for(let[b,f]of Object.entries(a.fields)){let g=v(f,b);if(c=c.addColumn(b,g,a=>(a=!1!==f.required?a.notNull():a,f.references&&(a=a.references(y(f.references.model,f.references.field)).onDelete(f.references.onDelete||"cascade")),f.unique&&(a=a.unique()),"date"===f.type&&"function"==typeof f.defaultValue&&("postgres"===e||"mysql"===e||"mssql"===e)&&(a="mysql"===e?a.defaultTo((0,r.l)`CURRENT_TIMESTAMP(3)`):a.defaultTo((0,r.l)`CURRENT_TIMESTAMP`)),a)),f.index){let c=d.schema.createIndex(`${a.table}_${b}_${f.unique?"uidx":"idx"}`).on(a.table).columns([b]);z.push(f.unique?c.unique():c)}}m.push(c)}for(let a of z)m.push(a);return{toBeCreated:i,toBeAdded:l,runMigrations:async function(){for(let a of m)await a.execute()},compileMigrations:async function(){return m.map(a=>a.compile().sql).join(";\n\n")+";"}}}var v=c(55651),w=c(91411);let x=(a,b,c)=>{if(a.startsWith("/"))return!!c?.allowRelativePaths&&a.startsWith("/")&&/^\/(?!\/|\\|%2f|%5c)[\w\-.\+/@]*(?:\?[\w\-.\+/=&%@]*)?$/.test(a);if(b.includes("*")||b.includes("?")){if(b.includes("://"))return(0,w.U)(b)((0,v.$z)(a)||a);let c=(0,v.Ln)(a);return!!c&&(0,w.U)(b)(c)}let d=(0,v.Jr)(a);return"http:"!==d&&"https:"!==d&&d?a.startsWith(b):b===(0,v.$z)(a)};var y=c(79637),z=c(33513),A=c(77598);function B(a,b){return new Promise((c,d)=>{(0,A.scrypt)(a.normalize("NFKC"),b,64,{N:16384,r:16,p:1,maxmem:0x4000000},(a,b)=>{a?d(a):c(b)})})}async function C(a){let b=(0,A.randomBytes)(16).toString("hex"),c=await B(a,b);return`${b}:${c.toString("hex")}`}async function D(a,b){let[c,d]=a.split(":");if(!c||!d)throw Error("Invalid password hash");return(await B(b,c)).toString("hex")===d}let E=async({hash:a,password:b})=>D(a,b);var F=c(86546),G=c(99449),H=c(36220);function I(a){return H.uX().safeParse(a).success||H.ug().safeParse(a).success}function J(a){if(a.includes("::")){let b=a.split("::"),c=b[0]?b[0].split(":"):[],d=b[1]?b[1].split(":"):[],e=Array(8-c.length-d.length).fill("0000");return[...c.map(a=>a.padStart(4,"0")),...e,...d.map(a=>a.padStart(4,"0"))]}return a.split(":").map(a=>a.padStart(4,"0"))}function K(a,b={}){if(H.uX().safeParse(a).success||!H.ug().safeParse(a).success)return a.toLowerCase();let c=function(a){let b=a.toLowerCase();if(b.startsWith("::ffff:")){let a=b.substring(7);if(H.uX().safeParse(a).success)return a}let c=a.split(":");if(7===c.length&&c[5]?.toLowerCase()==="ffff"){let a=c[6];if(a&&H.uX().safeParse(a).success)return a}if(b.includes("::ffff:")||b.includes(":ffff:")){let b=J(a);if(8===b.length&&"0000"===b[0]&&"0000"===b[1]&&"0000"===b[2]&&"0000"===b[3]&&"0000"===b[4]&&"ffff"===b[5]&&b[6]&&b[7])return`${Number.parseInt(b[6].substring(0,2),16)}.${Number.parseInt(b[6].substring(2,4),16)}.${Number.parseInt(b[7].substring(0,2),16)}.${Number.parseInt(b[7].substring(2,4),16)}`}return null}(a);if(c)return c.toLowerCase();var d=b.ipv6Subnet??64;let e=J(a);if(void 0!==d&&d<128){let a=Math.max(0,Math.floor(d));return e.map(b=>{if(a<=0)return"0000";if(a>=16)return a-=16,b;let c=Number.parseInt(b,16)&(65535<<16-a&65535);return a=0,c.toString(16).padStart(4,"0")}).join(":").toLowerCase()}return e.join(":").toLowerCase()}function L(a,b){if(b.advanced?.ipAddress?.disableIpTracking)return null;let c="headers"in a?a.headers:a;for(let a of b.advanced?.ipAddress?.ipAddressHeaders||["x-forwarded-for"]){let d="get"in c?c.get(a):c[a];if("string"==typeof d){let a=d.split(",")[0].trim();if(I(a))return K(a,{ipv6Subnet:b.advanced?.ipAddress?.ipv6Subnet})}}return(0,G.Nu)()||(0,G.yz)()?"127.0.0.1":null}var M=c(1167),N=c(64201),O=c(15916),P=c(70643);let Q=async a=>{let b=await (0,P.n)("SHA-256").digest(new TextEncoder().encode(a));return O.z.encode(new Uint8Array(b),{padding:!1})};async function R(a,b){return b&&"plain"!==b?"hashed"===b?Q(a):"object"==typeof b&&"hash"in b?b.hash(a):a:a}function S(a,b){if(b){if("object"==typeof b&&"default"in b){if(b.overrides){for(let[c,d]of Object.entries(b.overrides))if(a.startsWith(c))return d}return b.default}return b}}var T=c(56590),U=c(86217),V=c(14140);let W="better_auth.operation_id",X="better_auth.hook.type",Y="better_auth.context";var Z=c(11888),$=c(44590),_=c(18697);function aa(a,b=Date.now()){return Math.max(Math.floor((("number"==typeof a?a:a.getTime())-b)/1e3),0)}let ab=(a,b)=>{let c,d=b.logger,e=b.options,f=e.secondaryStorage,g=new Map,h=!1,i=e.session?.expiresIn||604800,{createWithHooks:j,updateWithHooks:k,updateManyWithHooks:l,deleteWithHooks:m,deleteManyWithHooks:n,consumeOneWithHooks:o}=(c=b.hooks,{createWithHooks:async function(b,d,e){let f=await (0,T.xA)().catch(()=>null),g=b;for(let{source:a,hooks:b}of c){let c=b[d]?.create?.before;if(c){let b=await (0,V.f)(`db create.before ${d}`,{[X]:"create.before",[Z.qU]:d,[Y]:a},()=>c(g,f));if(!1===b)return null;"object"==typeof b&&"data"in b&&(g={...g,...b.data})}}let h=null;for(let{source:b,hooks:i}of((!e||e.executeMainFn)&&(h=await (await (0,U.d3)(a)).create({model:d,data:g,forceAllowId:!0})),e?.fn&&(h=await e.fn(h??g)),c)){let a=i[d]?.create?.after;a&&await (0,U.dS)(async()=>{await (0,V.f)(`db create.after ${d}`,{[X]:"create.after",[Z.qU]:d,[Y]:b},()=>a(h,f))})}return h},updateWithHooks:async function(b,d,e,f){let g=await (0,T.xA)().catch(()=>null),h=b;for(let{source:a,hooks:d}of c){let c=d[e]?.update?.before;if(c){let d=await (0,V.f)(`db update.before ${e}`,{[X]:"update.before",[Z.qU]:e,[Y]:a},()=>c(b,g));if(!1===d)return null;"object"==typeof d&&"data"in d&&(h={...h,...d.data})}}let i=f?await f.fn(h):null,j=!f||f.executeMainFn?await (await (0,U.d3)(a)).update({model:e,update:h,where:d}):i;for(let{source:a,hooks:b}of c){let c=b[e]?.update?.after;c&&await (0,U.dS)(async()=>{await (0,V.f)(`db update.after ${e}`,{[X]:"update.after",[Z.qU]:e,[Y]:a},()=>c(j,g))})}return j},updateManyWithHooks:async function(b,d,e,f){let g=await (0,T.xA)().catch(()=>null),h=b;for(let{source:a,hooks:d}of c){let c=d[e]?.update?.before;if(c){let d=await (0,V.f)(`db updateMany.before ${e}`,{[X]:"updateMany.before",[Z.qU]:e,[Y]:a},()=>c(b,g));if(!1===d)return null;"object"==typeof d&&"data"in d&&(h={...h,...d.data})}}let i=f?await f.fn(h):null,j=!f||f.executeMainFn?await (await (0,U.d3)(a)).updateMany({model:e,update:h,where:d}):i;for(let{source:a,hooks:b}of c){let c=b[e]?.update?.after;c&&await (0,U.dS)(async()=>{await (0,V.f)(`db updateMany.after ${e}`,{[X]:"updateMany.after",[Z.qU]:e,[Y]:a},()=>c(j,g))})}return j},deleteWithHooks:async function(b,d,e){let f=await (0,T.xA)().catch(()=>null),g=null;try{g=(await (await (0,U.d3)(a)).findMany({model:d,where:b,limit:1}))[0]||null}catch{}if(g)for(let{source:a,hooks:b}of c){let c=b[d]?.delete?.before;if(c&&await (0,V.f)(`db delete.before ${d}`,{[X]:"delete.before",[Z.qU]:d,[Y]:a},()=>c(g,f))===!1)return null}let h=e?await e.fn(b):null,i=(!e||e.executeMainFn)&&g?await (await (0,U.d3)(a)).delete({model:d,where:b}):h;if(g)for(let{source:a,hooks:b}of c){let c=b[d]?.delete?.after;c&&await (0,U.dS)(async()=>{await (0,V.f)(`db delete.after ${d}`,{[X]:"delete.after",[Z.qU]:d,[Y]:a},()=>c(g,f))})}return i},deleteManyWithHooks:async function(b,d,e){let f=await (0,T.xA)().catch(()=>null),g=[];try{g=await (await (0,U.d3)(a)).findMany({model:d,where:b})}catch{}for(let a of g)for(let{source:b,hooks:e}of c){let c=e[d]?.delete?.before;if(c&&await (0,V.f)(`db delete.before ${d}`,{[X]:"delete.before",[Z.qU]:d,[Y]:b},()=>c(a,f))===!1)return null}let h=e?await e.fn(b):null,i=!e||e.executeMainFn?await (await (0,U.d3)(a)).deleteMany({model:d,where:b}):h;for(let a of g)for(let{source:b,hooks:e}of c){let c=e[d]?.delete?.after;c&&await (0,U.dS)(async()=>{await (0,V.f)(`db delete.after ${d}`,{[X]:"delete.after",[Z.qU]:d,[Y]:b},()=>c(a,f))})}return i},consumeOneWithHooks:async function(b,d,e,f){let g=await (0,T.xA)().catch(()=>null),h=c.flatMap(({source:a,hooks:c})=>{let d=c[b]?.delete?.before;return d?[{source:a,fn:d}]:[]}),i=f??null;if(h.length){if(!i)try{i=(await (await (0,U.d3)(a)).findMany({model:b,where:d,limit:1}))[0]||null}catch{}if(i){for(let{source:a,fn:c}of h)if(await (0,V.f)(`db delete.before ${b}`,{[X]:"delete.before",[Z.qU]:b,[Y]:a},()=>c(i,g))===!1)return null}}let j=await e();if(!j)return null;for(let{source:a,hooks:d}of c){let c=d[b]?.delete?.after;c&&await (0,U.dS)(async()=>{await (0,V.f)(`db delete.after ${b}`,{[X]:"delete.after",[Z.qU]:b,[Y]:a},()=>c(j,g))})}return j}});async function p(a){if(!f)return;let b=await f.get(`active-sessions-${a.id}`);if(!b)return;let c=Date.now(),d=((0,_.$)(b)||[]).filter(a=>a.expiresAt>c);await Promise.all(d.map(async({token:b})=>{let d=await f.get(b);if(!d)return;let e=(0,_.$)(d);if(!e)return;let g=aa(e.session.expiresAt,c);await f.set(b,JSON.stringify({session:e.session,user:a}),Math.floor(g))}))}async function q(a,b){let c,d=g.get(a)??Promise.resolve(),e=new Promise(a=>{c=a}),f=d.catch(()=>{}).then(()=>e);g.set(a,f),await d.catch(()=>{});try{return await b()}finally{c(),g.get(a)===f&&g.delete(a)}}return{createOAuthUser:async(b,c)=>(0,U.iD)(a,async()=>{let a=await j({createdAt:new Date,updatedAt:new Date,...b,email:b.email?.toLowerCase()},"user",void 0);return{user:a,account:await j({...c,userId:a.id,createdAt:new Date,updatedAt:new Date},"account",void 0)}}),createUser:async a=>await j({createdAt:new Date,updatedAt:new Date,...a,email:a.email?.toLowerCase()},"user",void 0),createAccount:async a=>await j({createdAt:new Date,updatedAt:new Date,...a},"account",void 0),listSessions:async(c,d)=>{if(f){let a=await f.get(`active-sessions-${c}`);if(!a)return[];let d=(0,_.$)(a)||[],e=Date.now(),g=new Set,h=[];for(let{token:a,expiresAt:c}of d){if(c<=e||g.has(a))continue;g.add(a);let d=await f.get(a);if(d)try{let a="string"==typeof d?JSON.parse(d):d;if(!a?.session)continue;h.push((0,M.dc)(b.options,{...a.session,expiresAt:new Date(a.session.expiresAt)}))}catch{continue}}return h}return await (await (0,U.d3)(a)).findMany({model:"session",where:[{field:"userId",value:c},...d?.onlyActiveSessions?[{field:"expiresAt",value:new Date,operator:"gt"}]:[]]})},listUsers:async(b,c,d,e)=>await (await (0,U.d3)(a)).findMany({model:"user",limit:b,offset:c,sortBy:d,where:e}),countTotalUsers:async b=>{let c=await (await (0,U.d3)(a)).count({model:"user",where:b});return"string"==typeof c?parseInt(c):c},deleteUser:async a=>{(!f||e.session?.storeSessionInDatabase)&&await n([{field:"userId",value:a}],"session",void 0),await n([{field:"userId",value:a}],"account",void 0),await m([{field:"id",value:a}],"user",void 0)},createSession:async(c,d,g,h)=>{let k,l=await (async()=>{let a=await (0,T.xA)().catch(()=>null);return a?.headers||a?.request?.headers})(),m=e.session?.storeSessionInDatabase,{id:n,...o}=g||{};if(f&&!m){let a=b.generateId({model:"session"});k=!1!==a?a:(0,$.$)()}let p=(0,M.BJ)(e),q={...k?{id:k}:{},ipAddress:l&&L(l,e)||"",userAgent:l?.get("user-agent")||"",...o,expiresAt:d?(0,N.p)(86400,"sec"):(0,N.p)(i,"sec"),userId:c,token:(0,$.$)(32),createdAt:new Date,updatedAt:new Date,...p,...h?o:{}};return await j(q,"session",f?{fn:async b=>{let d=await f.get(`active-sessions-${c}`),e=[],g=Date.now();d&&(e=(e=(0,_.$)(d)||[]).filter(a=>a.expiresAt>g&&a.token!==q.token));let h=[...e,{token:q.token,expiresAt:q.expiresAt.getTime()}].sort((a,b)=>a.expiresAt-b.expiresAt),i=aa(h.at(-1)?.expiresAt??q.expiresAt.getTime(),g);i>0&&await f.set(`active-sessions-${c}`,JSON.stringify(h),i);let j=await (await (0,U.d3)(a)).findOne({model:"user",where:[{field:"id",value:c}]}),k=aa(q.expiresAt,g);return k>0&&await f.set(q.token,JSON.stringify({session:b,user:j}),k),b},executeMainFn:m}:void 0)},findSession:async c=>{if(f){let a=await f.get(c);if(!a&&(!e.session?.storeSessionInDatabase||b.options.session?.preserveSessionInDatabase))return null;if(a){let c=(0,_.$)(a);return c?{session:(0,M.dc)(b.options,{...c.session,expiresAt:new Date(c.session.expiresAt),createdAt:new Date(c.session.createdAt),updatedAt:new Date(c.session.updatedAt)}),user:(0,M.kc)(b.options,{...c.user,createdAt:new Date(c.user.createdAt),updatedAt:new Date(c.user.updatedAt)})}:null}}let d=await (await (0,U.d3)(a)).findOne({model:"session",where:[{value:c,field:"token"}],join:{user:!0}});if(!d)return null;let{user:g,...h}=d;return g?{session:(0,M.dc)(b.options,h),user:(0,M.kc)(b.options,g)}:null},findSessions:async(b,c)=>{if(f){let a=[];for(let d of b){let b=await f.get(d);if(b)try{let d="string"==typeof b?JSON.parse(b):b;if(!d)return[];let e=new Date(d.session.expiresAt);if(c?.onlyActiveSessions&&e<=new Date)continue;let f={session:{...d.session,expiresAt:new Date(d.session.expiresAt)},user:{...d.user,createdAt:new Date(d.user.createdAt),updatedAt:new Date(d.user.updatedAt)}};a.push(f)}catch{continue}}return a}let d=await (await (0,U.d3)(a)).findMany({model:"session",where:[{field:"token",value:b,operator:"in"},...c?.onlyActiveSessions?[{field:"expiresAt",value:new Date,operator:"gt"}]:[]],join:{user:!0}});return!d.length||d.some(a=>!a.user)?[]:d.map(a=>{let{user:b,...c}=a;return{session:c,user:b}})},updateSession:async(a,c)=>await k(c,[{field:"token",value:a}],"session",f?{async fn(c){let d=await f.get(a);if(!d)return null;let e=(0,_.$)(d);if(!e)return null;let g={...e.session,...c,expiresAt:new Date(c.expiresAt??e.session.expiresAt),createdAt:new Date(e.session.createdAt),updatedAt:new Date(c.updatedAt??e.session.updatedAt)},h=(0,M.dc)(b.options,g),i=Date.now(),j=new Date(h.expiresAt).getTime(),k=aa(j,i);if(k>0){await f.set(a,JSON.stringify({session:h,user:e.user}),k);let b=`active-sessions-${h.userId}`,c=await f.get(b),d=(c&&(0,_.$)(c)||[]).filter(b=>b.token!==a&&b.expiresAt>i).concat([{token:a,expiresAt:j}]).sort((a,b)=>a.expiresAt-b.expiresAt),g=d.at(-1)?.expiresAt;g&&g>i?await f.set(b,JSON.stringify(d),aa(g,i)):await f.delete(b)}return h},executeMainFn:e.session?.storeSessionInDatabase}:void 0),deleteSession:async a=>{if(f){let c=await f.get(a);if(c){let{session:b}=(0,_.$)(c)??{};if(!b)return void d.error("Session not found in secondary storage");let e=b.userId,g=await f.get(`active-sessions-${e}`);if(g){let b=(0,_.$)(g)||[],c=Date.now(),d=b.filter(b=>b.expiresAt>c&&b.token!==a),h=d.sort((a,b)=>a.expiresAt-b.expiresAt).at(-1)?.expiresAt;d.length>0&&h&&h>Date.now()?await f.set(`active-sessions-${e}`,JSON.stringify(d),aa(h,c)):await f.delete(`active-sessions-${e}`)}else d.error("Active sessions list not found in secondary storage")}if(await f.delete(a),!e.session?.storeSessionInDatabase||b.options.session?.preserveSessionInDatabase)return}await m([{field:"token",value:a}],"session",void 0)},deleteAccounts:async a=>{await n([{field:"userId",value:a}],"account",void 0)},deleteAccount:async a=>{await m([{field:"id",value:a}],"account",void 0)},deleteUserSessions:async a=>{if(f){let c=await f.get(`active-sessions-${a}`),d=c?(0,_.$)(c):[];if(!d)return;for(let a of d)await f.delete(a.token);if(await f.delete(`active-sessions-${a}`),!e.session?.storeSessionInDatabase||b.options.session?.preserveSessionInDatabase)return}await n([{field:"userId",value:a}],"session",void 0)},deleteSessions:async a=>{if(f){for(let b of a)await f.get(b)&&await f.delete(b);if(!e.session?.storeSessionInDatabase||b.options.session?.preserveSessionInDatabase)return}await n([{field:"token",value:a,operator:"in"}],"session",void 0)},findOAuthUser:async(b,c,d)=>{let e=await (await (0,U.d3)(a)).findOne({model:"account",where:[{value:c,field:"accountId"},{value:d,field:"providerId"}],join:{user:!0}});if(e)if(e.user)return{user:e.user,linkedAccount:e,accounts:[e]};else{let c=await (await (0,U.d3)(a)).findOne({model:"user",where:[{value:b.toLowerCase(),field:"email"}]});return c?{user:c,linkedAccount:e,accounts:[e]}:null}{let c=await (await (0,U.d3)(a)).findOne({model:"user",where:[{value:b.toLowerCase(),field:"email"}]});return c?{user:c,linkedAccount:null,accounts:await (await (0,U.d3)(a)).findMany({model:"account",where:[{value:c.id,field:"userId"}]})||[]}:null}},findUserByEmail:async(b,c)=>{let d=await (await (0,U.d3)(a)).findOne({model:"user",where:[{value:b.toLowerCase(),field:"email"}],join:{...c?.includeAccounts?{account:!0}:{}}});if(!d)return null;let{account:e,...f}=d;return{user:f,accounts:e??[]}},findUserById:async b=>b?await (await (0,U.d3)(a)).findOne({model:"user",where:[{field:"id",value:b}]}):null,linkAccount:async a=>await j({createdAt:new Date,updatedAt:new Date,...a},"account",void 0),updateUser:async(a,b)=>{let c=await k({...b,...b.email?{email:b.email.toLowerCase()}:{}},[{field:"id",value:a}],"user",void 0);return await p(c),c},updateUserByEmail:async(a,b)=>{let c=await k({...b,...b.email?{email:b.email.toLowerCase()}:{}},[{field:"email",value:a.toLowerCase()}],"user",void 0);return await p(c),c},updatePassword:async(a,b)=>{await l({password:b},[{field:"userId",value:a},{field:"providerId",value:"credential"}],"account",void 0)},findAccounts:async b=>await (await (0,U.d3)(a)).findMany({model:"account",where:[{field:"userId",value:b}]}),findAccountByProviderId:async(b,c)=>await (await (0,U.d3)(a)).findOne({model:"account",where:[{field:"accountId",value:b},{field:"providerId",value:c}]}),findAccountByUserId:async b=>await (await (0,U.d3)(a)).findMany({model:"account",where:[{field:"userId",value:b}]}),updateAccount:async(a,b)=>await k(b,[{field:"id",value:a}],"account",void 0),createVerificationValue:async a=>{let b=S(a.identifier,e.verification?.storeIdentifier),c=await R(a.identifier,b);return await j({createdAt:new Date,updatedAt:new Date,...a,identifier:c},"verification",f?{async fn(a){let b=aa(a.expiresAt);return b>0&&await f.set(`verification:${c}`,JSON.stringify(a),b),a},executeMainFn:e.verification?.storeInDatabase}:void 0)},findVerificationValue:async b=>{let c=S(b,e.verification?.storeIdentifier),d=await R(b,c);if(f){let a=await f.get(`verification:${d}`);if(a){let b=(0,_.$)(a);if(b)return b}if(c&&"plain"!==c){let a=await f.get(`verification:${b}`);if(a){let b=(0,_.$)(a);if(b)return b}}if(!e.verification?.storeInDatabase)return null}let g=await (0,U.d3)(a);async function h(a){return g.findMany({model:"verification",where:[{field:"identifier",value:a}],sortBy:{field:"createdAt",direction:"desc"},limit:1})}let i=await h(d);return!i.length&&c&&"plain"!==c&&(i=await h(b)),e.verification?.disableCleanup||await n([{field:"expiresAt",value:new Date,operator:"lt"}],"verification",void 0),i[0]||null},deleteVerificationByIdentifier:async a=>{let b=await R(a,S(a,e.verification?.storeIdentifier));f&&await f.delete(`verification:${b}`),(!f||e.verification?.storeInDatabase)&&await m([{field:"identifier",value:b}],"verification",void 0)},consumeVerificationValue:async b=>{let c=S(b,e.verification?.storeIdentifier),g=await R(b,c),i=c&&"plain"!==c?[g,b]:[g],j=a=>{if(!a)return null;let b="string"==typeof a?(0,_.$)(a):"object"==typeof a?a:null;if(!b)return null;let c=new Date(b.expiresAt);return Number.isFinite(c.getTime())?{...b,expiresAt:c}:null},k=null;if(f&&!e.verification?.storeInDatabase){let a=async a=>f.getAndDelete?j(await f.getAndDelete(a)):(h||(h=!0,d.warn("Secondary storage does not implement `getAndDelete`, so single-use verification values cannot be consumed atomically across processes. Implement `getAndDelete` or use database-backed verification storage to guarantee single use.")),q(a,async()=>{let b=j(await f.get(a));return b?(await f.delete(a),b):null}));for(let b of i){let c=await a(`verification:${b}`);if(c){await Promise.all(i.filter(a=>a!==b).map(a=>f.delete(`verification:${a}`))),k=c;break}}}else{let b=async b=>q(`verification:${b}`,()=>(0,U.iD)(a,async()=>{let c=await (0,U.d3)(a),d=[{field:"identifier",value:b}],e=(await c.findMany({model:"verification",where:d,sortBy:{field:"createdAt",direction:"desc"},limit:1}))[0]??null;return e?o("verification",[{field:"id",value:e.id}],async()=>{let a=await c.consumeOne({model:"verification",where:[{field:"id",value:e.id}]});return a?(await c.deleteMany({model:"verification",where:d}),a):null},e):null}));for(let a of i)if(k=await b(a))break;k&&f&&await Promise.all(i.map(a=>f.delete(`verification:${a}`)))}return!k||k.expiresAt<new Date?null:k},reserveVerificationValue:async b=>{let c=O.z.encode(new Uint8Array(await (0,P.n)("SHA-256").digest(new TextEncoder().encode("reserve:"+b.identifier))),{padding:!1}),d=S(b.identifier,e.verification?.storeIdentifier),g=await R(b.identifier,d);if(f&&!e.verification?.storeInDatabase){let a=`verification:${g}`;return!await f.get(a)&&(await f.set(a,JSON.stringify({id:c,identifier:g,value:b.value,expiresAt:b.expiresAt}),aa(b.expiresAt)),!0)}try{await a.create({model:"verification",data:{id:c,identifier:g,value:b.value,expiresAt:b.expiresAt,createdAt:new Date,updatedAt:new Date},forceAllowId:!0})}catch(b){if(await a.findOne({model:"verification",where:[{field:"id",value:c}]}))return!1;throw b}if(f){let a=aa(b.expiresAt);a>0&&await f.set(`verification:${g}`,JSON.stringify({id:c,identifier:g,value:b.value,expiresAt:b.expiresAt}),a)}return!0},updateVerificationByIdentifier:async(a,b)=>{let c=await R(a,S(a,e.verification?.storeIdentifier));if(f){let a=await f.get(`verification:${c}`);if(a){let d=(0,_.$)(a);if(d){let a={...d,...b},g=a.expiresAt??d.expiresAt,h=aa(g instanceof Date?g:new Date(g));if(h>0&&await f.set(`verification:${c}`,JSON.stringify(a),h),!e.verification?.storeInDatabase)return a}}}return!f||e.verification?.storeInDatabase?await k(b,[{field:"identifier",value:c}],"verification",void 0):b},refreshUserSessions:p}};function ac(a){if(null===a||"object"!=typeof a)return!1;let b=Object.getPrototypeOf(a);return(null===b||b===Object.prototype||null===Object.getPrototypeOf(b))&&!(Symbol.iterator in a)&&(!(Symbol.toStringTag in a)||"[object Module]"===Object.prototype.toString.call(a))}function ad(a){return(...b)=>b.reduce((b,c)=>(function a(b,c,d=".",e){if(!ac(c))return a(b,{},d,e);let f={...c};for(let c of Object.keys(b)){if("__proto__"===c||"constructor"===c)continue;let g=b[c];null!=g&&(e&&e(f,c,g,d)||(Array.isArray(g)&&Array.isArray(f[c])?f[c]=[...g,...f[c]]:ac(g)&&ac(f[c])?f[c]=a(g,f[c],(d?`${d}.`:"")+c.toString(),e):f[c]=g))}return f})(b,c,"",a),{})}let ae=ad();ad((a,b,c)=>{if(void 0!==a[b]&&"function"==typeof c)return a[b]=c(a[b]),!0}),ad((a,b,c)=>{if(Array.isArray(a[b])&&"function"==typeof c)return a[b]=c(a[b]),!0});let af=new Set(["metadata.google.internal","metadata.goog","metadata","instance-data","instance-data.ec2.internal"]);function ag(a){return/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(a)}function ah(a){let b=a.split(".");return(Number(b[0])<<24|Number(b[1])<<16|Number(b[2])<<8|Number(b[3]))>>>0}function ai(a,b,c){if(0===c)return!0;let d=32===c?0xffffffff:-1<<32-c>>>0;return(a&d)==(b&d)}function aj(a){if("0.0.0.0"===a)return"unspecified";if("255.255.255.255"===a)return"broadcast";let b=ah(a);return ai(b,ah("127.0.0.0"),8)?"loopback":ai(b,ah("10.0.0.0"),8)||ai(b,ah("172.16.0.0"),12)||ai(b,ah("192.168.0.0"),16)?"private":ai(b,ah("169.254.0.0"),16)?"linkLocal":ai(b,ah("100.64.0.0"),10)?"sharedAddressSpace":ai(b,ah("192.0.2.0"),24)||ai(b,ah("198.51.100.0"),24)||ai(b,ah("203.0.113.0"),24)?"documentation":ai(b,ah("198.18.0.0"),15)?"benchmarking":ai(b,ah("224.0.0.0"),4)?"multicast":ai(b,ah("0.0.0.0"),8)||ai(b,ah("192.0.0.0"),24)||ai(b,ah("240.0.0.0"),4)?"reserved":"public"}function ak(a,b,c={}){let d=5*b,e=Number.parseInt(a.slice(d,d+4),16),f=Number.parseInt(a.slice(d+5,d+9),16);if(!Number.isFinite(e)||!Number.isFinite(f))return null;let g=(e<<16|f)>>>0;return c.xor&&(g=(0xffffffff^g)>>>0),`${g>>>24&255}.${g>>>16&255}.${g>>>8&255}.${255&g}`}async function al(a){let b=a.options,c=b.plugins||[],d=[],e=[];for(let f of c)if(f.init){let c,g=f.init(a);if("object"==typeof(c=(0,z.y)(g)?await g:g)){if(c.options){let{databaseHooks:a,trustedOrigins:g,...h}=c.options;a&&e.push({source:`plugin:${f.id}`,hooks:a}),g&&d.push(g),b=ae(b,h)}c.context&&Object.assign(a,c.context)}}if(d.length>0){let a=[...b.trustedOrigins?[b.trustedOrigins]:[],...d],c=a.filter(Array.isArray).flat(),e=a.filter(a=>"function"==typeof a);e.length>0?b.trustedOrigins=async a=>[...c,...(await Promise.all(e.map(b=>b(a)))).flat()].filter(a=>"string"==typeof a&&""!==a):b.trustedOrigins=c}b.databaseHooks&&e.push({source:"user",hooks:b.databaseHooks}),a.internalAdapter=ab(a.adapter,{options:b,logger:a.logger,hooks:e,generateId:a.generateId}),a.options=b}async function am(a,b){let c=[];if((0,v.QQ)(a.baseURL)){let b=a.baseURL.allowedHosts,d=a.baseURL.protocol;for(let a of b)a.includes("://")?c.push(a):(d&&"https"!==d&&"auto"!==d||c.push(`https://${a}`),("http"===d||"auto"===d||function(a){let b=function(a){var b,c;let d,e=(-1===(d=(c=(b=function(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(0,b+1)}let b=a.indexOf(":");return -1===b||-1!==a.indexOf(":",b+1)?a:a.slice(0,b)}(a.trim())).length>=2&&b.startsWith("[")&&b.endsWith("]")?b.slice(1,-1):b).indexOf("%"))?c:c.slice(0,d)).replace(/\.+$/,"").toLowerCase();if(""===e)return{kind:"reserved",literal:"fqdn",canonical:""};if(!I(e))return"localhost"===e||e.endsWith(".localhost")?{kind:"localhost",literal:"fqdn",canonical:e}:af.has(e)?{kind:"cloudMetadata",literal:"fqdn",canonical:e}:{kind:"public",literal:"fqdn",canonical:e};if(ag(e))return{kind:aj(e),literal:"ipv4",canonical:e};let f=K(e,{ipv6Subnet:128});return ag(f)?{kind:aj(f),literal:"ipv4",canonical:f}:{kind:function(a){if("0000:0000:0000:0000:0000:0000:0000:0000"===a)return"unspecified";if("0000:0000:0000:0000:0000:0000:0000:0001"===a)return"loopback";let b=Number.parseInt(a.slice(0,2),16),c=Number.parseInt(a.slice(2,4),16);if(255===b)return"multicast";if(254===b&&(192&c)==128)return"linkLocal";if((254&b)==252)return"private";if(a.startsWith("2001:0db8:"))return"documentation";if(a.startsWith("2001:0002:0000:"))return"benchmarking";if(a.startsWith("2002:")){let b=ak(a,1);return b&&"public"!==aj(b)?"reserved":"public"}if(a.startsWith("0064:ff9b:0000:0000:0000:0000:")){let b=ak(a,6);return b&&aj(b),"reserved"}if(a.startsWith("0064:ff9b:0001:"))return"reserved";if(a.startsWith("2001:0000:")){let b=ak(a,6,{xor:!0});return b&&aj(b),"reserved"}return a.startsWith("0100:0000:0000:0000:")?"reserved":a.startsWith("3fff:0")?"documentation":a.startsWith("5f00:")?"reserved":"public"}(f),literal:"ipv6",canonical:f}}(a).kind;return"loopback"===b||"localhost"===b}(a))&&c.push(`http://${a}`));if(a.baseURL.fallback)try{c.push(new URL(a.baseURL.fallback).origin)}catch{}}else{let d=(0,v.vo)("string"==typeof a.baseURL?a.baseURL:void 0,a.basePath,b);d&&c.push(new URL(d).origin)}if(a.trustedOrigins&&(Array.isArray(a.trustedOrigins)&&c.push(...a.trustedOrigins),"function"==typeof a.trustedOrigins)){let d=await a.trustedOrigins(b);c.push(...d)}let d=G._K.BETTER_AUTH_TRUSTED_ORIGINS;return d&&c.push(...d.split(",")),c.filter(a=>!!a)}function an(a){return a.advanced?.trustedProxyHeaders??!0}async function ao(a,b,c){let d,e=a.options.baseURL,f=(0,v.pv)(e,a.options.basePath||"/api/auth",b,void 0,c);if(!f)throw new m.$l("Could not resolve base URL from request. Check your allowedHosts config.");let g=Object.create(Object.getPrototypeOf(a),Object.getOwnPropertyDescriptors(a));g.baseURL=f,g.options={...a.options,baseURL:(0,v.$z)(f)||void 0};let h={...g.options,baseURL:e};return d="function"==typeof a.options.trustedOrigins||"function"==typeof a.options.account?.accountLinking?.trustedProviders?(0,v.Pl)(b)?b:b?new Request(f,{headers:b}):void 0:void 0,g.trustedOrigins=await am(h,d),g.trustedProviders=await aq(g.options,d),a.options.advanced?.crossSubDomainCookies?.enabled&&(g.authCookies=(0,F.OR)(g.options),g.createAuthCookie=(0,F.a6)(g.options)),g}async function ap(a,b){if(a)for(let c of a){let a="function"==typeof c?await c():c;if(a[b.field??"id"]===b.value)return a}}async function aq(a,b){let c=a.account?.accountLinking?.trustedProviders;return c?Array.isArray(c)?c.filter(a=>!!a):(await c(b)??[]).filter(a=>!!a):[]}var ar=c(57796),as=c(92421),at=c(50498);function au(a,b){let c;try{c=new URL(a).pathname.replace(/\/+$/,"")||"/"}catch{return"/"}let d=b.replace(/\/+$/,"");return""===d?c:c===d?"/":c.startsWith(d+"/")?c.slice(d.length).replace(/\/+$/,"")||"/":c}var av=c(66290);function aw(a){return!0===a.context.skipOriginCheck&&a.context.options.advanced?.disableCSRFCheck===void 0}function ax(a){let b=a.context.skipOriginCheck;if(!0===b)return!0;if(Array.isArray(b)&&a.request)try{let c=new URL(a.context.baseURL).pathname,d=au(a.request.url,c);return b.some(a=>{let b=a.replace(/\/+$/,"");return d===b||d.startsWith(`${b}/`)})}catch{}return!1}let ay=(i=function(){},h=!1,function(...a){return h||(((void 0)??console.warn)("[Deprecation] disableOriginCheck: true currently also disables CSRF checks. In a future version, disableOriginCheck will ONLY disable URL validation. To keep CSRF disabled, add disableCSRFCheck: true to your config."),h=!0),i.apply(this,a)}),az=(0,av.Di)(async a=>{if(a.request?.method==="GET"||a.request?.method==="OPTIONS"||a.request?.method==="HEAD"||!a.request||(await aB(a),ax(a)))return;let{body:b,query:c}=a,d=b?.callbackURL||c?.callbackURL,e=b?.redirectTo,f=b?.errorCallbackURL,g=b?.newUserCallbackURL,h=(b,c)=>{if(b){if("string"!=typeof b)throw m.LG.fromStatus("BAD_REQUEST",{message:`Invalid ${c}: expected a string`});if(!a.context.isTrustedOrigin(b,{allowRelativePaths:"origin"!==c})){if(a.context.logger.error(`Invalid ${c}: ${b}`),a.context.logger.info(`If it's a valid URL, please add ${b} to trustedOrigins in your auth config
121
+ `,`Current list of trustedOrigins: ${a.context.trustedOrigins}`),"origin"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_ORIGIN);if("callbackURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_CALLBACK_URL);if("redirectURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_REDIRECT_URL);if("errorCallbackURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_ERROR_CALLBACK_URL);if("newUserCallbackURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_NEW_USER_CALLBACK_URL);throw m.LG.fromStatus("FORBIDDEN",{message:`Invalid ${c}`})}}};d&&h(d,"callbackURL"),e&&h(e,"redirectURL"),f&&h(f,"errorCallbackURL"),g&&h(g,"newUserCallbackURL")}),aA=a=>(0,av.Di)(async b=>{if(!b.request||ax(b))return;let c=a(b),d=(a,c)=>{if(a&&!b.context.isTrustedOrigin(a,{allowRelativePaths:"origin"!==c})){if(b.context.logger.error(`Invalid ${c}: ${a}`),b.context.logger.info(`If it's a valid URL, please add ${a} to trustedOrigins in your auth config
122
+ `,`Current list of trustedOrigins: ${b.context.trustedOrigins}`),"origin"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_ORIGIN);if("callbackURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_CALLBACK_URL);if("redirectURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_REDIRECT_URL);if("errorCallbackURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_ERROR_CALLBACK_URL);if("newUserCallbackURL"===c)throw m.LG.from("FORBIDDEN",at.q.INVALID_NEW_USER_CALLBACK_URL);throw m.LG.fromStatus("FORBIDDEN",{message:`Invalid ${c}`})}};for(let a of Array.isArray(c)?c:[c])d(a,"callbackURL")});async function aB(a,b=!1){let c=a.request?.headers;if(!c||!a.request)return;let d=c.get("origin")||c.get("referer")||"",e=c.has("cookie");if(a.context.skipCSRFCheck)return;if(aw(a)){a.context.options.advanced?.disableOriginCheck===!0&&ay();return}if(ax(a)||!(b||e))return;if(!d||"null"===d)throw m.LG.from("FORBIDDEN",at.q.MISSING_OR_NULL_ORIGIN);let f=Array.isArray(a.context.options.trustedOrigins)?a.context.trustedOrigins:[...a.context.trustedOrigins,...(await a.context.options.trustedOrigins?.(a.request))?.filter(a=>!!a)||[]];if(!f.some(a=>x(d,a)))throw a.context.logger.error(`Invalid origin: ${d}`),a.context.logger.info(`If it's a valid URL, please add ${d} to trustedOrigins in your auth config
123
+ `,`Current list of trustedOrigins: ${f}`),m.LG.from("FORBIDDEN",at.q.INVALID_ORIGIN)}let aC=(0,av.Di)(async a=>{a.request&&await aD(a)});async function aD(a){let b=a.request;if(!b||a.context.skipCSRFCheck||aw(a))return;let c=b.headers;if(c.has("cookie"))return await aB(a);let d=c.get("Sec-Fetch-Site"),e=c.get("Sec-Fetch-Mode"),f=c.get("Sec-Fetch-Dest");if(d&&d.trim()||e&&e.trim()||f&&f.trim()){if("cross-site"===d&&"navigate"===e)throw a.context.logger.error("Blocked cross-site navigation login attempt (CSRF protection)",{secFetchSite:d,secFetchMode:e,secFetchDest:f}),m.LG.from("FORBIDDEN",at.q.CROSS_SITE_NAVIGATION_LOGIN_BLOCKED);return await aB(a,!0)}if(c.get("origin")||c.get("referer"))return await aB(a,!0)}let aE=new Map;function aF(a,b,c){let d=1e3*b.window;return a?c-a.lastRequest>d?{next:{...a,count:1,lastRequest:c},update:!0,allowed:!0,retryAfter:null}:a.count>=b.max?{next:a,update:!0,allowed:!1,retryAfter:aH(a.lastRequest,b.window)}:{next:{...a,count:a.count+1,lastRequest:c},update:!0,allowed:!0,retryAfter:null}:{next:{key:"",count:1,lastRequest:c},update:!1,allowed:!0,retryAfter:null}}function aG(a){return new Response(JSON.stringify({message:"Too many requests. Please try again later."}),{status:429,statusText:"Too Many Requests",headers:{"X-Retry-After":a.toString()}})}function aH(a,b){return Math.ceil((a+1e3*b-Date.now())/1e3)}let aI=!1;async function aJ(a,b){var c;let d=new URL(b.baseURL).pathname,e=au(a.url,d),f=b.rateLimit.window,g=b.rateLimit.max,h=L(a,b.options);if(!h&&b.options.advanced?.ipAddress?.disableIpTracking)return null;h||aI||(b.logger.warn("Rate limiting could not determine a client IP and is falling back to a single shared per-path bucket. Ensure your runtime forwards a trusted client IP header and configure `advanced.ipAddress.ipAddressHeaders` if needed."),aI=!0);let i=(c=h??"no-trusted-ip",`${c}|${e}`),j=aN().find(a=>a.pathMatcher(e));for(let a of(j&&(f=j.window,g=j.max),b.options.plugins||[]))if(a.rateLimit){let b=a.rateLimit.find(a=>a.pathMatcher(e));if(b){f=b.window,g=b.max;break}}if(b.rateLimit.customRules){let c=Object.keys(b.rateLimit.customRules).find(a=>a.includes("*")?(0,w.U)(a)(e):a===e);if(c){let d=b.rateLimit.customRules[c],e="function"==typeof d?await d(a,{window:f,max:g}):d;if(e&&(f=e.window,g=e.max),!1===e)return null}}return{key:i,currentWindow:f,currentMax:g}}let aK=!1;async function aL(a,b){if(!b.rateLimit.enabled)return;let c=await aJ(a,b);if(!c)return;let{key:d,currentWindow:e,currentMax:f}=c,g=function(a,b){let c,d,e,f,g;if(a.options.rateLimit?.customStorage)return a.options.rateLimit.customStorage;let h=a.rateLimit.storage;if("secondary-storage"===h){let c=b=>b??a.options.rateLimit?.window??10;return{get:async b=>{let c=await a.options.secondaryStorage?.get(b);return c?(0,_.$)(c):null},set:async(d,e,f)=>{await a.options.secondaryStorage?.set?.(d,JSON.stringify(e),c(b.window))},consume:a.options.secondaryStorage?.increment?async(b,d)=>await a.options.secondaryStorage.increment(b,c(d.window))<=d.max?{allowed:!0,retryAfter:null}:{allowed:!1,retryAfter:d.window}:void 0}}if("memory"===h){let c=b=>b??a.options.rateLimit?.window??10;return{async get(a){let b=aE.get(a);return b?Date.now()>=b.expiresAt?(aE.delete(a),null):b.data:null},async set(a,d,e){let f=Date.now()+1e3*c(b.window);aE.set(a,{data:d,expiresAt:f})},async consume(a,b){!function(){let a=Date.now();for(let[b,c]of aE)a>=c.expiresAt&&aE.delete(b);if(aE.size<=1e5)return;let b=aE.size-1e5,c=0;for(let a of aE.keys())if(aE.delete(a),++c>=b)break}();let d=Date.now(),e=aE.get(a),f=aF(e&&d<e.expiresAt?e.data:void 0,b,d);return f.allowed&&aE.set(a,{data:{...f.next,key:a},expiresAt:d+1e3*c(b.window)}),{allowed:f.allowed,retryAfter:f.retryAfter}}}}return c="rateLimit",d=a.adapter,e=async a=>{let b=(await d.findMany({model:c,where:[{field:"key",value:a}]}))[0];return"bigint"==typeof b?.lastRequest&&(b.lastRequest=Number(b.lastRequest)),b},f=async(a,b)=>{let h=1e3*b.window,i=await e(a),j=Date.now();if(!i)try{return await d.create({model:c,data:{key:a,count:1,lastRequest:j}}),{allowed:!0,retryAfter:null}}catch(c){if(!await e(a))throw c;return f(a,b)}if(j-i.lastRequest>h)return await d.incrementOne({model:c,where:[{field:"key",value:a},{field:"lastRequest",operator:"lte",value:i.lastRequest}],increment:{},set:{count:1,lastRequest:j}})?(g(j),{allowed:!0,retryAfter:null}):f(a,b);let k=j-h;if(await d.incrementOne({model:c,where:[{field:"key",value:a},{field:"lastRequest",operator:"gt",value:k},{field:"count",operator:"lt",value:b.max}],increment:{count:1},set:{lastRequest:j}}))return{allowed:!0,retryAfter:null};let l=await e(a);return!l||j-l.lastRequest>h?f(a,b):{allowed:!1,retryAfter:aH(l.lastRequest,b.window)}},g=b=>{let e=b-1e3*Math.max(a.rateLimit.window,...aN().map(a=>a.window));a.runInBackground(d.deleteMany({model:c,where:[{field:"lastRequest",operator:"lt",value:e}]}).then(()=>void 0).catch(b=>a.logger.error("Error pruning rate limit rows",b)))},{get:e,set:async(b,e,f)=>{try{f?await d.updateMany({model:c,where:[{field:"key",value:b}],update:{count:e.count,lastRequest:e.lastRequest}}):await d.create({model:c,data:{key:b,count:e.count,lastRequest:e.lastRequest}})}catch(b){a.logger.error("Error setting rate limit",b)}},consume:f}}(b,{window:e}),h={window:e,max:f};if(g.consume){let{allowed:a,retryAfter:b}=await g.consume(d,h);return a?void 0:aG(b??e)}return aM(b,g,d,h)}async function aM(a,b,c,d){aK||(a.logger.warn("Rate limiting is best-effort: the configured storage has no atomic `consume`, so concurrent requests may bypass the limit. Provide a storage that implements `consume` for strict enforcement."),aK=!0);let e=aF(await b.get(c),d,Date.now());if(!e.allowed)return aG(e.retryAfter??d.window);await b.set(c,{...e.next,key:c},e.update)}function aN(){return[{pathMatcher:a=>a.startsWith("/sign-in")||a.startsWith("/sign-up")||a.startsWith("/change-password")||a.startsWith("/change-email"),window:10,max:3},{pathMatcher:a=>"/request-password-reset"===a||"/send-verification-email"===a||a.startsWith("/forget-password")||"/email-otp/send-verification-otp"===a||"/email-otp/request-password-reset"===a,window:60,max:3}]}var aO=c(37979),aP=c(78683);function aQ(a,b,c,d){let e=new URLSearchParams({error:c});d&&e.set("error_description",d);let f=b.includes("?")?"&":"?";throw a.redirect(`${b}${f}${e.toString()}`)}function aR(a,b){return`${b?.source==="generic"?`Generic OAuth provider "${a}"`:`Provider "${a}"`} did not return an email${b?.source==="id_token"?" in the id token":""}. Either request the provider's email scope, or synthesize one via \`mapProfileToUser\`. See https://www.better-auth.com/docs/concepts/oauth#handling-providers-without-email`}var aS=c(50056);function aT(a,b){if(!a)return a;if(b.options.account?.encryptOAuthTokens)return a.startsWith("$ba$")||a.length%2==0&&/^[0-9a-f]+$/i.test(a)?(0,aS.zp)({key:b.secretConfig,data:a}):a;return a}function aU(a,b){return b.options.account?.encryptOAuthTokens&&a?(0,aS.vX)({key:b.secretConfig,data:a}):a}var aV=c(66108),aW=c(38112),aX=c(35088);async function aY(a,b,c,d=3600,e){return await (0,aV.FA)({email:b.toLowerCase(),updateTo:c?.toLowerCase(),...e},a,d)}async function aZ(a,b){if(!a.context.options.emailVerification?.sendVerificationEmail)throw a.context.logger.error("Verification email isn't enabled."),m.LG.from("BAD_REQUEST",at.q.VERIFICATION_EMAIL_NOT_ENABLED);let c=await aY(a.context.secret,b.email,void 0,a.context.options.emailVerification?.expiresIn),d=a.body.callbackURL?encodeURIComponent(a.body.callbackURL):encodeURIComponent("/"),e=`${a.context.baseURL}/verify-email?token=${c}&callbackURL=${d}`;await a.context.options.emailVerification.sendVerificationEmail({user:b,url:e,token:c},a.request)}let a$=(0,av.Aw)("/send-verification-email",{method:"POST",operationId:"sendVerificationEmail",cloneRequest:!0,body:H.Ik({email:H.Rp().meta({description:"The email to send the verification email to"}),callbackURL:H.Yj().meta({description:"The URL to use for email verification callback"}).optional()}),metadata:{openapi:{operationId:"sendVerificationEmail",description:"Send a verification email to the user",requestBody:{content:{"application/json":{schema:{type:"object",properties:{email:{type:"string",description:"The email to send the verification email to",example:"user@example.com"},callbackURL:{type:"string",description:"The URL to use for email verification callback",example:"https://example.com/callback",nullable:!0}},required:["email"]}}}},responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean",description:"Indicates if the email was sent successfully",example:!0}}}}}},400:{description:"Bad Request",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string",description:"Error message",example:"Verification email isn't enabled"}}}}}}}}}},async a=>{if(!a.context.options.emailVerification?.sendVerificationEmail)throw a.context.logger.error("Verification email isn't enabled."),m.LG.from("BAD_REQUEST",at.q.VERIFICATION_EMAIL_NOT_ENABLED);let{email:b}=a.body,c=await (0,aO.sg)(a);if(!c){let c,d=Date.now(),e=await a.context.internalAdapter.findUserByEmail(b);if(!e||e.user.emailVerified)await aY(a.context.secret,b,void 0,a.context.options.emailVerification?.expiresIn);else try{await aZ(a,e.user)}catch(a){c=a}let f=500-(Date.now()-d);if(f>0&&await new Promise(a=>setTimeout(a,f)),c)throw c;return a.json({status:!0})}if(c?.user.email.toLowerCase()!==b.toLowerCase())throw m.LG.from("BAD_REQUEST",at.q.EMAIL_MISMATCH);if(c?.user.emailVerified)throw m.LG.from("BAD_REQUEST",at.q.EMAIL_ALREADY_VERIFIED);return await aZ(a,c.user),a.json({status:!0})}),a_=(0,av.Aw)("/verify-email",{method:"GET",operationId:"verifyEmail",query:H.Ik({token:H.Yj().meta({description:"The token to verify the email"}),callbackURL:H.Yj().meta({description:"The URL to redirect to after email verification"}).optional()}),use:[aA(a=>a.query.callbackURL)],metadata:{openapi:{description:"Verify the email of the user",parameters:[{name:"token",in:"query",description:"The token to verify the email",required:!0,schema:{type:"string"}},{name:"callbackURL",in:"query",description:"The URL to redirect to after email verification",required:!1,schema:{type:"string"}}],responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{user:{type:"object",$ref:"#/components/schemas/User"},status:{type:"boolean",description:"Indicates if the email was verified successfully"}},required:["user","status"]}}}}}}}},async a=>{let b;function c(b){if(a.query.callbackURL){if(a.query.callbackURL.includes("?"))throw a.redirect(`${a.query.callbackURL}&error=${b.code}`);throw a.redirect(`${a.query.callbackURL}?error=${b.code}`)}throw m.LG.from("UNAUTHORIZED",b)}let{token:d}=a.query;try{b=await (0,aW.V)(d,new TextEncoder().encode(a.context.secret),{algorithms:["HS256"]})}catch(a){if(a instanceof aX.n)return c(at.q.TOKEN_EXPIRED);return c(at.q.INVALID_TOKEN)}let e=H.Ik({email:H.Rp(),updateTo:H.Yj().optional(),requestType:H.Yj().optional()}).parse(b.payload),f=await a.context.internalAdapter.findUserByEmail(e.email);if(!f)return c(at.q.USER_NOT_FOUND);if(e.updateTo){let b=await (0,aO.sg)(a);if(b&&b.user.email!==e.email)return c(at.q.INVALID_USER);switch(e.requestType){case"change-email-confirmation":{let b=await aY(a.context.secret,e.email,e.updateTo,a.context.options.emailVerification?.expiresIn,{requestType:"change-email-verification"}),c=a.query.callbackURL?encodeURIComponent(a.query.callbackURL):encodeURIComponent("/"),d=`${a.context.baseURL}/verify-email?token=${b}&callbackURL=${c}`;if(a.context.options.emailVerification?.sendVerificationEmail&&await a.context.runInBackgroundOrAwait(a.context.options.emailVerification.sendVerificationEmail({user:{...f.user,email:e.updateTo},url:d,token:b},a.request?.clone())),a.query.callbackURL)throw a.redirect(a.query.callbackURL);return a.json({status:!0})}case"change-email-verification":{let c=b;if(!c){let b=await a.context.internalAdapter.createSession(f.user.id);if(!b)throw m.LG.from("INTERNAL_SERVER_ERROR",at.q.FAILED_TO_CREATE_SESSION);c={session:b,user:f.user}}let d=await a.context.internalAdapter.updateUserByEmail(e.email,{email:e.updateTo,emailVerified:!0});if(a.context.options.emailVerification?.afterEmailVerification&&await a.context.options.emailVerification.afterEmailVerification(d,a.request),await (0,F.$G)(a,{session:c.session,user:{...c.user,email:e.updateTo,emailVerified:!0}}),a.query.callbackURL)throw a.redirect(a.query.callbackURL);return a.json({status:!0,user:(0,M.kc)(a.context.options,d)})}default:{let c=b;if(!c){let b=await a.context.internalAdapter.createSession(f.user.id);if(!b)throw m.LG.from("INTERNAL_SERVER_ERROR",at.q.FAILED_TO_CREATE_SESSION);c={session:b,user:f.user}}let d=await a.context.internalAdapter.updateUserByEmail(e.email,{email:e.updateTo,emailVerified:!1}),g=await aY(a.context.secret,e.updateTo),h=a.query.callbackURL?encodeURIComponent(a.query.callbackURL):encodeURIComponent("/");if(a.context.options.emailVerification?.sendVerificationEmail&&await a.context.runInBackgroundOrAwait(a.context.options.emailVerification.sendVerificationEmail({user:d,url:`${a.context.baseURL}/verify-email?token=${g}&callbackURL=${h}`,token:g},a.request?.clone())),await (0,F.$G)(a,{session:c.session,user:{...c.user,email:e.updateTo,emailVerified:!1}}),a.query.callbackURL)throw a.redirect(a.query.callbackURL);return a.json({status:!0,user:(0,M.kc)(a.context.options,d)})}}}if(f.user.emailVerified){if(a.query.callbackURL)throw a.redirect(a.query.callbackURL);return a.json({status:!0,user:null})}a.context.options.emailVerification?.beforeEmailVerification&&await a.context.options.emailVerification.beforeEmailVerification(f.user,a.request);let g=await a.context.internalAdapter.updateUserByEmail(e.email,{emailVerified:!0});if(a.context.options.emailVerification?.afterEmailVerification&&await a.context.options.emailVerification.afterEmailVerification(g,a.request),a.context.options.emailVerification?.autoSignInAfterVerification){let b=await (0,aO.sg)(a);if(b&&b.user.email===e.email)await (0,F.$G)(a,{session:b.session,user:{...b.user,emailVerified:!0}});else{let b=await a.context.internalAdapter.createSession(f.user.id);if(!b)throw m.LG.from("INTERNAL_SERVER_ERROR",at.q.FAILED_TO_CREATE_SESSION);await (0,F.$G)(a,{session:b,user:{...f.user,emailVerified:!0}})}}if(a.query.callbackURL)throw a.redirect(a.query.callbackURL);return a.json({status:!0,user:null})});async function a0(a,b){let{userInfo:c,account:d,callbackURL:e,disableSignUp:f,overrideUserInfo:g}=b,h=await a.context.internalAdapter.findOAuthUser(c.email.toLowerCase(),d.accountId,d.providerId).catch(b=>{k.vF.error("Better auth was unable to query your database.\nError: ",b),aQ(a,a.context.options.onAPIError?.errorURL||`${a.context.baseURL}/error`,"internal_server_error")}),i=h?.user,j=!i;if(h){let e=h.linkedAccount??h.accounts.find(a=>a.providerId===d.providerId&&a.accountId===d.accountId);if(e){let b=a.context.options.account?.updateAccountOnSignIn!==!1?Object.fromEntries(Object.entries({idToken:d.idToken,accessToken:await aU(d.accessToken,a.context),refreshToken:await aU(d.refreshToken,a.context),accessTokenExpiresAt:d.accessTokenExpiresAt,refreshTokenExpiresAt:d.refreshTokenExpiresAt,scope:d.scope}).filter(([a,b])=>void 0!==b)):{};a.context.options.account?.storeAccountCookie&&await (0,aP.Ce)(a,{...e,...b}),Object.keys(b).length>0&&await a.context.internalAdapter.updateAccount(e.id,b),c.emailVerified&&!h.user.emailVerified&&c.email.toLowerCase()===h.user.email&&await a.context.internalAdapter.updateUser(h.user.id,{emailVerified:!0})}else{let e=a.context.options.account?.accountLinking,f=b.isTrustedProvider||!1!==b.trustProviderByName&&a.context.trustedProviders.includes(d.providerId),g=e?.requireLocalEmailVerified??!0;if(!f&&!c.emailVerified||g&&!h.user.emailVerified||e?.enabled===!1||e?.disableImplicitLinking===!0)return(0,G.yz)()&&k.vF.warn(`User already exist but account isn't linked to ${d.providerId}. To read more about how account linking works in Better Auth see https://www.better-auth.com/docs/concepts/users-accounts#account-linking.`),{error:"account not linked",data:null};try{await a.context.internalAdapter.linkAccount({providerId:d.providerId,accountId:c.id.toString(),userId:h.user.id,accessToken:await aU(d.accessToken,a.context),refreshToken:await aU(d.refreshToken,a.context),idToken:d.idToken,accessTokenExpiresAt:d.accessTokenExpiresAt,refreshTokenExpiresAt:d.refreshTokenExpiresAt,scope:d.scope})}catch(a){return k.vF.error("Unable to link account",a),{error:"unable to link account",data:null}}c.emailVerified&&!h.user.emailVerified&&c.email.toLowerCase()===h.user.email&&await a.context.internalAdapter.updateUser(h.user.id,{emailVerified:!0}),i=await a1(a,h.user.id,c)??i}if(g){let{id:b,...d}=c;i=await a.context.internalAdapter.updateUser(h.user.id,{...d,email:c.email.toLowerCase(),emailVerified:c.email.toLowerCase()===h.user.email&&h.user.emailVerified||c.emailVerified})}}else{if(f)return{error:"signup disabled",data:null,isRegister:!1};try{let{id:b,...f}=c,g={accessToken:await aU(d.accessToken,a.context),refreshToken:await aU(d.refreshToken,a.context),idToken:d.idToken,accessTokenExpiresAt:d.accessTokenExpiresAt,refreshTokenExpiresAt:d.refreshTokenExpiresAt,scope:d.scope,providerId:d.providerId,accountId:c.id.toString()},{user:h,account:j}=await a.context.internalAdapter.createOAuthUser({...f,email:c.email.toLowerCase()},g);if(i=h,a.context.options.account?.storeAccountCookie&&await (0,aP.Ce)(a,j),!c.emailVerified&&i&&a.context.options.emailVerification?.sendOnSignUp&&a.context.options.emailVerification?.sendVerificationEmail){let b=await aY(a.context.secret,i.email,void 0,a.context.options.emailVerification?.expiresIn),c=`${a.context.baseURL}/verify-email?token=${b}&callbackURL=${encodeURIComponent(e||"/")}`;await a.context.runInBackgroundOrAwait(a.context.options.emailVerification.sendVerificationEmail({user:i,url:c,token:b},a.request))}}catch(a){if(k.vF.error(a),(0,as.h)(a))return{error:a.message,data:null,isRegister:!1};return{error:"unable to create user",data:null,isRegister:!1}}}if(!i)return{error:"unable to create user",data:null,isRegister:!1};let l=await a.context.internalAdapter.createSession(i.id);return l?{data:{session:l,user:i},error:null,isRegister:j}:{error:"unable to create session",data:null,isRegister:!1}}async function a1(a,b,c){if(a.context.options.account?.accountLinking?.updateUserInfoOnLink!==!0)return;let{id:d,email:e,emailVerified:f,...g}=c;try{return await a.context.internalAdapter.updateUser(b,g)}catch(b){a.context.logger.warn("Could not update user info on account link",b);return}}var a2=c(58918),a3=c(33168);let{get:a4,set:a5}=(0,a3.sL)(()=>null);var a6=c(20067);let a7=H._H({callbackURL:H.Yj(),codeVerifier:H.Yj(),errorURL:H.Yj().optional(),newUserURL:H.Yj().optional(),expiresAt:H.ai(),oauthState:H.Yj().optional(),link:H.Ik({email:H.Yj(),userId:a6.Yj()}).optional(),requestSignUp:H.zM().optional()});Object.keys(a7.shape);var a8=class extends m.$l{code;details;errorURL;constructor(a,b){super(a,b),this.code=b.code,this.details=b.details,this.errorURL=b.errorURL}};async function a9(a,b,c){let d=(0,a2.k)(32);if("cookie"===a.context.oauthConfig.storeStateStrategy){let e={...b,oauthState:d},f=await (0,aS.vX)({key:a.context.secretConfig,data:JSON.stringify(e)}),g=a.context.createAuthCookie(c?.cookieName??"oauth_state",{maxAge:600});return a.setCookie(g.name,f,g.attributes),{state:d,codeVerifier:b.codeVerifier}}let e=a.context.createAuthCookie(c?.cookieName??"state",{maxAge:300});await a.setSignedCookie(e.name,d,a.context.secret,e.attributes);let f=new Date;if(f.setMinutes(f.getMinutes()+10),!await a.context.internalAdapter.createVerificationValue({value:JSON.stringify({...b,oauthState:d}),identifier:d,expiresAt:f}))throw new a8("Unable to create verification. Make sure the database adapter is properly working and there is a verification table in the database",{code:"state_generation_error"});return{state:d,codeVerifier:b.codeVerifier}}async function ba(a,b,c){let d;if(!b)throw new a8("State not found in OAuth callback",{code:"state_not_found"});if("cookie"===a.context.oauthConfig.storeStateStrategy){let e=a.context.createAuthCookie(c?.cookieName??"oauth_state"),f=a.getCookie(e.name);if(!f)throw new a8("State mismatch: auth state cookie not found",{code:"state_mismatch",details:{state:b}});try{let b=await (0,aS.zp)({key:a.context.secretConfig,data:f});d=a7.parse(JSON.parse(b))}catch(a){throw new a8("State invalid: Failed to decrypt or parse auth state",{code:"state_invalid",details:{state:b},cause:a})}if(!d.oauthState||d.oauthState!==b)throw new a8("State mismatch: OAuth state parameter does not match stored state",{code:"state_security_mismatch",details:{state:b},errorURL:d.errorURL});(0,F.Aj)(a,e)}else{let e=await a.context.internalAdapter.findVerificationValue(b);if(!e)throw new a8("State mismatch: verification not found",{code:"state_mismatch",details:{state:b}});if(void 0!==(d=a7.parse(JSON.parse(e.value))).oauthState&&d.oauthState!==b)throw new a8("State mismatch: OAuth state parameter does not match stored state",{code:"state_security_mismatch",details:{state:b},errorURL:d.errorURL});let f=a.context.createAuthCookie(c?.cookieName??"state"),g=await a.getSignedCookie(f.name,a.context.secret);if(!(c?.skipStateCookieCheck??a.context.oauthConfig.skipStateCookieCheck)&&(!g||g!==b))throw new a8("State mismatch: State not persisted correctly",{code:"state_security_mismatch",details:{state:b},errorURL:d.errorURL});(0,F.Aj)(a,f),await a.context.internalAdapter.deleteVerificationByIdentifier(b)}if(d.expiresAt<Date.now())throw new a8("Invalid state: request expired",{code:"state_mismatch",details:{expiresAt:d.expiresAt},errorURL:d.errorURL});return d}async function bb(a,b,c){let d=a.body?.callbackURL||a.context.options.baseURL;if(!d)throw m.LG.from("BAD_REQUEST",at.q.CALLBACK_URL_REQUIRED);let e=(0,a2.k)(128),f={...c||{},callbackURL:d,codeVerifier:e,errorURL:a.body?.errorCallbackURL,newUserURL:a.body?.newUserCallbackURL,link:b,expiresAt:Date.now()+6e5,requestSignUp:a.body?.requestSignUp};await a5(f);try{return a9(a,f)}catch(b){throw a.context.logger.error("Failed to create verification",b),new m.LG("INTERNAL_SERVER_ERROR",{message:"Unable to create verification",cause:b})}}async function bc(a){let b,c=a.query.state||a.body?.state,d=a.context.options.onAPIError?.errorURL||`${a.context.baseURL}/error`;try{b=await ba(a,c)}catch(e){a.context.logger.error("Failed to parse state",e);let b="internal_server_error",c=d;e instanceof a8&&(b="state_security_mismatch"===e.code?"state_mismatch":e.code,c=e.errorURL??d),aQ(a,c,b)}return b.errorURL||(b.errorURL=d),b&&await a5(b),b}function bd(a){let b=a=>new Date(new Date().getTime()+1e3*a);return{tokenType:a.token_type,accessToken:a.access_token,refreshToken:a.refresh_token,accessTokenExpiresAt:a.expires_in?b(a.expires_in):void 0,refreshTokenExpiresAt:a.refresh_token_expires_in?b(a.refresh_token_expires_in):void 0,scopes:a?.scope?"string"==typeof a.scope?a.scope.split(" "):a.scope:[],idToken:a.id_token,raw:a}}function be(a){let b=Array.isArray(a)?a[0]:a;return"string"==typeof b&&b.length>0?b:void 0}async function bf(a){let b=new TextEncoder().encode(a),c=await crypto.subtle.digest("SHA-256",b);return O.z.encode(new Uint8Array(c),{padding:!1})}async function bg({id:a,options:b,authorizationEndpoint:c,state:d,codeVerifier:e,scopes:f,claims:g,redirectURI:h,duration:i,prompt:j,accessType:k,responseType:l,display:m,loginHint:n,hd:o,responseMode:p,additionalParams:q,scopeJoiner:r}){let s=new URL((b="function"==typeof b?await b():b).authorizationEndpoint||c);s.searchParams.set("response_type",l||"code");let t=Array.isArray(b.clientId)?b.clientId[0]:b.clientId;if(s.searchParams.set("client_id",t),s.searchParams.set("state",d),f&&s.searchParams.set("scope",f.join(r||" ")),s.searchParams.set("redirect_uri",b.redirectURI||h),i&&s.searchParams.set("duration",i),m&&s.searchParams.set("display",m),n&&s.searchParams.set("login_hint",n),j&&s.searchParams.set("prompt",j),o&&s.searchParams.set("hd",o),k&&s.searchParams.set("access_type",k),p&&s.searchParams.set("response_mode",p),e){let a=await bf(e);s.searchParams.set("code_challenge_method","S256"),s.searchParams.set("code_challenge",a)}if(g){let a=g.reduce((a,b)=>(a[b]=null,a),{});s.searchParams.set("claims",JSON.stringify({id_token:{email:null,email_verified:null,...a}}))}return q&&Object.entries(q).forEach(([a,b])=>{s.searchParams.set(a,b)}),s}var bh=Object.defineProperty,bi=Object.defineProperties,bj=Object.getOwnPropertyDescriptors,bk=Object.getOwnPropertySymbols,bl=Object.prototype.hasOwnProperty,bm=Object.prototype.propertyIsEnumerable,bn=(a,b,c)=>b in a?bh(a,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[b]=c,bo=(a,b)=>{for(var c in b||(b={}))bl.call(b,c)&&bn(a,c,b[c]);if(bk)for(var c of bk(b))bm.call(b,c)&&bn(a,c,b[c]);return a},bp=(a,b)=>bi(a,bj(b)),bq=class extends Error{constructor(a,b,c){super(b||a.toString(),{cause:c}),this.status=a,this.statusText=b,this.error=c,Error.captureStackTrace(this,this.constructor)}},br=async(a,b)=>{var c,d,e,f,g,h;let i=b||{},j={onRequest:[null==b?void 0:b.onRequest],onResponse:[null==b?void 0:b.onResponse],onSuccess:[null==b?void 0:b.onSuccess],onError:[null==b?void 0:b.onError],onRetry:[null==b?void 0:b.onRetry]};if(!b||!(null==b?void 0:b.plugins))return{url:a,options:i,hooks:j};for(let k of(null==b?void 0:b.plugins)||[]){if(k.init){let d=await (null==(c=k.init)?void 0:c.call(k,a.toString(),b));i=d.options||i,a=d.url}j.onRequest.push(null==(d=k.hooks)?void 0:d.onRequest),j.onResponse.push(null==(e=k.hooks)?void 0:e.onResponse),j.onSuccess.push(null==(f=k.hooks)?void 0:f.onSuccess),j.onError.push(null==(g=k.hooks)?void 0:g.onError),j.onRetry.push(null==(h=k.hooks)?void 0:h.onRetry)}return{url:a,options:i,hooks:j}},bs=class{constructor(a){this.options=a}shouldAttemptRetry(a,b){return this.options.shouldRetry?Promise.resolve(a<this.options.attempts&&this.options.shouldRetry(b)):Promise.resolve(a<this.options.attempts)}getDelay(){return this.options.delay}},bt=class{constructor(a){this.options=a}shouldAttemptRetry(a,b){return this.options.shouldRetry?Promise.resolve(a<this.options.attempts&&this.options.shouldRetry(b)):Promise.resolve(a<this.options.attempts)}getDelay(a){return Math.min(this.options.maxDelay,this.options.baseDelay*2**a)}},bu=async a=>{let b={},c=async a=>"function"==typeof a?await a():a;if(null==a?void 0:a.auth){if("Bearer"===a.auth.type){let d=await c(a.auth.token);if(!d)return b;b.authorization=`Bearer ${d}`}else if("Basic"===a.auth.type){let[d,e]=await Promise.all([c(a.auth.username),c(a.auth.password)]);if(!d||!e)return b;b.authorization=`Basic ${btoa(`${d}:${e}`)}`}else if("Custom"===a.auth.type){let[d,e]=await Promise.all([c(a.auth.prefix),c(a.auth.value)]);if(!e)return b;b.authorization=`${null!=d?d:""} ${e}`}}return b},bv=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function bw(a){if(void 0===a)return!1;let b=typeof a;return"string"===b||"number"===b||"boolean"===b||null===b||"object"===b&&(!!Array.isArray(a)||!a.buffer&&(a.constructor&&"Object"===a.constructor.name||"function"==typeof a.toJSON))}function bx(a){try{return JSON.parse(a)}catch(b){return a}}function by(a){return"function"==typeof a}async function bz(a){let b=new Headers(function(...a){let b={};for(let c of a)if(c)if(c instanceof Headers)c.forEach((a,c)=>{b[c]=a});else for(let[a,d]of Array.isArray(c)?c:Object.entries(c))null!=d&&(b[a]=d);return b}(null==a?void 0:a.headers,await bu(a)));if(!b.has("content-type")){let c=bw(null==a?void 0:a.body)?"application/json":null;c&&b.set("content-type",c)}return b}var bA=class a extends Error{constructor(b,c){super(c||JSON.stringify(b,null,2)),this.issues=b,Object.setPrototypeOf(this,a.prototype)}};async function bB(a,b){let c=await a["~standard"].validate(b);if(c.issues)throw new bA(c.issues);return c.value}var bC=["get","post","put","patch","delete"],bD=async(a,b)=>{var c,d,e,f,g,h,i,j;let k,{hooks:l,url:m,options:n}=await br(a,b),o=function(a){if(null==a?void 0:a.customFetchImpl)return a.customFetchImpl;if("u">typeof globalThis&&by(globalThis.fetch))return globalThis.fetch;if("u">typeof window&&by(window.fetch))return window.fetch;throw Error("No fetch implementation found")}(n),p=new AbortController,q=null!=(c=n.signal)?c:p.signal,r=function(a,b){let{baseURL:c,params:d,query:e}=b||{query:{},params:{},baseURL:""},f=a.startsWith("http")?a.split("/").slice(0,3).join("/"):c||"";if(a.startsWith("@")){let b=a.toString().split("@")[1].split("/")[0];bC.includes(b)&&(a=a.replace(`@${b}/`,"/"))}f.endsWith("/")||(f+="/");let[g,h]=a.replace(f,"").split("?"),i=new URLSearchParams(h);for(let[a,b]of Object.entries(e||{})){let c;if(null!=b){if("string"==typeof b)c=b;else if(Array.isArray(b)){for(let c of b)i.append(a,c);continue}else c=JSON.stringify(b);i.set(a,c)}}let j=new Map;if(d)if(Array.isArray(d))for(let[a,b]of g.split("/").filter(a=>a.startsWith(":")).entries()){let c=d[a];j.set(b,String(c))}else for(let[a,b]of Object.entries(d))j.set(`:${a}`,String(b));g=(g=g.split("/").map(a=>(function(a,b){let c,d=a;for(let[a,c]of b)d=d.replace(a,c);if("."===(c=d)||".."===c)throw TypeError("Path parameters cannot be reserved path segments");return encodeURIComponent(d)})(a,j)).join("/")).replace(/^\/+/,"");let k=i.toString();return(k=k.length>0?`?${k}`.replace(/\+/g,"%20"):"",f.startsWith("http"))?new URL(`${g}${k}`,f):`${f}${g}${k}`}(m,n),s=await bz(n),t=function(a,b){let c,{body:d}=a;return d?bw(d)&&"string"!=typeof d?"application/x-www-form-urlencoded"===((c=b.get("content-type"))?c.split(";")[0].trim().toLowerCase():null)?new URLSearchParams(d).toString():JSON.stringify(d):d:null}(n,s),u=function(a,b){var c;if(null==b?void 0:b.method)return b.method.toUpperCase();if(a.startsWith("@")){let d=null==(c=a.split("@")[1])?void 0:c.split("/")[0];return bC.includes(d)?d.toUpperCase():(null==b?void 0:b.body)?"POST":"GET"}return(null==b?void 0:b.body)?"POST":"GET"}(m,n),v=bp(bo({},n),{url:r,headers:s,body:t,method:u,signal:q});for(let a of l.onRequest)if(a){let b=await a(v);"object"==typeof b&&null!==b&&Object.assign(v,b)}("pipeTo"in v&&"function"==typeof v.pipeTo||"function"==typeof(null==(d=null==b?void 0:b.body)?void 0:d.pipe))&&!("duplex"in v)&&(v.duplex="half");let{clearTimeout:w}=(!(null==n?void 0:n.signal)&&(null==n?void 0:n.timeout)&&(k=setTimeout(()=>null==p?void 0:p.abort(),null==n?void 0:n.timeout)),{abortTimeout:k,clearTimeout:()=>{k&&clearTimeout(k)}}),x=await o(v.url,v);w();let y={response:x,request:v};for(let a of l.onResponse)if(a){let c=await a(bp(bo({},y),{response:(null==(e=null==b?void 0:b.hookOptions)?void 0:e.cloneResponse)?x.clone():x}));c instanceof Response?x=c:"object"==typeof c&&null!==c&&(x=c.response)}if(x.ok){if("HEAD"===v.method)return{data:"",error:null};let a=function(a){let b=a.headers.get("content-type"),c=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!b)return"json";let d=b.split(";").shift()||"";return bv.test(d)?"json":c.has(d)||d.startsWith("text/")?"text":"blob"}(x),c={data:null,response:x,request:v};if("json"===a||"text"===a){let a=await x.text(),b=null!=(f=v.jsonParser)?f:bx;c.data=await b(a)}else c.data=await x[a]();for(let a of((null==v?void 0:v.output)&&v.output&&!v.disableValidation&&(c.data=await bB(v.output,c.data)),l.onSuccess))a&&await a(bp(bo({},c),{response:(null==(g=null==b?void 0:b.hookOptions)?void 0:g.cloneResponse)?x.clone():x}));return(null==b?void 0:b.throw)?c.data:{data:c.data,error:null}}let z=null!=(h=null==b?void 0:b.jsonParser)?h:bx,A=await x.text(),B=function(a){try{return JSON.parse(a),!0}catch(a){return!1}}(A),C=B?await z(A):null,D={response:x,responseText:A,request:v,error:bp(bo({},C),{status:x.status,statusText:x.statusText})};for(let a of l.onError)a&&await a(bp(bo({},D),{response:(null==(i=null==b?void 0:b.hookOptions)?void 0:i.cloneResponse)?x.clone():x}));if(null==b?void 0:b.retry){let c=function(a){if("number"==typeof a)return new bs({type:"linear",attempts:a,delay:1e3});switch(a.type){case"linear":return new bs(a);case"exponential":return new bt(a);default:throw Error("Invalid retry strategy")}}(b.retry),d=null!=(j=b.retryAttempt)?j:0;if(await c.shouldAttemptRetry(d,x)){for(let a of l.onRetry)a&&await a(y);let e=c.getDelay(d);return await new Promise(a=>setTimeout(a,e)),await bD(a,bp(bo({},b),{retryAttempt:d+1}))}}if(null==b?void 0:b.throw)throw new bq(x.status,x.statusText,B?C:A);return{data:null,error:bp(bo({},C),{status:x.status,statusText:x.statusText})}};async function bE({refreshToken:a,options:b,tokenEndpoint:c,authentication:d,extraParams:e}){let{body:f,headers:g}=await function({refreshToken:a,options:b,authentication:c,extraParams:d,resource:e}){let f=new URLSearchParams,g={"content-type":"application/x-www-form-urlencoded",accept:"application/json"};if(f.set("grant_type","refresh_token"),f.set("refresh_token",a),"basic"===c){let a=Array.isArray(b.clientId)?b.clientId[0]:b.clientId;a?g.authorization="Basic "+O.K.encode(`${a}:${b.clientSecret??""}`):g.authorization="Basic "+O.K.encode(`:${b.clientSecret??""}`)}else{let a=Array.isArray(b.clientId)?b.clientId[0]:b.clientId;f.set("client_id",a),b.clientSecret&&f.set("client_secret",b.clientSecret)}if(e)if("string"==typeof e)f.append("resource",e);else for(let a of e)f.append("resource",a);if(d)for(let[a,b]of Object.entries(d))f.set(a,b);return{body:f,headers:g}}({refreshToken:a,options:b,authentication:d,extraParams:e}),{data:h,error:i}=await bD(c,{method:"POST",body:f,headers:g});if(i)throw i;let j={accessToken:h.access_token,refreshToken:h.refresh_token,tokenType:h.token_type,scopes:h.scope?.split(" "),idToken:h.id_token};return h.expires_in&&(j.accessTokenExpiresAt=new Date(new Date().getTime()+1e3*h.expires_in)),h.refresh_token_expires_in&&(j.refreshTokenExpiresAt=new Date(new Date().getTime()+1e3*h.refresh_token_expires_in)),j}async function bF({code:a,codeVerifier:b,redirectURI:c,options:d,authentication:e,deviceId:f,headers:g,additionalParams:h={},resource:i}){return bG({code:a,codeVerifier:b,redirectURI:c,options:d="function"==typeof d?await d():d,authentication:e,deviceId:f,headers:g,additionalParams:h,resource:i})}function bG({code:a,codeVerifier:b,redirectURI:c,options:d,authentication:e,deviceId:f,headers:g,additionalParams:h={},resource:i}){let j=new URLSearchParams,k={"content-type":"application/x-www-form-urlencoded",accept:"application/json",...g};if(j.set("grant_type","authorization_code"),j.set("code",a),b&&j.set("code_verifier",b),d.clientKey&&j.set("client_key",d.clientKey),f&&j.set("device_id",f),j.set("redirect_uri",d.redirectURI||c),i)if("string"==typeof i)j.append("resource",i);else for(let a of i)j.append("resource",a);if("basic"===e){let a=Array.isArray(d.clientId)?d.clientId[0]:d.clientId;k.authorization=`Basic ${O.K.encode(`${a}:${d.clientSecret??""}`)}`}else{let a=Array.isArray(d.clientId)?d.clientId[0]:d.clientId;j.set("client_id",a),d.clientSecret&&j.set("client_secret",d.clientSecret)}for(let[a,b]of Object.entries(h))j.has(a)||j.append(a,b);return{body:j,headers:k}}async function bH({code:a,codeVerifier:b,redirectURI:c,options:d,tokenEndpoint:e,authentication:f,deviceId:g,headers:h,additionalParams:i={},resource:j}){let{body:k,headers:l}=await bF({code:a,codeVerifier:b,redirectURI:c,options:d,authentication:f,deviceId:g,headers:h,additionalParams:i,resource:j}),{data:m,error:n}=await bD(e,{method:"POST",body:k,headers:l});if(n)throw n;return bd(m)}var bI=c(60084),bJ=c(59956),bK=c(67206),bL=c(87010);function bM(a){let b,c;if("string"!=typeof a)throw new aX.Dp("JWTs must use Compact JWS serialization, JWT must be a string");let{1:d,length:e}=a.split(".");if(5===e)throw new aX.Dp("Only JWTs using Compact JWS serialization can be decoded");if(3!==e)throw new aX.Dp("Invalid JWT");if(!d)throw new aX.Dp("JWTs must contain a payload");try{b=(0,bJ.D)(d)}catch{throw new aX.Dp("Failed to base64url decode the payload")}try{c=JSON.parse(bK.D0.decode(b))}catch{throw new aX.Dp("Failed to parse the decoded payload as JSON")}if(!(0,bL.Gv)(c))throw new aX.Dp("Invalid JWT Claims Set");return c}var bN=c(65625);async function bO(a){let b=new TextEncoder().encode(a);return Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",b))).map(a=>a.toString(16).padStart(2,"0")).join("")}async function bP(a,b){return"string"==typeof a&&(a===b||a===await bO(b))}let bQ=async a=>{let{data:b}=await bD("https://appleid.apple.com/auth/keys");if(!b?.keys)throw new m.LG("BAD_REQUEST",{message:"Keys not found"});let c=b.keys.find(b=>b.kid===a);if(!c)throw Error(`JWK with kid ${a} not found`);return await (0,bN.Og)(c,c.alg)},bR=async(a,b,c)=>{let d=`https://cognito-idp.${b}.amazonaws.com/${c}/.well-known/jwks.json`;try{let{data:b}=await bD(d);if(!b?.keys)throw new m.LG("BAD_REQUEST",{message:"Keys not found"});let c=b.keys.find(b=>b.kid===a);if(!c)throw Error(`JWK with kid ${a} not found`);return await (0,bN.Og)(c,c.alg)}catch(a){throw k.vF.error("Failed to fetch Cognito public key:",a),a}};function bS(a){return(0,bL.Gv)(a)}class bT{#aZ;#a$=new WeakMap;constructor(a){if(!function(a){return a&&"object"==typeof a&&Array.isArray(a.keys)&&a.keys.every(bS)}(a))throw new aX.Dm("JSON Web Key Set malformed");this.#aZ=structuredClone(a)}jwks(){return this.#aZ}async getKey(a,b){let{alg:c,kid:d}={...a,...b?.header},e=function(a){switch("string"==typeof a&&a.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";case"ML":return"AKP";default:throw new aX.T0('Unsupported "alg" value for a JSON Web Key Set')}}(c),f=this.#aZ.keys.filter(a=>{let b=e===a.kty;if(b&&"string"==typeof d&&(b=d===a.kid),b&&("string"==typeof a.alg||"AKP"===e)&&(b=c===a.alg),b&&"string"==typeof a.use&&(b="sig"===a.use),b&&Array.isArray(a.key_ops)&&(b=a.key_ops.includes("verify")),b)switch(c){case"ES256":b="P-256"===a.crv;break;case"ES384":b="P-384"===a.crv;break;case"ES512":b="P-521"===a.crv;break;case"Ed25519":case"EdDSA":b="Ed25519"===a.crv}return b}),{0:g,length:h}=f;if(0===h)throw new aX.BT;if(1!==h){let a=new aX.$4,b=this.#a$;throw a[Symbol.asyncIterator]=async function*(){for(let a of f)try{yield await bU(b,a,c)}catch{}},a}return bU(this.#a$,g,c)}}async function bU(a,b,c){let d=a.get(b)||a.set(b,{}).get(b);if(void 0===d[c]){let a=await (0,bN.Og)({...b,ext:!0},c);if(a instanceof Uint8Array||"public"!==a.type)throw new aX.Dm("JSON Web Key Set members must be public keys");d[c]=a}return d[c]}function bV(a){let b=new bT(a),c=async(a,c)=>b.getKey(a,c);return Object.defineProperties(c,{jwks:{value:()=>structuredClone(b.jwks()),enumerable:!1,configurable:!1,writable:!1}}),c}("u"<typeof navigator||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(d="jose/v6.2.3");let bW=Symbol();async function bX(a,b,c,d=fetch){let e=await d(a,{method:"GET",signal:c,redirect:"manual",headers:b}).catch(a=>{if("TimeoutError"===a.name)throw new aX.xb;throw a});if(200!==e.status)throw new aX.i4("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await e.json()}catch{throw new aX.i4("Failed to parse the JSON Web Key Set HTTP response as JSON")}}let bY=Symbol();class bZ{#a_;#a0;#a1;#a2;#a3;#a4;#a5;#a6;#a7;#a8;constructor(a,b){if(!(a instanceof URL))throw TypeError("url must be an instance of URL");this.#a_=new URL(a.href),this.#a0="number"==typeof b?.timeoutDuration?b?.timeoutDuration:5e3,this.#a1="number"==typeof b?.cooldownDuration?b?.cooldownDuration:3e4,this.#a2="number"==typeof b?.cacheMaxAge?b?.cacheMaxAge:6e5,this.#a5=new Headers(b?.headers),d&&!this.#a5.has("User-Agent")&&this.#a5.set("User-Agent",d),this.#a5.has("accept")||(this.#a5.set("accept","application/json"),this.#a5.append("accept","application/jwk-set+json")),this.#a6=b?.[bW],b?.[bY]!==void 0&&(this.#a8=b?.[bY],function(a,b){return!("object"!=typeof a||null===a||!("uat"in a)||"number"!=typeof a.uat||Date.now()-a.uat>=b)&&"jwks"in a&&!!(0,bL.Gv)(a.jwks)&&!!Array.isArray(a.jwks.keys)&&!!Array.prototype.every.call(a.jwks.keys,bL.Gv)}(b?.[bY],this.#a2)&&(this.#a3=this.#a8.uat,this.#a7=bV(this.#a8.jwks)))}pendingFetch(){return!!this.#a4}coolingDown(){return"number"==typeof this.#a3&&Date.now()<this.#a3+this.#a1}fresh(){return"number"==typeof this.#a3&&Date.now()<this.#a3+this.#a2}jwks(){return this.#a7?.jwks()}async getKey(a,b){this.#a7&&this.fresh()||await this.reload();try{return await this.#a7(a,b)}catch(c){if(c instanceof aX.BT&&!1===this.coolingDown())return await this.reload(),this.#a7(a,b);throw c}}async reload(){this.#a4&&("u">typeof WebSocketPair||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"u">typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this.#a4=void 0),this.#a4||=bX(this.#a_.href,this.#a5,AbortSignal.timeout(this.#a0),this.#a6).then(a=>{this.#a7=bV(a),this.#a8&&(this.#a8.uat=Date.now(),this.#a8.jwks=a),this.#a3=Date.now(),this.#a4=void 0}).catch(a=>{throw this.#a4=void 0,a}),await this.#a4}}async function b$(a,b){let c=be(b.clientId);if(!c||!b.clientSecret)return null;let d=Array.isArray(b.clientId)?b.clientId:[b.clientId],{data:e,error:f}=await bD("https://graph.facebook.com/debug_token",{query:{input_token:a,access_token:`${c}|${b.clientSecret}`}});if(f||!e?.data)return null;let{is_valid:g,app_id:h,user_id:i}=e.data;return!0===g&&h&&d.includes(h)&&i?i:null}let b_=(a="")=>a.split("://").map(a=>a.replace(/\/{2,}/g,"/")).join("://"),b0=async a=>{let{data:b}=await bD("https://www.googleapis.com/oauth2/v3/certs");if(!b?.keys)throw new m.LG("BAD_REQUEST",{message:"Keys not found"});let c=b.keys.find(b=>b.kid===a);if(!c)throw Error(`JWK with kid ${a} not found`);return await (0,bN.Og)(c,c.alg)},b1="9188040d-6c67-4c5b-b112-36a304b66dad",b2=async(a,b,c)=>{let{data:d}=await bD(`${c}/${b}/discovery/v2.0/keys`);if(!d?.keys)throw new m.LG("BAD_REQUEST",{message:"Keys not found"});let e=d.keys.find(b=>b.kid===a);if(!e)throw Error(`JWK with kid ${a} not found`);return await (0,bN.Og)(e,e.alg)},b3=["RS256","HS256"],b4=async(a,b)=>{let{data:c}=await bD(b);if(!c?.keys)throw new m.LG("BAD_REQUEST",{message:"Keys not found"});let d=c.keys.find(b=>b.kid===a);if(!d)throw Error(`JWK with kid ${a} not found`);return await (0,bN.Og)(d,d.alg)},b5="https://backboard.railway.com/oauth/token",b6={apple:a=>{let b="https://appleid.apple.com/auth/token";return{id:"apple",name:"Apple",async createAuthorizationURL({state:b,scopes:c,redirectURI:d}){if(!be(a.clientId)||!a.clientSecret)throw k.vF.error("Client ID and client secret are required for Apple. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");let e=a.disableDefaultScope?[]:["email","name"];return a.scope&&e.push(...a.scope),c&&e.push(...c),await bg({id:"apple",options:a,authorizationEndpoint:"https://appleid.apple.com/auth/authorize",scopes:e,state:b,redirectURI:d,responseMode:"form_post",responseType:"code id_token"})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b}),async verifyIdToken(b,c){if(a.disableIdTokenSignIn)return!1;if(a.verifyIdToken)return a.verifyIdToken(b,c);try{let{kid:d,alg:e}=(0,bI._)(b);if(!d||!e)return!1;let{payload:f}=await (0,aW.V)(b,await bQ(d),{algorithms:[e],issuer:"https://appleid.apple.com",audience:a.audience&&a.audience.length?a.audience:a.appBundleIdentifier?a.appBundleIdentifier:a.clientId,maxTokenAge:"1h"});if(["email_verified","is_private_email"].forEach(a=>{void 0!==f[a]&&(f[a]=!!f[a])}),c&&!await bP(f.nonce,c))return!1;return!!f}catch{return!1}},refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:a,tokenEndpoint:b}),async getUserInfo(b){let c;if(a.getUserInfo)return a.getUserInfo(b);if(!b.idToken)return null;let d=bM(b.idToken);if(!d)return null;c=b.user?.name?`${b.user.name.firstName||""} ${b.user.name.lastName||""}`.trim():d.name||"";let e="boolean"==typeof d.email_verified?d.email_verified:"true"===d.email_verified,f={...d,name:c},g=await a.mapProfileToUser?.(f);return{user:{id:d.sub,name:f.name,emailVerified:e,email:d.email,...g},data:f}},options:a}},atlassian:a=>{let b="https://auth.atlassian.com/oauth/token";return{id:"atlassian",name:"Atlassian",async createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){if(!a.clientId||!a.clientSecret)throw k.vF.error("Client Id and Secret are required for Atlassian"),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");if(!d)throw new m.$l("codeVerifier is required for Atlassian");let f=a.disableDefaultScope?[]:["read:jira-user","offline_access"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"atlassian",options:a,authorizationEndpoint:"https://auth.atlassian.com/authorize",scopes:f,state:b,codeVerifier:d,redirectURI:e,additionalParams:{audience:"api.atlassian.com"},prompt:a.prompt})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(!b.accessToken)return null;try{let{data:c}=await bD("https://api.atlassian.com/me",{headers:{Authorization:`Bearer ${b.accessToken}`}});if(!c)return null;let d=await a.mapProfileToUser?.(c);return{user:{id:c.account_id,name:c.name,email:c.email,image:c.picture,emailVerified:!1,...d},data:c}}catch(a){return k.vF.error("Failed to fetch user info from Figma:",a),null}},options:a}},cognito:a=>{if(!a.domain||!a.region||!a.userPoolId)throw k.vF.error("Domain, region and userPoolId are required for Amazon Cognito. Make sure to provide them in the options."),new m.$l("DOMAIN_AND_REGION_REQUIRED");let b=a.domain.replace(/^https?:\/\//,""),c=`https://${b}/oauth2/authorize`,d=`https://${b}/oauth2/token`,e=`https://${b}/oauth2/userinfo`;return{id:"cognito",name:"Cognito",async createAuthorizationURL({state:b,scopes:d,codeVerifier:e,redirectURI:f}){if(!be(a.clientId))throw k.vF.error("ClientId is required for Amazon Cognito. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");if(a.requireClientSecret&&!a.clientSecret)throw k.vF.error("Client Secret is required when requireClientSecret is true. Make sure to provide it in the options."),new m.$l("CLIENT_SECRET_REQUIRED");let g=a.disableDefaultScope?[]:["openid","profile","email"];a.scope&&g.push(...a.scope),d&&g.push(...d);let h=await bg({id:"cognito",options:{...a},authorizationEndpoint:c,scopes:g,state:b,codeVerifier:e,redirectURI:f,prompt:a.prompt}),i=h.searchParams.get("scope");if(i){h.searchParams.delete("scope");let a=encodeURIComponent(i),b=h.toString(),c=b.includes("?")?"&":"?";return new URL(`${b}${c}scope=${a}`)}return h},validateAuthorizationCode:async({code:b,codeVerifier:c,redirectURI:e})=>bH({code:b,codeVerifier:c,redirectURI:e,options:a,tokenEndpoint:d}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:d}),async verifyIdToken(b,c){if(a.disableIdTokenSignIn)return!1;if(a.verifyIdToken)return a.verifyIdToken(b,c);try{let{kid:d,alg:e}=(0,bI._)(b);if(!d||!e)return!1;let f=await bR(d,a.region,a.userPoolId),g=`https://cognito-idp.${a.region}.amazonaws.com/${a.userPoolId}`,{payload:h}=await (0,aW.V)(b,f,{algorithms:[e],issuer:g,audience:a.clientId,maxTokenAge:"1h"});if(c&&h.nonce!==c)return!1;return!0}catch(a){return k.vF.error("Failed to verify ID token:",a),!1}},async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(b.idToken)try{let c=bM(b.idToken);if(!c)return null;let d=c.name||c.given_name||c.username||"",e={...c,name:d},f=await a.mapProfileToUser?.(e);return{user:{id:c.sub,name:e.name,email:c.email,image:c.picture,emailVerified:c.email_verified,...f},data:e}}catch(a){k.vF.error("Failed to decode ID token:",a)}if(b.accessToken)try{let{data:c}=await bD(e,{headers:{Authorization:`Bearer ${b.accessToken}`}});if(c){let b=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.name||c.given_name||c.username||"",email:c.email,image:c.picture,emailVerified:c.email_verified,...b},data:c}}}catch(a){k.vF.error("Failed to fetch user info from Cognito:",a)}return null},options:a}},discord:a=>{let b="https://discord.com/api/oauth2/token";return{id:"discord",name:"Discord",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["identify","email"];c&&e.push(...c),a.scope&&e.push(...a.scope);let f=e.includes("bot")&&void 0!==a.permissions?`&permissions=${a.permissions}`:"";return new URL(`https://discord.com/api/oauth2/authorize?scope=${e.join("+")}&response_type=code&client_id=${a.clientId}&redirect_uri=${encodeURIComponent(a.redirectURI||d)}&state=${b}&prompt=${a.prompt||"none"}${f}`)},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:d,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://discord.com/api/users/@me",{headers:{authorization:`Bearer ${b.accessToken}`}});if(d)return null;if(null===c.avatar)c.image_url=`https://cdn.discordapp.com/embed/avatars/${"0"===c.discriminator?Number(BigInt(c.id)>>BigInt(22))%6:parseInt(c.discriminator)%5}.png`;else{let a=c.avatar.startsWith("a_")?"gif":"png";c.image_url=`https://cdn.discordapp.com/avatars/${c.id}/${c.avatar}.${a}`}let e=await a.mapProfileToUser?.(c);return{user:{id:c.id,name:c.global_name||c.username||"",email:c.email,emailVerified:c.verified,image:c.image_url,...e},data:c}},options:a}},facebook:a=>({id:"facebook",name:"Facebook",async createAuthorizationURL({state:b,scopes:c,redirectURI:d,loginHint:e}){if(!be(a.clientId)||!a.clientSecret)throw k.vF.error("Client ID and client secret are required for Facebook. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");let f=a.disableDefaultScope?[]:["email","public_profile"];return a.scope&&f.push(...a.scope),c&&f.push(...c),await bg({id:"facebook",options:a,authorizationEndpoint:"https://www.facebook.com/v24.0/dialog/oauth",scopes:f,state:b,redirectURI:d,loginHint:e,additionalParams:a.configId?{config_id:a.configId}:{}})},validateAuthorizationCode:async({code:b,redirectURI:c})=>bH({code:b,redirectURI:c,options:a,tokenEndpoint:"https://graph.facebook.com/v24.0/oauth/access_token"}),async verifyIdToken(b,c){if(a.disableIdTokenSignIn)return!1;if(a.verifyIdToken)return a.verifyIdToken(b,c);if(3===b.split(".").length)try{var d;let e,f,{payload:g}=await (0,aW.V)(b,(d=new URL("https://limited.facebook.com/.well-known/oauth/openid/jwks/"),e=new bZ(d,void 0),f=async(a,b)=>e.getKey(a,b),Object.defineProperties(f,{coolingDown:{get:()=>e.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>e.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>e.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>e.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>e.jwks(),enumerable:!0,configurable:!1,writable:!1}}),f),{algorithms:["RS256"],audience:a.clientId,issuer:"https://www.facebook.com"});if(c&&g.nonce!==c)return!1;return!!g}catch{return!1}return await b$(b,a)!==null},refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:"https://graph.facebook.com/v24.0/oauth/access_token"}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(b.idToken&&3===b.idToken.split(".").length){let c=bM(b.idToken),d={id:c.sub,name:c.name,email:c.email,picture:{data:{url:c.picture,height:100,width:100,is_silhouette:!1}}},e=await a.mapProfileToUser?.({...d,email_verified:!1});return{user:{...d,emailVerified:!1,...e},data:c}}let c=b.accessToken;if(!c)return null;let d=await b$(c,a);if(!d)return null;let{data:e,error:f}=await bD("https://graph.facebook.com/me?fields="+["id","name","email","picture",...a?.fields||[]].join(","),{auth:{type:"Bearer",token:c}});if(f||e.id!==d)return null;let g=await a.mapProfileToUser?.(e);return{user:{id:e.id,name:e.name,email:e.email,image:e.picture.data.url,emailVerified:e.email_verified??!1,...g},data:e}},options:a}),figma:a=>{let b="https://api.figma.com/v1/oauth/token";return{id:"figma",name:"Figma",async createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){if(!a.clientId||!a.clientSecret)throw k.vF.error("Client Id and Client Secret are required for Figma. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");if(!d)throw new m.$l("codeVerifier is required for Figma");let f=a.disableDefaultScope?[]:["current_user:read"];return a.scope&&f.push(...a.scope),c&&f.push(...c),await bg({id:"figma",options:a,authorizationEndpoint:"https://www.figma.com/oauth",scopes:f,state:b,codeVerifier:d,redirectURI:e})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b,authentication:"basic"}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b,authentication:"basic"}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);try{let{data:c}=await bD("https://api.figma.com/v1/me",{headers:{Authorization:`Bearer ${b.accessToken}`}});if(!c)return k.vF.error("Failed to fetch user from Figma"),null;let d=await a.mapProfileToUser?.(c);return{user:{id:c.id,name:c.handle,email:c.email,image:c.img_url,emailVerified:!1,...d},data:c}}catch(a){return k.vF.error("Failed to fetch user info from Figma:",a),null}},options:a}},github:a=>{let b="https://github.com/login/oauth/access_token";return{id:"github",name:"GitHub",createAuthorizationURL({state:b,scopes:c,loginHint:d,codeVerifier:e,redirectURI:f}){let g=a.disableDefaultScope?[]:["read:user","user:email"];return a.scope&&g.push(...a.scope),c&&g.push(...c),bg({id:"github",options:a,authorizationEndpoint:"https://github.com/login/oauth/authorize",scopes:g,state:b,codeVerifier:e,redirectURI:f,loginHint:d,prompt:a.prompt})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>{let{body:f,headers:g}=bG({code:c,codeVerifier:d,redirectURI:e,options:a}),{data:h,error:i}=await bD(b,{method:"POST",body:f,headers:g});return i?(k.vF.error("GitHub OAuth token exchange failed:",i),null):"error"in h?(k.vF.error("GitHub OAuth token exchange failed:",h),null):bd(h)},refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.github.com/user",{headers:{"User-Agent":"better-auth",authorization:`Bearer ${b.accessToken}`}});if(d)return null;let{data:e}=await bD("https://api.github.com/user/emails",{headers:{Authorization:`Bearer ${b.accessToken}`,"User-Agent":"better-auth"}});!c.email&&e&&(c.email=(e.find(a=>a.primary)??e[0])?.email);let f=e?.find(a=>a.email===c.email)?.verified??!1,g=await a.mapProfileToUser?.(c);return{user:{id:c.id,name:c.name||c.login||"",email:c.email,image:c.avatar_url,emailVerified:f,...g},data:c}},options:a}},microsoft:a=>{let b=a.tenantId||"common",c=a.authority||"https://login.microsoftonline.com";for(;c.endsWith("/");)c=c.slice(0,-1);let d=`${c}/${b}/oauth2/v2.0/authorize`,e=`${c}/${b}/oauth2/v2.0/token`;return{id:"microsoft",name:"Microsoft EntraID",createAuthorizationURL(b){if(!be(a.clientId))throw k.vF.error("Client Id is required for Microsoft Entra ID. Make sure to provide it in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");let c=a.disableDefaultScope?[]:["openid","profile","email","User.Read","offline_access"];return a.scope&&c.push(...a.scope),b.scopes&&c.push(...b.scopes),bg({id:"microsoft",options:a,authorizationEndpoint:d,state:b.state,codeVerifier:b.codeVerifier,scopes:c,redirectURI:b.redirectURI,prompt:a.prompt,loginHint:b.loginHint})},validateAuthorizationCode:({code:b,codeVerifier:c,redirectURI:d})=>bH({code:b,codeVerifier:c,redirectURI:d,options:a,tokenEndpoint:e}),async verifyIdToken(d,e){if(a.disableIdTokenSignIn)return!1;if(a.verifyIdToken)return a.verifyIdToken(d,e);try{let{kid:f,alg:g}=(0,bI._)(d);if(!f||!g)return!1;let h=await b2(f,b,c),i={algorithms:[g],audience:a.clientId,maxTokenAge:"1h"};"common"!==b&&"organizations"!==b&&"consumers"!==b&&(i.issuer=`${c}/${b}/v2.0`);let{payload:j}=await (0,aW.V)(d,h,i);if(e&&j.nonce!==e)return!1;let k=j.tid;if("string"!=typeof k||j.iss!==`${c}/${k}/v2.0`||"organizations"===b&&k===b1||"consumers"===b&&k!==b1)return!1;return!0}catch(a){return k.vF.error("Failed to verify ID token:",a),!1}},async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(!b.idToken)return null;let c=bM(b.idToken),d=a.profilePhotoSize||48;await bD(`https://graph.microsoft.com/v1.0/me/photos/${d}x${d}/$value`,{headers:{Authorization:`Bearer ${b.accessToken}`},async onResponse(b){if(!a.disableProfilePhoto&&b.response.ok)try{let a=await b.response.clone().arrayBuffer();c.picture=`data:image/jpeg;base64, ${O.K.encode(a)}`}catch(a){k.vF.error(a&&"object"==typeof a&&"name"in a?a.name:"",a)}}});let e=await a.mapProfileToUser?.(c),f=void 0!==c.email_verified?c.email_verified:!!(c.email&&(c.verified_primary_email?.includes(c.email)||c.verified_secondary_email?.includes(c.email)));return{user:{id:c.sub,name:c.name,email:c.email,image:c.picture,emailVerified:f,...e},data:c}},refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>{let c=a.disableDefaultScope?[]:["openid","profile","email","User.Read","offline_access"];return a.scope&&c.push(...a.scope),bE({refreshToken:b,options:{clientId:a.clientId,clientSecret:a.clientSecret},extraParams:{scope:c.join(" ")},tokenEndpoint:e})},options:a}},google:a=>({id:"google",name:"Google",async createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e,loginHint:f,display:g}){if(!be(a.clientId)||!a.clientSecret)throw k.vF.error("Client Id and Client Secret is required for Google. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");if(!d)throw new m.$l("codeVerifier is required for Google");let h=a.disableDefaultScope?[]:["email","profile","openid"];return a.scope&&h.push(...a.scope),c&&h.push(...c),await bg({id:"google",options:a,authorizationEndpoint:"https://accounts.google.com/o/oauth2/v2/auth",scopes:h,state:b,codeVerifier:d,redirectURI:e,prompt:a.prompt,accessType:a.accessType,display:g||a.display,loginHint:f,hd:a.hd,additionalParams:{include_granted_scopes:"true"}})},validateAuthorizationCode:async({code:b,codeVerifier:c,redirectURI:d})=>bH({code:b,codeVerifier:c,redirectURI:d,options:a,tokenEndpoint:"https://oauth2.googleapis.com/token"}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:"https://oauth2.googleapis.com/token"}),async verifyIdToken(b,c){if(a.disableIdTokenSignIn)return!1;if(a.verifyIdToken)return a.verifyIdToken(b,c);try{let{kid:d,alg:e}=(0,bI._)(b);if(!d||!e)return!1;let{payload:f}=await (0,aW.V)(b,await b0(d),{algorithms:[e],issuer:["https://accounts.google.com","accounts.google.com"],audience:a.clientId,maxTokenAge:"1h"});if(c&&f.nonce!==c||a.hd&&f.hd!==a.hd)return!1;return!0}catch{return!1}},async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(!b.idToken)return null;let c=bM(b.idToken);if(a.hd&&c.hd!==a.hd)return k.vF.error(`Google sign-in rejected: id token hosted domain (hd) "${c.hd??"<missing>"}" does not match the configured "hd" option "${a.hd}".`),null;let d=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.name,email:c.email,image:c.picture,emailVerified:c.email_verified,...d},data:c}},options:a}),huggingface:a=>{let b="https://huggingface.co/oauth/token";return{id:"huggingface",name:"Hugging Face",createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){let f=a.disableDefaultScope?[]:["openid","profile","email"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"huggingface",options:a,authorizationEndpoint:"https://huggingface.co/oauth/authorize",scopes:f,state:b,codeVerifier:d,redirectURI:e})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://huggingface.co/oauth/userinfo",{method:"GET",headers:{Authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.name||c.preferred_username||"",email:c.email,image:c.picture,emailVerified:c.email_verified??!1,...e},data:c}},options:a}},slack:a=>{let b="https://slack.com/api/openid.connect.token";return{id:"slack",name:"Slack",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["openid","profile","email"];c&&e.push(...c),a.scope&&e.push(...a.scope);let f=new URL("https://slack.com/openid/connect/authorize");return f.searchParams.set("scope",e.join(" ")),f.searchParams.set("response_type","code"),f.searchParams.set("client_id",a.clientId),f.searchParams.set("redirect_uri",a.redirectURI||d),f.searchParams.set("state",b),f},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:d,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://slack.com/api/openid.connect.userInfo",{headers:{authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c["https://slack.com/user_id"],name:c.name||"",email:c.email,emailVerified:c.email_verified,image:c.picture||c["https://slack.com/user_image_512"],...e},data:c}},options:a}},spotify:a=>{let b="https://accounts.spotify.com/api/token";return{id:"spotify",name:"Spotify",createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){let f=a.disableDefaultScope?[]:["user-read-email"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"spotify",options:a,authorizationEndpoint:"https://accounts.spotify.com/authorize",scopes:f,state:b,codeVerifier:d,redirectURI:e})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.spotify.com/v1/me",{method:"GET",headers:{Authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.id,name:c.display_name,email:c.email,image:c.images[0]?.url,emailVerified:!1,...e},data:c}},options:a}},twitch:a=>{let b="https://id.twitch.tv/oauth2/token";return{id:"twitch",name:"Twitch",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["user:read:email","openid"];return a.scope&&e.push(...a.scope),c&&e.push(...c),bg({id:"twitch",redirectURI:d,options:a,authorizationEndpoint:"https://id.twitch.tv/oauth2/authorize",scopes:e,state:b,claims:a.claims||["email","email_verified","preferred_username","picture"]})},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:d,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let c=b.idToken;if(!c)return k.vF.error("No idToken found in token"),null;let d=bM(c),e=await a.mapProfileToUser?.(d);return{user:{id:d.sub,name:d.preferred_username,email:d.email,image:d.picture,emailVerified:d.email_verified,...e},data:d}},options:a}},twitter:a=>{let b="https://api.x.com/2/oauth2/token";return{id:"twitter",name:"Twitter",createAuthorizationURL(b){let c=a.disableDefaultScope?[]:["users.read","tweet.read","offline.access","users.email"];return a.scope&&c.push(...a.scope),b.scopes&&c.push(...b.scopes),bg({id:"twitter",options:a,authorizationEndpoint:"https://x.com/i/oauth2/authorize",scopes:c,state:b.state,codeVerifier:b.codeVerifier,redirectURI:b.redirectURI})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,authentication:"basic",redirectURI:e,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},authentication:"basic",tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.x.com/2/users/me?user.fields=profile_image_url",{method:"GET",headers:{Authorization:`Bearer ${b.accessToken}`}});if(d)return null;let{data:e,error:f}=await bD("https://api.x.com/2/users/me?user.fields=confirmed_email",{method:"GET",headers:{Authorization:`Bearer ${b.accessToken}`}}),g=!1;!f&&e?.data?.confirmed_email&&(c.data.email=e.data.confirmed_email,g=!0);let h=await a.mapProfileToUser?.(c);return{user:{id:c.data.id,name:c.data.name,email:c.data.email||c.data.username||null,image:c.data.profile_image_url,emailVerified:g,...h},data:c}},options:a}},dropbox:a=>{let b="https://api.dropboxapi.com/oauth2/token";return{id:"dropbox",name:"Dropbox",createAuthorizationURL:async({state:b,scopes:c,codeVerifier:d,redirectURI:e})=>{let f=a.disableDefaultScope?[]:["account_info.read"];a.scope&&f.push(...a.scope),c&&f.push(...c);let g={};return a.accessType&&(g.token_access_type=a.accessType),await bg({id:"dropbox",options:a,authorizationEndpoint:"https://www.dropbox.com/oauth2/authorize",scopes:f,state:b,redirectURI:e,codeVerifier:d,additionalParams:g})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>await bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.dropboxapi.com/2/users/get_current_account",{method:"POST",headers:{Authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.account_id,name:c.name?.display_name,email:c.email,emailVerified:c.email_verified||!1,image:c.profile_photo_url,...e},data:c}},options:a}},kick:a=>({id:"kick",name:"Kick",createAuthorizationURL({state:b,scopes:c,redirectURI:d,codeVerifier:e}){let f=a.disableDefaultScope?[]:["user:read"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"kick",redirectURI:d,options:a,authorizationEndpoint:"https://id.kick.com/oauth/authorize",scopes:f,codeVerifier:e,state:b})},validateAuthorizationCode:async({code:b,redirectURI:c,codeVerifier:d})=>bH({code:b,redirectURI:c,options:a,tokenEndpoint:"https://id.kick.com/oauth/token",codeVerifier:d}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientSecret:a.clientSecret},tokenEndpoint:"https://id.kick.com/oauth/token"}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.kick.com/public/v1/users",{method:"GET",headers:{Authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=c.data[0],f=await a.mapProfileToUser?.(e);return{user:{id:e.user_id,name:e.name,email:e.email,image:e.profile_picture,emailVerified:!1,...f},data:e}},options:a}),linear:a=>{let b="https://api.linear.app/oauth/token";return{id:"linear",name:"Linear",createAuthorizationURL({state:b,scopes:c,loginHint:d,redirectURI:e}){let f=a.disableDefaultScope?[]:["read"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"linear",options:a,authorizationEndpoint:"https://linear.app/oauth/authorize",scopes:f,state:b,redirectURI:e,loginHint:d})},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:d,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b.accessToken}`},body:JSON.stringify({query:`
124
+ query {
125
+ viewer {
126
+ id
127
+ name
128
+ email
129
+ avatarUrl
130
+ active
131
+ createdAt
132
+ updatedAt
133
+ }
134
+ }
135
+ `})});if(d||!c?.data?.viewer)return null;let e=c.data.viewer,f=await a.mapProfileToUser?.(e);return{user:{id:c.data.viewer.id,name:c.data.viewer.name,email:c.data.viewer.email,image:c.data.viewer.avatarUrl,emailVerified:!1,...f},data:e}},options:a}},linkedin:a=>{let b="https://www.linkedin.com/oauth/v2/accessToken";return{id:"linkedin",name:"Linkedin",createAuthorizationURL:async({state:b,scopes:c,redirectURI:d,loginHint:e})=>{let f=a.disableDefaultScope?[]:["profile","email","openid"];return a.scope&&f.push(...a.scope),c&&f.push(...c),await bg({id:"linkedin",options:a,authorizationEndpoint:"https://www.linkedin.com/oauth/v2/authorization",scopes:f,state:b,loginHint:e,redirectURI:d})},validateAuthorizationCode:async({code:c,redirectURI:d})=>await bH({code:c,redirectURI:d,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.linkedin.com/v2/userinfo",{method:"GET",headers:{Authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.name,email:c.email,emailVerified:c.email_verified??!1,image:c.picture,...e},data:c}},options:a}},gitlab:a=>{let b,{authorizationEndpoint:c,tokenEndpoint:d,userinfoEndpoint:e}=(b=a.issuer||"https://gitlab.com",{authorizationEndpoint:b_(`${b}/oauth/authorize`),tokenEndpoint:b_(`${b}/oauth/token`),userinfoEndpoint:b_(`${b}/api/v4/user`)}),f="gitlab";return{id:f,name:"Gitlab",createAuthorizationURL:async({state:b,scopes:d,codeVerifier:e,loginHint:g,redirectURI:h})=>{let i=a.disableDefaultScope?[]:["read_user"];return a.scope&&i.push(...a.scope),d&&i.push(...d),await bg({id:f,options:a,authorizationEndpoint:c,scopes:i,state:b,redirectURI:h,codeVerifier:e,loginHint:g})},validateAuthorizationCode:async({code:b,redirectURI:c,codeVerifier:e})=>bH({code:b,redirectURI:c,options:a,codeVerifier:e,tokenEndpoint:d}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:d}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD(e,{headers:{authorization:`Bearer ${b.accessToken}`}});if(d||"active"!==c.state||c.locked)return null;let f=await a.mapProfileToUser?.(c);return{user:{id:c.id,name:c.name??c.username??"",email:c.email,image:c.avatar_url,emailVerified:c.email_verified??!1,...f},data:c}},options:a}},tiktok:a=>{let b="https://open.tiktokapis.com/v2/oauth/token/";return{id:"tiktok",name:"TikTok",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["user.info.profile"];return a.scope&&e.push(...a.scope),c&&e.push(...c),new URL(`https://www.tiktok.com/v2/auth/authorize?scope=${e.join(",")}&response_type=code&client_key=${a.clientKey}&redirect_uri=${encodeURIComponent(a.redirectURI||d)}&state=${b}`)},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:a.redirectURI||d,options:{clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientSecret:a.clientSecret},tokenEndpoint:b,authentication:"post",extraParams:{client_key:a.clientKey}}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://open.tiktokapis.com/v2/user/info/?fields=open_id,avatar_large_url,display_name,username",{headers:{authorization:`Bearer ${b.accessToken}`}});return d?null:{user:{email:c.data.user.email||c.data.user.username,id:c.data.user.open_id,name:c.data.user.display_name||c.data.user.username||"",image:c.data.user.avatar_large_url,emailVerified:!1},data:c}},options:a}},reddit:a=>({id:"reddit",name:"Reddit",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["identity"];return a.scope&&e.push(...a.scope),c&&e.push(...c),bg({id:"reddit",options:a,authorizationEndpoint:"https://www.reddit.com/api/v1/authorize",scopes:e,state:b,redirectURI:d,duration:a.duration})},validateAuthorizationCode:async({code:b,redirectURI:c})=>{let d=new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:a.redirectURI||c}),{data:e,error:f}=await bD("https://www.reddit.com/api/v1/access_token",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded",accept:"text/plain","user-agent":"better-auth",Authorization:`Basic ${O.K.encode(`${a.clientId}:${a.clientSecret}`)}`},body:d.toString()});if(f)throw f;return bd(e)},refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},authentication:"basic",tokenEndpoint:"https://www.reddit.com/api/v1/access_token"}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://oauth.reddit.com/api/v1/me",{headers:{Authorization:`Bearer ${b.accessToken}`,"User-Agent":"better-auth"}});if(d)return null;let e=await a.mapProfileToUser?.(c),f=e?.email||`${c.id}@reddit.invalid`;return{user:{id:c.id,name:c.name,image:c.icon_img?.split("?")[0],...e,email:f,emailVerified:e?.emailVerified??!1},data:c}},options:a}),roblox:a=>{let b="https://apis.roblox.com/oauth/v1/token";return{id:"roblox",name:"Roblox",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["openid","profile"];return a.scope&&e.push(...a.scope),c&&e.push(...c),new URL(`https://apis.roblox.com/oauth/v1/authorize?scope=${e.join("+")}&response_type=code&client_id=${a.clientId}&redirect_uri=${encodeURIComponent(a.redirectURI||d)}&state=${b}&prompt=${a.prompt||"select_account consent"}`)},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:a.redirectURI||d,options:a,tokenEndpoint:b,authentication:"post"}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://apis.roblox.com/oauth/v1/userinfo",{headers:{authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.nickname||c.preferred_username||"",image:c.picture,email:c.preferred_username||null,emailVerified:!1,...e},data:{...c}}},options:a}},salesforce:a=>{let b=(a.environment??"production")==="sandbox",c=a.loginUrl?`https://${a.loginUrl}/services/oauth2/authorize`:b?"https://test.salesforce.com/services/oauth2/authorize":"https://login.salesforce.com/services/oauth2/authorize",d=a.loginUrl?`https://${a.loginUrl}/services/oauth2/token`:b?"https://test.salesforce.com/services/oauth2/token":"https://login.salesforce.com/services/oauth2/token",e=a.loginUrl?`https://${a.loginUrl}/services/oauth2/userinfo`:b?"https://test.salesforce.com/services/oauth2/userinfo":"https://login.salesforce.com/services/oauth2/userinfo";return{id:"salesforce",name:"Salesforce",async createAuthorizationURL({state:b,scopes:d,codeVerifier:e,redirectURI:f}){if(!a.clientId||!a.clientSecret)throw k.vF.error("Client Id and Client Secret are required for Salesforce. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");if(!e)throw new m.$l("codeVerifier is required for Salesforce");let g=a.disableDefaultScope?[]:["openid","email","profile"];return a.scope&&g.push(...a.scope),d&&g.push(...d),bg({id:"salesforce",options:a,authorizationEndpoint:c,scopes:g,state:b,codeVerifier:e,redirectURI:a.redirectURI||f})},validateAuthorizationCode:async({code:b,codeVerifier:c,redirectURI:e})=>bH({code:b,codeVerifier:c,redirectURI:a.redirectURI||e,options:a,tokenEndpoint:d}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientSecret:a.clientSecret},tokenEndpoint:d}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);try{let{data:c}=await bD(e,{headers:{Authorization:`Bearer ${b.accessToken}`}});if(!c)return k.vF.error("Failed to fetch user info from Salesforce"),null;let d=await a.mapProfileToUser?.(c);return{user:{id:c.user_id,name:c.name,email:c.email,image:c.photos?.picture||c.photos?.thumbnail,emailVerified:c.email_verified??!1,...d},data:c}}catch(a){return k.vF.error("Failed to fetch user info from Salesforce:",a),null}},options:a}},vk:a=>{let b="https://id.vk.com/oauth2/auth";return{id:"vk",name:"VK",async createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){let f=a.disableDefaultScope?[]:["email","phone"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"vk",options:a,authorizationEndpoint:"https://id.vk.com/authorize",scopes:f,state:b,redirectURI:e,codeVerifier:d})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e,deviceId:f})=>bH({code:c,codeVerifier:d,redirectURI:a.redirectURI||e,options:a,deviceId:f,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(!b.accessToken)return null;let c=new URLSearchParams({access_token:b.accessToken,client_id:a.clientId}).toString(),{data:d,error:e}=await bD("https://id.vk.com/oauth2/user_info",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:c});if(e)return null;let f=await a.mapProfileToUser?.(d);return d.user.email||f?.email?{user:{id:d.user.user_id,first_name:d.user.first_name,last_name:d.user.last_name,email:d.user.email,image:d.user.avatar,emailVerified:!1,birthday:d.user.birthday,sex:d.user.sex,name:`${d.user.first_name} ${d.user.last_name}`,...f},data:d}:null},options:a}},zoom:a=>{let b={pkce:!0,...a};return{id:"zoom",name:"Zoom",createAuthorizationURL:async({state:a,redirectURI:c,codeVerifier:d})=>{let e=new URLSearchParams({response_type:"code",redirect_uri:b.redirectURI?b.redirectURI:c,client_id:b.clientId,state:a});if(b.pkce){let a=await bf(d);e.set("code_challenge_method","S256"),e.set("code_challenge",a)}let f=new URL("https://zoom.us/oauth/authorize");return f.search=e.toString(),f},validateAuthorizationCode:async({code:a,redirectURI:c,codeVerifier:d})=>bH({code:a,redirectURI:b.redirectURI||c,codeVerifier:d,options:b,tokenEndpoint:"https://zoom.us/oauth/token",authentication:"post"}),refreshAccessToken:b.refreshAccessToken?b.refreshAccessToken:async a=>bE({refreshToken:a,options:{clientId:b.clientId,clientKey:b.clientKey,clientSecret:b.clientSecret},tokenEndpoint:"https://zoom.us/oauth/token"}),async getUserInfo(a){if(b.getUserInfo)return b.getUserInfo(a);let{data:c,error:d}=await bD("https://api.zoom.us/v2/users/me",{headers:{authorization:`Bearer ${a.accessToken}`}});if(d)return null;let e=await b.mapProfileToUser?.(c);return{user:{id:c.id,name:c.display_name,image:c.pic_url,email:c.email,emailVerified:!!c.verified,...e},data:{...c}}}}},notion:a=>{let b="https://api.notion.com/v1/oauth/token";return{id:"notion",name:"Notion",createAuthorizationURL({state:b,scopes:c,loginHint:d,redirectURI:e}){let f=(a.disableDefaultScope,[]);return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"notion",options:a,authorizationEndpoint:"https://api.notion.com/v1/oauth/authorize",scopes:f,state:b,redirectURI:e,loginHint:d,additionalParams:{owner:"user"}})},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:d,options:a,tokenEndpoint:b,authentication:"basic"}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.notion.com/v1/users/me",{headers:{Authorization:`Bearer ${b.accessToken}`,"Notion-Version":"2022-06-28"}});if(d||!c)return null;let e=c.bot?.owner?.user;if(!e)return null;let f=await a.mapProfileToUser?.(e);return{user:{id:e.id,name:e.name||"",email:e.person?.email||null,image:e.avatar_url,emailVerified:!1,...f},data:e}},options:a}},kakao:a=>{let b="https://kauth.kakao.com/oauth/token";return{id:"kakao",name:"Kakao",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["account_email","profile_image","profile_nickname"];return a.scope&&e.push(...a.scope),c&&e.push(...c),bg({id:"kakao",options:a,authorizationEndpoint:"https://kauth.kakao.com/oauth/authorize",scopes:e,state:b,redirectURI:d})},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:d,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://kapi.kakao.com/v2/user/me",{headers:{Authorization:`Bearer ${b.accessToken}`}});if(d||!c)return null;let e=await a.mapProfileToUser?.(c),f=c.kakao_account||{},g=f.profile||{};return{user:{id:String(c.id),name:g.nickname||f.name||"",email:f.email,image:g.profile_image_url||g.thumbnail_image_url,emailVerified:!!f.is_email_valid&&!!f.is_email_verified,...e},data:c}},options:a}},naver:a=>{let b="https://nid.naver.com/oauth2.0/token";return{id:"naver",name:"Naver",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["profile","email"];return a.scope&&e.push(...a.scope),c&&e.push(...c),bg({id:"naver",options:a,authorizationEndpoint:"https://nid.naver.com/oauth2.0/authorize",scopes:e,state:b,redirectURI:d})},validateAuthorizationCode:async({code:c,redirectURI:d})=>bH({code:c,redirectURI:d,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://openapi.naver.com/v1/nid/me",{headers:{Authorization:`Bearer ${b.accessToken}`}});if(d||!c||"00"!==c.resultcode)return null;let e=await a.mapProfileToUser?.(c),f=c.response||{};return{user:{id:f.id,name:f.name||f.nickname||"",email:f.email,image:f.profile_image,emailVerified:!1,...e},data:c}},options:a}},line:a=>{let b="https://api.line.me/oauth2/v2.1/token";return{id:"line",name:"LINE",async createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e,loginHint:f}){let g=a.disableDefaultScope?[]:["openid","profile","email"];return a.scope&&g.push(...a.scope),c&&g.push(...c),await bg({id:"line",options:a,authorizationEndpoint:"https://access.line.me/oauth2/v2.1/authorize",scopes:g,state:b,codeVerifier:d,redirectURI:e,loginHint:f})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientSecret:a.clientSecret},tokenEndpoint:b}),async verifyIdToken(b,c){if(a.disableIdTokenSignIn)return!1;if(a.verifyIdToken)return a.verifyIdToken(b,c);let d=new URLSearchParams;d.set("id_token",b),d.set("client_id",a.clientId),c&&d.set("nonce",c);let{data:e,error:f}=await bD("https://api.line.me/oauth2/v2.1/verify",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:d});return!f&&!!e&&e.aud===a.clientId&&(!e.nonce||e.nonce===c)},async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let c=null;if(b.idToken)try{c=bM(b.idToken)}catch{}if(!c){let{data:a}=await bD("https://api.line.me/oauth2/v2.1/userinfo",{headers:{authorization:`Bearer ${b.accessToken}`}});c=a||null}if(!c)return null;let d=await a.mapProfileToUser?.(c),e=c.sub||c.userId,f=c.name||c.displayName||"",g=c.picture||c.pictureUrl||void 0;return{user:{id:e,name:f,email:c.email,image:g,emailVerified:!1,...d},data:c}},options:a}},paybin:a=>{let b=a.issuer||"https://idp.paybin.io",c=`${b}/oauth2/authorize`,d=`${b}/oauth2/token`;return{id:"paybin",name:"Paybin",async createAuthorizationURL({state:b,scopes:d,codeVerifier:e,redirectURI:f,loginHint:g}){if(!a.clientId||!a.clientSecret)throw k.vF.error("Client Id and Client Secret is required for Paybin. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");if(!e)throw new m.$l("codeVerifier is required for Paybin");let h=a.disableDefaultScope?[]:["openid","email","profile"];return a.scope&&h.push(...a.scope),d&&h.push(...d),await bg({id:"paybin",options:a,authorizationEndpoint:c,scopes:h,state:b,codeVerifier:e,redirectURI:f,prompt:a.prompt,loginHint:g})},validateAuthorizationCode:async({code:b,codeVerifier:c,redirectURI:e})=>bH({code:b,codeVerifier:c,redirectURI:e,options:a,tokenEndpoint:d}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:d}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(!b.idToken)return null;let c=bM(b.idToken),d=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.name||c.preferred_username||"",email:c.email,image:c.picture,emailVerified:c.email_verified||!1,...d},data:c}},options:a}},paypal:a=>{let b="sandbox"===(a.environment||"sandbox"),c=b?"https://www.sandbox.paypal.com/signin/authorize":"https://www.paypal.com/signin/authorize",d=b?"https://api-m.sandbox.paypal.com/v1/oauth2/token":"https://api-m.paypal.com/v1/oauth2/token",e=b?"https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo":"https://api-m.paypal.com/v1/identity/oauth2/userinfo",f=b?"https://www.sandbox.paypal.com":"https://www.paypal.com",g=b?"https://api.sandbox.paypal.com/v1/oauth2/certs":"https://api.paypal.com/v1/oauth2/certs";return{id:"paypal",name:"PayPal",async createAuthorizationURL({state:b,codeVerifier:d,redirectURI:e}){if(!a.clientId||!a.clientSecret)throw k.vF.error("Client Id and Client Secret is required for PayPal. Make sure to provide them in the options."),new m.$l("CLIENT_ID_AND_SECRET_REQUIRED");return await bg({id:"paypal",options:a,authorizationEndpoint:c,scopes:[],state:b,codeVerifier:d,redirectURI:e,prompt:a.prompt})},validateAuthorizationCode:async({code:b,redirectURI:c})=>{let e=O.K.encode(`${a.clientId}:${a.clientSecret}`);try{let a=await bD(d,{method:"POST",headers:{Authorization:`Basic ${e}`,Accept:"application/json","Accept-Language":"en_US","Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:c}).toString()});if(!a.data)throw new m.$l("FAILED_TO_GET_ACCESS_TOKEN");let f=a.data;return{accessToken:f.access_token,refreshToken:f.refresh_token,accessTokenExpiresAt:f.expires_in?new Date(Date.now()+1e3*f.expires_in):void 0,idToken:f.id_token}}catch(a){throw k.vF.error("PayPal token exchange failed:",a),new m.$l("FAILED_TO_GET_ACCESS_TOKEN")}},refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>{let c=O.K.encode(`${a.clientId}:${a.clientSecret}`);try{let a=await bD(d,{method:"POST",headers:{Authorization:`Basic ${c}`,Accept:"application/json","Accept-Language":"en_US","Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b}).toString()});if(!a.data)throw new m.$l("FAILED_TO_REFRESH_ACCESS_TOKEN");let e=a.data;return{accessToken:e.access_token,refreshToken:e.refresh_token,accessTokenExpiresAt:e.expires_in?new Date(Date.now()+1e3*e.expires_in):void 0}}catch(a){throw k.vF.error("PayPal token refresh failed:",a),new m.$l("FAILED_TO_REFRESH_ACCESS_TOKEN")}},async verifyIdToken(b,c){if(a.disableIdTokenSignIn)return!1;if(a.verifyIdToken)return a.verifyIdToken(b,c);try{let{kid:d,alg:e}=(0,bI._)(b);if(!e||!b3.includes(e))return!1;let h="HS256"===e?new TextEncoder().encode(a.clientSecret):d?await b4(d,g):void 0;if(!h)return!1;let{payload:i}=await (0,aW.V)(b,h,{algorithms:[e],issuer:f,audience:a.clientId,maxTokenAge:"1h"});if(c&&i.nonce!==c)return!1;return!0}catch(a){return k.vF.error("Failed to verify PayPal ID token:",a),!1}},async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);if(!b.accessToken)return k.vF.error("Access token is required to fetch PayPal user info"),null;try{let c=await bD(`${e}?schema=paypalv1.1`,{headers:{Authorization:`Bearer ${b.accessToken}`,Accept:"application/json"}});if(!c.data)return k.vF.error("Failed to fetch user info from PayPal"),null;let d=c.data,f=await a.mapProfileToUser?.(d);return{user:{id:d.user_id,name:d.name,email:d.email,image:d.picture,emailVerified:d.email_verified,...f},data:d}}catch(a){return k.vF.error("Failed to fetch user info from PayPal:",a),null}},options:a}},polar:a=>{let b="https://api.polar.sh/v1/oauth2/token";return{id:"polar",name:"Polar",createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){let f=a.disableDefaultScope?[]:["openid","profile","email"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"polar",options:a,authorizationEndpoint:"https://polar.sh/oauth2/authorize",scopes:f,state:b,codeVerifier:d,redirectURI:e,prompt:a.prompt})},validateAuthorizationCode:async({code:c,codeVerifier:d,redirectURI:e})=>bH({code:c,codeVerifier:d,redirectURI:e,options:a,tokenEndpoint:b}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async c=>bE({refreshToken:c,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.polar.sh/v1/oauth2/userinfo",{headers:{Authorization:`Bearer ${b.accessToken}`}});if(d)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.id,name:c.public_name||c.username||"",email:c.email,image:c.avatar_url,emailVerified:c.email_verified??!1,...e},data:c}},options:a}},railway:a=>({id:"railway",name:"Railway",createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){let f=a.disableDefaultScope?[]:["openid","email","profile"];return a.scope&&f.push(...a.scope),c&&f.push(...c),bg({id:"railway",options:a,authorizationEndpoint:"https://backboard.railway.com/oauth/auth",scopes:f,state:b,codeVerifier:d,redirectURI:e})},validateAuthorizationCode:async({code:b,codeVerifier:c,redirectURI:d})=>bH({code:b,codeVerifier:c,redirectURI:d,options:a,tokenEndpoint:b5,authentication:"basic"}),refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>bE({refreshToken:b,options:{clientId:a.clientId,clientKey:a.clientKey,clientSecret:a.clientSecret},tokenEndpoint:b5,authentication:"basic"}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://backboard.railway.com/oauth/me",{headers:{authorization:`Bearer ${b.accessToken}`}});if(d||!c)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.name,email:c.email,image:c.picture,emailVerified:!1,...e},data:c}},options:a}),vercel:a=>({id:"vercel",name:"Vercel",createAuthorizationURL({state:b,scopes:c,codeVerifier:d,redirectURI:e}){let f;if(!d)throw new m.$l("codeVerifier is required for Vercel");return(void 0!==a.scope||void 0!==c)&&(f=[],a.scope&&f.push(...a.scope),c&&f.push(...c)),bg({id:"vercel",options:a,authorizationEndpoint:"https://vercel.com/oauth/authorize",scopes:f,state:b,codeVerifier:d,redirectURI:e})},validateAuthorizationCode:async({code:b,codeVerifier:c,redirectURI:d})=>bH({code:b,codeVerifier:c,redirectURI:d,options:a,tokenEndpoint:"https://api.vercel.com/login/oauth/token"}),async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let{data:c,error:d}=await bD("https://api.vercel.com/login/oauth/userinfo",{headers:{Authorization:`Bearer ${b.accessToken}`}});if(d||!c)return null;let e=await a.mapProfileToUser?.(c);return{user:{id:c.sub,name:c.name??c.preferred_username??"",email:c.email,image:c.picture,emailVerified:c.email_verified??!1,...e},data:c}},options:a}),wechat:a=>({id:"wechat",name:"WeChat",createAuthorizationURL({state:b,scopes:c,redirectURI:d}){let e=a.disableDefaultScope?[]:["snsapi_login"];a.scope&&e.push(...a.scope),c&&e.push(...c);let f=new URL("https://open.weixin.qq.com/connect/qrconnect");return f.searchParams.set("scope",e.join(",")),f.searchParams.set("response_type","code"),f.searchParams.set("appid",a.clientId),f.searchParams.set("redirect_uri",a.redirectURI||d),f.searchParams.set("state",b),f.searchParams.set("lang",a.lang||"cn"),f.hash="wechat_redirect",f},validateAuthorizationCode:async({code:b})=>{let{data:c,error:d}=await bD("https://api.weixin.qq.com/sns/oauth2/access_token?"+new URLSearchParams({appid:a.clientId,secret:a.clientSecret,code:b,grant_type:"authorization_code"}).toString(),{method:"GET"});if(d||!c||c.errcode)throw Error(`Failed to validate authorization code: ${c?.errmsg||d?.message||"Unknown error"}`);return{tokenType:"Bearer",accessToken:c.access_token,refreshToken:c.refresh_token,accessTokenExpiresAt:new Date(Date.now()+1e3*c.expires_in),scopes:c.scope.split(","),openid:c.openid,unionid:c.unionid}},refreshAccessToken:a.refreshAccessToken?a.refreshAccessToken:async b=>{let{data:c,error:d}=await bD("https://api.weixin.qq.com/sns/oauth2/refresh_token?"+new URLSearchParams({appid:a.clientId,grant_type:"refresh_token",refresh_token:b}).toString(),{method:"GET"});if(d||!c||c.errcode)throw Error(`Failed to refresh access token: ${c?.errmsg||d?.message||"Unknown error"}`);return{tokenType:"Bearer",accessToken:c.access_token,refreshToken:c.refresh_token,accessTokenExpiresAt:new Date(Date.now()+1e3*c.expires_in),scopes:c.scope.split(",")}},async getUserInfo(b){if(a.getUserInfo)return a.getUserInfo(b);let c=b.openid;if(!c)return null;let{data:d,error:e}=await bD("https://api.weixin.qq.com/sns/userinfo?"+new URLSearchParams({access_token:b.accessToken||"",openid:c,lang:"zh_CN"}).toString(),{method:"GET"});if(e||!d||d.errcode)return null;let f=await a.mapProfileToUser?.(d);return{user:{id:d.unionid||d.openid||c,name:d.nickname,email:d.email||`${d.unionid||d.openid||c}@wechat.invalid`,image:d.headimgurl,emailVerified:!1,...f},data:d}},options:a})},b7=Object.keys(b6),b8=H.k5(b7).or(H.Yj()),b9=(0,av.Aw)("/list-accounts",{method:"GET",use:[aO.ld],metadata:{openapi:{operationId:"listUserAccounts",description:"List all accounts linked to the user",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"array",items:{type:"object",properties:{id:{type:"string"},providerId:{type:"string"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},accountId:{type:"string"},userId:{type:"string"},scopes:{type:"array",items:{type:"string"}}},required:["id","providerId","createdAt","updatedAt","accountId","userId","scopes"]}}}}}}}}},async a=>{let b=a.context.session,c=await a.context.internalAdapter.findAccounts(b.user.id);return a.json(c.map(b=>{let{scope:c,...d}=(0,M.eP)(a.context.options,b);return{...d,scopes:c?.split(",")||[]}}))}),ca=(0,av.Aw)("/link-social",{method:"POST",requireHeaders:!0,body:H.Ik({callbackURL:H.Yj().meta({description:"The URL to redirect to after the user has signed in"}).optional(),provider:b8,idToken:H.Ik({token:H.Yj(),nonce:H.Yj().optional(),accessToken:H.Yj().optional(),refreshToken:H.Yj().optional(),scopes:H.YO(H.Yj()).optional()}).optional(),requestSignUp:H.zM().optional(),scopes:H.YO(H.Yj()).meta({description:"Additional scopes to request from the provider"}).optional(),errorCallbackURL:H.Yj().meta({description:"The URL to redirect to if there is an error during the link process"}).optional(),disableRedirect:H.zM().meta({description:"Disable automatic redirection to the provider. Useful for handling the redirection yourself"}).optional(),additionalData:H.g1(H.Yj(),H.bz()).optional()}),use:[aO.ld],metadata:{openapi:{description:"Link a social account to the user",operationId:"linkSocialAccount",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{url:{type:"string",description:"The authorization URL to redirect the user to"},redirect:{type:"boolean",description:"Indicates if the user should be redirected to the authorization URL"},status:{type:"boolean"}},required:["redirect"]}}}}}}}},async a=>{let b=a.context.session,c=await ap(a.context.socialProviders,{value:a.body.provider});if(!c)throw a.context.logger.error("Provider not found. Make sure to add the provider in your auth config",{provider:a.body.provider}),m.LG.from("NOT_FOUND",at.q.PROVIDER_NOT_FOUND);if(a.body.idToken){if(!c.verifyIdToken)throw a.context.logger.error("Provider does not support id token verification",{provider:a.body.provider}),m.LG.from("NOT_FOUND",at.q.ID_TOKEN_NOT_SUPPORTED);let{token:d,nonce:e}=a.body.idToken;if(!await c.verifyIdToken(d,e))throw a.context.logger.warn("Invalid id token",{provider:a.body.provider}),m.LG.from("UNAUTHORIZED",at.q.INVALID_TOKEN);let f=await c.getUserInfo({idToken:d,accessToken:a.body.idToken.accessToken,refreshToken:a.body.idToken.refreshToken});if(!f||!f?.user)throw a.context.logger.error("Failed to get user info",{provider:a.body.provider}),m.LG.from("UNAUTHORIZED",at.q.FAILED_TO_GET_USER_INFO);let g=String(f.user.id);if(!f.user.email)throw a.context.logger.error(aR(a.body.provider,{source:"id_token"}),{provider:a.body.provider}),m.LG.from("UNAUTHORIZED",at.q.USER_EMAIL_NOT_FOUND);if((await a.context.internalAdapter.findAccounts(b.user.id)).find(a=>a.providerId===c.id&&a.accountId===g))return a.json({url:"",status:!0,redirect:!1});if(!a.context.trustedProviders.includes(c.id)&&!f.user.emailVerified||a.context.options.account?.accountLinking?.enabled===!1)throw m.LG.from("UNAUTHORIZED",{message:"Account not linked - linking not allowed",code:"LINKING_NOT_ALLOWED"});if(f.user.email?.toLowerCase()!==b.user.email.toLowerCase()&&a.context.options.account?.accountLinking?.allowDifferentEmails!==!0)throw m.LG.from("UNAUTHORIZED",{message:"Account not linked - different emails not allowed",code:"LINKING_DIFFERENT_EMAILS_NOT_ALLOWED"});try{await a.context.internalAdapter.createAccount({userId:b.user.id,providerId:c.id,accountId:g,accessToken:a.body.idToken.accessToken,idToken:d,refreshToken:a.body.idToken.refreshToken,scope:a.body.idToken.scopes?.join(",")})}catch(a){throw m.LG.from("EXPECTATION_FAILED",{message:"Account not linked - unable to create account",code:"LINKING_FAILED"})}return await a1(a,b.user.id,f.user),a.json({url:"",status:!0,redirect:!1})}let d=await bb(a,{userId:b.user.id,email:b.user.email},a.body.additionalData),e=await c.createAuthorizationURL({state:d.state,codeVerifier:d.codeVerifier,redirectURI:`${a.context.baseURL}/callback/${c.id}`,scopes:a.body.scopes});return a.body.disableRedirect||a.setHeader("Location",e.toString()),a.json({url:e.toString(),redirect:!a.body.disableRedirect})}),cb=(0,av.Aw)("/unlink-account",{method:"POST",body:H.Ik({providerId:H.Yj(),accountId:H.Yj().optional()}),use:[aO.VM],metadata:{openapi:{description:"Unlink an account",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean"}}}}}}}}}},async a=>{let{providerId:b,accountId:c}=a.body,d=await a.context.internalAdapter.findAccounts(a.context.session.user.id);if(1===d.length&&!a.context.options.account?.accountLinking?.allowUnlinkingAll)throw m.LG.from("BAD_REQUEST",at.q.FAILED_TO_UNLINK_LAST_ACCOUNT);let e=d.find(a=>c?a.accountId===c&&a.providerId===b:a.providerId===b);if(!e)throw m.LG.from("BAD_REQUEST",at.q.ACCOUNT_NOT_FOUND);return await a.context.internalAdapter.deleteAccount(e.id),a.json({status:!0})});async function cc(a,b){let c=await (0,aO.sg)(a,{disableCookieCache:(0,aO.VA)(a)});if(!c&&(a.request||a.headers))throw a.error("UNAUTHORIZED");let d=c?.user?.id||b;if(!d)throw m.LG.from("BAD_REQUEST",{message:"Either userId or session is required",code:"USER_ID_OR_SESSION_REQUIRED"});return d}function cd(a,b,{resolvedUserId:c,providerId:d,accountId:e}){return(!(0,y.y)(a.context.options)||b.userId===c)&&(!d||d===b.providerId)&&(!e||b.accountId===e)}async function ce(a,{resolvedUserId:b,providerId:c,accountId:d,account:e}){let f=await ap(a.context.socialProviders,{value:c});if(!f)throw m.LG.from("BAD_REQUEST",{message:`Provider ${c} is not supported.`,code:"PROVIDER_NOT_SUPPORTED"});let g=e;if(!g){let e=await (0,aP.ec)(a);g=e&&cd(a,e,{resolvedUserId:b,providerId:c,accountId:d})?e:(await a.context.internalAdapter.findAccounts(b)).find(a=>d?a.accountId===d&&a.providerId===c:a.providerId===c)}if(!g)throw m.LG.from("BAD_REQUEST",at.q.ACCOUNT_NOT_FOUND);try{let b=null,c=g.accessTokenExpiresAt&&new Date(g.accessTokenExpiresAt).getTime()-Date.now()<5e3;if(g.refreshToken&&c&&f.refreshAccessToken){let c=await aT(g.refreshToken,a.context);b=await f.refreshAccessToken(c);let d={accessToken:await aU(b?.accessToken,a.context),accessTokenExpiresAt:b?.accessTokenExpiresAt,refreshToken:b?.refreshToken?await aU(b.refreshToken,a.context):g.refreshToken,refreshTokenExpiresAt:b?.refreshTokenExpiresAt??g.refreshTokenExpiresAt,idToken:b?.idToken||g.idToken},e=null;g.id&&(e=await a.context.internalAdapter.updateAccount(g.id,d)),a.context.options.account?.storeAccountCookie&&await (0,aP.Ce)(a,{...g,...e??d})}let d=b?.accessTokenExpiresAt?"string"==typeof b.accessTokenExpiresAt?new Date(b.accessTokenExpiresAt):b.accessTokenExpiresAt:g.accessTokenExpiresAt?"string"==typeof g.accessTokenExpiresAt?new Date(g.accessTokenExpiresAt):g.accessTokenExpiresAt:void 0;return{accessToken:b?.accessToken??await aT(g.accessToken??"",a.context),accessTokenExpiresAt:d,scopes:g.scope?.split(",")??[],idToken:b?.idToken??g.idToken??void 0}}catch(a){throw m.LG.from("BAD_REQUEST",{message:"Failed to get a valid access token",code:"FAILED_TO_GET_ACCESS_TOKEN"})}}let cf=(0,av.Aw)("/get-access-token",{method:"POST",body:H.Ik({providerId:H.Yj().meta({description:"The provider ID for the OAuth provider"}),accountId:H.Yj().meta({description:"The account ID associated with the refresh token"}).optional(),userId:H.Yj().meta({description:"The user ID associated with the account"}).optional()}),metadata:{openapi:{description:"Get a valid access token, doing a refresh if needed",responses:{200:{description:"A Valid access token",content:{"application/json":{schema:{type:"object",properties:{tokenType:{type:"string"},idToken:{type:"string"},accessToken:{type:"string"},accessTokenExpiresAt:{type:"string",format:"date-time"}}}}}},400:{description:"Invalid refresh token or provider configuration"}}}}},async a=>{let{providerId:b,accountId:c,userId:d}=a.body||{},e=await ce(a,{resolvedUserId:await cc(a,d),providerId:b,accountId:c});return a.json(e)}),cg=(0,av.Aw)("/refresh-token",{method:"POST",body:H.Ik({providerId:H.Yj().meta({description:"The provider ID for the OAuth provider"}),accountId:H.Yj().meta({description:"The account ID associated with the refresh token"}).optional(),userId:H.Yj().meta({description:"The user ID associated with the account"}).optional()}),metadata:{openapi:{description:"Refresh the access token using a refresh token",responses:{200:{description:"Access token refreshed successfully",content:{"application/json":{schema:{type:"object",properties:{tokenType:{type:"string"},idToken:{type:"string"},accessToken:{type:"string"},refreshToken:{type:"string"},accessTokenExpiresAt:{type:"string",format:"date-time"},refreshTokenExpiresAt:{type:"string",format:"date-time"}}}}}},400:{description:"Invalid refresh token or provider configuration"}}}}},async a=>{let b,{providerId:c,accountId:d,userId:e}=a.body,f=await cc(a,e),g=await ap(a.context.socialProviders,{value:c});if(!g)throw m.LG.from("BAD_REQUEST",{message:`Provider ${c} is not supported.`,code:"PROVIDER_NOT_SUPPORTED"});if(!g.refreshAccessToken)throw m.LG.from("BAD_REQUEST",{message:`Provider ${c} does not support token refreshing.`,code:"TOKEN_REFRESH_NOT_SUPPORTED"});let h=await (0,aP.ec)(a),i=!!h&&cd(a,h,{resolvedUserId:f,providerId:c,accountId:d});if(!(b=i?h:(await a.context.internalAdapter.findAccounts(f)).find(a=>d?a.accountId===d&&a.providerId===c:a.providerId===c)))throw m.LG.from("BAD_REQUEST",at.q.ACCOUNT_NOT_FOUND);let j=b.refreshToken??void 0;if(!j)throw m.LG.from("BAD_REQUEST",{message:"Refresh token not found",code:"REFRESH_TOKEN_NOT_FOUND"});try{let c=await aT(j,a.context),d=await g.refreshAccessToken(c),e=d.refreshToken?await aU(d.refreshToken,a.context):j,f=d.refreshTokenExpiresAt??b.refreshTokenExpiresAt;if(b.id){let c={...b||{},accessToken:await aU(d.accessToken,a.context),refreshToken:e,accessTokenExpiresAt:d.accessTokenExpiresAt,refreshTokenExpiresAt:f,scope:d.scopes?.join(",")||b.scope,idToken:d.idToken||b.idToken};await a.context.internalAdapter.updateAccount(b.id,c)}return i&&a.context.options.account?.storeAccountCookie&&await (0,aP.Ce)(a,{...h,accessToken:await aU(d.accessToken,a.context),refreshToken:e,accessTokenExpiresAt:d.accessTokenExpiresAt,refreshTokenExpiresAt:f,scope:d.scopes?.join(",")||h.scope,idToken:d.idToken||h.idToken}),a.json({accessToken:d.accessToken,refreshToken:d.refreshToken??c,accessTokenExpiresAt:d.accessTokenExpiresAt,refreshTokenExpiresAt:f,scope:d.scopes?.join(",")||b.scope,idToken:d.idToken||b.idToken,providerId:b.providerId,accountId:b.accountId})}catch(a){throw m.LG.from("BAD_REQUEST",{message:"Failed to refresh access token",code:"FAILED_TO_REFRESH_ACCESS_TOKEN"})}}),ch=H.lq(H.Ik({accountId:H.Yj().meta({description:"The provider given account id for which to get the account info"}).optional(),providerId:H.Yj().meta({description:"The provider ID to disambiguate provider-issued account IDs"}).optional(),userId:H.Yj().meta({description:"The user ID associated with the account"}).optional()})),ci=(0,av.Aw)("/account-info",{method:"GET",metadata:{openapi:{description:"Get the account info provided by the provider",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{user:{type:"object",properties:{id:{type:"string"},name:{type:"string"},email:{type:"string"},image:{type:"string"},emailVerified:{type:"boolean"}},required:["id","emailVerified"]},data:{type:"object",properties:{},additionalProperties:!0}},required:["user","data"],additionalProperties:!1}}}}}}},query:ch},async a=>{let b,{accountId:c,providerId:d,userId:e}=a.query||{},f=await cc(a,e);if(c){let e=(await a.context.internalAdapter.findAccounts(f)).filter(a=>a.accountId===c&&(!d||a.providerId===d));if(e.length>1)throw m.LG.from("BAD_REQUEST",{message:"Multiple accounts share this account ID. Pass a providerId to disambiguate.",code:"AMBIGUOUS_ACCOUNT"});b=e[0]}else if(a.context.options.account?.storeAccountCookie){let c=await (0,aP.ec)(a);c&&cd(a,c,{resolvedUserId:f,providerId:d})&&(b=c)}if(!b||!cd(a,b,{resolvedUserId:f}))throw m.LG.from("BAD_REQUEST",at.q.ACCOUNT_NOT_FOUND);let g=await ap(a.context.socialProviders,{value:b.providerId});if(!g)throw m.LG.from("BAD_REQUEST",{message:"Account is not associated with a configured social provider.",code:"PROVIDER_NOT_CONFIGURED"});let h=await ce(a,{resolvedUserId:f,providerId:b.providerId,accountId:b.accountId,account:b});if(!h.accessToken)throw m.LG.from("BAD_REQUEST",{message:"Access token not found",code:"ACCESS_TOKEN_NOT_FOUND"});let i=await g.getUserInfo({...h,accessToken:h.accessToken});return a.json(i)}),cj={scope:"server"},ck=H.Ik({code:H.Yj().optional(),error:H.Yj().optional(),device_id:H.Yj().optional(),error_description:H.Yj().optional(),state:H.Yj().optional(),user:H.Yj().optional()}),cl=(0,av.Aw)("/callback/:id",{method:["GET","POST"],operationId:"handleOAuthCallback",body:ck.optional(),query:ck.optional(),metadata:{...cj,allowedMediaTypes:["application/x-www-form-urlencoded","application/json"]}},async a=>{let b,c,d,e,f=a.context.options.onAPIError?.errorURL||`${a.context.baseURL}/error`;if("POST"===a.method){let b=a.body?ck.parse(a.body):{},c=a.query?ck.parse(a.query):{},d=ck.parse({...b,...c}),e=new URLSearchParams;for(let[a,b]of Object.entries(d))null!=b&&e.set(a,String(b));let f=`${a.context.baseURL}/callback/${a.params.id}?${e.toString()}`;throw a.redirect(f)}try{if("GET"===a.method)b=ck.parse(a.query);else if("POST"===a.method)b=ck.parse(a.body);else throw Error("Unsupported method")}catch(b){a.context.logger.error("INVALID_CALLBACK_REQUEST",b),aQ(a,f,"invalid_callback_request")}let{code:g,error:h,error_description:i,device_id:j,user:k}=b,{codeVerifier:l,callbackURL:m,link:n,errorURL:o,newUserURL:p,requestSignUp:q}=await bc(a),r=o??f;h&&aQ(a,r,h,i),g||(a.context.logger.warn("Code not found"),aQ(a,r,"no_code"));let s=await ap(a.context.socialProviders,{value:a.params.id});s||(a.context.logger.warn("OAuth provider not found",{providerId:a.params.id}),aQ(a,r,"oauth_provider_not_found"));try{c=await s.validateAuthorizationCode({code:g,codeVerifier:l,deviceId:j,redirectURI:`${a.context.baseURL}/callback/${s.id}`})}catch(b){a.context.logger.error("",b),aQ(a,r,"invalid_code")}c||aQ(a,r,"invalid_code");let t=k?(0,_.$)(k):null,u=await s.getUserInfo({...c,user:t??void 0}).then(a=>a?.user);u&&void 0!==u.id&&null!==u.id&&""!==u.id||(a.context.logger.error("Unable to get user info"),aQ(a,r,"unable_to_get_user_info"));let v=String(u.id);if(m||(a.context.logger.error("No callback URL found"),aQ(a,r,"no_callback_url")),n){let b;(a.context.trustedProviders.includes(s.id)||u.emailVerified)&&a.context.options.account?.accountLinking?.enabled!==!1||(a.context.logger.error("Unable to link account - untrusted provider"),aQ(a,r,"unable_to_link_account")),u.email?.toLowerCase()!==n.email.toLowerCase()&&a.context.options.account?.accountLinking?.allowDifferentEmails!==!0&&aQ(a,r,"email_doesn't_match");let d=await a.context.internalAdapter.findAccountByProviderId(v,s.id);if(d){d.userId.toString()!==n.userId.toString()&&aQ(a,r,"account_already_linked_to_different_user");let b=Object.fromEntries(Object.entries({accessToken:await aU(c.accessToken,a.context),refreshToken:await aU(c.refreshToken,a.context),idToken:c.idToken,accessTokenExpiresAt:c.accessTokenExpiresAt,refreshTokenExpiresAt:c.refreshTokenExpiresAt,scope:c.scopes?.join(",")}).filter(([a,b])=>void 0!==b));await a.context.internalAdapter.updateAccount(d.id,b)}else await a.context.internalAdapter.createAccount({userId:n.userId,providerId:s.id,accountId:v,...c,accessToken:await aU(c.accessToken,a.context),refreshToken:await aU(c.refreshToken,a.context),scope:c.scopes?.join(",")})||aQ(a,r,"unable_to_link_account");await a1(a,n.userId,u);try{b=m.toString()}catch{b=m}throw a.redirect(b)}u.email||(a.context.logger.error(aR(s.id)),aQ(a,r,"email_not_found"));let w={providerId:s.id,accountId:v,...c,scope:c.scopes?.join(",")};try{d=await a0(a,{userInfo:{...u,id:v,email:u.email,name:u.name||""},account:w,callbackURL:m,disableSignUp:s.disableImplicitSignUp&&!q||s.options?.disableSignUp,overrideUserInfo:s.options?.overrideUserInfoOnSignIn})}catch(b){throw(0,as.h)(b)&&b.body?.code&&aQ(a,r,b.body.code,b.body.message),b}d.error&&(a.context.logger.error(d.error.split(" ").join("_")),aQ(a,r,d.error.split(" ").join("_")));let{session:x,user:y}=d.data;await (0,F.$G)(a,{session:x,user:y});try{e=(d.isRegister&&p||m).toString()}catch{e=d.isRegister&&p||m}throw a.redirect(e)});function cm(a){return a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/&(?!amp;|lt;|gt;|quot;|#39;|#x[0-9a-fA-F]+;|#[0-9]+;)/g,"&amp;")}let cn=(0,av.Aw)("/error",{method:"GET",metadata:{...cj,openapi:{description:"Displays an error page",responses:{200:{description:"Success",content:{"text/html":{schema:{type:"string",description:"The HTML content of the error page"}}}}}}}},async a=>{let b=new URL(a.request?.url||""),c=b.searchParams.get("error")||"UNKNOWN",d=b.searchParams.get("error_description")||null,e=/^[\'A-Za-z0-9_-]+$/.test(c||"")?c:"UNKNOWN",f=d?cm(d):null,g=new URLSearchParams;g.set("error",e),d&&g.set("error_description",d);let h=a.context.options,i=h.onAPIError?.errorURL;return i?new Response(null,{status:302,headers:{Location:`${i}${i.includes("?")?"&":"?"}${g.toString()}`}}):G.KV&&!h.onAPIError?.customizeDefaultErrorPage?new Response(null,{status:302,headers:{Location:`/?${g.toString()}`}}):new Response(((a,b="Unknown",c=null)=>{let d=a.onAPIError?.customizeDefaultErrorPage;return`<!DOCTYPE html>
136
+ <html lang="en">
137
+ <head>
138
+ <meta charset="UTF-8" />
139
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
140
+ <title>Error</title>
141
+ <style>
142
+ * {
143
+ box-sizing: border-box;
144
+ }
145
+ body {
146
+ font-family: ${d?.font?.defaultFamily||"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"};
147
+ background: ${d?.colors?.background||"var(--background)"};
148
+ color: var(--foreground);
149
+ margin: 0;
150
+ }
151
+ :root,
152
+ :host {
153
+ --spacing: 0.25rem;
154
+ --container-md: 28rem;
155
+ --text-sm: ${d?.size?.textSm||"0.875rem"};
156
+ --text-sm--line-height: calc(1.25 / 0.875);
157
+ --text-2xl: ${d?.size?.text2xl||"1.5rem"};
158
+ --text-2xl--line-height: calc(2 / 1.5);
159
+ --text-4xl: ${d?.size?.text4xl||"2.25rem"};
160
+ --text-4xl--line-height: calc(2.5 / 2.25);
161
+ --text-6xl: ${d?.size?.text6xl||"3rem"};
162
+ --text-6xl--line-height: 1;
163
+ --font-weight-medium: 500;
164
+ --font-weight-semibold: 600;
165
+ --font-weight-bold: 700;
166
+ --default-transition-duration: 150ms;
167
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
168
+ --radius: ${d?.size?.radiusSm||"0.625rem"};
169
+ --default-mono-font-family: ${d?.font?.monoFamily||"var(--font-geist-mono)"};
170
+ --primary: ${d?.colors?.primary||"black"};
171
+ --primary-foreground: ${d?.colors?.primaryForeground||"white"};
172
+ --background: ${d?.colors?.background||"white"};
173
+ --foreground: ${d?.colors?.foreground||"oklch(0.271 0 0)"};
174
+ --border: ${d?.colors?.border||"oklch(0.89 0 0)"};
175
+ --destructive: ${d?.colors?.destructive||"oklch(0.55 0.15 25.723)"};
176
+ --muted-foreground: ${d?.colors?.mutedForeground||"oklch(0.545 0 0)"};
177
+ --corner-border: ${d?.colors?.cornerBorder||"#404040"};
178
+ }
179
+
180
+ button, .btn {
181
+ cursor: pointer;
182
+ background: none;
183
+ border: none;
184
+ color: inherit;
185
+ font: inherit;
186
+ transition: all var(--default-transition-duration)
187
+ var(--default-transition-timing-function);
188
+ }
189
+ button:hover, .btn:hover {
190
+ opacity: 0.8;
191
+ }
192
+
193
+ @media (prefers-color-scheme: dark) {
194
+ :root,
195
+ :host {
196
+ --primary: ${d?.colors?.primary||"white"};
197
+ --primary-foreground: ${d?.colors?.primaryForeground||"black"};
198
+ --background: ${d?.colors?.background||"oklch(0.15 0 0)"};
199
+ --foreground: ${d?.colors?.foreground||"oklch(0.98 0 0)"};
200
+ --border: ${d?.colors?.border||"oklch(0.27 0 0)"};
201
+ --destructive: ${d?.colors?.destructive||"oklch(0.65 0.15 25.723)"};
202
+ --muted-foreground: ${d?.colors?.mutedForeground||"oklch(0.65 0 0)"};
203
+ --corner-border: ${d?.colors?.cornerBorder||"#a0a0a0"};
204
+ }
205
+ }
206
+ @media (max-width: 640px) {
207
+ :root, :host {
208
+ --text-6xl: 2.5rem;
209
+ --text-2xl: 1.25rem;
210
+ --text-sm: 0.8125rem;
211
+ }
212
+ }
213
+ @media (max-width: 480px) {
214
+ :root, :host {
215
+ --text-6xl: 2rem;
216
+ --text-2xl: 1.125rem;
217
+ }
218
+ }
219
+ </style>
220
+ </head>
221
+ <body style="width: 100vw; min-height: 100vh; overflow-x: hidden; overflow-y: auto;">
222
+ <div
223
+ style="
224
+ display: flex;
225
+ flex-direction: column;
226
+ align-items: center;
227
+ justify-content: center;
228
+ gap: 1.5rem;
229
+ position: relative;
230
+ width: 100%;
231
+ min-height: 100vh;
232
+ padding: 1rem;
233
+ "
234
+ >
235
+ ${d?.disableBackgroundGrid?"":`
236
+ <div
237
+ style="
238
+ position: absolute;
239
+ inset: 0;
240
+ background-image: linear-gradient(to right, ${d?.colors?.gridColor||"var(--border)"} 1px, transparent 1px),
241
+ linear-gradient(to bottom, ${d?.colors?.gridColor||"var(--border)"} 1px, transparent 1px);
242
+ background-size: 40px 40px;
243
+ opacity: 0.6;
244
+ pointer-events: none;
245
+ width: 100vw;
246
+ height: 100vh;
247
+ "
248
+ ></div>
249
+ <div
250
+ style="
251
+ position: absolute;
252
+ inset: 0;
253
+ display: flex;
254
+ align-items: center;
255
+ justify-content: center;
256
+ background: ${d?.colors?.background||"var(--background)"};
257
+ mask-image: radial-gradient(ellipse at center, transparent 20%, black);
258
+ -webkit-mask-image: radial-gradient(ellipse at center, transparent 20%, black);
259
+ pointer-events: none;
260
+ "
261
+ ></div>
262
+ `}
263
+
264
+ <div
265
+ style="
266
+ position: relative;
267
+ z-index: 10;
268
+ border: 2px solid var(--border);
269
+ background: ${d?.colors?.cardBackground||"var(--background)"};
270
+ padding: 1.5rem;
271
+ max-width: 42rem;
272
+ width: 100%;
273
+ "
274
+ >
275
+ ${d?.disableCornerDecorations?"":`
276
+ <!-- Corner decorations -->
277
+ <div
278
+ style="
279
+ position: absolute;
280
+ top: -2px;
281
+ left: -2px;
282
+ width: 2rem;
283
+ height: 2rem;
284
+ border-top: 4px solid var(--corner-border);
285
+ border-left: 4px solid var(--corner-border);
286
+ "
287
+ ></div>
288
+ <div
289
+ style="
290
+ position: absolute;
291
+ top: -2px;
292
+ right: -2px;
293
+ width: 2rem;
294
+ height: 2rem;
295
+ border-top: 4px solid var(--corner-border);
296
+ border-right: 4px solid var(--corner-border);
297
+ "
298
+ ></div>
299
+
300
+ <div
301
+ style="
302
+ position: absolute;
303
+ bottom: -2px;
304
+ left: -2px;
305
+ width: 2rem;
306
+ height: 2rem;
307
+ border-bottom: 4px solid var(--corner-border);
308
+ border-left: 4px solid var(--corner-border);
309
+ "
310
+ ></div>
311
+ <div
312
+ style="
313
+ position: absolute;
314
+ bottom: -2px;
315
+ right: -2px;
316
+ width: 2rem;
317
+ height: 2rem;
318
+ border-bottom: 4px solid var(--corner-border);
319
+ border-right: 4px solid var(--corner-border);
320
+ "
321
+ ></div>`}
322
+
323
+ <div style="text-align: center; margin-bottom: 1.5rem;">
324
+ <div style="margin-bottom: 1.5rem;">
325
+ <div
326
+ style="
327
+ display: inline-block;
328
+ border: 2px solid ${d?.disableTitleBorder?"transparent":d?.colors?.titleBorder||"var(--destructive)"};
329
+ padding: 0.375rem 1rem;
330
+ "
331
+ >
332
+ <h1
333
+ style="
334
+ font-size: var(--text-6xl);
335
+ font-weight: var(--font-weight-semibold);
336
+ color: ${d?.colors?.titleColor||"var(--foreground)"};
337
+ letter-spacing: -0.02em;
338
+ margin: 0;
339
+ "
340
+ >
341
+ ERROR
342
+ </h1>
343
+ </div>
344
+ <div
345
+ style="
346
+ height: 2px;
347
+ background-color: var(--border);
348
+ width: calc(100% + 3rem);
349
+ margin-left: -1.5rem;
350
+ margin-top: 1.5rem;
351
+ "
352
+ ></div>
353
+ </div>
354
+
355
+ <h2
356
+ style="
357
+ font-size: var(--text-2xl);
358
+ font-weight: var(--font-weight-semibold);
359
+ color: var(--foreground);
360
+ margin: 0 0 1rem;
361
+ "
362
+ >
363
+ Something went wrong
364
+ </h2>
365
+
366
+ <div
367
+ style="
368
+ display: inline-flex;
369
+ align-items: center;
370
+ gap: 0.5rem;
371
+ border: 2px solid var(--border);
372
+ background-color: var(--muted);
373
+ padding: 0.375rem 0.75rem;
374
+ margin: 0 0 1rem;
375
+ flex-wrap: wrap;
376
+ justify-content: center;
377
+ "
378
+ >
379
+ <span
380
+ style="
381
+ font-size: 0.75rem;
382
+ color: var(--muted-foreground);
383
+ font-weight: var(--font-weight-semibold);
384
+ "
385
+ >
386
+ CODE:
387
+ </span>
388
+ <span
389
+ style="
390
+ font-size: var(--text-sm);
391
+ font-family: var(--default-mono-font-family, monospace);
392
+ color: var(--foreground);
393
+ word-break: break-all;
394
+ "
395
+ >
396
+ ${cm(b)}
397
+ </span>
398
+ </div>
399
+
400
+ <p
401
+ style="
402
+ color: var(--muted-foreground);
403
+ max-width: 28rem;
404
+ margin: 0 auto;
405
+ font-size: var(--text-sm);
406
+ line-height: 1.5;
407
+ text-wrap: pretty;
408
+ "
409
+ >
410
+ ${!c?`We encountered an unexpected error. Please try again or return to the home page. If you're a developer, you can find <a href='https://better-auth.com/docs/reference/errors/${encodeURIComponent(b)}' target='_blank' rel="noopener noreferrer" style='color: var(--foreground); text-decoration: underline;'>more information about the error</a>.`:c}
411
+ </p>
412
+ </div>
413
+
414
+ <div
415
+ style="
416
+ display: flex;
417
+ gap: 0.75rem;
418
+ margin-top: 1.5rem;
419
+ justify-content: center;
420
+ flex-wrap: wrap;
421
+ "
422
+ >
423
+ <a
424
+ href="/"
425
+ style="
426
+ text-decoration: none;
427
+ "
428
+ >
429
+ <div
430
+ style="
431
+ border: 2px solid var(--border);
432
+ background: var(--primary);
433
+ color: var(--primary-foreground);
434
+ padding: 0.5rem 1rem;
435
+ border-radius: 0;
436
+ white-space: nowrap;
437
+ "
438
+ class="btn"
439
+ >
440
+ Go Home
441
+ </div>
442
+ </a>
443
+ <a
444
+ href="https://better-auth.com/docs/reference/errors/${encodeURIComponent(b)}?askai=${encodeURIComponent(`What does the error code ${b} mean?`)}"
445
+ target="_blank"
446
+ rel="noopener noreferrer"
447
+ style="
448
+ text-decoration: none;
449
+ "
450
+ >
451
+ <div
452
+ style="
453
+ border: 2px solid var(--border);
454
+ background: transparent;
455
+ color: var(--foreground);
456
+ padding: 0.5rem 1rem;
457
+ border-radius: 0;
458
+ white-space: nowrap;
459
+ "
460
+ class="btn"
461
+ >
462
+ Ask AI
463
+ </div>
464
+ </a>
465
+ </div>
466
+ </div>
467
+ </div>
468
+ </body>
469
+ </html>`})(a.context.options,e,f),{headers:{"Content-Type":"text/html"}})}),co=(0,av.Aw)("/ok",{method:"GET",metadata:{...cj,openapi:{description:"Check if the API is working",responses:{200:{description:"API is working",content:{"application/json":{schema:{type:"object",properties:{ok:{type:"boolean",description:"Indicates if the API is working"}},required:["ok"]}}}}}}}},async a=>a.json({ok:!0}));function cp(a,b,c){let d=b?new URL(b,a.baseURL):new URL(`${a.baseURL}/error`);return c&&Object.entries(c).forEach(([a,b])=>d.searchParams.set(a,b)),d.href}let cq=(0,av.Aw)("/request-password-reset",{method:"POST",body:H.Ik({email:H.Rp().meta({description:"The email address of the user to send a password reset email to"}),redirectTo:H.Yj().meta({description:"The URL to redirect the user to reset their password. If the token isn't valid or expired, it'll be redirected with a query parameter `?error=INVALID_TOKEN`. If the token is valid, it'll be redirected with a query parameter `?token=VALID_TOKEN"}).optional()}),metadata:{openapi:{operationId:"requestPasswordReset",description:"Send a password reset email to the user",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean"},message:{type:"string"}}}}}}}}},use:[aA(a=>a.body.redirectTo)]},async a=>{if(!a.context.options.emailAndPassword?.sendResetPassword)throw a.context.logger.error("Reset password isn't enabled.Please pass an emailAndPassword.sendResetPassword function in your auth config!"),m.LG.from("BAD_REQUEST",{message:"Reset password isn't enabled",code:"RESET_PASSWORD_DISABLED"});let{email:b,redirectTo:c}=a.body,d=await a.context.internalAdapter.findUserByEmail(b,{includeAccounts:!0});if(!d)return(0,$.$)(24),await a.context.internalAdapter.findVerificationValue("dummy-verification-token"),a.context.logger.warn("Reset Password: User not found"),a.json({status:!0,message:"If this email exists in our system, check your email for the reset link"});let e=(0,N.p)(a.context.options.emailAndPassword.resetPasswordTokenExpiresIn||3600,"sec"),f=(0,$.$)(24);await a.context.internalAdapter.createVerificationValue({value:d.user.id,identifier:`reset-password:${f}`,expiresAt:e});let g=c?encodeURIComponent(c):"",h=`${a.context.baseURL}/reset-password/${f}?callbackURL=${g}`;return await a.context.runInBackgroundOrAwait(a.context.options.emailAndPassword.sendResetPassword({user:d.user,url:h,token:f},a.request)),a.json({status:!0,message:"If this email exists in our system, check your email for the reset link"})}),cr=(0,av.Aw)("/reset-password/:token",{method:"GET",operationId:"resetPasswordCallback",query:H.Ik({callbackURL:H.Yj().meta({description:"The URL to redirect the user to reset their password"})}),use:[aA(a=>a.query.callbackURL)],metadata:{openapi:{operationId:"resetPasswordCallback",description:"Redirects the user to the callback URL with the token",parameters:[{name:"token",in:"path",required:!0,description:"The token to reset the password",schema:{type:"string"}},{name:"callbackURL",in:"query",required:!0,description:"The URL to redirect the user to reset their password",schema:{type:"string"}}],responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{token:{type:"string"}}}}}}}}}},async a=>{var b,c;let d,{token:e}=a.params,{callbackURL:f}=a.query;if(!e||!f)throw a.redirect(cp(a.context,f,{error:"INVALID_TOKEN"}));let g=await a.context.internalAdapter.findVerificationValue(`reset-password:${e}`);if(!g||g.expiresAt<new Date)throw a.redirect(cp(a.context,f,{error:"INVALID_TOKEN"}));throw a.redirect((b=a.context,c={token:e},d=new URL(f,b.baseURL),c&&Object.entries(c).forEach(([a,b])=>d.searchParams.set(a,b)),d.href))}),cs=(0,av.Aw)("/reset-password",{method:"POST",operationId:"resetPassword",query:H.Ik({token:H.Yj().optional()}).optional(),body:H.Ik({newPassword:H.Yj().meta({description:"The new password to set"}),token:H.Yj().meta({description:"The token to reset the password"}).optional()}),metadata:{openapi:{operationId:"resetPassword",description:"Reset the password for a user",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean"}}}}}}}}}},async a=>{let b=a.body.token||a.query?.token;if(!b)throw m.LG.from("BAD_REQUEST",at.q.INVALID_TOKEN);let{newPassword:c}=a.body,d=a.context.password?.config.minPasswordLength,e=a.context.password?.config.maxPasswordLength;if(c.length<d)throw m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_SHORT);if(c.length>e)throw m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_LONG);let f=`reset-password:${b}`,g=await a.context.internalAdapter.consumeVerificationValue(f);if(!g)throw m.LG.from("BAD_REQUEST",at.q.INVALID_TOKEN);let h=g.value,i=await a.context.password.hash(c);if((await a.context.internalAdapter.findAccounts(h)).find(a=>"credential"===a.providerId)?await a.context.internalAdapter.updatePassword(h,i):await a.context.internalAdapter.createAccount({userId:h,providerId:"credential",password:i,accountId:h}),a.context.options.emailAndPassword?.onPasswordReset){let b=await a.context.internalAdapter.findUserById(h);b&&await a.context.options.emailAndPassword.onPasswordReset({user:b},a.request)}return a.context.options.emailAndPassword?.revokeSessionsOnPasswordReset&&await a.context.internalAdapter.deleteUserSessions(h),a.json({status:!0})}),ct=(0,av.Aw)("/verify-password",{method:"POST",body:H.Ik({password:H.Yj().meta({description:"The password to verify"})}),metadata:{scope:"server",openapi:{operationId:"verifyPassword",description:"Verify the current user's password",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{status:{type:"boolean"}}}}}}}}},use:[aO.rZ]},async a=>{let{password:b}=a.body,c=a.context.session;if(!await (0,ar.Oj)(a,{password:b,userId:c.user.id}))throw m.LG.from("BAD_REQUEST",at.q.INVALID_PASSWORD);return a.json({status:!0})}),cu=H.Ik({callbackURL:H.Yj().meta({description:"Callback URL to redirect to after the user has signed in"}).optional(),newUserCallbackURL:H.Yj().optional(),errorCallbackURL:H.Yj().meta({description:"Callback URL to redirect to if an error happens"}).optional(),provider:b8,disableRedirect:H.zM().meta({description:"Disable automatic redirection to the provider. Useful for handling the redirection yourself"}).optional(),idToken:H.lq(H.Ik({token:H.Yj().meta({description:"ID token from the provider"}),nonce:H.Yj().meta({description:"Nonce used to generate the token"}).optional(),accessToken:H.Yj().meta({description:"Access token from the provider"}).optional(),refreshToken:H.Yj().meta({description:"Refresh token from the provider"}).optional(),expiresAt:H.ai().meta({description:"Expiry date of the token"}).optional(),user:H.Ik({name:H.Ik({firstName:H.Yj().optional(),lastName:H.Yj().optional()}).optional(),email:H.Yj().optional()}).meta({description:"The user object from the provider. Only available for some providers like Apple."}).optional()})),scopes:H.YO(H.Yj()).meta({description:"Array of scopes to request from the provider. This will override the default scopes passed."}).optional(),requestSignUp:H.zM().meta({description:"Explicitly request sign-up. Useful when disableImplicitSignUp is true for this provider"}).optional(),loginHint:H.Yj().meta({description:"The login hint to use for the authorization code request"}).optional(),additionalData:H.g1(H.Yj(),H.bz()).optional().meta({description:"Additional data to be passed through the OAuth flow"})}),cv=(0,av.Aw)("/sign-out",{method:"POST",operationId:"signOut",requireHeaders:!0,metadata:{openapi:{operationId:"signOut",description:"Sign out the current user",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{success:{type:"boolean"}}}}}}}}}},async a=>{let b=await a.getSignedCookie(a.context.authCookies.sessionToken.name,a.context.secret);if(b)try{await a.context.internalAdapter.deleteSession(b)}catch(b){a.context.logger.error("Failed to delete session from database",b)}return(0,F.eC)(a),a.json({success:!0})}),cw=H.Ik({name:H.Yj(),email:H.Rp(),password:H.Yj().nonempty(),image:H.Yj().optional(),callbackURL:H.Yj().optional(),rememberMe:H.zM().optional()}).and(H.g1(H.Yj(),H.bz())),cx=H.g1(H.Yj().meta({description:"Field name must be a string"}),H.bz()),cy=H.g1(H.Yj().meta({description:"Field name must be a string"}),H.bz()),cz=(0,av.Aw)("/change-password",{method:"POST",operationId:"changePassword",body:H.Ik({newPassword:H.Yj().meta({description:"The new password to set"}),currentPassword:H.Yj().meta({description:"The current password is required"}),revokeOtherSessions:H.zM().meta({description:"Must be a boolean value"}).optional()}),use:[aO.rZ],metadata:{openapi:{operationId:"changePassword",description:"Change the password of the user",responses:{200:{description:"Password successfully changed",content:{"application/json":{schema:{type:"object",properties:{token:{type:"string",nullable:!0,description:"New session token if other sessions were revoked"},user:{type:"object",properties:{id:{type:"string",description:"The unique identifier of the user"},email:{type:"string",format:"email",description:"The email address of the user"},name:{type:"string",description:"The name of the user"},image:{type:"string",format:"uri",nullable:!0,description:"The profile image URL of the user"},emailVerified:{type:"boolean",description:"Whether the email has been verified"},createdAt:{type:"string",format:"date-time",description:"When the user was created"},updatedAt:{type:"string",format:"date-time",description:"When the user was last updated"}},required:["id","email","name","emailVerified","createdAt","updatedAt"]}},required:["user"]}}}}}}}},async a=>{let{newPassword:b,currentPassword:c,revokeOtherSessions:d}=a.body,e=a.context.session,f=a.context.password.config.minPasswordLength;if(b.length<f)throw a.context.logger.warn("Password is too short"),m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_SHORT);let g=a.context.password.config.maxPasswordLength;if(b.length>g)throw a.context.logger.warn("Password is too long"),m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_LONG);let h=(await a.context.internalAdapter.findAccounts(e.user.id)).find(a=>"credential"===a.providerId&&a.password);if(!h||!h.password)throw m.LG.from("BAD_REQUEST",at.q.CREDENTIAL_ACCOUNT_NOT_FOUND);let i=await a.context.password.hash(b);if(!await a.context.password.verify({hash:h.password,password:c}))throw m.LG.from("BAD_REQUEST",at.q.INVALID_PASSWORD);await a.context.internalAdapter.updateAccount(h.id,{password:i});let j=null;if(d){await a.context.internalAdapter.deleteUserSessions(e.user.id);let b=await a.context.internalAdapter.createSession(e.user.id);if(!b)throw m.LG.from("INTERNAL_SERVER_ERROR",at.q.FAILED_TO_GET_SESSION);await (0,F.$G)(a,{session:b,user:e.user}),j=b.token}return a.json({token:j,user:(0,M.kc)(a.context.options,e.user)})}),cA=av.Aw.serverOnly({method:"POST",body:H.Ik({newPassword:H.Yj().meta({description:"The new password to set is required"})}),use:[aO.rZ]},async a=>{let{newPassword:b}=a.body,c=a.context.session,d=a.context.password.config.minPasswordLength;if(b.length<d)throw a.context.logger.warn("Password is too short"),m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_SHORT);let e=a.context.password.config.maxPasswordLength;if(b.length>e)throw a.context.logger.warn("Password is too long"),m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_LONG);let f=(await a.context.internalAdapter.findAccounts(c.user.id)).find(a=>"credential"===a.providerId&&a.password),g=await a.context.password.hash(b);if(!f)return await a.context.internalAdapter.linkAccount({userId:c.user.id,providerId:"credential",accountId:c.user.id,password:g}),a.json({status:!0});throw m.LG.from("BAD_REQUEST",at.q.PASSWORD_ALREADY_SET)}),cB=(0,av.Aw)("/delete-user",{method:"POST",use:[aO.rZ],body:H.Ik({callbackURL:H.Yj().meta({description:"The callback URL to redirect to after the user is deleted"}).optional(),password:H.Yj().meta({description:"The password of the user is required to delete the user"}).optional(),token:H.Yj().meta({description:"The token to delete the user is required"}).optional()}),metadata:{openapi:{operationId:"deleteUser",description:"Delete the user",requestBody:{content:{"application/json":{schema:{type:"object",properties:{callbackURL:{type:"string",description:"The callback URL to redirect to after the user is deleted"},password:{type:"string",description:"The user's password. Required if session is not fresh"},token:{type:"string",description:"The deletion verification token"}}}}}},responses:{200:{description:"User deletion processed successfully",content:{"application/json":{schema:{type:"object",properties:{success:{type:"boolean",description:"Indicates if the operation was successful"},message:{type:"string",enum:["User deleted","Verification email sent"],description:"Status message of the deletion process"}},required:["success","message"]}}}}}}}},async a=>{if(!a.context.options.user?.deleteUser?.enabled)throw a.context.logger.error("Delete user is disabled. Enable it in the options"),m.LG.fromStatus("NOT_FOUND");let b=a.context.session;if(a.body.password){let c=(await a.context.internalAdapter.findAccounts(b.user.id)).find(a=>"credential"===a.providerId&&a.password);if(!c||!c.password)throw m.LG.from("BAD_REQUEST",at.q.CREDENTIAL_ACCOUNT_NOT_FOUND);if(!await a.context.password.verify({hash:c.password,password:a.body.password}))throw m.LG.from("BAD_REQUEST",at.q.INVALID_PASSWORD)}if(a.body.token)return await cC({...a,query:{token:a.body.token}}),a.json({success:!0,message:"User deleted"});if(a.context.options.user.deleteUser?.sendDeleteAccountVerification){let c=(0,a2.k)(32,"0-9","a-z");await a.context.internalAdapter.createVerificationValue({value:b.user.id,identifier:`delete-account-${c}`,expiresAt:new Date(Date.now()+1e3*(a.context.options.user.deleteUser?.deleteTokenExpiresIn||86400))});let d=`${a.context.baseURL}/delete-user/callback?token=${c}&callbackURL=${encodeURIComponent(a.body.callbackURL||"/")}`;return await a.context.runInBackgroundOrAwait(a.context.options.user.deleteUser.sendDeleteAccountVerification({user:b.user,url:d,token:c},a.request)),a.json({success:!0,message:"Verification email sent"})}if(!a.body.password&&0!==a.context.sessionConfig.freshAge){let c=new Date(b.session.createdAt).getTime(),d=1e3*a.context.sessionConfig.freshAge;if(Date.now()-c>=d)throw m.LG.from("BAD_REQUEST",at.q.SESSION_EXPIRED)}let c=a.context.options.user.deleteUser?.beforeDelete;c&&await c(b.user,a.request),await a.context.internalAdapter.deleteUser(b.user.id),await a.context.internalAdapter.deleteUserSessions(b.user.id),(0,F.eC)(a);let d=a.context.options.user.deleteUser?.afterDelete;return d&&await d(b.user,a.request),a.json({success:!0,message:"User deleted"})}),cC=(0,av.Aw)("/delete-user/callback",{method:"GET",query:H.Ik({token:H.Yj().meta({description:"The token to verify the deletion request"}),callbackURL:H.Yj().meta({description:"The URL to redirect to after deletion"}).optional()}),use:[aA(a=>a.query.callbackURL)],metadata:{openapi:{description:"Callback to complete user deletion with verification token",responses:{200:{description:"User successfully deleted",content:{"application/json":{schema:{type:"object",properties:{success:{type:"boolean",description:"Indicates if the deletion was successful"},message:{type:"string",enum:["User deleted"],description:"Confirmation message"}},required:["success","message"]}}}}}}}},async a=>{if(!a.context.options.user?.deleteUser?.enabled)throw a.context.logger.error("Delete user is disabled. Enable it in the options"),m.LG.from("NOT_FOUND",{message:"Not found",code:"NOT_FOUND"});let b=await (0,aO.sg)(a,{disableCookieCache:(0,aO.VA)(a)});if(!b)throw m.LG.from("NOT_FOUND",at.q.FAILED_TO_GET_USER_INFO);let c=await a.context.internalAdapter.consumeVerificationValue(`delete-account-${a.query.token}`);if(!c||c.value!==b.user.id)throw m.LG.from("NOT_FOUND",at.q.INVALID_TOKEN);let d=a.context.options.user.deleteUser?.beforeDelete;d&&await d(b.user,a.request),await a.context.internalAdapter.deleteUser(b.user.id),await a.context.internalAdapter.deleteUserSessions(b.user.id),await a.context.internalAdapter.deleteAccounts(b.user.id),(0,F.eC)(a);let e=a.context.options.user.deleteUser?.afterDelete;if(e&&await e(b.user,a.request),a.query.callbackURL)throw a.redirect(a.query.callbackURL||"/");return a.json({success:!0,message:"User deleted"})}),cD=(0,av.Aw)("/change-email",{method:"POST",body:H.Ik({newEmail:H.Rp().meta({description:"The new email address to set must be a valid email address"}),callbackURL:H.Yj().meta({description:"The URL to redirect to after email verification"}).optional()}),use:[aO.rZ],metadata:{openapi:{operationId:"changeEmail",responses:{200:{description:"Email change request processed successfully",content:{"application/json":{schema:{type:"object",properties:{user:{type:"object",$ref:"#/components/schemas/User"},status:{type:"boolean",description:"Indicates if the request was successful"},message:{type:"string",enum:["Email updated","Verification email sent"],description:"Status message of the email change process",nullable:!0}},required:["status"]}}}}}}}},async a=>{if(!a.context.options.user?.changeEmail?.enabled)throw a.context.logger.error("Change email is disabled."),m.LG.from("BAD_REQUEST",at.q.CHANGE_EMAIL_DISABLED);let b=a.body.newEmail.toLowerCase();if(b===a.context.session.user.email)throw a.context.logger.warn("Email is the same"),m.LG.fromStatus("BAD_REQUEST",{message:"Email is the same"});let c=!0!==a.context.session.user.emailVerified&&a.context.options.user.changeEmail.updateEmailWithoutVerification,d=a.context.options.emailVerification?.sendVerificationEmail,e=d&&a.context.session.user.emailVerified&&a.context.options.user.changeEmail.sendChangeEmailConfirmation;if(!c&&!e&&!d)throw a.context.logger.error("Verification email isn't enabled."),m.LG.fromStatus("BAD_REQUEST",{message:"Verification email isn't enabled"});if(await a.context.internalAdapter.findUserByEmail(b))return await aY(a.context.secret,a.context.session.user.email,b,a.context.options.emailVerification?.expiresIn),a.context.logger.info("Change email attempt for existing email"),a.json({status:!0});if(c){if(await a.context.internalAdapter.updateUserByEmail(a.context.session.user.email,{email:b}),await (0,F.$G)(a,{session:a.context.session.session,user:{...a.context.session.user,email:b}}),d){let c=await aY(a.context.secret,b,void 0,a.context.options.emailVerification?.expiresIn),e=`${a.context.baseURL}/verify-email?token=${c}&callbackURL=${encodeURIComponent(a.body.callbackURL||"/")}`;await a.context.runInBackgroundOrAwait(d({user:{...a.context.session.user,email:b},url:e,token:c},a.request))}return a.json({status:!0})}if(e){let c=await aY(a.context.secret,a.context.session.user.email,b,a.context.options.emailVerification?.expiresIn,{requestType:"change-email-confirmation"}),d=`${a.context.baseURL}/verify-email?token=${c}&callbackURL=${encodeURIComponent(a.body.callbackURL||"/")}`;return await a.context.runInBackgroundOrAwait(e({user:a.context.session.user,newEmail:b,url:d,token:c},a.request)),a.json({status:!0})}if(!d)throw a.context.logger.error("Verification email isn't enabled."),m.LG.fromStatus("BAD_REQUEST",{message:"Verification email isn't enabled"});let f=await aY(a.context.secret,a.context.session.user.email,b,a.context.options.emailVerification?.expiresIn,{requestType:"change-email-verification"}),g=`${a.context.baseURL}/verify-email?token=${f}&callbackURL=${encodeURIComponent(a.body.callbackURL||"/")}`;return await a.context.runInBackgroundOrAwait(d({user:{...a.context.session.user,email:b},url:g,token:f},a.request)),a.json({status:!0})});var cE=c(73954);let cF=ad((a,b,c)=>{if(Array.isArray(a[b])&&Array.isArray(c))return a[b]=c,!0}),cG=new WeakMap;function cH(a,b){let c=a.options;return c?.operationId??c?.metadata?.openapi?.operationId??b??a.path??"/:virtual"}function cI(a,b){b&&b.forEach((b,c)=>{a.responseHeaders?"set-cookie"===c.toLowerCase()?a.responseHeaders.append(c,b):a.responseHeaders.set(c,b):a.responseHeaders=new Headers({[c]:b})})}function cJ(a){let b=a[cE.Ri],c=a.headers&&a.headers!==b?new Headers(a.headers):null;if(!b&&!c)return null;let d=new Headers;return b?.forEach((a,b)=>{d.append(b,a)}),c?.forEach((a,b)=>{"set-cookie"===b.toLowerCase()?d.append(b,a):d.set(b,a)}),d}async function cK(a,b,c,d){let e={};for(let f of b){let b=!1;try{b=f.matcher(a)}catch(c){let b=cG.get(f.handler)??"unknown";throw a.context.logger.error(`An error occurred during ${b} hook matcher execution:`,c),new m.LG("INTERNAL_SERVER_ERROR",{message:"An error occurred during hook matcher execution. Check the logs for more details."})}if(!b)continue;let g=cG.get(f.handler)??"unknown",h=c.path??"/:virtual",i=await (0,V.f)(`hook before ${h} ${g}`,{[X]:"before",[Z.DR]:h,[Y]:g,[W]:d},()=>f.handler({...a,returnHeaders:!0})).catch(b=>{throw(0,as.h)(b)&&(0,k.p8)(a.context.logger.level,"debug")&&(b.stack=b.errorStack),b});cI(a.context,i?.headers);let j=i?.response;if(j&&"object"==typeof j){if("context"in j&&"object"==typeof j.context){let{headers:a,...b}=j.context;a instanceof Headers&&(e.headers?a.forEach((a,b)=>{e.headers?.set(b,a)}):e.headers=a),e=cF(b,e);continue}return j}}return{context:e}}async function cL(a,b,c,d){for(let e of b){if(!e.matcher(a))continue;let b=cG.get(e.handler)??"unknown",f=c.path??"/:virtual",g=await (0,V.f)(`hook after ${f} ${b}`,{[X]:"after",[Z.DR]:f,[Y]:b,[W]:d},()=>e.handler(a)).catch(b=>{if((0,as.h)(b))return(0,k.p8)(a.context.logger.level,"debug")&&(b.stack=b.errorStack),{response:b,headers:cJ(b)};throw b});cI(a.context,g.headers),void 0!==g.response&&(a.context.returned=g.response)}return{response:a.context.returned,headers:a.context.responseHeaders}}async function cM(a,b){let c=b.operationId??cH(a),d=a.path??"/:virtual",e=a.options?.method,f=Array.isArray(e)?e[0]:e,g=b.method??b.request?.method??f??"?",h=b.asResponse??(0,v.Pl)(b.request),i={...b,context:{...b.context,returned:void 0,responseHeaders:void 0,session:b.context.session??null},path:a.path,headers:b.headers?new Headers(b.headers):void 0};return(0,V.f)(`${g} ${d}`,{[Z.DR]:d,[W]:c},async()=>(0,T.Qs)(i,async()=>{var e;let f,g,j,l,m,n,o,{beforeHooks:p,afterHooks:q}=(f=(e=i.context).options.plugins||[],g=[],j=[],(l=e.options.hooks?.before)&&(cG.set(l,"user"),g.push({matcher:()=>!0,handler:l})),(m=e.options.hooks?.after)&&(cG.set(m,"user"),j.push({matcher:()=>!0,handler:m})),n=f.flatMap(a=>(a.hooks?.before??[]).map(b=>(cG.set(b.handler,`plugin:${a.id}`),b))),o=f.flatMap(a=>(a.hooks?.after??[]).map(b=>(cG.set(b.handler,`plugin:${a.id}`),b))),n.length&&g.push(...n),o.length&&j.push(...o),{beforeHooks:g,afterHooks:j}),r=await cK(i,p,a,c);if("context"in r&&r.context&&"object"==typeof r.context){let{headers:a,...b}=r.context;if(a){i.headers||(i.headers=new Headers);let b=i.headers;a.forEach((a,c)=>{b.set(c,a)})}i=cF(b,i)}else if(r){let a=i.context.responseHeaders;return h?(0,cE.Zr)(r,{headers:a}):b.returnHeaders?{headers:a,response:r}:r}i.asResponse=!1,i.returnHeaders=!0,i.returnStatus=!0;let s=await (0,T.Qs)(i,()=>(0,V.f)(`handler ${d}`,{[Z.DR]:d,[W]:c},()=>a(i))).catch(a=>{if((0,as.h)(a))return{response:a,status:a.statusCode,headers:cJ(a)};throw a});if(s instanceof Response)return s;i.context.returned=s.response,i.context.responseHeaders=s.headers??void 0;let t=await cL(i,q,a,c);if(void 0!==t.response&&(s.response=t.response),s.headers=t.headers??s.headers,(0,as.h)(s.response)&&(0,k.p8)(i.context.logger.level,"debug")&&(s.response.stack=s.response.errorStack),(0,as.h)(s.response)&&!h)throw s.headers&&Object.defineProperty(s.response,cE.Ri,{enumerable:!1,configurable:!0,writable:!1,value:s.headers}),s.response;return h?(0,cE.Zr)(s.response,{headers:s.headers??void 0,status:s.status}):b.returnHeaders?b.returnStatus?{headers:s.headers,response:s.response,status:s.status}:{headers:s.headers,response:s.response}:b.returnStatus?{response:s.response,status:s.status}:s.response}))}async function cN(a,b){if(a.baseURL)return a;let c=function(a){if((0,v.Pl)(a?.request))return a.request;if(!a?.headers)return;let b=a.headers instanceof Headers?a.headers:new Headers(a.headers);if(b.has("host")||b.has("x-forwarded-host"))return b}(b),d=a.options.baseURL,e=(0,v.QQ)(d)&&!!d.fallback;if(void 0===c&&!e)throw new m.LG("INTERNAL_SERVER_ERROR",{message:"Dynamic baseURL could not be resolved for this direct auth.api call. Pass `headers: request.headers` (or `request`) to the call, or add `fallback` to your baseURL config."});try{return await ao(a,c,an(a.options))}catch(a){if(a instanceof m.$l)throw new m.LG("INTERNAL_SERVER_ERROR",{message:a.message});throw a}}function cO(a,b){let c=b.plugins?.reduce((a,b)=>({...a,...b.endpoints}),{})??{},d=b.plugins?.map(b=>b.middlewares?.map(c=>{let d=async d=>{let e=await a;return(0,V.f)(`middleware ${c.path} ${b.id}`,{[X]:"middleware",[Z.DR]:c.path,[Y]:`plugin:${b.id}`},()=>c.middleware({...d,context:{...e,...d.context}}))};return d.options=c.middleware.options,{path:c.path,middleware:d}})).filter(a=>void 0!==a).flat()||[];return{api:function(a,b){let c={};for(let[d,e]of Object.entries(a))c[d]=async a=>{let c=cH(e,d),f=async()=>{let d=await b,f=(0,v.QQ)(d.options.baseURL)?await cN(d,a):d;return cM(e,{...a,context:f,operationId:c,asResponse:a?.asResponse??(0,v.Pl)(a?.request)})};return await (0,a3.ty)()?f():(0,a3.uy)(new WeakMap,f)},c[d].path=e.path,c[d].options=e.options;return c}({signInSocial:(0,av.Aw)("/sign-in/social",{method:"POST",operationId:"socialSignIn",body:cu,metadata:{$Infer:{body:{},returned:{}},openapi:{description:"Sign in with a social provider",operationId:"socialSignIn",responses:{200:{description:"Success - Returns session details (idToken branch) or an authorize URL (redirect branch)",content:{"application/json":{schema:{type:"object",description:"Returns session details when idToken is provided, or an authorize URL otherwise",properties:{token:{type:"string"},user:{type:"object",$ref:"#/components/schemas/User"},url:{type:"string"},redirect:{type:"boolean"}},required:["redirect"]}}}}}}}},async a=>{let b=await ap(a.context.socialProviders,{value:a.body.provider});if(!b)throw a.context.logger.error("Provider not found. Make sure to add the provider in your auth config",{provider:a.body.provider}),m.LG.from("NOT_FOUND",at.q.PROVIDER_NOT_FOUND);if(a.body.idToken){if(!b.verifyIdToken)throw a.context.logger.error("Provider does not support id token verification",{provider:a.body.provider}),m.LG.from("NOT_FOUND",at.q.ID_TOKEN_NOT_SUPPORTED);let{token:c,nonce:d}=a.body.idToken;if(!await b.verifyIdToken(c,d))throw a.context.logger.warn("Invalid id token",{provider:a.body.provider}),m.LG.from("UNAUTHORIZED",at.q.INVALID_TOKEN);let e=await b.getUserInfo({idToken:c,accessToken:a.body.idToken.accessToken,refreshToken:a.body.idToken.refreshToken,user:a.body.idToken.user});if(!e||!e?.user)throw a.context.logger.error("Failed to get user info",{provider:a.body.provider}),m.LG.from("UNAUTHORIZED",at.q.FAILED_TO_GET_USER_INFO);if(!e.user.email)throw a.context.logger.error(aR(a.body.provider,{source:"id_token"}),{provider:a.body.provider}),m.LG.from("UNAUTHORIZED",at.q.USER_EMAIL_NOT_FOUND);let f=await a0(a,{userInfo:{...e.user,email:e.user.email,id:String(e.user.id),name:e.user.name||"",image:e.user.image,emailVerified:e.user.emailVerified||!1},account:{providerId:b.id,accountId:String(e.user.id),accessToken:a.body.idToken.accessToken},callbackURL:a.body.callbackURL,disableSignUp:b.disableImplicitSignUp&&!a.body.requestSignUp||b.disableSignUp});if(f.error)throw m.LG.from("UNAUTHORIZED",{message:f.error,code:"OAUTH_LINK_ERROR"});return await (0,F.$G)(a,f.data),a.json({redirect:!1,token:f.data.session.token,url:void 0,user:(0,M.kc)(a.context.options,f.data.user)})}let{codeVerifier:c,state:d}=await bb(a,void 0,a.body.additionalData),e=await b.createAuthorizationURL({state:d,codeVerifier:c,redirectURI:`${a.context.baseURL}/callback/${b.id}`,scopes:a.body.scopes,loginHint:a.body.loginHint});return a.body.disableRedirect||a.setHeader("Location",e.toString()),a.json({url:e.toString(),redirect:!a.body.disableRedirect})}),callbackOAuth:cl,getSession:(0,aO.Ht)(),signOut:cv,signUpEmail:(0,av.Aw)("/sign-up/email",{method:"POST",operationId:"signUpWithEmailAndPassword",use:[aC],body:cw,cloneRequest:!0,metadata:{allowedMediaTypes:["application/x-www-form-urlencoded","application/json"],$Infer:{body:{},returned:{}},openapi:{operationId:"signUpWithEmailAndPassword",description:"Sign up a user using email and password",requestBody:{content:{"application/json":{schema:{type:"object",properties:{name:{type:"string",description:"The name of the user"},email:{type:"string",description:"The email of the user"},password:{type:"string",description:"The password of the user"},image:{type:"string",description:"The profile image URL of the user"},callbackURL:{type:"string",description:"The URL to use for email verification callback"},rememberMe:{type:"boolean",description:"If this is false, the session will not be remembered. Default is `true`."}},required:["name","email","password"]}}}},responses:{200:{description:"Successfully created user",content:{"application/json":{schema:{type:"object",properties:{token:{type:"string",nullable:!0,description:"Authentication token for the session"},user:{type:"object",properties:{id:{type:"string",description:"The unique identifier of the user"},email:{type:"string",format:"email",description:"The email address of the user"},name:{type:"string",description:"The name of the user"},image:{type:"string",format:"uri",nullable:!0,description:"The profile image URL of the user"},emailVerified:{type:"boolean",description:"Whether the email has been verified"},createdAt:{type:"string",format:"date-time",description:"When the user was created"},updatedAt:{type:"string",format:"date-time",description:"When the user was last updated"}},required:["id","email","name","emailVerified","createdAt","updatedAt"]}},required:["user"]}}}},422:{description:"Unprocessable Entity. User already exists or failed to create user.",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}}}}}}},async a=>(0,U.iD)(a.context.adapter,async()=>{let b;if(!a.context.options.emailAndPassword?.enabled||a.context.options.emailAndPassword?.disableSignUp)throw m.LG.from("BAD_REQUEST",{message:"Email and password sign up is not enabled",code:"EMAIL_PASSWORD_SIGN_UP_DISABLED"});let c=a.body,{name:d,email:e,password:f,image:g,callbackURL:h,rememberMe:i,...j}=c;if(!H.Rp().safeParse(e).success)throw m.LG.from("BAD_REQUEST",at.q.INVALID_EMAIL);if(!f||"string"!=typeof f)throw m.LG.from("BAD_REQUEST",at.q.INVALID_PASSWORD);let k=a.context.password.config.minPasswordLength;if(f.length<k)throw a.context.logger.warn("Password is too short"),m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_SHORT);let l=a.context.password.config.maxPasswordLength;if(f.length>l)throw a.context.logger.warn("Password is too long"),m.LG.from("BAD_REQUEST",at.q.PASSWORD_TOO_LONG);let n=a.context.options.emailAndPassword.requireEmailVerification||!1===a.context.options.emailAndPassword.autoSignIn,o=!1===a.context.options.emailAndPassword.autoSignIn||n,p=(0,M.pS)(a.context.options,j,"create"),q=e.toLowerCase(),r=await a.context.internalAdapter.findUserByEmail(q);if(r?.user){if(a.context.logger.info(`Sign-up attempt for existing email: ${e}`),n){let b;await a.context.password.hash(f),a.context.options.emailAndPassword?.onExistingUserSignUp&&await a.context.runInBackgroundOrAwait(a.context.options.emailAndPassword.onExistingUserSignUp({user:r.user},a.request?.clone()));let c=new Date,e=a.context.generateId({model:"user"})||(0,$.$)(),h={name:d,email:q,emailVerified:!1,image:g??null,createdAt:c,updatedAt:c},i=a.context.options.emailAndPassword?.customSyntheticUser;if(i){let c=Object.keys(a.context.options.user?.additionalFields??{}),d={};for(let a of c)a in p&&(d[a]=p[a]);let f=i({coreFields:h,additionalFields:d,id:e});b=(0,M.__)(a.context.options,f)}else b=(0,M.__)(a.context.options,{...h,...p,id:e});return a.json({token:null,user:(0,M.kc)(a.context.options,b)})}throw m.LG.from("UNPROCESSABLE_ENTITY",at.q.USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL)}let s=await a.context.password.hash(f);try{if(!(b=await a.context.internalAdapter.createUser({email:q,name:d,image:g,...p,emailVerified:!1})))throw m.LG.from("BAD_REQUEST",at.q.FAILED_TO_CREATE_USER)}catch(b){if((0,G.yz)()&&a.context.logger.error("Failed to create user",b),(0,as.h)(b))throw b;throw a.context.logger?.error("Failed to create user",b),m.LG.from("UNPROCESSABLE_ENTITY",at.q.FAILED_TO_CREATE_USER)}if(!b)throw m.LG.from("UNPROCESSABLE_ENTITY",at.q.FAILED_TO_CREATE_USER);if(await a.context.internalAdapter.linkAccount({userId:b.id,providerId:"credential",accountId:b.id,password:s}),a.context.options.emailVerification?.sendOnSignUp??a.context.options.emailAndPassword.requireEmailVerification){let d=await aY(a.context.secret,b.email,void 0,a.context.options.emailVerification?.expiresIn),e=c.callbackURL?encodeURIComponent(c.callbackURL):encodeURIComponent("/"),f=`${a.context.baseURL}/verify-email?token=${d}&callbackURL=${e}`;a.context.options.emailVerification?.sendVerificationEmail&&await a.context.runInBackgroundOrAwait(a.context.options.emailVerification.sendVerificationEmail({user:b,url:f,token:d},a.request?.clone()))}if(o)return a.json({token:null,user:(0,M.kc)(a.context.options,b)});let t=await a.context.internalAdapter.createSession(b.id,!1===i);if(!t)throw m.LG.from("BAD_REQUEST",at.q.FAILED_TO_CREATE_SESSION);return await (0,F.$G)(a,{session:t,user:b},!1===i),a.json({token:t.token,user:(0,M.kc)(a.context.options,b)})})),signInEmail:(0,av.Aw)("/sign-in/email",{method:"POST",operationId:"signInEmail",use:[aC],cloneRequest:!0,body:H.Ik({email:H.Yj().meta({description:"Email of the user"}),password:H.Yj().meta({description:"Password of the user"}),callbackURL:H.Yj().meta({description:"Callback URL to use as a redirect for email verification"}).optional(),rememberMe:H.zM().meta({description:"If this is false, the session will not be remembered. Default is `true`."}).default(!0).optional()}),metadata:{allowedMediaTypes:["application/x-www-form-urlencoded","application/json"],$Infer:{body:{},returned:{}},openapi:{operationId:"signInEmail",description:"Sign in with email and password",responses:{200:{description:"Success - Returns either session details or redirect URL",content:{"application/json":{schema:{type:"object",description:"Session response when idToken is provided",properties:{redirect:{type:"boolean",enum:[!1]},token:{type:"string",description:"Session token"},url:{type:"string",nullable:!0},user:{type:"object",$ref:"#/components/schemas/User"}},required:["redirect","token","user"]}}}}}}}},async a=>{if(!a.context.options?.emailAndPassword?.enabled)throw a.context.logger.error("Email and password is not enabled. Make sure to enable it in the options on you `auth.ts` file. Check `https://better-auth.com/docs/authentication/email-password` for more!"),m.LG.from("BAD_REQUEST",{code:"EMAIL_PASSWORD_DISABLED",message:"Email and password is not enabled"});let{email:b,password:c}=a.body;if(!H.Rp().safeParse(b).success)throw m.LG.from("BAD_REQUEST",at.q.INVALID_EMAIL);let d=await a.context.internalAdapter.findUserByEmail(b,{includeAccounts:!0});if(!d)throw await a.context.password.hash(c),a.context.logger.warn("User not found"),m.LG.from("UNAUTHORIZED",at.q.INVALID_EMAIL_OR_PASSWORD);let e=d.accounts.find(a=>"credential"===a.providerId);if(!e)throw await a.context.password.hash(c),a.context.logger.warn("Credential account not found"),m.LG.from("UNAUTHORIZED",at.q.INVALID_EMAIL_OR_PASSWORD);let f=e?.password;if(!f)throw await a.context.password.hash(c),a.context.logger.warn("Password not found"),m.LG.from("UNAUTHORIZED",at.q.INVALID_EMAIL_OR_PASSWORD);if(!await a.context.password.verify({hash:f,password:c}))throw a.context.logger.warn("Invalid password"),m.LG.from("UNAUTHORIZED",at.q.INVALID_EMAIL_OR_PASSWORD);if(a.context.options?.emailAndPassword?.requireEmailVerification&&!d.user.emailVerified){if(!a.context.options?.emailVerification?.sendVerificationEmail)throw m.LG.from("FORBIDDEN",at.q.EMAIL_NOT_VERIFIED);if(a.context.options?.emailVerification?.sendOnSignIn){let b=await aY(a.context.secret,d.user.email,void 0,a.context.options.emailVerification?.expiresIn),c=a.body.callbackURL?encodeURIComponent(a.body.callbackURL):encodeURIComponent("/"),e=`${a.context.baseURL}/verify-email?token=${b}&callbackURL=${c}`;await a.context.runInBackgroundOrAwait(a.context.options.emailVerification.sendVerificationEmail({user:d.user,url:e,token:b},a.request?.clone()))}throw m.LG.from("FORBIDDEN",at.q.EMAIL_NOT_VERIFIED)}let g=await a.context.internalAdapter.createSession(d.user.id,!1===a.body.rememberMe);if(!g)throw a.context.logger.error("Failed to create session"),m.LG.from("UNAUTHORIZED",at.q.FAILED_TO_CREATE_SESSION);return await (0,F.$G)(a,{session:g,user:d.user},!1===a.body.rememberMe),a.body.callbackURL&&a.setHeader("Location",a.body.callbackURL),a.json({redirect:!!a.body.callbackURL,token:g.token,url:a.body.callbackURL,user:(0,M.kc)(a.context.options,d.user)})}),resetPassword:cs,verifyPassword:ct,verifyEmail:a_,sendVerificationEmail:a$,changeEmail:cD,changePassword:cz,setPassword:cA,updateSession:(0,av.Aw)("/update-session",{method:"POST",operationId:"updateSession",body:cx,use:[aO.ld],metadata:{$Infer:{body:{}},openapi:{operationId:"updateSession",description:"Update the current session",responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{session:{type:"object",$ref:"#/components/schemas/Session"}}}}}}}}}},async a=>{let b=a.body;if("object"!=typeof b||Array.isArray(b))throw m.LG.from("BAD_REQUEST",at.q.BODY_MUST_BE_AN_OBJECT);let c=a.context.session,d=(0,M.Mn)(a.context.options,b,"update");if(0===Object.keys(d).length)throw m.LG.fromStatus("BAD_REQUEST",{message:"No fields to update"});let e=await a.context.internalAdapter.updateSession(c.session.token,{...d,updatedAt:new Date});if(!e&&(0,aO.VA)(a))throw(0,F.eC)(a),m.LG.from("UNAUTHORIZED",at.q.FAILED_TO_GET_SESSION);let f=e??{...c.session,...d,updatedAt:new Date};return await (0,F.$G)(a,{session:f,user:c.user}),a.json({session:(0,M.dc)(a.context.options,f)})}),updateUser:(0,av.Aw)("/update-user",{method:"POST",operationId:"updateUser",body:cy,use:[aO.ld],metadata:{$Infer:{body:{}},openapi:{operationId:"updateUser",description:"Update the current user",requestBody:{content:{"application/json":{schema:{type:"object",properties:{name:{type:"string",description:"The name of the user"},image:{type:"string",description:"The image of the user",nullable:!0}}}}}},responses:{200:{description:"Success",content:{"application/json":{schema:{type:"object",properties:{user:{type:"object",$ref:"#/components/schemas/User"}}}}}}}}}},async a=>{let b=a.body;if("object"!=typeof b||Array.isArray(b))throw m.LG.from("BAD_REQUEST",at.q.BODY_MUST_BE_AN_OBJECT);if(b.email)throw m.LG.from("BAD_REQUEST",at.q.EMAIL_CAN_NOT_BE_UPDATED);let{name:c,image:d,...e}=b,f=a.context.session,g=(0,M.pS)(a.context.options,e,"update");if(void 0===d&&void 0===c&&0===Object.keys(g).length)throw m.LG.fromStatus("BAD_REQUEST",{message:"No fields to update"});let h=await a.context.internalAdapter.updateUser(f.user.id,{name:c,image:d,...g})??{...f.user,...void 0!==c&&{name:c},...void 0!==d&&{image:d},...g};return await (0,F.$G)(a,{session:f.session,user:h}),a.json({status:!0})}),deleteUser:cB,requestPasswordReset:cq,requestPasswordResetCallback:cr,listSessions:(0,aO.GW)(),revokeSession:aO.T$,revokeSessions:aO.sA,revokeOtherSessions:aO.WN,linkSocialAccount:ca,listUserAccounts:b9,deleteUserCallback:cC,unlinkAccount:cb,refreshToken:cg,getAccessToken:cf,accountInfo:ci,...c,ok:co,error:cn},a),middlewares:d}}var cP=c(51586),cQ=c(73024),cR=c(51455),cS=c(48161),cT=c(76760),cU=c(53108);async function cV(a,b){return{database:b?.database,adapter:b?.adapter,emailVerification:{sendVerificationEmail:!!a.emailVerification?.sendVerificationEmail,sendOnSignUp:!!a.emailVerification?.sendOnSignUp,sendOnSignIn:!!a.emailVerification?.sendOnSignIn,autoSignInAfterVerification:!!a.emailVerification?.autoSignInAfterVerification,expiresIn:a.emailVerification?.expiresIn,beforeEmailVerification:!!a.emailVerification?.beforeEmailVerification,afterEmailVerification:!!a.emailVerification?.afterEmailVerification},emailAndPassword:{enabled:!!a.emailAndPassword?.enabled,disableSignUp:!!a.emailAndPassword?.disableSignUp,requireEmailVerification:!!a.emailAndPassword?.requireEmailVerification,maxPasswordLength:a.emailAndPassword?.maxPasswordLength,minPasswordLength:a.emailAndPassword?.minPasswordLength,sendResetPassword:!!a.emailAndPassword?.sendResetPassword,resetPasswordTokenExpiresIn:a.emailAndPassword?.resetPasswordTokenExpiresIn,onPasswordReset:!!a.emailAndPassword?.onPasswordReset,password:{hash:!!a.emailAndPassword?.password?.hash,verify:!!a.emailAndPassword?.password?.verify},autoSignIn:!!a.emailAndPassword?.autoSignIn,revokeSessionsOnPasswordReset:!!a.emailAndPassword?.revokeSessionsOnPasswordReset},socialProviders:await Promise.all(Object.keys(a.socialProviders||{}).map(async b=>{let c=a.socialProviders?.[b];if(!c)return{};let d="function"==typeof c?await c():c;return{id:b,mapProfileToUser:!!d.mapProfileToUser,disableDefaultScope:!!d.disableDefaultScope,disableIdTokenSignIn:!!d.disableIdTokenSignIn,disableImplicitSignUp:d.disableImplicitSignUp,disableSignUp:d.disableSignUp,getUserInfo:!!d.getUserInfo,overrideUserInfoOnSignIn:!!d.overrideUserInfoOnSignIn,prompt:d.prompt,verifyIdToken:!!d.verifyIdToken,scope:d.scope,refreshAccessToken:!!d.refreshAccessToken}})),plugins:a.plugins?.map(a=>a.id.toString()),user:{modelName:a.user?.modelName,fields:a.user?.fields,additionalFields:a.user?.additionalFields,changeEmail:{enabled:a.user?.changeEmail?.enabled,sendChangeEmailConfirmation:!!a.user?.changeEmail?.sendChangeEmailConfirmation}},verification:{modelName:a.verification?.modelName,disableCleanup:a.verification?.disableCleanup,fields:a.verification?.fields},session:{modelName:a.session?.modelName,additionalFields:a.session?.additionalFields,cookieCache:{enabled:a.session?.cookieCache?.enabled,maxAge:a.session?.cookieCache?.maxAge,strategy:a.session?.cookieCache?.strategy},disableSessionRefresh:a.session?.disableSessionRefresh,expiresIn:a.session?.expiresIn,fields:a.session?.fields,freshAge:a.session?.freshAge,preserveSessionInDatabase:a.session?.preserveSessionInDatabase,storeSessionInDatabase:a.session?.storeSessionInDatabase,updateAge:a.session?.updateAge},account:{modelName:a.account?.modelName,fields:a.account?.fields,encryptOAuthTokens:a.account?.encryptOAuthTokens,updateAccountOnSignIn:a.account?.updateAccountOnSignIn,accountLinking:{enabled:a.account?.accountLinking?.enabled,trustedProviders:a.account?.accountLinking?.trustedProviders,updateUserInfoOnLink:a.account?.accountLinking?.updateUserInfoOnLink,allowUnlinkingAll:a.account?.accountLinking?.allowUnlinkingAll}},hooks:{after:!!a.hooks?.after,before:!!a.hooks?.before},secondaryStorage:!!a.secondaryStorage,advanced:{cookiePrefix:!!a.advanced?.cookiePrefix,cookies:!!a.advanced?.cookies,crossSubDomainCookies:{domain:!!a.advanced?.crossSubDomainCookies?.domain,enabled:a.advanced?.crossSubDomainCookies?.enabled,additionalCookies:a.advanced?.crossSubDomainCookies?.additionalCookies},database:{generateId:a.advanced?.database?.generateId,defaultFindManyLimit:a.advanced?.database?.defaultFindManyLimit},useSecureCookies:a.advanced?.useSecureCookies,ipAddress:{disableIpTracking:a.advanced?.ipAddress?.disableIpTracking,ipAddressHeaders:a.advanced?.ipAddress?.ipAddressHeaders},disableCSRFCheck:a.advanced?.disableCSRFCheck,cookieAttributes:{expires:a.advanced?.defaultCookieAttributes?.expires,secure:a.advanced?.defaultCookieAttributes?.secure,sameSite:a.advanced?.defaultCookieAttributes?.sameSite,domain:!!a.advanced?.defaultCookieAttributes?.domain,path:a.advanced?.defaultCookieAttributes?.path,httpOnly:a.advanced?.defaultCookieAttributes?.httpOnly}},trustedOrigins:a.trustedOrigins?.length,rateLimit:{storage:a.rateLimit?.storage,modelName:a.rateLimit?.modelName,window:a.rateLimit?.window,customStorage:!!a.rateLimit?.customStorage,enabled:a.rateLimit?.enabled,max:a.rateLimit?.max},onAPIError:{errorURL:a.onAPIError?.errorURL,onError:!!a.onAPIError?.onError,throw:a.onAPIError?.throw},logger:{disabled:a.logger?.disabled,level:a.logger?.level,log:!!a.logger?.log},databaseHooks:{user:{create:{after:!!a.databaseHooks?.user?.create?.after,before:!!a.databaseHooks?.user?.create?.before},update:{after:!!a.databaseHooks?.user?.update?.after,before:!!a.databaseHooks?.user?.update?.before}},session:{create:{after:!!a.databaseHooks?.session?.create?.after,before:!!a.databaseHooks?.session?.create?.before},update:{after:!!a.databaseHooks?.session?.update?.after,before:!!a.databaseHooks?.session?.update?.before}},account:{create:{after:!!a.databaseHooks?.account?.create?.after,before:!!a.databaseHooks?.account?.create?.before},update:{after:!!a.databaseHooks?.account?.update?.after,before:!!a.databaseHooks?.account?.update?.before}},verification:{create:{after:!!a.databaseHooks?.verification?.create?.after,before:!!a.databaseHooks?.verification?.create?.before},update:{after:!!a.databaseHooks?.verification?.update?.after,before:!!a.databaseHooks?.verification?.update?.before}}}}}async function cW(a){let b=await (0,P.n)("SHA-256").digest(a);return O.K.encode(b)}async function cX(){if(e)return e;try{let a=process.cwd();if(!a)return;let b=await cR.readFile(cT.join(a,"package.json"),"utf-8");return e=JSON.parse(b)}catch{}}async function cY(a){if(e)return e.dependencies?.[a]||e.devDependencies?.[a]||e.peerDependencies?.[a];try{let b=process.cwd();if(!b)throw Error("no-cwd");let c=cT.join(b,"node_modules",a,"package.json"),d=await cR.readFile(c,"utf-8");return JSON.parse(d).version||await cZ(a)||void 0}catch{}return cZ(a)}async function cZ(a){let b=await cX();if(b)return({...b.dependencies,...b.devDependencies,...b.peerDependencies})[a]}async function c$(){return(await cX())?.name}async function c_(){try{let a,b,c=cS.cpus();return{deploymentVendor:(a=process.env,(b=(...b)=>b.some(b=>!!a[b]))("CF_PAGES","CF_PAGES_URL","CF_ACCOUNT_ID")||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent?"cloudflare":b("VERCEL","VERCEL_URL","VERCEL_ENV")?"vercel":b("NETLIFY","NETLIFY_URL")?"netlify":b("RENDER","RENDER_URL","RENDER_INTERNAL_HOSTNAME","RENDER_SERVICE_ID")?"render":b("AWS_LAMBDA_FUNCTION_NAME","AWS_EXECUTION_ENV","LAMBDA_TASK_ROOT")?"aws":b("GOOGLE_CLOUD_FUNCTION_NAME","GOOGLE_CLOUD_PROJECT","GCP_PROJECT","K_SERVICE")?"gcp":b("AZURE_FUNCTION_NAME","FUNCTIONS_WORKER_RUNTIME","WEBSITE_INSTANCE_ID","WEBSITE_SITE_NAME")?"azure":b("DENO_DEPLOYMENT_ID","DENO_REGION")?"deno-deploy":b("FLY_APP_NAME","FLY_REGION","FLY_ALLOC_ID")?"fly-io":b("RAILWAY_STATIC_URL","RAILWAY_ENVIRONMENT_NAME")?"railway":b("DYNO","HEROKU_APP_NAME")?"heroku":b("DO_DEPLOYMENT_ID","DO_APP_NAME","DIGITALOCEAN")?"digitalocean":b("KOYEB","KOYEB_DEPLOYMENT_ID","KOYEB_APP_NAME")?"koyeb":null),systemPlatform:cS.platform(),systemRelease:cS.release(),systemArchitecture:cS.arch(),cpuCount:c.length,cpuModel:c.length?c[0].model:null,cpuSpeed:c.length?c[0].speed:null,memory:cS.totalmem(),isWSL:await c5(),isDocker:await c2(),isTTY:process.stdout?process.stdout.isTTY:null}}catch{return{systemPlatform:null,systemRelease:null,systemArchitecture:null,cpuCount:null,cpuModel:null,cpuSpeed:null,memory:null,isWSL:null,isDocker:null,isTTY:null}}}async function c0(){try{return cQ.statSync("/.dockerenv"),!0}catch{return!1}}async function c1(){try{return cQ.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}async function c2(){return void 0===f&&(f=await c0()||await c1()),f}let c3=async()=>{try{return cQ.statSync("/run/.containerenv"),!0}catch{return!1}};async function c4(){return void 0===g&&(g=await c3()||await c2()),g}async function c5(){try{if("linux"!==process.platform)return!1;if(cS.release().toLowerCase().includes("microsoft")){if(await c4())return!1;return!0}return!!cQ.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")&&!await c4()}catch{return!1}}let c6=null;async function c7(a){if(c6)return c6;let b=await c$();return b?c6=await cW(a?a+b:b):a?c6=await cW(a):c6=(0,cU.q)("a-z","A-Z","0-9")(32)}async function c8(){for(let[a,b]of Object.entries({pg:"postgresql",mysql:"mysql",mariadb:"mariadb",sqlite3:"sqlite","better-sqlite3":"sqlite","@prisma/client":"prisma",mongoose:"mongodb",mongodb:"mongodb","drizzle-orm":"drizzle"})){let c=await cY(a);if(c)return{name:b,version:c}}}async function c9(){for(let[a,b]of Object.entries({next:"next",nuxt:"nuxt","react-router":"react-router",astro:"astro","@sveltejs/kit":"sveltekit","solid-start":"solid-start","tanstack-start":"tanstack-start",hono:"hono",express:"express",elysia:"elysia",expo:"expo"})){let c=await cY(a);if(c)return{name:b,version:c}}}let da=async function(){};async function db(a,b){let c,d=a.telemetry?.debug||(0,G.$F)("BETTER_AUTH_TELEMETRY_DEBUG",!1),e=G.Km.BETTER_AUTH_TELEMETRY_ENDPOINT;if(!e&&!b?.customTrack)return{publish:da};let f=async a=>{b?.customTrack?await b.customTrack(a).catch(k.vF.error):e&&(d?k.vF.info("telemetry event",JSON.stringify(a,null,2)):await bD(e,{method:"POST",body:a}).catch(k.vF.error))},g=async()=>{let c=a.telemetry?.enabled!==void 0&&a.telemetry.enabled;return((0,G.$F)("BETTER_AUTH_TELEMETRY",!1)||c)&&(b?.skipTestCheck||!(0,G.Nu)())},h=await g();return h&&(c=await c7("string"==typeof a.baseURL?a.baseURL:void 0),f({type:"init",payload:{config:await cV(a,b),runtime:"u">typeof Deno?{name:"deno",version:Deno?.version?.deno??null}:"u">typeof Bun?{name:"bun",version:Bun?.version??null}:"u">typeof process&&process?.versions?.node?{name:"node",version:process.versions.node??null}:{name:"edge",version:null},database:await c8(),framework:await c9(),environment:"production"===(0,G.lh)("NODE_ENV")?"production":"false"!==G._K.CI&&("BUILD_ID"in G._K||"BUILD_NUMBER"in G._K||"CI"in G._K||"CI_APP_ID"in G._K||"CI_BUILD_ID"in G._K||"CI_BUILD_NUMBER"in G._K||"CI_NAME"in G._K||"CONTINUOUS_INTEGRATION"in G._K||"RUN_ID"in G._K)?"ci":(0,G.Nu)()?"test":"development",systemInfo:await c_(),packageManager:function(){let a=G._K.npm_config_user_agent;if(!a)return;let b=a.split(" ")[0],c=b.lastIndexOf("/"),d=b.substring(0,c);return{name:"npminstall"===d?"cnpm":d,version:b.substring(c+1)}}()},anonymousId:c})),{publish:async b=>{h&&(c||(c=await c7("string"==typeof a.baseURL?a.baseURL:void 0)),await f({type:b.type,payload:b.payload,anonymousId:c}))}}}async function dc(a,b,c){let d,e,f,g,h=(0,y.n)(b);h||(b=ae(b,{session:{cookieCache:{enabled:!0,strategy:"jwe",refreshCache:!0,maxAge:b.session?.expiresIn||604800}}})),b.database||(b=ae(b,{account:{storeAccountCookie:!0}}));let i=b.plugins||[],l=(s=b,s.advanced?.crossSubDomainCookies?.enabled,[]),n=(0,k.h)(b.logger),o=(0,v.QQ)(b.baseURL);if((0,v.QQ)(b.baseURL)){let{allowedHosts:a}=b.baseURL;if(!a||0===a.length)throw new m.$l('baseURL.allowedHosts cannot be empty. Provide at least one allowed host pattern (e.g., ["myapp.com", "*.vercel.app"]).')}let p=o?void 0:(0,v.vo)("string"==typeof b.baseURL?b.baseURL:void 0,b.basePath);p||o||n.warn("[better-auth] Base URL is not set. Set the baseURL option or BETTER_AUTH_URL env, or use a dynamic baseURL with allowedHosts for multi-host setups. Without it the origin is derived from the incoming request, and callbacks and redirects may not work correctly."),"memory"===a.id&&b.advanced?.database?.generateId===!1&&n.error(`[better-auth] Misconfiguration detected.
470
+ You are using the memory DB with generateId: false.
471
+ This will cause no id to be generated for any model.
472
+ Most of the features of Better Auth will not work correctly.`);let q=b.secrets??((t=G._K.BETTER_AUTH_SECRETS)?t.split(",").map(a=>{let b=(a=a.trim()).indexOf(":");if(-1===b)throw new m.$l(`Invalid BETTER_AUTH_SECRETS entry: "${a}". Expected format: "<version>:<secret>"`);let c=parseInt(a.slice(0,b),10);if(!Number.isInteger(c)||c<0)throw new m.$l(`Invalid version in BETTER_AUTH_SECRETS: "${a.slice(0,b)}". Version must be a non-negative integer.`);let d=a.slice(b+1).trim();if(!d)throw new m.$l(`Empty secret value for version ${c} in BETTER_AUTH_SECRETS.`);return{version:c,value:d}}):null),r=b.secret||G._K.BETTER_AUTH_SECRET||G._K.AUTH_SECRET||"";if(q)!function(a,b){var c;let d;if(0===a.length)throw new m.$l("`secrets` array must contain at least one entry.");let e=new Set;for(let b of a){let a=parseInt(String(b.version),10);if(!Number.isInteger(a)||a<0||String(a)!==String(b.version).trim())throw new m.$l(`Invalid version ${b.version} in \`secrets\`. Version must be a non-negative integer.`);if(!b.value)throw new m.$l(`Empty secret value for version ${a} in \`secrets\`.`);if(e.has(a))throw new m.$l(`Duplicate version ${a} in \`secrets\`. Each version must be unique.`);e.add(a)}let f=a[0];f.value.length<32&&b.warn(`[better-auth] Warning: the current secret (version ${f.version}) should be at least 32 characters long for adequate security.`),120>(0===(d=new Set(c=f.value).size)?0:Math.log2(Math.pow(d,c.length)))&&b.warn("[better-auth] Warning: the current secret appears low-entropy. Use a randomly generated secret for production.")}(q,n),d=q[0].value,e=function(a,b){let c=new Map;for(let b of a)c.set(parseInt(String(b.version),10),b.value);return{keys:c,currentVersion:parseInt(String(a[0].version),10),legacySecret:b&&"better-auth-secret-12345678901234567890"!==b?b:void 0}}(q,r);else{var s,t,u=d=r||"better-auth-secret-12345678901234567890";let a="better-auth-secret-12345678901234567890"===u;if(!(0,G.Nu)()){let b;if(a&&G.KV)throw new m.$l("You are using the default secret. Please set `BETTER_AUTH_SECRET` in your environment variables or pass `secret` in your auth config.");if(!u)throw new m.$l("BETTER_AUTH_SECRET is missing. Set it in your environment or pass `secret` to betterAuth({ secret }).");u.length<32&&n.warn("[better-auth] Warning: your BETTER_AUTH_SECRET should be at least 32 characters long for adequate security. Generate one with `npx auth secret` or `openssl rand -base64 32`."),120>(0===(b=new Set(u).size)?0:Math.log2(Math.pow(b,u.length)))&&n.warn("[better-auth] Warning: your BETTER_AUTH_SECRET appears low-entropy. Use a randomly generated secret for production.")}e=d}!function(a,b){let c=new Map;a.plugins?.forEach(a=>{if(a.endpoints){for(let[b,d]of Object.entries(a.endpoints))if(d&&"path"in d&&"string"==typeof d.path){let e=d.path,f=[];d.options&&"method"in d.options&&(Array.isArray(d.options.method)?f=d.options.method:"string"==typeof d.options.method&&(f=[d.options.method])),0===f.length&&(f=["*"]),c.has(e)||c.set(e,[]),c.get(e).push({pluginId:a.id,endpointKey:b,methods:f})}}});let d=[];for(let[a,b]of c.entries())if(b.length>1){let c=new Map,e=!1;for(let a of b)for(let d of a.methods)c.has(d)||c.set(d,[]),c.get(d).push(a.pluginId),c.get(d).length>1&&(e=!0),"*"===d&&b.length>1?e=!0:"*"!==d&&c.has("*")&&(e=!0);if(e){let e=[...new Set(b.map(a=>a.pluginId))],f=[];for(let[a,d]of c.entries())(d.length>1||"*"===a&&b.length>1||"*"!==a&&c.has("*"))&&f.push(a);d.push({path:a,plugins:e,conflictingMethods:f})}}if(d.length>0){let a=d.map(a=>` - "${a.path}" [${a.conflictingMethods.join(", ")}] used by plugins: ${a.plugins.join(", ")}`).join("\n");b.error(`Endpoint path conflicts detected! Multiple plugins are trying to use the same endpoint paths with conflicting HTTP methods:
473
+ ${a}
474
+
475
+ To resolve this, you can:
476
+ 1. Use only one of the conflicting plugins
477
+ 2. Configure the plugins to use different paths (if supported)
478
+ 3. Ensure plugins use different HTTP methods for the same path
479
+ `)}}(b={...b,secret:d,baseURL:o?b.baseURL:p?new URL(p).origin:"",basePath:b.basePath||"/api/auth",plugins:i.concat(l)},n);let w=(0,F.OR)(b),A=(0,j.y)(b),B=(await Promise.all(Object.entries(b.socialProviders||{}).map(async([a,b])=>{let c="function"==typeof b?await b():b;if(null==c||!1===c.enabled)return null;c.clientId||n.warn(`Social provider ${a} is missing clientId or clientSecret`);let d=b6[a](c);return d.disableImplicitSignUp=c.disableImplicitSignUp,d}))).filter(a=>null!==a),D=({model:a,size:c})=>{if("function"==typeof b.advanced?.generateId)return b.advanced.generateId({model:a,size:c});let d=b?.advanced?.database?.generateId;return"function"==typeof d?d({model:a,size:c}):"uuid"===d?crypto.randomUUID():"serial"!==d&&!1!==d&&(0,$.$)(c)},{publish:H}=await db(b,{adapter:a.id,database:"function"==typeof b.database?"adapter":c(b.database)}),I=new Set(b.plugins.map(a=>a.id)),J=await am(b),K=await aq(b),L={appName:b.appName||"Better Auth",baseURL:p||"",version:(0,cP.H)(),socialProviders:B,options:b,oauthConfig:{storeStateStrategy:b.account?.storeStateStrategy||(h?"database":"cookie"),skipStateCookieCheck:!!b.account?.skipStateCookieCheck},tables:A,trustedOrigins:J,trustedProviders:K,isTrustedOrigin(a,b){return this.trustedOrigins.some(c=>x(a,c,b))},sessionConfig:{updateAge:b.session?.updateAge!==void 0?b.session.updateAge:86400,expiresIn:b.session?.expiresIn||604800,freshAge:b.session?.freshAge===void 0?86400:b.session.freshAge,cookieRefreshCache:(f=b.session?.cookieCache?.refreshCache,g=b.session?.cookieCache?.maxAge||300,h&&f?(n.warn("[better-auth] `session.cookieCache.refreshCache` is enabled while `database` or `secondaryStorage` is configured. `refreshCache` is meant for stateless (DB-less) setups. Disabling `refreshCache` — remove it from your config to silence this warning."),!1):!1!==f&&void 0!==f&&(!0===f?{enabled:!0,updateAge:Math.floor(.2*g)}:{enabled:!0,updateAge:void 0!==f.updateAge?f.updateAge:Math.floor(.2*g)}))},secret:d,secretConfig:e,rateLimit:{...b.rateLimit,enabled:b.rateLimit?.enabled??G.KV,window:b.rateLimit?.window||10,max:b.rateLimit?.max||100,storage:b.rateLimit?.storage||(b.secondaryStorage?"secondary-storage":"memory")},authCookies:w,logger:n,generateId:D,session:null,secondaryStorage:b.secondaryStorage,password:{hash:b.emailAndPassword?.password?.hash||C,verify:b.emailAndPassword?.password?.verify||E,config:{minPasswordLength:b.emailAndPassword?.minPasswordLength||8,maxPasswordLength:b.emailAndPassword?.maxPasswordLength||128},checkPassword:ar.O7},setNewSession(a){this.newSession=a},newSession:null,adapter:a,internalAdapter:ab(a,{options:b,logger:n,hooks:b.databaseHooks?[{source:"user",hooks:b.databaseHooks}]:[],generateId:D}),createAuthCookie:(0,F.a6)(b),async runMigrations(){throw new m.$l("runMigrations will be set by the specific init implementation")},publishTelemetry:H,skipCSRFCheck:!!b.advanced?.disableCSRFCheck,skipOriginCheck:b.advanced?.disableOriginCheck!==void 0?b.advanced.disableOriginCheck:!!(0,G.Nu)(),runInBackground:b.advanced?.backgroundTasks?.handler??(a=>{a.catch(()=>{})}),async runInBackgroundOrAwait(a){try{b.advanced?.backgroundTasks?.handler?a instanceof Promise&&b.advanced.backgroundTasks.handler(a.catch(a=>{n.error("Failed to run background task:",a)})):await a}catch(a){n.error("Failed to run background task:",a)}},getPlugin:a=>b.plugins.find(b=>b.id===a)??null,hasPlugin:a=>I.has(a)},M=al(L);return(0,z.y)(M)&&await M,L}let dd=async a=>{let b=await n(a),c=await dc(b,a,a=>(0,o.dG)(a)||"unknown");return c.runMigrations=async function(){if(!a.database||"updateMany"in a.database)throw new m.$l("Database is not provided or it's an adapter. Migrations are only supported with a database instance.");let{runMigrations:b}=await u(a);await b()},c},de=a=>((a,b)=>{let c=b(a),{api:d}=cO(c,a);return{handler:async b=>{let d,e=await c,f=e.options.basePath||"/api/auth";if((0,v.QQ)(a.baseURL))d=await ao(e,b,an(e.options));else{d=Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e));let a=e.options;if(!e.options.baseURL){let c=(0,v.vo)(void 0,f,b,void 0,e.options.advanced?.trustedProxyHeaders);if(!c)throw new m.$l("Could not get base URL from request. Please provide a valid base URL.");d.baseURL=c,d.options={...e.options,baseURL:(0,v.$z)(c)||void 0},a=d.options}d.trustedOrigins=await am(a,b),d.trustedProviders=await aq(a,b)}let{handler:g}=((a,b)=>{let{api:c,middlewares:d}=cO(a,b),e=new URL(a.baseURL).pathname;return(0,cE.aE)(c,{routerContext:a,openapi:{disabled:!0},basePath:e,routerMiddleware:[{path:"/**",middleware:az},...d],allowedMediaTypes:["application/json"],skipTrailingSlashes:b.advanced?.skipTrailingSlashes??!1,async onRequest(b){let c=a.options.disabledPaths||[],d=au(b.url,e);if(c.includes(d))return new Response("Not Found",{status:404});let f=b;for(let b of a.options.plugins||[])if(b.onRequest){let c=await (0,V.f)(`onRequest ${b.id}`,{[X]:"onRequest",[Y]:`plugin:${b.id}`},()=>b.onRequest(f,a));if(c&&"response"in c)return c.response;c&&"request"in c&&(f=c.request)}let g=await aL(f,a);return g||f},async onResponse(b,c){for(let c of a.options.plugins||[])if(c.onResponse){let d=await (0,V.f)(`onResponse ${c.id}`,{[X]:"onResponse",[Y]:`plugin:${c.id}`,[Z.OR]:b.status},()=>c.onResponse(b,a));if(d)return d.response}return b},onError(c){if((0,as.h)(c)&&"FOUND"===c.status)return;if(b.onAPIError?.throw)throw c;if(b.onAPIError?.onError)return void b.onAPIError.onError(c,a);let d=b.logger?.level,e="error"===d||"warn"===d||"debug"===d?k.vF:void 0;if(b.logger?.disabled!==!0){if(c&&"object"==typeof c&&"message"in c&&"string"==typeof c.message&&(c.message.includes("no column")||c.message.includes("column")||c.message.includes("relation")||c.message.includes("table")||c.message.includes("does not exist")))return void a.logger?.error(c.message);(0,as.h)(c)?("INTERNAL_SERVER_ERROR"===c.status&&a.logger.error(c.status,c),e?.error(c.message)):a.logger?.error(c&&"object"==typeof c&&"name"in c?c.name:"",c)}}})})(d,a);return(0,U.vp)(d.adapter,()=>g(b))},api:d,options:a,$context:c,$ERROR_CODES:{...a.plugins?.reduce((a,b)=>b.$ERROR_CODES?{...a,...b.$ERROR_CODES}:a,{}),...at.q}}})(a,dd)},95604:(a,b,c)=>{var d;function e(a,b,c){function d(c,d){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:d,constr:g,traits:new Set},enumerable:!1}),c._zod.traits.has(a))return;c._zod.traits.add(a),b(c,d);let e=g.prototype,f=Object.keys(e);for(let a=0;a<f.length;a++){let b=f[a];b in c||(c[b]=e[b].bind(c))}}let e=c?.Parent??Object;class f extends e{}function g(a){var b;let e=c?.Parent?new f:this;for(let c of(d(e,a),(b=e._zod).deferred??(b.deferred=[]),e._zod.deferred))c();return e}return Object.defineProperty(f,"name",{value:a}),Object.defineProperty(g,"init",{value:d}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>!!c?.Parent&&b instanceof c.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(g,"name",{value:a}),g}c.d(b,{$W:()=>i,GT:()=>f,cV:()=>g,cr:()=>h,xI:()=>e}),Symbol("zod_brand");class f extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class g extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}(d=globalThis).__zod_globalConfig??(d.__zod_globalConfig={});let h=globalThis.__zod_globalConfig;function i(a){return a&&Object.assign(h,a),h}},96031:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReflectAdapter",{enumerable:!0,get:function(){return c}});class c{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},96640:(a,b,c)=>{c.d(b,{B:()=>f,q:()=>g});var d=c(4362),e=c(6881);function f(a){return(0,e.Gv)(a)&&"expressionType"in a&&(0,d.N)(a)}function g(a){return(0,e.Gv)(a)&&"expression"in a&&(0,e.Kg)(a.alias)&&(0,d.N)(a)}},98227:(a,b,c)=>{c.d(b,{$O:()=>x,$S:()=>_,Au:()=>P,Be:()=>k,Bj:()=>s,Ct:()=>t,Dl:()=>q,ER:()=>aa,Eb:()=>U,F7:()=>I,Fk:()=>X,Fn:()=>o,G1:()=>E,G8:()=>O,Hi:()=>T,Il:()=>ae,KA:()=>M,KB:()=>C,K_:()=>h,Kn:()=>G,LK:()=>J,MB:()=>aj,Mu:()=>i,Ny:()=>w,Pw:()=>u,Rl:()=>g,TL:()=>ag,Tx:()=>R,Uy:()=>y,WN:()=>ad,YA:()=>W,Zm:()=>Q,_L:()=>K,_z:()=>v,aC:()=>p,bS:()=>ab,cU:()=>B,dN:()=>L,dR:()=>$,dZ:()=>ah,db:()=>F,em:()=>N,f2:()=>H,fU:()=>ai,fs:()=>r,gP:()=>z,hH:()=>Y,lo:()=>ac,m9:()=>V,mI:()=>al,nA:()=>l,pY:()=>m,q0:()=>ak,qF:()=>Z,qm:()=>S,rk:()=>D,rt:()=>A,tB:()=>j,wA:()=>n,xY:()=>af});var d=c(41538),e=c(16844),f=c(23781);function g(a,b){return new a({type:"string",...f.A2(b)})}function h(a,b){return new a({type:"string",coerce:!0,...f.A2(b)})}function i(a,b){return new a({type:"string",format:"email",check:"string_format",abort:!1,...f.A2(b)})}function j(a,b){return new a({type:"string",format:"guid",check:"string_format",abort:!1,...f.A2(b)})}function k(a,b){return new a({type:"string",format:"uuid",check:"string_format",abort:!1,...f.A2(b)})}function l(a,b){return new a({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...f.A2(b)})}function m(a,b){return new a({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...f.A2(b)})}function n(a,b){return new a({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...f.A2(b)})}function o(a,b){return new a({type:"string",format:"url",check:"string_format",abort:!1,...f.A2(b)})}function p(a,b){return new a({type:"string",format:"emoji",check:"string_format",abort:!1,...f.A2(b)})}function q(a,b){return new a({type:"string",format:"nanoid",check:"string_format",abort:!1,...f.A2(b)})}function r(a,b){return new a({type:"string",format:"cuid",check:"string_format",abort:!1,...f.A2(b)})}function s(a,b){return new a({type:"string",format:"cuid2",check:"string_format",abort:!1,...f.A2(b)})}function t(a,b){return new a({type:"string",format:"ulid",check:"string_format",abort:!1,...f.A2(b)})}function u(a,b){return new a({type:"string",format:"xid",check:"string_format",abort:!1,...f.A2(b)})}function v(a,b){return new a({type:"string",format:"ksuid",check:"string_format",abort:!1,...f.A2(b)})}function w(a,b){return new a({type:"string",format:"ipv4",check:"string_format",abort:!1,...f.A2(b)})}function x(a,b){return new a({type:"string",format:"ipv6",check:"string_format",abort:!1,...f.A2(b)})}function y(a,b){return new a({type:"string",format:"cidrv4",check:"string_format",abort:!1,...f.A2(b)})}function z(a,b){return new a({type:"string",format:"cidrv6",check:"string_format",abort:!1,...f.A2(b)})}function A(a,b){return new a({type:"string",format:"base64",check:"string_format",abort:!1,...f.A2(b)})}function B(a,b){return new a({type:"string",format:"base64url",check:"string_format",abort:!1,...f.A2(b)})}function C(a,b){return new a({type:"string",format:"e164",check:"string_format",abort:!1,...f.A2(b)})}function D(a,b){return new a({type:"string",format:"jwt",check:"string_format",abort:!1,...f.A2(b)})}function E(a,b){return new a({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...f.A2(b)})}function F(a,b){return new a({type:"string",format:"date",check:"string_format",...f.A2(b)})}function G(a,b){return new a({type:"string",format:"time",check:"string_format",precision:null,...f.A2(b)})}function H(a,b){return new a({type:"string",format:"duration",check:"string_format",...f.A2(b)})}function I(a,b){return new a({type:"number",checks:[],...f.A2(b)})}function J(a,b){return new a({type:"number",check:"number_format",abort:!1,format:"safeint",...f.A2(b)})}function K(a,b){return new a({type:"boolean",...f.A2(b)})}function L(a,b){return new a({type:"boolean",coerce:!0,...f.A2(b)})}function M(a){return new a({type:"any"})}function N(a){return new a({type:"unknown"})}function O(a,b){return new a({type:"never",...f.A2(b)})}function P(a,b){return new d.sm({check:"less_than",...f.A2(b),value:a,inclusive:!1})}function Q(a,b){return new d.sm({check:"less_than",...f.A2(b),value:a,inclusive:!0})}function R(a,b){return new d.J_({check:"greater_than",...f.A2(b),value:a,inclusive:!1})}function S(a,b){return new d.J_({check:"greater_than",...f.A2(b),value:a,inclusive:!0})}function T(a,b){return new d.Jk({check:"multiple_of",...f.A2(b),value:a})}function U(a,b){return new d.Yk({check:"max_length",...f.A2(b),maximum:a})}function V(a,b){return new d.Kk({check:"min_length",...f.A2(b),minimum:a})}function W(a,b){return new d.RM({check:"length_equals",...f.A2(b),length:a})}function X(a,b){return new d.DG({check:"string_format",format:"regex",...f.A2(b),pattern:a})}function Y(a){return new d.NI({check:"string_format",format:"lowercase",...f.A2(a)})}function Z(a){return new d.kH({check:"string_format",format:"uppercase",...f.A2(a)})}function $(a,b){return new d.Tt({check:"string_format",format:"includes",...f.A2(b),includes:a})}function _(a,b){return new d.J({check:"string_format",format:"starts_with",...f.A2(b),prefix:a})}function aa(a,b){return new d.E6({check:"string_format",format:"ends_with",...f.A2(b),suffix:a})}function ab(a){return new d.v$({check:"overwrite",tx:a})}function ac(a){return ab(b=>b.normalize(a))}function ad(){return ab(a=>a.trim())}function ae(){return ab(a=>a.toLowerCase())}function af(){return ab(a=>a.toUpperCase())}function ag(){return ab(a=>f.Yv(a))}function ah(a,b,c){return new a({type:"array",element:b,...f.A2(c)})}function ai(a,b,c){return new a({type:"custom",check:"custom",fn:b,...f.A2(c)})}function aj(a,b){var c,e;let g,h=(c=b=>(b.addIssue=a=>{"string"==typeof a?b.issues.push(f.sn(a,b.value,h._zod.def)):(a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=b.value),a.inst??(a.inst=h),a.continue??(a.continue=!h._zod.def.abort),b.issues.push(f.sn(a)))},a(b.value,b)),e=b,(g=new d.QP({check:"custom",...f.A2(e)}))._zod.check=c,g);return h}function ak(a){let b=new d.QP({check:"describe"});return b._zod.onattach=[b=>{let c=e.fd.get(b)??{};e.fd.add(b,{...c,description:a})}],b._zod.check=()=>{},b}function al(a){let b=new d.QP({check:"meta"});return b._zod.onattach=[b=>{let c=e.fd.get(b)??{};e.fd.add(b,{...c,...a})}],b._zod.check=()=>{},b}},98465:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},99002:(a,b,c)=>{c.d(b,{Is:()=>k});var d=c(39881),e=c(21836),f=c(20302),g=c(4362),h=c(66384),i=c(89328),j=c(72104);class k{#K;constructor(a){this.#K=a}get expressionType(){}as(a){return new l(this,a)}or(...a){return new m(h.K.create(this.#K,(0,j.GB)(a)))}and(...a){return new n(e.s.create(this.#K,(0,j.GB)(a)))}$castTo(){return new k(this.#K)}$notNull(){return new k(this.#K)}toOperationNode(){return this.#K}}class l{#a9;#ao;constructor(a,b){this.#a9=a,this.#ao=b}get expression(){return this.#a9}get alias(){return this.#ao}toOperationNode(){return d.N.create(this.#a9.toOperationNode(),(0,g.N)(this.#ao)?this.#ao.toOperationNode():f.O.create(this.#ao))}}class m{#K;constructor(a){this.#K=a}get expressionType(){}as(a){return new l(this,a)}or(...a){return new m(h.K.create(this.#K,(0,j.GB)(a)))}$castTo(){return new m(this.#K)}toOperationNode(){return i.k.create(this.#K)}}class n{#K;constructor(a){this.#K=a}get expressionType(){}as(a){return new l(this,a)}and(...a){return new n(e.s.create(this.#K,(0,j.GB)(a)))}$castTo(){return new n(this.#K)}toOperationNode(){return i.k.create(this.#K)}}},99051:(a,b,c)=>{let d=c(63033),e=c(29294),f=c(60257),g=c(93342),h=c(35253),i=c(77155),j=c(98465),k=c(12850);c(96031);new WeakMap;(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})},99408:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(34435),e=c(6881),f=c(55222);let g=(0,e.CN)({raw:(a,b=[])=>(0,e.CN)({sql:a,query:d.z.createWithSql(a),parameters:(0,e.CN)(b),queryId:(0,f.a)()})})},99449:(a,b,c)=>{c.d(b,{$F:()=>l,KV:()=>h,Km:()=>m,Nu:()=>j,_K:()=>f,lh:()=>k,yz:()=>i});let d=Object.create(null),e=a=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(a?d:globalThis),f=new Proxy(d,{get:(a,b)=>e()[b]??d[b],has:(a,b)=>b in e()||b in d,set:(a,b,c)=>(e(!0)[b]=c,!0),deleteProperty(a,b){if(!b)return!1;let c=e(!0);return delete c[b],!0},ownKeys:()=>Object.keys(e(!0))}),g=f.NODE_ENV??"",h="production"===g,i=()=>"dev"===g||"development"===g,j=()=>{var a;return"test"===g||!!(a=f.TEST)&&"false"!==a};function k(a,b){return"u">typeof process&&process.env?process.env[a]??b:"u">typeof Deno?Deno.env.get(a)??b:"u">typeof Bun?Bun.env[a]??b:b}function l(a,b=!0){let c=k(a);return c?"0"!==c&&"false"!==c.toLowerCase()&&""!==c:b}let m=Object.freeze({get BETTER_AUTH_SECRET(){return k("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return k("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return k("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return k("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return k("NODE_ENV","development")},get PACKAGE_VERSION(){return k("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return k("BETTER_AUTH_TELEMETRY_ENDPOINT","")}})},99805:(a,b,c)=>{a.exports=c(53488).vendored["react-rsc"].ReactServerDOMWebpackServer},99815:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return d}});class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class d extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},99988:(a,b,c)=>{c.d(b,{q:()=>e});var d=c(6881);let e=(0,d.CN)({is:a=>"ValueNode"===a.kind,create:a=>(0,d.CN)({kind:"ValueNode",value:a}),createImmediate:a=>(0,d.CN)({kind:"ValueNode",value:a,immediate:!0})})}};