@tempoxyz/id 0.0.0-stage → 0.0.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 (712) hide show
  1. package/README.md +80 -2
  2. package/dist/App.d.ts +20 -0
  3. package/dist/App.d.ts.map +1 -0
  4. package/dist/App.js +26 -0
  5. package/dist/App.js.map +1 -0
  6. package/dist/app/client/.assetsignore +2 -0
  7. package/dist/app/client/assets/BRLA-CZvVDNYr.png +0 -0
  8. package/dist/app/client/assets/CHFAU-DCedc4aH.png +0 -0
  9. package/dist/app/client/assets/DLUSD-BnRXm3EI.png +0 -0
  10. package/dist/app/client/assets/PRIME-CiFp2-3e.svg +14 -0
  11. package/dist/app/client/assets/Pilat-Bold-C1t1eIrF.woff2 +0 -0
  12. package/dist/app/client/assets/Pilat-Book-CbS8ofT8.woff2 +0 -0
  13. package/dist/app/client/assets/Pilat-Demi-CADSbPAt.woff2 +0 -0
  14. package/dist/app/client/assets/Pilat-Regular-Bx8vzE7q.woff2 +0 -0
  15. package/dist/app/client/assets/USD1-COVcO_PB.svg +30 -0
  16. package/dist/app/client/assets/YLDS-CRh8Zw0g.svg +3 -0
  17. package/dist/app/client/assets/ccip-Cq1mMiVl.js +1 -0
  18. package/dist/app/client/assets/frxUSD-n9pTpinR.svg +1 -0
  19. package/dist/app/client/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  20. package/dist/app/client/assets/index-B7YJVP00.css +1 -0
  21. package/dist/app/client/assets/index-UXTxXCLk.js +55 -0
  22. package/dist/app/client/assets/pathUSD-BvaO6ooS.svg +25 -0
  23. package/dist/app/client/assets/reset-co-CHrff.css +1 -0
  24. package/dist/app/client/assets/wYLDS-CaCKDrO-.svg +10 -0
  25. package/dist/app/db/auth.d.ts +3207 -0
  26. package/dist/app/db/auth.d.ts.map +1 -0
  27. package/dist/app/db/auth.js +330 -0
  28. package/dist/app/db/auth.js.map +1 -0
  29. package/dist/app/db/schema.d.ts +932 -0
  30. package/dist/app/db/schema.d.ts.map +1 -0
  31. package/dist/app/db/schema.js +171 -0
  32. package/dist/app/db/schema.js.map +1 -0
  33. package/dist/app/server/.vite/manifest.json +489 -0
  34. package/dist/app/server/assets/BRLA-CZvVDNYr.png +0 -0
  35. package/dist/app/server/assets/CHFAU-DCedc4aH.png +0 -0
  36. package/dist/app/server/assets/DLUSD-BnRXm3EI.png +0 -0
  37. package/dist/app/server/assets/PRIME-CiFp2-3e.svg +14 -0
  38. package/dist/app/server/assets/Pilat-Bold-C1t1eIrF.woff2 +0 -0
  39. package/dist/app/server/assets/Pilat-Book-CbS8ofT8.woff2 +0 -0
  40. package/dist/app/server/assets/Pilat-Demi-CADSbPAt.woff2 +0 -0
  41. package/dist/app/server/assets/Pilat-Regular-Bx8vzE7q.woff2 +0 -0
  42. package/dist/app/server/assets/USD1-COVcO_PB.svg +30 -0
  43. package/dist/app/server/assets/YLDS-CRh8Zw0g.svg +3 -0
  44. package/dist/app/server/assets/_tanstack-start-manifest_v-11GtFGrq.js +1 -0
  45. package/dist/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js +2 -0
  46. package/dist/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js.map +1 -0
  47. package/dist/app/server/assets/authorize-C95F-9E1-CbESJKGU.js +31 -0
  48. package/dist/app/server/assets/authorize-C95F-9E1-CbESJKGU.js.map +1 -0
  49. package/dist/app/server/assets/bun-sqlite-dialect-DoOVo4ja-CtyBkVMb.js +2 -0
  50. package/dist/app/server/assets/bun-sqlite-dialect-DoOVo4ja-CtyBkVMb.js.map +1 -0
  51. package/dist/app/server/assets/call-UQamaCKN.js +32 -0
  52. package/dist/app/server/assets/call-UQamaCKN.js.map +1 -0
  53. package/dist/app/server/assets/ccip-CbNKFO4n.js +2 -0
  54. package/dist/app/server/assets/ccip-CbNKFO4n.js.map +1 -0
  55. package/dist/app/server/assets/compiled-query-Ds2NVcFT.js +2 -0
  56. package/dist/app/server/assets/compiled-query-Ds2NVcFT.js.map +1 -0
  57. package/dist/app/server/assets/convert-BIC8n32x.js +2 -0
  58. package/dist/app/server/assets/convert-BIC8n32x.js.map +1 -0
  59. package/dist/app/server/assets/cookie-CS900nSP.css +1 -0
  60. package/dist/app/server/assets/cookie-Cce9CrIP.js +10 -0
  61. package/dist/app/server/assets/cookie-Cce9CrIP.js.map +1 -0
  62. package/dist/app/server/assets/core-B1HCXUmx.js +56 -0
  63. package/dist/app/server/assets/core-B1HCXUmx.js.map +1 -0
  64. package/dist/app/server/assets/d1-sqlite-dialect-m0f01-4z-Cv-csE1u.js +2 -0
  65. package/dist/app/server/assets/d1-sqlite-dialect-m0f01-4z-Cv-csE1u.js.map +1 -0
  66. package/dist/app/server/assets/default-u_dwuiYb-BJJ9PwCi.js +2 -0
  67. package/dist/app/server/assets/default-u_dwuiYb-BJJ9PwCi.js.map +1 -0
  68. package/dist/app/server/assets/dist-BxSwugSY.js +1 -0
  69. package/dist/app/server/assets/dist-CZGFhmQd.js +2 -0
  70. package/dist/app/server/assets/dist-CZGFhmQd.js.map +1 -0
  71. package/dist/app/server/assets/dist-Dg3PQqiW.js +15 -0
  72. package/dist/app/server/assets/dist-Dg3PQqiW.js.map +1 -0
  73. package/dist/app/server/assets/effect-QlVUlMFu-2tSPDT2b.js +2 -0
  74. package/dist/app/server/assets/effect-QlVUlMFu-2tSPDT2b.js.map +1 -0
  75. package/dist/app/server/assets/empty-plugin-adapters-BaGcmrjC.js +2 -0
  76. package/dist/app/server/assets/empty-plugin-adapters-BaGcmrjC.js.map +1 -0
  77. package/dist/app/server/assets/factory-ipHlJXZY.js +5 -0
  78. package/dist/app/server/assets/factory-ipHlJXZY.js.map +1 -0
  79. package/dist/app/server/assets/frxUSD-n9pTpinR.svg +1 -0
  80. package/dist/app/server/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  81. package/dist/app/server/assets/get-id-field-B0x109VU.js +6 -0
  82. package/dist/app/server/assets/get-id-field-B0x109VU.js.map +1 -0
  83. package/dist/app/server/assets/index-CLddUTqr-xpSuLpBt.js +2 -0
  84. package/dist/app/server/assets/index-CLddUTqr-xpSuLpBt.js.map +1 -0
  85. package/dist/app/server/assets/index-DZEfthgZ-8Uq5s5Pt.js +2 -0
  86. package/dist/app/server/assets/index-DZEfthgZ-8Uq5s5Pt.js.map +1 -0
  87. package/dist/app/server/assets/kysely-adapter-MkHAI9Jk.js +1 -0
  88. package/dist/app/server/assets/node-sqlite-dialect-BowWLXvK.js +2 -0
  89. package/dist/app/server/assets/node-sqlite-dialect-BowWLXvK.js.map +1 -0
  90. package/dist/app/server/assets/pathUSD-BvaO6ooS.svg +25 -0
  91. package/dist/app/server/assets/reset-co-CHrff.css +1 -0
  92. package/dist/app/server/assets/rolldown-runtime-B0Z9INg1.js +1 -0
  93. package/dist/app/server/assets/router-CcbyBCI4.css +1 -0
  94. package/dist/app/server/assets/router-xjZtEeaI.js +7 -0
  95. package/dist/app/server/assets/router-xjZtEeaI.js.map +1 -0
  96. package/dist/app/server/assets/schema-check-Cf7QOZZD.js +9 -0
  97. package/dist/app/server/assets/schema-check-Cf7QOZZD.js.map +1 -0
  98. package/dist/app/server/assets/schemas-C2lCYmR5.js +2 -0
  99. package/dist/app/server/assets/schemas-C2lCYmR5.js.map +1 -0
  100. package/dist/app/server/assets/secp256k1-buM5g4AL.js +2 -0
  101. package/dist/app/server/assets/secp256k1-buM5g4AL.js.map +1 -0
  102. package/dist/app/server/assets/sqlite-adapter-C_LAV4e3.js +2 -0
  103. package/dist/app/server/assets/sqlite-adapter-C_LAV4e3.js.map +1 -0
  104. package/dist/app/server/assets/sqlite-introspector-DSCAP82F-Crx7Ny14.js +6 -0
  105. package/dist/app/server/assets/sqlite-introspector-DSCAP82F-Crx7Ny14.js.map +1 -0
  106. package/dist/app/server/assets/standard-json-Cg1N07hM.js +2 -0
  107. package/dist/app/server/assets/standard-json-Cg1N07hM.js.map +1 -0
  108. package/dist/app/server/assets/standard-json-DY77efq0.js +2 -0
  109. package/dist/app/server/assets/standard-json-DY77efq0.js.map +1 -0
  110. package/dist/app/server/assets/standard-json-ig2t0wRt.js +2 -0
  111. package/dist/app/server/assets/standard-json-ig2t0wRt.js.map +1 -0
  112. package/dist/app/server/assets/standard-json-t-LNckA6.js +2 -0
  113. package/dist/app/server/assets/standard-json-t-LNckA6.js.map +1 -0
  114. package/dist/app/server/assets/standard-openapi-CONmVRl8.js +2 -0
  115. package/dist/app/server/assets/standard-openapi-CONmVRl8.js.map +1 -0
  116. package/dist/app/server/assets/start-C63VetBp.js +2 -0
  117. package/dist/app/server/assets/start-C63VetBp.js.map +1 -0
  118. package/dist/app/server/assets/sury-CWZTCd75-xt1mWc9f.js +2 -0
  119. package/dist/app/server/assets/sury-CWZTCd75-xt1mWc9f.js.map +1 -0
  120. package/dist/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js +2 -0
  121. package/dist/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js.map +1 -0
  122. package/dist/app/server/assets/utils-C4ZXZIZW.js +2 -0
  123. package/dist/app/server/assets/utils-C4ZXZIZW.js.map +1 -0
  124. package/dist/app/server/assets/valibot--1zFm7rT-NSoY2xTp.js +2 -0
  125. package/dist/app/server/assets/valibot--1zFm7rT-NSoY2xTp.js.map +1 -0
  126. package/dist/app/server/assets/valibot-D_HTw1Gn-CJwWeOUE.js +2 -0
  127. package/dist/app/server/assets/valibot-D_HTw1Gn-CJwWeOUE.js.map +1 -0
  128. package/dist/app/server/assets/wYLDS-CaCKDrO-.svg +10 -0
  129. package/dist/app/server/assets/zod-Bwrt9trS-CV38yPnQ.js +2 -0
  130. package/dist/app/server/assets/zod-Bwrt9trS-CV38yPnQ.js.map +1 -0
  131. package/dist/app/server/assets/zod-DSgpEGAE-BvlnBE2L.js +2 -0
  132. package/dist/app/server/assets/zod-DSgpEGAE-BvlnBE2L.js.map +1 -0
  133. package/dist/app/server/index.js +574 -0
  134. package/dist/app/server/index.js.map +1 -0
  135. package/dist/app/server/wrangler.json +1 -0
  136. package/dist/cli/Admin.d.ts +38 -0
  137. package/dist/cli/Admin.d.ts.map +1 -0
  138. package/dist/cli/Admin.js +62 -0
  139. package/dist/cli/Admin.js.map +1 -0
  140. package/dist/cli/Apps.d.ts +9 -0
  141. package/dist/cli/Apps.d.ts.map +1 -0
  142. package/dist/cli/Apps.js +36 -0
  143. package/dist/cli/Apps.js.map +1 -0
  144. package/dist/cli/Cli.d.ts +14 -0
  145. package/dist/cli/Cli.d.ts.map +1 -0
  146. package/dist/cli/Cli.js +27 -0
  147. package/dist/cli/Cli.js.map +1 -0
  148. package/dist/cli/Project.d.ts +20 -0
  149. package/dist/cli/Project.d.ts.map +1 -0
  150. package/dist/cli/Project.js +88 -0
  151. package/dist/cli/Project.js.map +1 -0
  152. package/dist/cli/Realms.d.ts +24 -0
  153. package/dist/cli/Realms.d.ts.map +1 -0
  154. package/dist/cli/Realms.js +49 -0
  155. package/dist/cli/Realms.js.map +1 -0
  156. package/dist/cli/Session.d.ts +85 -0
  157. package/dist/cli/Session.d.ts.map +1 -0
  158. package/dist/cli/Session.js +178 -0
  159. package/dist/cli/Session.js.map +1 -0
  160. package/dist/cli/User.d.ts +29 -0
  161. package/dist/cli/User.d.ts.map +1 -0
  162. package/dist/cli/User.js +39 -0
  163. package/dist/cli/User.js.map +1 -0
  164. package/dist/cli/V1.d.ts +35 -0
  165. package/dist/cli/V1.d.ts.map +1 -0
  166. package/dist/cli/V1.js +41 -0
  167. package/dist/cli/V1.js.map +1 -0
  168. package/dist/cli/bin.d.ts +3 -0
  169. package/dist/cli/bin.d.ts.map +1 -0
  170. package/dist/cli/bin.js +46 -0
  171. package/dist/cli/bin.js.map +1 -0
  172. package/dist/cli/commands/admin/apps/create.d.ts +23 -0
  173. package/dist/cli/commands/admin/apps/create.d.ts.map +1 -0
  174. package/dist/cli/commands/admin/apps/create.js +89 -0
  175. package/dist/cli/commands/admin/apps/create.js.map +1 -0
  176. package/dist/cli/commands/admin/apps/delete.d.ts +14 -0
  177. package/dist/cli/commands/admin/apps/delete.d.ts.map +1 -0
  178. package/dist/cli/commands/admin/apps/delete.js +41 -0
  179. package/dist/cli/commands/admin/apps/delete.js.map +1 -0
  180. package/dist/cli/commands/admin/apps/index.d.ts +5 -0
  181. package/dist/cli/commands/admin/apps/index.d.ts.map +1 -0
  182. package/dist/cli/commands/admin/apps/index.js +14 -0
  183. package/dist/cli/commands/admin/apps/index.js.map +1 -0
  184. package/dist/cli/commands/admin/apps/list.d.ts +9 -0
  185. package/dist/cli/commands/admin/apps/list.d.ts.map +1 -0
  186. package/dist/cli/commands/admin/apps/list.js +26 -0
  187. package/dist/cli/commands/admin/apps/list.js.map +1 -0
  188. package/dist/cli/commands/admin/apps/rotate-secret.d.ts +16 -0
  189. package/dist/cli/commands/admin/apps/rotate-secret.d.ts.map +1 -0
  190. package/dist/cli/commands/admin/apps/rotate-secret.js +47 -0
  191. package/dist/cli/commands/admin/apps/rotate-secret.js.map +1 -0
  192. package/dist/cli/commands/admin/apps/update.d.ts +20 -0
  193. package/dist/cli/commands/admin/apps/update.d.ts.map +1 -0
  194. package/dist/cli/commands/admin/apps/update.js +76 -0
  195. package/dist/cli/commands/admin/apps/update.js.map +1 -0
  196. package/dist/cli/commands/admin/index.d.ts +5 -0
  197. package/dist/cli/commands/admin/index.d.ts.map +1 -0
  198. package/dist/cli/commands/admin/index.js +13 -0
  199. package/dist/cli/commands/admin/index.js.map +1 -0
  200. package/dist/cli/commands/admin/migrate.d.ts +9 -0
  201. package/dist/cli/commands/admin/migrate.d.ts.map +1 -0
  202. package/dist/cli/commands/admin/migrate.js +17 -0
  203. package/dist/cli/commands/admin/migrate.js.map +1 -0
  204. package/dist/cli/commands/admin/realms/add.d.ts +12 -0
  205. package/dist/cli/commands/admin/realms/add.d.ts.map +1 -0
  206. package/dist/cli/commands/admin/realms/add.js +42 -0
  207. package/dist/cli/commands/admin/realms/add.js.map +1 -0
  208. package/dist/cli/commands/admin/realms/index.d.ts +5 -0
  209. package/dist/cli/commands/admin/realms/index.d.ts.map +1 -0
  210. package/dist/cli/commands/admin/realms/index.js +13 -0
  211. package/dist/cli/commands/admin/realms/index.js.map +1 -0
  212. package/dist/cli/commands/admin/realms/list.d.ts +13 -0
  213. package/dist/cli/commands/admin/realms/list.d.ts.map +1 -0
  214. package/dist/cli/commands/admin/realms/list.js +36 -0
  215. package/dist/cli/commands/admin/realms/list.js.map +1 -0
  216. package/dist/cli/commands/admin/realms/passkeys/index.d.ts +5 -0
  217. package/dist/cli/commands/admin/realms/passkeys/index.d.ts.map +1 -0
  218. package/dist/cli/commands/admin/realms/passkeys/index.js +13 -0
  219. package/dist/cli/commands/admin/realms/passkeys/index.js.map +1 -0
  220. package/dist/cli/commands/admin/realms/passkeys/set.d.ts +16 -0
  221. package/dist/cli/commands/admin/realms/passkeys/set.d.ts.map +1 -0
  222. package/dist/cli/commands/admin/realms/passkeys/set.js +46 -0
  223. package/dist/cli/commands/admin/realms/passkeys/set.js.map +1 -0
  224. package/dist/cli/commands/admin/realms/privy/index.d.ts +5 -0
  225. package/dist/cli/commands/admin/realms/privy/index.d.ts.map +1 -0
  226. package/dist/cli/commands/admin/realms/privy/index.js +13 -0
  227. package/dist/cli/commands/admin/realms/privy/index.js.map +1 -0
  228. package/dist/cli/commands/admin/realms/privy/set.d.ts +18 -0
  229. package/dist/cli/commands/admin/realms/privy/set.d.ts.map +1 -0
  230. package/dist/cli/commands/admin/realms/privy/set.js +66 -0
  231. package/dist/cli/commands/admin/realms/privy/set.js.map +1 -0
  232. package/dist/cli/commands/admin/realms/remove.d.ts +11 -0
  233. package/dist/cli/commands/admin/realms/remove.d.ts.map +1 -0
  234. package/dist/cli/commands/admin/realms/remove.js +35 -0
  235. package/dist/cli/commands/admin/realms/remove.js.map +1 -0
  236. package/dist/cli/commands/admin/realms/secp256k1/disable.d.ts +15 -0
  237. package/dist/cli/commands/admin/realms/secp256k1/disable.d.ts.map +1 -0
  238. package/dist/cli/commands/admin/realms/secp256k1/disable.js +42 -0
  239. package/dist/cli/commands/admin/realms/secp256k1/disable.js.map +1 -0
  240. package/dist/cli/commands/admin/realms/secp256k1/enable.d.ts +15 -0
  241. package/dist/cli/commands/admin/realms/secp256k1/enable.d.ts.map +1 -0
  242. package/dist/cli/commands/admin/realms/secp256k1/enable.js +42 -0
  243. package/dist/cli/commands/admin/realms/secp256k1/enable.js.map +1 -0
  244. package/dist/cli/commands/admin/realms/secp256k1/index.d.ts +9 -0
  245. package/dist/cli/commands/admin/realms/secp256k1/index.d.ts.map +1 -0
  246. package/dist/cli/commands/admin/realms/secp256k1/index.js +17 -0
  247. package/dist/cli/commands/admin/realms/secp256k1/index.js.map +1 -0
  248. package/dist/cli/commands/admin/realms/set.d.ts +16 -0
  249. package/dist/cli/commands/admin/realms/set.d.ts.map +1 -0
  250. package/dist/cli/commands/admin/realms/set.js +46 -0
  251. package/dist/cli/commands/admin/realms/set.js.map +1 -0
  252. package/dist/cli/commands/admin/rotate-key.d.ts +15 -0
  253. package/dist/cli/commands/admin/rotate-key.d.ts.map +1 -0
  254. package/dist/cli/commands/admin/rotate-key.js +46 -0
  255. package/dist/cli/commands/admin/rotate-key.js.map +1 -0
  256. package/dist/cli/commands/init.d.ts +11 -0
  257. package/dist/cli/commands/init.d.ts.map +1 -0
  258. package/dist/cli/commands/init.js +34 -0
  259. package/dist/cli/commands/init.js.map +1 -0
  260. package/dist/cli/commands/login.d.ts +12 -0
  261. package/dist/cli/commands/login.d.ts.map +1 -0
  262. package/dist/cli/commands/login.js +29 -0
  263. package/dist/cli/commands/login.js.map +1 -0
  264. package/dist/cli/commands/logout.d.ts +8 -0
  265. package/dist/cli/commands/logout.d.ts.map +1 -0
  266. package/dist/cli/commands/logout.js +19 -0
  267. package/dist/cli/commands/logout.js.map +1 -0
  268. package/dist/cli/commands/whoami.d.ts +12 -0
  269. package/dist/cli/commands/whoami.d.ts.map +1 -0
  270. package/dist/cli/commands/whoami.js +24 -0
  271. package/dist/cli/commands/whoami.js.map +1 -0
  272. package/dist/client/Actions.d.ts +101 -0
  273. package/dist/client/Actions.d.ts.map +1 -0
  274. package/dist/client/Actions.js +90 -0
  275. package/dist/client/Actions.js.map +1 -0
  276. package/dist/client/Auth.d.ts +161 -0
  277. package/dist/client/Auth.d.ts.map +1 -0
  278. package/dist/client/Auth.js +113 -0
  279. package/dist/client/Auth.js.map +1 -0
  280. package/dist/client/Authorization.d.ts +29 -0
  281. package/dist/client/Authorization.d.ts.map +1 -0
  282. package/dist/client/Authorization.js +12 -0
  283. package/dist/client/Authorization.js.map +1 -0
  284. package/dist/client/Decorator.d.ts +170 -0
  285. package/dist/client/Decorator.d.ts.map +1 -0
  286. package/dist/client/Decorator.js +227 -0
  287. package/dist/client/Decorator.js.map +1 -0
  288. package/dist/client/Key.d.ts +85 -0
  289. package/dist/client/Key.d.ts.map +1 -0
  290. package/dist/client/Key.js +83 -0
  291. package/dist/client/Key.js.map +1 -0
  292. package/dist/client/Pending.d.ts +39 -0
  293. package/dist/client/Pending.d.ts.map +1 -0
  294. package/dist/client/Pending.js +12 -0
  295. package/dist/client/Pending.js.map +1 -0
  296. package/dist/client/Permissions.d.ts +34 -0
  297. package/dist/client/Permissions.d.ts.map +1 -0
  298. package/dist/client/Permissions.js +16 -0
  299. package/dist/client/Permissions.js.map +1 -0
  300. package/dist/client/Provider.d.ts +16 -0
  301. package/dist/client/Provider.d.ts.map +1 -0
  302. package/dist/client/Provider.js +12 -0
  303. package/dist/client/Provider.js.map +1 -0
  304. package/dist/client/Step.d.ts +21 -0
  305. package/dist/client/Step.d.ts.map +1 -0
  306. package/dist/client/Step.js +16 -0
  307. package/dist/client/Step.js.map +1 -0
  308. package/dist/client/Storage.d.ts +27 -0
  309. package/dist/client/Storage.d.ts.map +1 -0
  310. package/dist/client/Storage.js +16 -0
  311. package/dist/client/Storage.js.map +1 -0
  312. package/dist/client/TempoAccount.d.ts +40 -0
  313. package/dist/client/TempoAccount.d.ts.map +1 -0
  314. package/dist/client/TempoAccount.js +16 -0
  315. package/dist/client/TempoAccount.js.map +1 -0
  316. package/dist/client/Tokens.d.ts +25 -0
  317. package/dist/client/Tokens.d.ts.map +1 -0
  318. package/dist/client/Tokens.js +12 -0
  319. package/dist/client/Tokens.js.map +1 -0
  320. package/dist/client/User.d.ts +21 -0
  321. package/dist/client/User.d.ts.map +1 -0
  322. package/dist/client/User.js +12 -0
  323. package/dist/client/User.js.map +1 -0
  324. package/dist/client/actions/account.d.ts +25 -0
  325. package/dist/client/actions/account.d.ts.map +1 -0
  326. package/dist/client/actions/account.js +34 -0
  327. package/dist/client/actions/account.js.map +1 -0
  328. package/dist/client/actions/device.d.ts +53 -0
  329. package/dist/client/actions/device.d.ts.map +1 -0
  330. package/dist/client/actions/device.js +79 -0
  331. package/dist/client/actions/device.js.map +1 -0
  332. package/dist/client/actions/email.d.ts +84 -0
  333. package/dist/client/actions/email.d.ts.map +1 -0
  334. package/dist/client/actions/email.js +63 -0
  335. package/dist/client/actions/email.js.map +1 -0
  336. package/dist/client/actions/oauth.d.ts +115 -0
  337. package/dist/client/actions/oauth.d.ts.map +1 -0
  338. package/dist/client/actions/oauth.js +105 -0
  339. package/dist/client/actions/oauth.js.map +1 -0
  340. package/dist/client/actions/passkey.d.ts +88 -0
  341. package/dist/client/actions/passkey.d.ts.map +1 -0
  342. package/dist/client/actions/passkey.js +60 -0
  343. package/dist/client/actions/passkey.js.map +1 -0
  344. package/dist/client/actions/provider.d.ts +49 -0
  345. package/dist/client/actions/provider.d.ts.map +1 -0
  346. package/dist/client/actions/provider.js +34 -0
  347. package/dist/client/actions/provider.js.map +1 -0
  348. package/dist/client/actions/realm.d.ts +24 -0
  349. package/dist/client/actions/realm.d.ts.map +1 -0
  350. package/dist/client/actions/realm.js +15 -0
  351. package/dist/client/actions/realm.js.map +1 -0
  352. package/dist/client/actions/redirect.d.ts +153 -0
  353. package/dist/client/actions/redirect.d.ts.map +1 -0
  354. package/dist/client/actions/redirect.js +236 -0
  355. package/dist/client/actions/redirect.js.map +1 -0
  356. package/dist/client/internal/accessKey.d.ts +21 -0
  357. package/dist/client/internal/accessKey.d.ts.map +1 -0
  358. package/dist/client/internal/accessKey.js +38 -0
  359. package/dist/client/internal/accessKey.js.map +1 -0
  360. package/dist/client/internal/account.d.ts +14 -0
  361. package/dist/client/internal/account.d.ts.map +1 -0
  362. package/dist/client/internal/account.js +3 -0
  363. package/dist/client/internal/account.js.map +1 -0
  364. package/dist/client/internal/api.d.ts +106 -0
  365. package/dist/client/internal/api.d.ts.map +1 -0
  366. package/dist/client/internal/api.js +129 -0
  367. package/dist/client/internal/api.js.map +1 -0
  368. package/dist/client/internal/headless.d.ts +33 -0
  369. package/dist/client/internal/headless.d.ts.map +1 -0
  370. package/dist/client/internal/headless.js +46 -0
  371. package/dist/client/internal/headless.js.map +1 -0
  372. package/dist/client/internal/indexedDb.d.ts +9 -0
  373. package/dist/client/internal/indexedDb.d.ts.map +1 -0
  374. package/dist/client/internal/indexedDb.js +32 -0
  375. package/dist/client/internal/indexedDb.js.map +1 -0
  376. package/dist/client/internal/request.d.ts +58 -0
  377. package/dist/client/internal/request.d.ts.map +1 -0
  378. package/dist/client/internal/request.js +45 -0
  379. package/dist/client/internal/request.js.map +1 -0
  380. package/dist/client/internal/store.d.ts +12 -0
  381. package/dist/client/internal/store.d.ts.map +1 -0
  382. package/dist/client/internal/store.js +15 -0
  383. package/dist/client/internal/store.js.map +1 -0
  384. package/dist/client.d.ts +20 -0
  385. package/dist/client.d.ts.map +1 -0
  386. package/dist/client.js +20 -0
  387. package/dist/client.js.map +1 -0
  388. package/dist/index.d.ts +7 -0
  389. package/dist/index.d.ts.map +1 -0
  390. package/dist/index.js +7 -0
  391. package/dist/index.js.map +1 -0
  392. package/dist/internal/Apps.d.ts +3051 -0
  393. package/dist/internal/Apps.d.ts.map +1 -0
  394. package/dist/internal/Apps.js +472 -0
  395. package/dist/internal/Apps.js.map +1 -0
  396. package/dist/internal/Auth.d.ts +4058 -0
  397. package/dist/internal/Auth.d.ts.map +1 -0
  398. package/dist/internal/Auth.js +137 -0
  399. package/dist/internal/Auth.js.map +1 -0
  400. package/dist/internal/Authorize.d.ts +532 -0
  401. package/dist/internal/Authorize.d.ts.map +1 -0
  402. package/dist/internal/Authorize.js +326 -0
  403. package/dist/internal/Authorize.js.map +1 -0
  404. package/dist/internal/Device.d.ts +371 -0
  405. package/dist/internal/Device.d.ts.map +1 -0
  406. package/dist/internal/Device.js +271 -0
  407. package/dist/internal/Device.js.map +1 -0
  408. package/dist/internal/Env.d.ts +57 -0
  409. package/dist/internal/Env.d.ts.map +1 -0
  410. package/dist/internal/Env.js +2 -0
  411. package/dist/internal/Env.js.map +1 -0
  412. package/dist/internal/ErrorResponse.d.ts +609 -0
  413. package/dist/internal/ErrorResponse.d.ts.map +1 -0
  414. package/dist/internal/ErrorResponse.js +679 -0
  415. package/dist/internal/ErrorResponse.js.map +1 -0
  416. package/dist/internal/Id.d.ts +10 -0
  417. package/dist/internal/Id.d.ts.map +1 -0
  418. package/dist/internal/Id.js +34 -0
  419. package/dist/internal/Id.js.map +1 -0
  420. package/dist/internal/KeyAuthorization.d.ts +1456 -0
  421. package/dist/internal/KeyAuthorization.d.ts.map +1 -0
  422. package/dist/internal/KeyAuthorization.js +1030 -0
  423. package/dist/internal/KeyAuthorization.js.map +1 -0
  424. package/dist/internal/Limits.d.ts +65 -0
  425. package/dist/internal/Limits.d.ts.map +1 -0
  426. package/dist/internal/Limits.js +35 -0
  427. package/dist/internal/Limits.js.map +1 -0
  428. package/dist/internal/Log.d.ts +49 -0
  429. package/dist/internal/Log.d.ts.map +1 -0
  430. package/dist/internal/Log.js +101 -0
  431. package/dist/internal/Log.js.map +1 -0
  432. package/dist/internal/LogLine.d.ts +33 -0
  433. package/dist/internal/LogLine.d.ts.map +1 -0
  434. package/dist/internal/LogLine.js +56 -0
  435. package/dist/internal/LogLine.js.map +1 -0
  436. package/dist/internal/Migrations.d.ts +19 -0
  437. package/dist/internal/Migrations.d.ts.map +1 -0
  438. package/dist/internal/Migrations.js +57 -0
  439. package/dist/internal/Migrations.js.map +1 -0
  440. package/dist/internal/Owner.d.ts +146 -0
  441. package/dist/internal/Owner.d.ts.map +1 -0
  442. package/dist/internal/Owner.js +65 -0
  443. package/dist/internal/Owner.js.map +1 -0
  444. package/dist/internal/Passkey.d.ts +528 -0
  445. package/dist/internal/Passkey.d.ts.map +1 -0
  446. package/dist/internal/Passkey.js +658 -0
  447. package/dist/internal/Passkey.js.map +1 -0
  448. package/dist/internal/PendingKey.d.ts +49 -0
  449. package/dist/internal/PendingKey.d.ts.map +1 -0
  450. package/dist/internal/PendingKey.js +58 -0
  451. package/dist/internal/PendingKey.js.map +1 -0
  452. package/dist/internal/Privy.d.ts +105 -0
  453. package/dist/internal/Privy.d.ts.map +1 -0
  454. package/dist/internal/Privy.js +224 -0
  455. package/dist/internal/Privy.js.map +1 -0
  456. package/dist/internal/RateLimit.d.ts +190 -0
  457. package/dist/internal/RateLimit.d.ts.map +1 -0
  458. package/dist/internal/RateLimit.js +148 -0
  459. package/dist/internal/RateLimit.js.map +1 -0
  460. package/dist/internal/Realm.d.ts +281 -0
  461. package/dist/internal/Realm.d.ts.map +1 -0
  462. package/dist/internal/Realm.js +477 -0
  463. package/dist/internal/Realm.js.map +1 -0
  464. package/dist/internal/RequestId.d.ts +16 -0
  465. package/dist/internal/RequestId.d.ts.map +1 -0
  466. package/dist/internal/RequestId.js +78 -0
  467. package/dist/internal/RequestId.js.map +1 -0
  468. package/dist/internal/SigningKey.d.ts +115 -0
  469. package/dist/internal/SigningKey.d.ts.map +1 -0
  470. package/dist/internal/SigningKey.js +197 -0
  471. package/dist/internal/SigningKey.js.map +1 -0
  472. package/dist/internal/TestInbox.d.ts +42 -0
  473. package/dist/internal/TestInbox.d.ts.map +1 -0
  474. package/dist/internal/TestInbox.js +20 -0
  475. package/dist/internal/TestInbox.js.map +1 -0
  476. package/dist/internal/Timing.d.ts +51 -0
  477. package/dist/internal/Timing.d.ts.map +1 -0
  478. package/dist/internal/Timing.js +103 -0
  479. package/dist/internal/Timing.js.map +1 -0
  480. package/dist/internal/Validation.d.ts +52 -0
  481. package/dist/internal/Validation.d.ts.map +1 -0
  482. package/dist/internal/Validation.js +22 -0
  483. package/dist/internal/Validation.js.map +1 -0
  484. package/dist/internal/Wallet.d.ts +37 -0
  485. package/dist/internal/Wallet.d.ts.map +1 -0
  486. package/dist/internal/Wallet.js +43 -0
  487. package/dist/internal/Wallet.js.map +1 -0
  488. package/dist/worker.d.ts +12 -0
  489. package/dist/worker.d.ts.map +1 -0
  490. package/dist/worker.js +12 -0
  491. package/dist/worker.js.map +1 -0
  492. package/package.json +79 -3
  493. package/src/Api.ts +151 -0
  494. package/src/App.ts +56 -0
  495. package/src/api/account.ts +311 -0
  496. package/src/api/authenticate.ts +1290 -0
  497. package/src/api/authorize.ts +1030 -0
  498. package/src/api/device.ts +874 -0
  499. package/src/api/health.ts +72 -0
  500. package/src/api/lib/AccountStep.ts +335 -0
  501. package/src/api/lib/Auth.ts +134 -0
  502. package/src/api/lib/Consent.ts +339 -0
  503. package/src/api/lib/Cors.ts +107 -0
  504. package/src/api/lib/Database.ts +10 -0
  505. package/src/api/lib/DeviceRequest.ts +265 -0
  506. package/src/api/lib/FirstAccount.ts +90 -0
  507. package/src/api/lib/KeySigner.ts +393 -0
  508. package/src/api/lib/PasskeyLink.ts +162 -0
  509. package/src/api/lib/Session.ts +34 -0
  510. package/src/api/lib/SignInConsent.ts +316 -0
  511. package/src/api/oauth.ts +1282 -0
  512. package/src/api/provider.ts +441 -0
  513. package/src/app/components/Button.tsx +128 -0
  514. package/src/app/components/CodeInput.tsx +186 -0
  515. package/src/app/components/ErrorMessage.tsx +66 -0
  516. package/src/app/components/Grant.tsx +323 -0
  517. package/src/app/components/Input.tsx +48 -0
  518. package/src/app/components/Tooltip.tsx +45 -0
  519. package/src/app/components/icons/BRLA.png +0 -0
  520. package/src/app/components/icons/BRZ.svg +1 -0
  521. package/src/app/components/icons/CHFAU.png +0 -0
  522. package/src/app/components/icons/DLUSD.png +0 -0
  523. package/src/app/components/icons/EURAU.svg +1 -0
  524. package/src/app/components/icons/EURC.e.svg +1 -0
  525. package/src/app/components/icons/GBPA.svg +4 -0
  526. package/src/app/components/icons/GUSD.svg +1 -0
  527. package/src/app/components/icons/MACH.svg +4 -0
  528. package/src/app/components/icons/OUSD.svg +5 -0
  529. package/src/app/components/icons/PRIME.svg +14 -0
  530. package/src/app/components/icons/SBC.svg +1 -0
  531. package/src/app/components/icons/SEKAU.svg +5 -0
  532. package/src/app/components/icons/USD1.svg +30 -0
  533. package/src/app/components/icons/USDB.svg +11 -0
  534. package/src/app/components/icons/USDC.e.svg +1 -0
  535. package/src/app/components/icons/USDT0.svg +1 -0
  536. package/src/app/components/icons/USDY.svg +16 -0
  537. package/src/app/components/icons/USDe.svg +1 -0
  538. package/src/app/components/icons/YLDS.svg +3 -0
  539. package/src/app/components/icons/alphaUSD.svg +1 -0
  540. package/src/app/components/icons/betaUSD.svg +1 -0
  541. package/src/app/components/icons/cUSD.svg +1 -0
  542. package/src/app/components/icons/cbBTC.svg +1 -0
  543. package/src/app/components/icons/frxUSD.svg +1 -0
  544. package/src/app/components/icons/goUSD.svg +5 -0
  545. package/src/app/components/icons/iUSD.svg +1 -0
  546. package/src/app/components/icons/pathUSD.svg +25 -0
  547. package/src/app/components/icons/rUSD.svg +1 -0
  548. package/src/app/components/icons/reUSD.svg +1 -0
  549. package/src/app/components/icons/sUSDe.svg +1 -0
  550. package/src/app/components/icons/siUSD.svg +1 -0
  551. package/src/app/components/icons/stcUSD.svg +1 -0
  552. package/src/app/components/icons/syrupUSDC.svg +5 -0
  553. package/src/app/components/icons/thetaUSD.svg +1 -0
  554. package/src/app/components/icons/wYLDS.svg +10 -0
  555. package/src/app/components/icons/wsrUSD.svg +1 -0
  556. package/src/app/components/logos/OUSD.dark.svg +17 -0
  557. package/src/app/components/logos/OUSD.light.svg +17 -0
  558. package/src/app/crons/cleanup.ts +42 -0
  559. package/src/app/db/auth.ts +416 -0
  560. package/src/app/db/migrations/0000_better_auth.sql +53 -0
  561. package/src/app/db/migrations/0001_oauth_provider.sql +162 -0
  562. package/src/app/db/migrations/0002_device_code.sql +17 -0
  563. package/src/app/db/migrations/0003_realms.sql +27 -0
  564. package/src/app/db/migrations/0004_default_realm.sql +2 -0
  565. package/src/app/db/migrations/0005_passkeys.sql +30 -0
  566. package/src/app/db/migrations/0006_first_accounts.sql +9 -0
  567. package/src/app/db/migrations/0007_pending_keys.sql +13 -0
  568. package/src/app/db/migrations/0008_secp256k1_owners.sql +18 -0
  569. package/src/app/db/migrations/0009_device_requests.sql +8 -0
  570. package/src/app/db/migrations/0010_device_keys.sql +4 -0
  571. package/src/app/db/migrations/meta/0000_snapshot.json +362 -0
  572. package/src/app/db/migrations/meta/0001_snapshot.json +1487 -0
  573. package/src/app/db/migrations/meta/0002_snapshot.json +1603 -0
  574. package/src/app/db/migrations/meta/0003_snapshot.json +1760 -0
  575. package/src/app/db/migrations/meta/0004_snapshot.json +1760 -0
  576. package/src/app/db/migrations/meta/0005_snapshot.json +1911 -0
  577. package/src/app/db/migrations/meta/0006_snapshot.json +1967 -0
  578. package/src/app/db/migrations/meta/0007_snapshot.json +2047 -0
  579. package/src/app/db/migrations/meta/0008_snapshot.json +2157 -0
  580. package/src/app/db/migrations/meta/0009_snapshot.json +2207 -0
  581. package/src/app/db/migrations/meta/0010_snapshot.json +2231 -0
  582. package/src/app/db/migrations/meta/_journal.json +83 -0
  583. package/src/app/db/schema.ts +218 -0
  584. package/src/app/env.ts +49 -0
  585. package/src/app/lib/Client.ts +82 -0
  586. package/src/app/lib/Loader.ts +24 -0
  587. package/src/app/package.json +8 -0
  588. package/src/app/routeTree.gen.ts +198 -0
  589. package/src/app/router.tsx +48 -0
  590. package/src/app/routes/[_].flows.tsx +3001 -0
  591. package/src/app/routes/__root.tsx +91 -0
  592. package/src/app/routes/authorize.tsx +197 -0
  593. package/src/app/routes/choose-account.tsx +111 -0
  594. package/src/app/routes/deposit.tsx +105 -0
  595. package/src/app/routes/device.tsx +227 -0
  596. package/src/app/routes/index.tsx +115 -0
  597. package/src/app/routes/login.tsx +506 -0
  598. package/src/app/screens/Account.tsx +347 -0
  599. package/src/app/screens/Approval.tsx +276 -0
  600. package/src/app/screens/ChooseAccount.tsx +240 -0
  601. package/src/app/screens/Deposit.tsx +762 -0
  602. package/src/app/screens/DeviceApproval.tsx +480 -0
  603. package/src/app/screens/SignIn.tsx +362 -0
  604. package/src/app/screens/chains/base.svg +3 -0
  605. package/src/app/screens/chains/ethereum.svg +11 -0
  606. package/src/app/screens/chains/solana.svg +4 -0
  607. package/src/app/screens/chains/tempo.svg +4 -0
  608. package/src/app/server.ts +204 -0
  609. package/src/app/vite.config.ts +95 -0
  610. package/src/app/void.config.ts +29 -0
  611. package/src/app/zyzz.config.ts +274 -0
  612. package/src/cli/Admin.ts +73 -0
  613. package/src/cli/Apps.ts +29 -0
  614. package/src/cli/Cli.ts +42 -0
  615. package/src/cli/Project.ts +117 -0
  616. package/src/cli/Realms.ts +50 -0
  617. package/src/cli/Session.ts +239 -0
  618. package/src/cli/User.ts +45 -0
  619. package/src/cli/V1.ts +57 -0
  620. package/src/cli/bin.ts +44 -0
  621. package/src/cli/commands/admin/apps/create.ts +101 -0
  622. package/src/cli/commands/admin/apps/delete.ts +38 -0
  623. package/src/cli/commands/admin/apps/index.ts +15 -0
  624. package/src/cli/commands/admin/apps/list.ts +25 -0
  625. package/src/cli/commands/admin/apps/rotate-secret.ts +47 -0
  626. package/src/cli/commands/admin/apps/update.ts +86 -0
  627. package/src/cli/commands/admin/index.ts +14 -0
  628. package/src/cli/commands/admin/migrate.ts +16 -0
  629. package/src/cli/commands/admin/realms/add.ts +40 -0
  630. package/src/cli/commands/admin/realms/index.ts +14 -0
  631. package/src/cli/commands/admin/realms/list.ts +38 -0
  632. package/src/cli/commands/admin/realms/passkeys/index.ts +15 -0
  633. package/src/cli/commands/admin/realms/passkeys/set.ts +44 -0
  634. package/src/cli/commands/admin/realms/privy/index.ts +14 -0
  635. package/src/cli/commands/admin/realms/privy/set.ts +69 -0
  636. package/src/cli/commands/admin/realms/remove.ts +33 -0
  637. package/src/cli/commands/admin/realms/secp256k1/disable.ts +40 -0
  638. package/src/cli/commands/admin/realms/secp256k1/enable.ts +40 -0
  639. package/src/cli/commands/admin/realms/secp256k1/index.ts +19 -0
  640. package/src/cli/commands/admin/realms/set.ts +46 -0
  641. package/src/cli/commands/admin/rotate-key.ts +47 -0
  642. package/src/cli/commands/init.ts +42 -0
  643. package/src/cli/commands/login.ts +32 -0
  644. package/src/cli/commands/logout.ts +19 -0
  645. package/src/cli/commands/whoami.ts +23 -0
  646. package/src/client/Actions.ts +168 -0
  647. package/src/client/Auth.ts +285 -0
  648. package/src/client/Authorization.ts +34 -0
  649. package/src/client/Decorator.ts +410 -0
  650. package/src/client/Key.ts +140 -0
  651. package/src/client/Pending.ts +46 -0
  652. package/src/client/Permissions.ts +39 -0
  653. package/src/client/Provider.ts +18 -0
  654. package/src/client/Step.ts +24 -0
  655. package/src/client/Storage.ts +29 -0
  656. package/src/client/TempoAccount.ts +42 -0
  657. package/src/client/Tokens.ts +27 -0
  658. package/src/client/User.ts +23 -0
  659. package/src/client/actions/account.ts +57 -0
  660. package/src/client/actions/device.ts +151 -0
  661. package/src/client/actions/email.ts +141 -0
  662. package/src/client/actions/oauth.ts +182 -0
  663. package/src/client/actions/passkey.ts +141 -0
  664. package/src/client/actions/provider.ts +70 -0
  665. package/src/client/actions/realm.ts +36 -0
  666. package/src/client/actions/redirect.ts +408 -0
  667. package/src/client/internal/accessKey.ts +54 -0
  668. package/src/client/internal/account.ts +15 -0
  669. package/src/client/internal/api.ts +224 -0
  670. package/src/client/internal/headless.ts +77 -0
  671. package/src/client/internal/indexedDb.ts +44 -0
  672. package/src/client/internal/request.ts +71 -0
  673. package/src/client/internal/store.ts +20 -0
  674. package/src/client.ts +19 -0
  675. package/src/index.ts +6 -0
  676. package/src/internal/Apps.ts +718 -0
  677. package/src/internal/Auth.ts +203 -0
  678. package/src/internal/Authorize.ts +424 -0
  679. package/src/internal/Balance.ts +168 -0
  680. package/src/internal/BodyLimit.ts +36 -0
  681. package/src/internal/Chain.ts +16 -0
  682. package/src/internal/Device.ts +469 -0
  683. package/src/internal/Env.ts +58 -0
  684. package/src/internal/ErrorResponse.ts +854 -0
  685. package/src/internal/Id.ts +41 -0
  686. package/src/internal/KeyAuthorization.ts +1339 -0
  687. package/src/internal/Limits.ts +39 -0
  688. package/src/internal/Log.ts +178 -0
  689. package/src/internal/LogLine.ts +87 -0
  690. package/src/internal/Logout.ts +336 -0
  691. package/src/internal/Migrations.ts +86 -0
  692. package/src/internal/OpenApi.ts +300 -0
  693. package/src/internal/Owner.ts +211 -0
  694. package/src/internal/Passkey.ts +1052 -0
  695. package/src/internal/PendingKey.ts +104 -0
  696. package/src/internal/Privy.ts +402 -0
  697. package/src/internal/Provider.ts +125 -0
  698. package/src/internal/RateLimit.ts +259 -0
  699. package/src/internal/Realm.ts +768 -0
  700. package/src/internal/RequestId.ts +118 -0
  701. package/src/internal/SignInGrant.ts +168 -0
  702. package/src/internal/SigningKey.ts +286 -0
  703. package/src/internal/TempoAccount.ts +342 -0
  704. package/src/internal/TestInbox.ts +51 -0
  705. package/src/internal/Timing.ts +158 -0
  706. package/src/internal/Validation.ts +52 -0
  707. package/src/internal/Wallet.ts +62 -0
  708. package/src/internal/owners/Passkey.ts +72 -0
  709. package/src/internal/owners/Privy.ts +81 -0
  710. package/src/internal/owners/Secp256k1.ts +143 -0
  711. package/src/types/app.d.ts +19 -0
  712. package/src/worker.ts +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-id-field-B0x109VU.js","names":["APIError","isBytes","a","atitle","title","anumber","n","abytes","value","length","bytes","ofLen","got","message","ahash","h","aobject","label","aopts","proto","aexists","instance","checkFinished","aoutput","out","min","clean","arrays","i","createView","arr","rotr","word","shift","hasHexBuiltin","hexes","bytesToHex","hex","asciiToBase16","ch","hexToBytes","error","hl","al","array","ai","hi","n1","n2","char","utf8ToBytes","str","encoded","checkOpts","defaults","opts","createHasher","hashCons","info","hashC","msg","tmp","oidNist","suffix","expandAlphabet","alphabet","createRandomStringGenerator","baseAlphabets","baseCharSet","baseCharSetLength","alphabets","charSet","charSetLength","maxValid","buf","bufLength","result","bufIndex","rand","toBufferSource","data","toUint8Array","getAlphabet","urlSafe","base64Encode","buffer","byte","padding","padCount","base64Decode","decodeMap","bitsCollected","base64","options","base64Url","isErrorStackTraceLimitWritable","desc","hideInternalStackFrames","lines","stack","makeErrorForHideStackFrame","HideStackFramesError","Base","args","limit","#hiddenStack","clazz","statusCodes","InternalAPIError","status","body","headers","statusCode","ValidationError","issues","BetterCallError","kAPIErrorHeaderSymbol","APIError$1","_envShim","_getEnv","useShim","env","prop","toBoolean","val","nodeENV","isProduction","isDevelopment","isTest","getEnvVar","key","fallback","getBooleanEnvVar","ENV","COLORS_2","COLORS_16","COLORS_256","COLORS_16m","TERM_ENVS","CI_ENVS_MAP","TERM_ENVS_REG_EXP","getColorDepth","envName","colors","termEnv","term","symbol","bind","__context","__betterAuthVersion","__getBetterAuthGlobal","__getCurrentEndpointContext","getBetterAuthVersion","TTY_COLORS","levels","shouldPublishLog","logLevel","currentLogLevel","levelColors","formatMessage","timestamp","colorsEnabled","level","createLogger","enabled","LogFunc","formattedMessage","defaultLogger","getCurrentLogger","currentLogger","logger","params","BetterAuthError","APIError","MAX_DATABASE_INDEX_NAME_BYTES","MAX_DATABASE_INDEX_FIELDS","getPortableDatabaseIdentifierKey","identifier","getUtf8ByteLength","truncateUtf8","byteLength","character","characterByteLength","maxBytes","getStableIndexNameHash","hash","index","getDatabaseIndexName","indexKind","generatedName","tableName","getDatabaseFieldIndexName","columnName","resolveDatabaseTableIndexes","resolvedIndexes","indexes","fields","fieldName","unsupportedField","fieldType","resolveFieldName","field","firstField","remainingFields","columns","definitionsByName","deduplicatedIndexes","definition","identifierKey","existingDefinition","getDatabaseIndexStringLength","fieldsByColumn","containingIndexes","byteBudget","dialect","bytesPerCharacter","defaultLength","stringColumnCount","type","column","nonStringColumnBytes","safeLength","resolveDatabaseSchemaIndexes","mergedSourcesByTable","source","sources","existingSource","mergedSource","indexesByTable","indexOwnerByName","tableNamesByIdentifier","fieldIndexOwnerByName","indexName","existingOwner","fieldIndexOwner","indexOwner","mergeTableIndexes","indexCollections","seenIndexDefinitions","collection","buildAuthTables","pluginSchema","schema","plugin","acc","shouldAddRateLimitTable","rateLimitTable","pluginTables","verificationTable","verification","sessionTable","session","user","account","getAuthTablesWithResolvedIndexes","tables","table","getAuthTables","iso8601Regex","reviveDate","date","reviveDates","safeJSONParse","toBytes","ATTR_DB_COLLECTION_NAME","ATTR_DB_OPERATION_NAME","ATTR_HTTP_RESPONSE_STATUS_CODE","ATTR_HTTP_ROUTE","createNoopSpan","span","createNoopTracer","startActiveSpan","rest","fn","noopSpan","createNoopTraceAPI","noopTracer","createNoopOpenTelemetryAPI","noopWithSpan","createWithSpan","generateId","size","initGetDefaultModelName","resolve","candidate","_","f","usePlural","model","m","warnedSerialDeterministicId","encodeDeterministicId","digest","initGetIdField","getDefaultModelName","useNumberId","useUUIDs","shouldGenerateId","disableIdGeneration","forceAllowId","supportsUUIDs","customModelName","generateId$1","customIdGenerator","numberValue"],"sources":["../../../../../node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/utils.js","../../../../../node_modules/.pnpm/@better-auth+utils@0.5.0/node_modules/@better-auth/utils/dist/random.mjs","../../../../../node_modules/.pnpm/@better-auth+utils@0.5.0/node_modules/@better-auth/utils/dist/bytes.mjs","../../../../../node_modules/.pnpm/@better-auth+utils@0.5.0/node_modules/@better-auth/utils/dist/base64.mjs","../../../../../node_modules/.pnpm/better-call@1.4.2_zod@4.6.7/node_modules/better-call/dist/error.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/env/env-impl.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/env/color-depth.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/context/global.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/env/logger.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/error/index.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/db/database-index.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/db/get-tables.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/utils/json.mjs","../../../../../node_modules/.pnpm/@better-auth+utils@0.5.0/node_modules/@better-auth/utils/dist/hex.mjs","../../../../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.43.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/instrumentation/noop.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/instrumentation/pure.index.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/utils/id.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/db/adapter/get-default-model-name.mjs","../../../../../node_modules/.pnpm/@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@better-fetch+fetch@1.3.2_better-call@_e244494d16af5cbfc2a915ab801404c3/node_modules/@better-auth/core/dist/db/adapter/get-id-field.mjs"],"sourcesContent":["/**\n * Checks if something is Uint8Array. Be careful: nodejs Buffer will return true.\n * @param a - value to test\n * @returns `true` when the value is a Uint8Array-compatible view.\n * @example\n * Check whether a value is a Uint8Array-compatible view.\n * ```ts\n * isBytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function isBytes(a) {\n // Plain `instanceof Uint8Array` is too strict for some Buffer / proxy / cross-realm cases.\n // The fallback still requires a real ArrayBuffer view, so plain\n // JSON-deserialized `{ constructor: ... }` spoofing is rejected, and\n // `BYTES_PER_ELEMENT === 1` keeps the fallback on byte-oriented views.\n return (a instanceof Uint8Array ||\n (ArrayBuffer.isView(a) &&\n a.constructor.name === 'Uint8Array' &&\n 'BYTES_PER_ELEMENT' in a &&\n a.BYTES_PER_ELEMENT === 1));\n}\n// Shared error-message prefix builder. Only called on throw paths, so assert\n// success paths never pay for the string concatenation.\nconst atitle = (title) => (title ? `\"${title}\" ` : '');\n/**\n * Asserts something is a non-negative integer.\n * @param n - number to validate\n * @param title - label included in thrown errors\n * @returns The validated number.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate a non-negative integer option.\n * ```ts\n * anumber(32, 'length');\n * ```\n */\nexport function anumber(n, title = '') {\n if (typeof n !== 'number')\n throw new TypeError(atitle(title) + 'expected number, got ' + typeof n);\n if (!Number.isSafeInteger(n) || n < 0)\n throw new RangeError(atitle(title) + 'expected integer >= 0, got ' + n);\n return n;\n}\n/**\n * Asserts something is a boolean.\n * @param value - value to validate\n * @param title - label included in thrown errors\n * @returns The validated boolean.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Validate a boolean option.\n * ```ts\n * abool(true, 'enableXOF');\n * ```\n */\nexport function abool(value, title = '') {\n if (typeof value !== 'boolean')\n throw new TypeError(atitle(title) + 'expected boolean, got type=' + typeof value);\n return value;\n}\n/**\n * Asserts something is Uint8Array.\n * @param value - value to validate\n * @param length - optional exact length constraint\n * @param title - label included in thrown errors\n * @returns The validated byte array.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate that a value is a byte array.\n * ```ts\n * abytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function abytes(value, length, title = '') {\n // Success path first: this runs at the start of every update() / digestInto(), and the\n // common `abytes(data)` form must not pay for length handling it does not use.\n if (isBytes(value) && (length === undefined || value.length === length))\n return value;\n // Error path: recompute freely to build the exact message.\n if (length !== undefined)\n anumber(length, 'length');\n const bytes = isBytes(value);\n const ofLen = length !== undefined ? ` of length ${length}` : '';\n const got = bytes ? `length=${value.length}` : `type=${typeof value}`;\n const message = atitle(title) + 'expected Uint8Array' + ofLen + ', got ' + got;\n if (!bytes)\n throw new TypeError(message);\n throw new RangeError(message);\n}\n/**\n * Copies bytes into a fresh Uint8Array.\n * Buffer-style slices can alias the same backing store, so callers that need ownership should copy.\n * @param bytes - source bytes to clone\n * @returns Freshly allocated copy of `bytes`.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Clone a byte array before mutating it.\n * ```ts\n * const copy = copyBytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function copyBytes(bytes) {\n // `Uint8Array.from(...)` would also accept arrays / other typed arrays. Keep this helper strict\n // because callers use it at byte-validation boundaries before mutating the detached copy.\n return Uint8Array.from(abytes(bytes));\n}\n/**\n * Asserts something is a wrapped hash constructor.\n * @param h - hash constructor to validate\n * @throws On wrong argument types or invalid hash wrapper shape. {@link TypeError}\n * @throws On invalid hash metadata ranges or values. {@link RangeError}\n * @throws If the hash metadata allows empty outputs or block sizes. {@link Error}\n * @example\n * Validate a callable hash wrapper.\n * ```ts\n * import { ahash } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * ahash(sha256);\n * ```\n */\nexport function ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new TypeError('expected hash wrapped by utils.createHasher');\n anumber(h.outputLen);\n anumber(h.blockLen);\n // HMAC and KDF callers treat these as real byte lengths; allowing zero lets fake wrappers pass\n // validation and can produce empty outputs instead of failing fast.\n if (h.outputLen < 1 || h.blockLen < 1)\n throw new Error('hash blockLen / outputLen must be >= 1');\n}\nconst aobject = (value, label) => {\n if (value === null || typeof value !== 'object' || Array.isArray(value))\n throw new TypeError((label === 'object' ? '' : `\"${label}\" `) + 'expected object, got type=' + typeof value);\n};\nconst aopts = (value, label) => {\n aobject(value, label);\n const proto = Object.getPrototypeOf(value);\n if (proto !== Object.prototype && proto !== null)\n throw new TypeError(`\"${label}\" expected plain object`);\n // Object.assign() treats an own \"__proto__\" source key as a write to the target's legacy\n // prototype setter. Reject it before merging so inherited option values cannot be injected.\n if (Object.hasOwn(value, '__proto__'))\n throw new TypeError(`\"${label}.__proto__\" is not allowed`);\n};\n/**\n * Asserts a hash instance has not been destroyed or finished.\n * @param instance - hash instance to validate\n * @param checkFinished - whether to reject finalized instances\n * @throws If the hash instance has already been destroyed or finalized. {@link Error}\n * @example\n * Validate that a hash instance is still usable.\n * ```ts\n * import { aexists } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const hash = sha256.create();\n * aexists(hash);\n * ```\n */\nexport function aexists(instance, checkFinished = true) {\n // Runs on every update()/digestInto(); the flags are library-owned booleans, so only their\n // truthiness is checked - re-validating their type per call was pure hot-path overhead.\n if (instance.destroyed)\n throw new Error('hash was destroyed');\n if (checkFinished && instance.finished)\n throw new Error('digest() was already called');\n}\n/**\n * Asserts output is a sufficiently-sized byte array.\n * @param out - destination buffer\n * @param instance - hash instance providing output length\n * Oversized buffers are allowed; downstream code only promises to fill the first `outputLen` bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate a caller-provided digest buffer.\n * ```ts\n * import { aoutput } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const hash = sha256.create();\n * aoutput(new Uint8Array(hash.outputLen), hash);\n * ```\n */\nexport function aoutput(out, instance) {\n abytes(out, undefined, 'output');\n // `outputLen` is a library-owned readonly number; the negated comparison keeps failing fast\n // when it is missing/NaN (comparisons with undefined/NaN are false) without an anumber() call.\n const min = instance.outputLen;\n if (!(out.length >= min)) {\n throw new RangeError('\"output\" expected length >= ' + min);\n }\n}\n/**\n * Casts a typed array view to Uint8Array.\n * @param arr - source typed array\n * @returns Uint8Array view over the same buffer.\n * @example\n * Reinterpret a typed array as bytes.\n * ```ts\n * u8(new Uint32Array([1, 2]));\n * ```\n */\nexport function u8(arr) {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/**\n * Casts a typed array view to Uint32Array.\n * `arr.byteOffset` must already be 4-byte aligned or the platform\n * Uint32Array constructor will throw.\n * @param arr - source typed array\n * @returns Uint32Array view over the same buffer.\n * @example\n * Reinterpret a byte array as 32-bit words.\n * ```ts\n * u32(new Uint8Array(8));\n * ```\n */\nexport function u32(arr) {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n/**\n * Zeroizes typed arrays in place. Warning: JS provides no guarantees.\n * @param arrays - arrays to overwrite with zeros\n * @example\n * Zeroize sensitive buffers in place.\n * ```ts\n * clean(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function clean(...arrays) {\n for (let i = 0; i < arrays.length; i++) {\n arrays[i].fill(0);\n }\n}\n/**\n * Creates a DataView for byte-level manipulation.\n * @param arr - source typed array\n * @returns DataView over the same buffer region.\n * @example\n * Create a DataView over an existing buffer.\n * ```ts\n * createView(new Uint8Array(4));\n * ```\n */\nexport function createView(arr) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/**\n * Rotate-right operation for uint32 values.\n * @param word - source word\n * @param shift - shift amount in bits\n * @returns Rotated word.\n * @example\n * Rotate a 32-bit word to the right.\n * ```ts\n * rotr(0x12345678, 8);\n * ```\n */\nexport function rotr(word, shift) {\n return (word << (32 - shift)) | (word >>> shift);\n}\n/**\n * Rotate-left operation for uint32 values.\n * @param word - source word\n * @param shift - shift amount in bits\n * @returns Rotated word.\n * @example\n * Rotate a 32-bit word to the left.\n * ```ts\n * rotl(0x12345678, 8);\n * ```\n */\nexport function rotl(word, shift) {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Whether the current platform is little-endian. */\nexport const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n/**\n * Byte-swap operation for uint32 values.\n * @param word - source word\n * @returns Word with reversed byte order.\n * @example\n * Reverse the byte order of a 32-bit word.\n * ```ts\n * byteSwap(0x11223344);\n * ```\n */\nexport function byteSwap(word) {\n return (((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff));\n}\n/**\n * Conditionally byte-swaps one 32-bit word on big-endian platforms.\n * @param n - source word\n * @returns Original or byte-swapped word depending on platform endianness.\n * @example\n * Normalize a 32-bit word for host endianness.\n * ```ts\n * swap8IfBE(0x11223344);\n * ```\n */\nexport const swap8IfBE = isLE\n ? (n) => n\n : (n) => byteSwap(n) >>> 0;\n/**\n * Byte-swaps every word of a Uint32Array in place.\n * @param arr - array to mutate\n * @returns The same array after mutation; callers pass live state arrays here.\n * @example\n * Reverse the byte order of every word in place.\n * ```ts\n * byteSwap32(new Uint32Array([0x11223344]));\n * ```\n */\nexport function byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n return arr;\n}\n/**\n * Conditionally byte-swaps a Uint32Array on big-endian platforms.\n * @param u - array to normalize for host endianness\n * @returns Original or byte-swapped array depending on platform endianness.\n * On big-endian runtimes this mutates `u` in place via `byteSwap32(...)`.\n * @example\n * Normalize a word array for host endianness.\n * ```ts\n * swap32IfBE(new Uint32Array([0x11223344]));\n * ```\n */\nexport const swap32IfBE = isLE\n ? (u) => u\n : byteSwap32;\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin = /* @__PURE__ */ (() => \n// @ts-ignore\ntypeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')();\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string.\n * Uses the built-in function when available and assumes it matches the tested\n * fallback semantics.\n * @param bytes - bytes to encode\n * @returns Lowercase hexadecimal string.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Convert bytes to lowercase hexadecimal.\n * ```ts\n * bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])); // 'cafe0123'\n * ```\n */\nexport function bytesToHex(bytes) {\n abytes(bytes);\n // @ts-ignore\n if (hasHexBuiltin)\n return bytes.toHex();\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// Strict ASCII nibble parser: non-ASCII hex lookalikes are rejected as undefined.\n// ASCII codes: '0'..'9' = 48..57, 'A'..'F' = 65..70, 'a'..'f' = 97..102.\n// prettier-ignore\nfunction asciiToBase16(ch) {\n return ch >= 48 && ch <= 57 ? ch - 48 // '2' => 50-48\n : ch >= 65 && ch <= 70 ? ch - (65 - 10) // 'B' => 66-(65-10)\n : ch >= 97 && ch <= 102 ? ch - (97 - 10) // 'b' => 98-(97-10)\n : undefined;\n}\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @param hex - hexadecimal string to decode\n * @returns Decoded bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Decode lowercase hexadecimal into bytes.\n * ```ts\n * hexToBytes('cafe0123'); // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n * ```\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new TypeError('hex string expected, got ' + typeof hex);\n if (hasHexBuiltin) {\n try {\n return Uint8Array.fromHex(hex);\n }\n catch (error) {\n if (error instanceof SyntaxError)\n throw new RangeError(error.message);\n throw error;\n }\n }\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new RangeError('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi)); // parse first char, multiply it by 16\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1)); // parse second char\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new RangeError('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // example: 'A9' => 10*16 + 9\n }\n return array;\n}\n/**\n * Yields to the host task scheduler so timers, I/O, and rendering can make progress.\n * Uses the Web Scheduling API when available or `setTimeout` as a cross-platform fallback.\n * Host-task yields are much slower than microtasks (roughly 1ms with the timer fallback), so\n * async loops should use `asyncTick >= 10` to amortize scheduling overhead to about 10% while\n * still allowing other event-loop work to proceed.\n * @param onReject - optional cleanup invoked only if the host yield fails\n * @example\n * Yield to the next scheduler tick.\n * ```ts\n * await nextTick();\n * ```\n */\nexport function nextTick(onReject) {\n const host = globalThis;\n if (typeof host.scheduler?.yield === 'function') {\n const promise = host.scheduler.yield();\n // Keep the original scheduler rejection; this handler exists only for cleanup.\n if (onReject)\n promise.catch(onReject);\n return promise;\n }\n return new Promise((resolve) => host.setTimeout(resolve, 0));\n}\n/**\n * Returns control to the host event loop every `tick` milliseconds to avoid blocking long loops.\n * @param iters - number of loop iterations to run\n * @param tick - maximum time slice in milliseconds\n * @param cb - callback executed on each iteration\n * @param onReject - optional cleanup invoked only if a host yield fails\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Run a loop that periodically yields back to the event loop.\n * ```ts\n * await asyncLoop(2, 0, () => {});\n * ```\n */\nexport async function asyncLoop(iters, tick, cb, onReject) {\n anumber(iters, 'iters');\n anumber(tick, 'tick');\n if (typeof cb !== 'function')\n throw new TypeError('callback must be a function');\n // Callback is synchronous by contract; asyncLoop only yields between sync work windows.\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick(onReject);\n // Track only synchronous work time; scheduler delay after yielding is outside our budget.\n ts = Date.now();\n }\n}\n/**\n * Converts string to bytes using UTF8 encoding.\n * Built-in doesn't validate input to be string: we do the check.\n * Non-ASCII details are delegated to the platform `TextEncoder`.\n * @param str - string to encode\n * @returns UTF-8 encoded bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Encode a string as UTF-8 bytes.\n * ```ts\n * utf8ToBytes('abc'); // Uint8Array.from([97, 98, 99])\n * ```\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new TypeError('string expected');\n const encoded = new TextEncoder().encode(str);\n try {\n // Copy into the current realm for Firefox extension contexts. Callers that own the returned\n // buffer can then wipe it independently of TextEncoder's temporary result.\n return new Uint8Array(encoded); // https://bugzil.la/1681809\n }\n finally {\n clean(encoded);\n }\n}\n/**\n * Helper for KDFs: consumes Uint8Array or string.\n * String inputs are UTF-8 encoded; byte-array inputs stay aliased to the caller buffer.\n * @param data - user-provided KDF input\n * @param errorTitle - label included in thrown errors\n * @returns Byte representation of the input.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Normalize KDF input to bytes.\n * ```ts\n * kdfInputToBytes('password');\n * ```\n */\nexport function kdfInputToBytes(data, errorTitle = '') {\n if (typeof data === 'string')\n return utf8ToBytes(data);\n return abytes(data, undefined, errorTitle);\n}\n/**\n * Copies several Uint8Arrays into one.\n * @param arrays - arrays to concatenate\n * @returns Concatenated byte array.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Concatenate multiple byte arrays.\n * ```ts\n * concatBytes(new Uint8Array([1]), new Uint8Array([2]));\n * ```\n */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n/**\n * Validates declared required and optional field types on a plain object.\n * This walks field schemas and formats detailed errors, so avoid it on hot paths; use direct\n * one-line guards such as `abytes()`, `abool()`, or `anumber()` instead.\n * @param object - object to validate\n * @param fields - map of required field names to expected types\n * @param optFields - map of optional field names to expected types\n * @param title - label included in thrown errors\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Validate required and optional option fields.\n * ```ts\n * validateObject({ N: 1024, dkLen: 32 }, { N: 'number' }, { dkLen: 'number' });\n * ```\n */\nexport const validateObject = (object, fields = {}, optFields = {}, title = 'object') => {\n aobject(object, title);\n aobject(fields, 'fields');\n aobject(optFields, 'optFields');\n function checkField(fieldName, expectedType, isOpt) {\n const label = title === 'object' ? `param \"${String(fieldName)}\"` : `\"${title}.${String(fieldName)}\"`;\n // Config fields must be explicit own properties. Optional inherited values are rejected too\n // because callers keep reading the same options object after validation.\n const val = object[fieldName];\n // Runtime objects such as Field instances intentionally satisfy required method slots\n // via their shared prototype.\n if (!Object.hasOwn(object, fieldName) &&\n (isOpt ? val !== undefined : expectedType !== 'function')) {\n throw new TypeError(`${label} is invalid: expected own property`);\n }\n if (isOpt && val === undefined)\n return;\n const current = typeof val;\n if (current !== expectedType || val === null)\n throw new TypeError(`${label} is invalid: expected ${expectedType}, got ${current}`);\n }\n const iter = (f, isOpt) => Object.entries(f).forEach(([k, v]) => checkField(k, v, isOpt));\n iter(fields, false);\n iter(optFields, true);\n};\n/**\n * Merges default options and passed options.\n * @param defaults - base option object\n * @param opts - user overrides\n * @param title - label included in thrown override errors\n * @returns Fresh merged option object with a null prototype.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Merge user overrides onto default options.\n * ```ts\n * checkOpts({ dkLen: 32 }, { asyncTick: 10 });\n * ```\n */\nexport function checkOpts(defaults, opts, title = 'opts') {\n aopts(defaults, 'defaults');\n if (opts !== undefined)\n aopts(opts, title);\n // Callers read optional fields directly, so omitted values must not fall through to ambient\n // Object.prototype pollution (for example a forged `dkLen` changing SHAKE's default output).\n const merged = Object.assign(Object.create(null), defaults, opts);\n return merged;\n}\n/**\n * Creates a callable hash function from a stateful class constructor.\n * @param hashCons - hash constructor or factory\n * @param info - optional metadata such as DER OID\n * @returns Frozen callable hash wrapper with `.create()`.\n * Wrapper construction eagerly calls `hashCons(undefined)` once to read\n * `outputLen` / `blockLen`, so constructor side effects happen at module\n * init time.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Wrap a stateful hash constructor into a callable helper.\n * ```ts\n * import { createHasher } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const wrapped = createHasher(sha256.create, { oid: sha256.oid });\n * wrapped(new Uint8Array([1]));\n * ```\n */\nexport function createHasher(hashCons, info = {}) {\n if (typeof hashCons !== 'function')\n throw new TypeError('\"hashCons\" expected function, got type=' + typeof hashCons);\n info = checkOpts({}, info, 'info');\n const hashC = (msg, opts) => hashCons(opts)\n .update(msg)\n .digest();\n const tmp = hashCons(undefined);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.canXOF = tmp.canXOF;\n hashC.create = (opts) => hashCons(opts);\n Object.assign(hashC, info);\n return Object.freeze(hashC);\n}\n/**\n * Cryptographically secure PRNG backed by `crypto.getRandomValues`.\n * @param bytesLength - number of random bytes to generate\n * @returns Random bytes.\n * The platform `getRandomValues()` implementation still defines any\n * single-call length cap, and this helper rejects oversize requests\n * with a stable library `RangeError` instead of host-specific errors.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @throws If the current runtime does not provide `crypto.getRandomValues`. {@link Error}\n * @example\n * Generate a fresh random key or nonce.\n * ```ts\n * const key = randomBytes(16);\n * ```\n */\nexport function randomBytes(bytesLength = 32) {\n // Match the repo's other length-taking helpers instead of relying on Uint8Array coercion.\n anumber(bytesLength, 'bytesLength');\n const cr = typeof globalThis === 'object' ? globalThis.crypto : null;\n if (typeof cr?.getRandomValues !== 'function')\n throw new Error('crypto.getRandomValues must be defined');\n // Web Cryptography API Level 2 §10.1.1:\n // if `byteLength > 65536`, throw `QuotaExceededError`.\n // Keep the guard explicit so callers can see the quota in code\n // instead of discovering it by reading the spec or host errors.\n // This wrapper surfaces the same quota as a stable library RangeError.\n if (bytesLength > 65536)\n throw new RangeError(`\"bytesLength\" expected <= 65536, got ${bytesLength}`);\n return cr.getRandomValues(new Uint8Array(bytesLength));\n}\n/**\n * Creates OID metadata for NIST hashes with prefix `06 09 60 86 48 01 65 03 04 02`.\n * @param suffix - final OID byte for the selected hash.\n * The helper accepts any byte even though only the documented NIST hash\n * suffixes are meaningful downstream.\n * @returns Object containing the DER-encoded OID.\n * @example\n * Build OID metadata for a NIST hash.\n * ```ts\n * oidNist(0x01);\n * ```\n */\nexport const oidNist = (suffix) => ({\n // Current NIST hashAlgs suffixes used here fit in one DER subidentifier octet.\n // Larger suffix values would need base-128 OID encoding and a different length byte.\n oid: Uint8Array.from([0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, suffix]),\n});\n","//#region src/random.ts\nfunction expandAlphabet(alphabet) {\n\tswitch (alphabet) {\n\t\tcase \"a-z\": return \"abcdefghijklmnopqrstuvwxyz\";\n\t\tcase \"A-Z\": return \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\t\tcase \"0-9\": return \"0123456789\";\n\t\tcase \"-_\": return \"-_\";\n\t\tdefault: throw new Error(`Unsupported alphabet: ${alphabet}`);\n\t}\n}\nfunction createRandomStringGenerator(...baseAlphabets) {\n\tconst baseCharSet = baseAlphabets.map(expandAlphabet).join(\"\");\n\tif (baseCharSet.length === 0) throw new Error(\"No valid characters provided for random string generation.\");\n\tconst baseCharSetLength = baseCharSet.length;\n\treturn (length, ...alphabets) => {\n\t\tif (length <= 0) throw new Error(\"Length must be a positive integer.\");\n\t\tlet charSet = baseCharSet;\n\t\tlet charSetLength = baseCharSetLength;\n\t\tif (alphabets.length > 0) {\n\t\t\tcharSet = alphabets.map(expandAlphabet).join(\"\");\n\t\t\tcharSetLength = charSet.length;\n\t\t}\n\t\tconst maxValid = Math.floor(256 / charSetLength) * charSetLength;\n\t\tconst buf = new Uint8Array(length * 2);\n\t\tconst bufLength = buf.length;\n\t\tlet result = \"\";\n\t\tlet bufIndex = bufLength;\n\t\tlet rand;\n\t\twhile (result.length < length) {\n\t\t\tif (bufIndex >= bufLength) {\n\t\t\t\tcrypto.getRandomValues(buf);\n\t\t\t\tbufIndex = 0;\n\t\t\t}\n\t\t\trand = buf[bufIndex++];\n\t\t\tif (rand < maxValid) result += charSet[rand % charSetLength];\n\t\t}\n\t\treturn result;\n\t};\n}\n//#endregion\nexport { createRandomStringGenerator };\n","//#region src/bytes.ts\nfunction toBufferSource(data) {\n\tif (typeof data === \"string\") return new TextEncoder().encode(data);\n\tif (!ArrayBuffer.isView(data)) return data;\n\tif (data.buffer instanceof ArrayBuffer) return data;\n\treturn new Uint8Array(data.buffer, data.byteOffset, data.byteLength).slice();\n}\n/**\n* Converts strings and binary data into a `Uint8Array`.\n*\n* `ArrayBuffer` inputs share memory with the returned view, while number-based\n* `TypedArray` inputs are copied according to native constructor semantics.\n*\n* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#buffer | ArrayBuffer constructor behavior}\n* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#typedarray | TypedArray constructor behavior}\n*/\nfunction toUint8Array(data) {\n\tif (typeof data === \"string\") return new TextEncoder().encode(data);\n\treturn new Uint8Array(data);\n}\n//#endregion\nexport { toBufferSource, toUint8Array };\n","import { toUint8Array } from \"./bytes.mjs\";\n//#region src/base64.ts\nfunction getAlphabet(urlSafe) {\n\treturn urlSafe ? \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\" : \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n}\nfunction base64Encode(data, alphabet, padding) {\n\tlet result = \"\";\n\tlet buffer = 0;\n\tlet shift = 0;\n\tfor (const byte of data) {\n\t\tbuffer = buffer << 8 | byte;\n\t\tshift += 8;\n\t\twhile (shift >= 6) {\n\t\t\tshift -= 6;\n\t\t\tresult += alphabet[buffer >> shift & 63];\n\t\t}\n\t}\n\tif (shift > 0) result += alphabet[buffer << 6 - shift & 63];\n\tif (padding) {\n\t\tconst padCount = (4 - result.length % 4) % 4;\n\t\tresult += \"=\".repeat(padCount);\n\t}\n\treturn result;\n}\nfunction base64Decode(data, alphabet) {\n\tconst decodeMap = /* @__PURE__ */ new Map();\n\tfor (let i = 0; i < alphabet.length; i++) decodeMap.set(alphabet[i], i);\n\tconst result = [];\n\tlet buffer = 0;\n\tlet bitsCollected = 0;\n\tfor (const char of data) {\n\t\tif (char === \"=\") break;\n\t\tconst value = decodeMap.get(char);\n\t\tif (value === void 0) throw new Error(`Invalid Base64 character: ${char}`);\n\t\tbuffer = buffer << 6 | value;\n\t\tbitsCollected += 6;\n\t\tif (bitsCollected >= 8) {\n\t\t\tbitsCollected -= 8;\n\t\t\tresult.push(buffer >> bitsCollected & 255);\n\t\t}\n\t}\n\treturn Uint8Array.from(result);\n}\nconst base64 = {\n\tencode(data, options = {}) {\n\t\tconst alphabet = getAlphabet(false);\n\t\treturn base64Encode(toUint8Array(data), alphabet, options.padding ?? true);\n\t},\n\tdecode(data) {\n\t\tif (typeof data !== \"string\") data = new TextDecoder().decode(data);\n\t\tconst alphabet = getAlphabet(data.includes(\"-\") || data.includes(\"_\"));\n\t\treturn base64Decode(data, alphabet);\n\t}\n};\nconst base64Url = {\n\tencode(data, options = {}) {\n\t\tconst alphabet = getAlphabet(true);\n\t\treturn base64Encode(toUint8Array(data), alphabet, options.padding ?? true);\n\t},\n\tdecode(data) {\n\t\treturn base64Decode(data, getAlphabet(data.includes(\"-\") || data.includes(\"_\")));\n\t}\n};\n//#endregion\nexport { base64, base64Url };\n","//#region src/error.ts\nfunction isErrorStackTraceLimitWritable() {\n\tconst desc = Object.getOwnPropertyDescriptor(Error, \"stackTraceLimit\");\n\tif (desc === void 0) return Object.isExtensible(Error);\n\treturn Object.prototype.hasOwnProperty.call(desc, \"writable\") ? desc.writable : desc.set !== void 0;\n}\n/**\n* Hide internal stack frames from the error stack trace.\n*/\nfunction hideInternalStackFrames(stack) {\n\tconst lines = stack.split(\"\\n at \");\n\tif (lines.length <= 1) return stack;\n\tlines.splice(1, 1);\n\treturn lines.join(\"\\n at \");\n}\n/**\n* Creates a custom error class that hides stack frames.\n*/\nfunction makeErrorForHideStackFrame(Base, clazz) {\n\tclass HideStackFramesError extends Base {\n\t\t#hiddenStack;\n\t\tconstructor(...args) {\n\t\t\tif (isErrorStackTraceLimitWritable()) {\n\t\t\t\tconst limit = Error.stackTraceLimit;\n\t\t\t\tError.stackTraceLimit = 0;\n\t\t\t\tsuper(...args);\n\t\t\t\tError.stackTraceLimit = limit;\n\t\t\t} else super(...args);\n\t\t\tconst stack = (/* @__PURE__ */ new Error()).stack;\n\t\t\tif (stack) this.#hiddenStack = hideInternalStackFrames(stack.replace(/^Error/, this.name));\n\t\t}\n\t\tget errorStack() {\n\t\t\treturn this.#hiddenStack;\n\t\t}\n\t}\n\tObject.defineProperty(HideStackFramesError.prototype, \"constructor\", {\n\t\tget() {\n\t\t\treturn clazz;\n\t\t},\n\t\tenumerable: false,\n\t\tconfigurable: true\n\t});\n\treturn HideStackFramesError;\n}\nconst statusCodes = {\n\tOK: 200,\n\tCREATED: 201,\n\tACCEPTED: 202,\n\tNO_CONTENT: 204,\n\tMULTIPLE_CHOICES: 300,\n\tMOVED_PERMANENTLY: 301,\n\tFOUND: 302,\n\tSEE_OTHER: 303,\n\tNOT_MODIFIED: 304,\n\tTEMPORARY_REDIRECT: 307,\n\tBAD_REQUEST: 400,\n\tUNAUTHORIZED: 401,\n\tPAYMENT_REQUIRED: 402,\n\tFORBIDDEN: 403,\n\tNOT_FOUND: 404,\n\tMETHOD_NOT_ALLOWED: 405,\n\tNOT_ACCEPTABLE: 406,\n\tPROXY_AUTHENTICATION_REQUIRED: 407,\n\tREQUEST_TIMEOUT: 408,\n\tCONFLICT: 409,\n\tGONE: 410,\n\tLENGTH_REQUIRED: 411,\n\tPRECONDITION_FAILED: 412,\n\tPAYLOAD_TOO_LARGE: 413,\n\tURI_TOO_LONG: 414,\n\tUNSUPPORTED_MEDIA_TYPE: 415,\n\tRANGE_NOT_SATISFIABLE: 416,\n\tEXPECTATION_FAILED: 417,\n\t\"I'M_A_TEAPOT\": 418,\n\tMISDIRECTED_REQUEST: 421,\n\tUNPROCESSABLE_ENTITY: 422,\n\tLOCKED: 423,\n\tFAILED_DEPENDENCY: 424,\n\tTOO_EARLY: 425,\n\tUPGRADE_REQUIRED: 426,\n\tPRECONDITION_REQUIRED: 428,\n\tTOO_MANY_REQUESTS: 429,\n\tREQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n\tUNAVAILABLE_FOR_LEGAL_REASONS: 451,\n\tINTERNAL_SERVER_ERROR: 500,\n\tNOT_IMPLEMENTED: 501,\n\tBAD_GATEWAY: 502,\n\tSERVICE_UNAVAILABLE: 503,\n\tGATEWAY_TIMEOUT: 504,\n\tHTTP_VERSION_NOT_SUPPORTED: 505,\n\tVARIANT_ALSO_NEGOTIATES: 506,\n\tINSUFFICIENT_STORAGE: 507,\n\tLOOP_DETECTED: 508,\n\tNOT_EXTENDED: 510,\n\tNETWORK_AUTHENTICATION_REQUIRED: 511\n};\nvar InternalAPIError = class extends Error {\n\tstatus;\n\tbody;\n\theaders;\n\tstatusCode;\n\tconstructor(status = \"INTERNAL_SERVER_ERROR\", body = void 0, headers = {}, statusCode = typeof status === \"number\" ? status : statusCodes[status]) {\n\t\tsuper(body?.message, body?.cause ? { cause: body.cause } : void 0);\n\t\tthis.status = status;\n\t\tthis.body = body;\n\t\tthis.headers = headers;\n\t\tthis.statusCode = statusCode;\n\t\tthis.name = \"APIError\";\n\t\tthis.status = status;\n\t\tthis.headers = headers;\n\t\tthis.statusCode = statusCode;\n\t\tthis.body = body;\n\t}\n};\nvar ValidationError = class extends InternalAPIError {\n\tmessage;\n\tissues;\n\tconstructor(message, issues) {\n\t\tsuper(400, {\n\t\t\tmessage,\n\t\t\tcode: \"VALIDATION_ERROR\"\n\t\t});\n\t\tthis.message = message;\n\t\tthis.issues = issues;\n\t\tthis.issues = issues;\n\t}\n};\nvar BetterCallError = class extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = \"BetterCallError\";\n\t}\n};\nconst kAPIErrorHeaderSymbol = Symbol.for(\"better-call:api-error-headers\");\nconst APIError = makeErrorForHideStackFrame(InternalAPIError, Error);\n//#endregion\nexport { APIError, BetterCallError, ValidationError, hideInternalStackFrames, kAPIErrorHeaderSymbol, makeErrorForHideStackFrame, statusCodes };\n\n//# sourceMappingURL=error.mjs.map","//#region src/env/env-impl.ts\nconst _envShim = Object.create(null);\nconst _getEnv = (useShim) => globalThis.process?.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (useShim ? _envShim : globalThis);\nconst env = new Proxy(_envShim, {\n\tget(_, prop) {\n\t\treturn _getEnv()[prop] ?? _envShim[prop];\n\t},\n\thas(_, prop) {\n\t\treturn prop in _getEnv() || prop in _envShim;\n\t},\n\tset(_, prop, value) {\n\t\tconst env = _getEnv(true);\n\t\tenv[prop] = value;\n\t\treturn true;\n\t},\n\tdeleteProperty(_, prop) {\n\t\tif (!prop) return false;\n\t\tconst env = _getEnv(true);\n\t\tdelete env[prop];\n\t\treturn true;\n\t},\n\townKeys() {\n\t\tconst env = _getEnv(true);\n\t\treturn Object.keys(env);\n\t}\n});\nfunction toBoolean(val) {\n\treturn val ? val !== \"false\" : false;\n}\nconst nodeENV = env.NODE_ENV ?? \"\";\n/** Detect if `NODE_ENV` environment variable is `production` */\nconst isProduction = nodeENV === \"production\";\n/** Detect if `NODE_ENV` environment variable is `dev` or `development` */\nconst isDevelopment = () => nodeENV === \"dev\" || nodeENV === \"development\";\n/** Detect if `NODE_ENV` environment variable is `test` */\nconst isTest = () => nodeENV === \"test\" || toBoolean(env.TEST);\n/**\n* Get environment variable with fallback\n*/\nfunction getEnvVar(key, fallback) {\n\tif (typeof process !== \"undefined\" && process.env) return process.env[key] ?? fallback;\n\tif (typeof Deno !== \"undefined\") return Deno.env.get(key) ?? fallback;\n\tif (typeof Bun !== \"undefined\") return Bun.env[key] ?? fallback;\n\treturn fallback;\n}\n/**\n* Get boolean environment variable\n*/\nfunction getBooleanEnvVar(key, fallback = true) {\n\tconst value = getEnvVar(key);\n\tif (!value) return fallback;\n\treturn value !== \"0\" && value.toLowerCase() !== \"false\" && value !== \"\";\n}\n/**\n* Common environment variables used in Better Auth\n*/\nconst ENV = Object.freeze({\n\tget BETTER_AUTH_SECRET() {\n\t\treturn getEnvVar(\"BETTER_AUTH_SECRET\");\n\t},\n\tget AUTH_SECRET() {\n\t\treturn getEnvVar(\"AUTH_SECRET\");\n\t},\n\tget BETTER_AUTH_TELEMETRY() {\n\t\treturn getEnvVar(\"BETTER_AUTH_TELEMETRY\");\n\t},\n\tget BETTER_AUTH_TELEMETRY_ID() {\n\t\treturn getEnvVar(\"BETTER_AUTH_TELEMETRY_ID\");\n\t},\n\tget NODE_ENV() {\n\t\treturn getEnvVar(\"NODE_ENV\", \"development\");\n\t},\n\tget PACKAGE_VERSION() {\n\t\treturn getEnvVar(\"PACKAGE_VERSION\", \"0.0.0\");\n\t},\n\tget BETTER_AUTH_TELEMETRY_ENDPOINT() {\n\t\treturn getEnvVar(\"BETTER_AUTH_TELEMETRY_ENDPOINT\", \"\");\n\t}\n});\n//#endregion\nexport { ENV, env, getBooleanEnvVar, getEnvVar, isDevelopment, isProduction, isTest, nodeENV };\n","import { env, getEnvVar } from \"./env-impl.mjs\";\n//#region src/env/color-depth.ts\nconst COLORS_2 = 1;\nconst COLORS_16 = 4;\nconst COLORS_256 = 8;\nconst COLORS_16m = 24;\nconst TERM_ENVS = {\n\teterm: COLORS_16,\n\tcons25: COLORS_16,\n\tconsole: COLORS_16,\n\tcygwin: COLORS_16,\n\tdtterm: COLORS_16,\n\tgnome: COLORS_16,\n\thurd: COLORS_16,\n\tjfbterm: COLORS_16,\n\tkonsole: COLORS_16,\n\tkterm: COLORS_16,\n\tmlterm: COLORS_16,\n\tmosh: COLORS_16m,\n\tputty: COLORS_16,\n\tst: COLORS_16,\n\t\"rxvt-unicode-24bit\": COLORS_16m,\n\tterminator: COLORS_16m,\n\t\"xterm-kitty\": COLORS_16m\n};\nconst CI_ENVS_MAP = new Map(Object.entries({\n\tAPPVEYOR: COLORS_256,\n\tBUILDKITE: COLORS_256,\n\tCIRCLECI: COLORS_16m,\n\tDRONE: COLORS_256,\n\tGITEA_ACTIONS: COLORS_16m,\n\tGITHUB_ACTIONS: COLORS_16m,\n\tGITLAB_CI: COLORS_256,\n\tTRAVIS: COLORS_256\n}));\nconst TERM_ENVS_REG_EXP = [\n\t/ansi/,\n\t/color/,\n\t/linux/,\n\t/direct/,\n\t/^con[0-9]*x[0-9]/,\n\t/^rxvt/,\n\t/^screen/,\n\t/^xterm/,\n\t/^vt100/,\n\t/^vt220/\n];\nfunction getColorDepth() {\n\tif (getEnvVar(\"FORCE_COLOR\") !== void 0) switch (getEnvVar(\"FORCE_COLOR\")) {\n\t\tcase \"\":\n\t\tcase \"1\":\n\t\tcase \"true\": return COLORS_16;\n\t\tcase \"2\": return COLORS_256;\n\t\tcase \"3\": return COLORS_16m;\n\t\tdefault: return COLORS_2;\n\t}\n\tif (getEnvVar(\"NODE_DISABLE_COLORS\") !== void 0 && getEnvVar(\"NODE_DISABLE_COLORS\") !== \"\" || getEnvVar(\"NO_COLOR\") !== void 0 && getEnvVar(\"NO_COLOR\") !== \"\" || getEnvVar(\"TERM\") === \"dumb\") return COLORS_2;\n\tif (getEnvVar(\"TMUX\")) return COLORS_16m;\n\tif (\"TF_BUILD\" in env && \"AGENT_NAME\" in env) return COLORS_16;\n\tif (\"CI\" in env) {\n\t\tfor (const { 0: envName, 1: colors } of CI_ENVS_MAP) if (envName in env) return colors;\n\t\tif (getEnvVar(\"CI_NAME\") === \"codeship\") return COLORS_256;\n\t\treturn COLORS_2;\n\t}\n\tif (\"TEAMCITY_VERSION\" in env) return /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.exec(getEnvVar(\"TEAMCITY_VERSION\")) !== null ? COLORS_16 : COLORS_2;\n\tswitch (getEnvVar(\"TERM_PROGRAM\")) {\n\t\tcase \"iTerm.app\":\n\t\t\tif (!getEnvVar(\"TERM_PROGRAM_VERSION\") || /^[0-2]\\./.exec(getEnvVar(\"TERM_PROGRAM_VERSION\")) !== null) return COLORS_256;\n\t\t\treturn COLORS_16m;\n\t\tcase \"HyperTerm\":\n\t\tcase \"MacTerm\": return COLORS_16m;\n\t\tcase \"Apple_Terminal\": return COLORS_256;\n\t}\n\tif (getEnvVar(\"COLORTERM\") === \"truecolor\" || getEnvVar(\"COLORTERM\") === \"24bit\") return COLORS_16m;\n\tif (getEnvVar(\"TERM\")) {\n\t\tif (/truecolor/.exec(getEnvVar(\"TERM\")) !== null) return COLORS_16m;\n\t\tif (/^xterm-256/.exec(getEnvVar(\"TERM\")) !== null) return COLORS_256;\n\t\tconst termEnv = getEnvVar(\"TERM\").toLowerCase();\n\t\tif (TERM_ENVS[termEnv]) return TERM_ENVS[termEnv];\n\t\tif (TERM_ENVS_REG_EXP.some((term) => term.exec(termEnv) !== null)) return COLORS_16;\n\t}\n\tif (getEnvVar(\"COLORTERM\")) return COLORS_16;\n\treturn COLORS_2;\n}\n//#endregion\nexport { getColorDepth };\n","//#region src/context/global.ts\nconst symbol = Symbol.for(\"better-auth:global\");\nlet bind = null;\nconst __context = {};\nconst __betterAuthVersion = \"1.7.8\";\n/**\n* We store context instance in the globalThis.\n*\n* The reason we do this is that some bundlers, web framework, or package managers might\n* create multiple copies of BetterAuth in the same process intentionally or unintentionally.\n*\n* For example, yarn v1, Next.js, SSR, Vite...\n*\n* @internal\n*/\nfunction __getBetterAuthGlobal() {\n\tif (!globalThis[symbol]) {\n\t\tglobalThis[symbol] = {\n\t\t\tversion: __betterAuthVersion,\n\t\t\tepoch: 1,\n\t\t\tcontext: __context\n\t\t};\n\t\tbind = globalThis[symbol];\n\t}\n\tbind = globalThis[symbol];\n\tif (bind.version !== __betterAuthVersion) {\n\t\tbind.version = __betterAuthVersion;\n\t\tbind.epoch++;\n\t}\n\treturn globalThis[symbol];\n}\nfunction __getCurrentEndpointContext() {\n\treturn __getBetterAuthGlobal().context.endpointContextAsyncStorage?.getStore();\n}\nfunction getBetterAuthVersion() {\n\treturn __getBetterAuthGlobal().version;\n}\n//#endregion\nexport { __getBetterAuthGlobal, __getCurrentEndpointContext, getBetterAuthVersion };\n","import { __getCurrentEndpointContext } from \"../context/global.mjs\";\nimport { getColorDepth } from \"./color-depth.mjs\";\n//#region src/env/logger.ts\nconst TTY_COLORS = {\n\treset: \"\\x1B[0m\",\n\tbright: \"\\x1B[1m\",\n\tdim: \"\\x1B[2m\",\n\tundim: \"\\x1B[22m\",\n\tunderscore: \"\\x1B[4m\",\n\tblink: \"\\x1B[5m\",\n\treverse: \"\\x1B[7m\",\n\thidden: \"\\x1B[8m\",\n\tfg: {\n\t\tblack: \"\\x1B[30m\",\n\t\tred: \"\\x1B[31m\",\n\t\tgreen: \"\\x1B[32m\",\n\t\tyellow: \"\\x1B[33m\",\n\t\tblue: \"\\x1B[34m\",\n\t\tmagenta: \"\\x1B[35m\",\n\t\tcyan: \"\\x1B[36m\",\n\t\twhite: \"\\x1B[37m\"\n\t},\n\tbg: {\n\t\tblack: \"\\x1B[40m\",\n\t\tred: \"\\x1B[41m\",\n\t\tgreen: \"\\x1B[42m\",\n\t\tyellow: \"\\x1B[43m\",\n\t\tblue: \"\\x1B[44m\",\n\t\tmagenta: \"\\x1B[45m\",\n\t\tcyan: \"\\x1B[46m\",\n\t\twhite: \"\\x1B[47m\"\n\t}\n};\nconst levels = [\n\t\"debug\",\n\t\"info\",\n\t\"success\",\n\t\"warn\",\n\t\"error\"\n];\nfunction shouldPublishLog(currentLogLevel, logLevel) {\n\treturn levels.indexOf(logLevel) >= levels.indexOf(currentLogLevel);\n}\nconst levelColors = {\n\tinfo: TTY_COLORS.fg.blue,\n\tsuccess: TTY_COLORS.fg.green,\n\twarn: TTY_COLORS.fg.yellow,\n\terror: TTY_COLORS.fg.red,\n\tdebug: TTY_COLORS.fg.magenta\n};\nconst formatMessage = (level, message, colorsEnabled) => {\n\tconst timestamp = (/* @__PURE__ */ new Date()).toISOString();\n\tif (colorsEnabled) return `${TTY_COLORS.dim}${timestamp}${TTY_COLORS.reset} ${levelColors[level]}${level.toUpperCase()}${TTY_COLORS.reset} ${TTY_COLORS.bright}[Better Auth]:${TTY_COLORS.reset} ${message}`;\n\treturn `${timestamp} ${level.toUpperCase()} [Better Auth]: ${message}`;\n};\nconst createLogger = (options) => {\n\tconst enabled = options?.disabled !== true;\n\tconst logLevel = options?.level ?? \"warn\";\n\tconst colorsEnabled = options?.disableColors !== void 0 ? !options.disableColors : getColorDepth() !== 1;\n\tconst LogFunc = (level, message, args = []) => {\n\t\tif (!enabled || !shouldPublishLog(logLevel, level)) return;\n\t\tconst formattedMessage = formatMessage(level, message, colorsEnabled);\n\t\tif (!options || typeof options.log !== \"function\") {\n\t\t\tif (level === \"error\") console.error(formattedMessage, ...args);\n\t\t\telse if (level === \"warn\") console.warn(formattedMessage, ...args);\n\t\t\telse console.log(formattedMessage, ...args);\n\t\t\treturn;\n\t\t}\n\t\toptions.log(level === \"success\" ? \"info\" : level, message, ...args);\n\t};\n\treturn {\n\t\t...Object.fromEntries(levels.map((level) => [level, (...[message, ...args]) => LogFunc(level, message, args)])),\n\t\tget level() {\n\t\t\treturn logLevel;\n\t\t}\n\t};\n};\nconst defaultLogger = createLogger();\nconst getCurrentLogger = () => {\n\tconst currentLogger = __getCurrentEndpointContext()?.context.logger;\n\treturn currentLogger && currentLogger !== logger ? currentLogger : defaultLogger;\n};\nconst logger = {\n\tdebug: (...params) => getCurrentLogger().debug(...params),\n\tinfo: (...params) => getCurrentLogger().info(...params),\n\tsuccess: (...params) => getCurrentLogger().success(...params),\n\twarn: (...params) => getCurrentLogger().warn(...params),\n\terror: (...params) => getCurrentLogger().error(...params),\n\tget level() {\n\t\treturn getCurrentLogger().level;\n\t}\n};\n//#endregion\nexport { TTY_COLORS, createLogger, levels, logger, shouldPublishLog };\n","import { BASE_ERROR_CODES } from \"./codes.mjs\";\nimport { APIError as APIError$1 } from \"better-call/error\";\n//#region src/error/index.ts\nvar BetterAuthError = class extends Error {\n\tconstructor(message, options) {\n\t\tsuper(message, options);\n\t\tthis.name = \"BetterAuthError\";\n\t\tthis.message = message;\n\t\tthis.stack = \"\";\n\t}\n};\nvar APIError = class APIError extends APIError$1 {\n\tconstructor(...args) {\n\t\tsuper(...args);\n\t}\n\tstatic fromStatus(status, body) {\n\t\treturn new APIError(status, body);\n\t}\n\tstatic from(status, error) {\n\t\treturn new APIError(status, {\n\t\t\tmessage: error.message,\n\t\t\tcode: error.code\n\t\t});\n\t}\n};\n//#endregion\nexport { APIError, BASE_ERROR_CODES, BetterAuthError };\n","import { BetterAuthError } from \"../error/index.mjs\";\n//#region src/db/database-index.ts\nconst MAX_DATABASE_INDEX_NAME_BYTES = 63;\nconst MAX_DATABASE_INDEX_FIELDS = 16;\nfunction getPortableDatabaseIdentifierKey(identifier) {\n\treturn identifier.toLowerCase();\n}\nfunction getUtf8ByteLength(value) {\n\treturn new TextEncoder().encode(value).length;\n}\nfunction truncateUtf8(value, maxBytes) {\n\tlet result = \"\";\n\tlet byteLength = 0;\n\tfor (const character of value) {\n\t\tconst characterByteLength = getUtf8ByteLength(character);\n\t\tif (byteLength + characterByteLength > maxBytes) break;\n\t\tresult += character;\n\t\tbyteLength += characterByteLength;\n\t}\n\treturn result;\n}\nfunction getStableIndexNameHash(value) {\n\tlet hash = 2166136261;\n\tfor (let index = 0; index < value.length; index++) {\n\t\thash ^= value.charCodeAt(index);\n\t\thash = Math.imul(hash, 16777619);\n\t}\n\treturn (hash >>> 0).toString(16).padStart(8, \"0\");\n}\n/** Returns the stable database name for a table-level index. */\nfunction getDatabaseIndexName(tableName, index) {\n\tif (index.name !== void 0) {\n\t\tif (index.name.trim().length === 0) throw new BetterAuthError(\"Database index names must contain at least one visible character.\");\n\t\tif (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(index.name)) throw new BetterAuthError(\"Database index names must start with a letter or underscore and contain only letters, numbers, and underscores.\");\n\t\tif (getUtf8ByteLength(index.name) > MAX_DATABASE_INDEX_NAME_BYTES) throw new BetterAuthError(`Database index names must be at most ${MAX_DATABASE_INDEX_NAME_BYTES} UTF-8 bytes.`);\n\t\treturn index.name;\n\t}\n\tconst indexKind = index.unique ? \"uidx\" : \"idx\";\n\tconst generatedName = `${tableName}_${index.fields.join(\"_\")}_${indexKind}`;\n\tif (getUtf8ByteLength(generatedName) <= MAX_DATABASE_INDEX_NAME_BYTES) return generatedName;\n\tconst suffix = `_${getStableIndexNameHash(generatedName)}_${indexKind}`;\n\treturn `${truncateUtf8(generatedName.slice(0, -indexKind.length - 1), MAX_DATABASE_INDEX_NAME_BYTES - getUtf8ByteLength(suffix))}${suffix}`;\n}\n/** Returns the database name used by legacy field-level index metadata. */\nfunction getDatabaseFieldIndexName(tableName, columnName, unique) {\n\treturn getDatabaseIndexName(tableName, {\n\t\tfields: [columnName],\n\t\tunique\n\t});\n}\n/** Resolves logical index fields to their configured database column names. */\nfunction resolveDatabaseTableIndexes({ fields, indexes, tableName }) {\n\tconst resolvedIndexes = (indexes ?? []).map((index) => {\n\t\tif (index.fields.length === 0) throw new BetterAuthError(`Index on table \"${tableName}\" must include at least one field.`);\n\t\tif (index.fields.length > MAX_DATABASE_INDEX_FIELDS) throw new BetterAuthError(`Index on table \"${tableName}\" can include at most ${MAX_DATABASE_INDEX_FIELDS} fields so it works across supported databases.`);\n\t\tif (new Set(index.fields).size !== index.fields.length) throw new BetterAuthError(`Index on table \"${tableName}\" contains the same field more than once.`);\n\t\tif (index.unique && index.fields.some((fieldName) => fields[fieldName]?.required === false)) throw new BetterAuthError(`Unique index on table \"${tableName}\" can only include required fields so its behavior is consistent across databases.`);\n\t\tconst unsupportedField = index.fields.find((fieldName) => {\n\t\t\tconst fieldType = fields[fieldName]?.type;\n\t\t\treturn fieldType === \"json\" || fieldType === \"string[]\" || fieldType === \"number[]\";\n\t\t});\n\t\tif (unsupportedField) throw new BetterAuthError(`Index on table \"${tableName}\" references field \"${unsupportedField}\", whose type is not portably indexable.`);\n\t\tconst resolveFieldName = (fieldName) => {\n\t\t\tconst field = fields[fieldName];\n\t\t\tif (!field) throw new BetterAuthError(`Index on table \"${tableName}\" references unknown field \"${fieldName}\".`);\n\t\t\treturn field.fieldName || fieldName;\n\t\t};\n\t\tconst [firstField, ...remainingFields] = index.fields;\n\t\tconst columns = [resolveFieldName(firstField), ...remainingFields.map(resolveFieldName)];\n\t\tif (new Set(columns.map(getPortableDatabaseIdentifierKey)).size !== columns.length) throw new BetterAuthError(`Index on table \"${tableName}\" resolves more than one field to the same database column.`);\n\t\treturn {\n\t\t\tcolumns,\n\t\t\tname: getDatabaseIndexName(tableName, {\n\t\t\t\t...index,\n\t\t\t\tfields: columns\n\t\t\t}),\n\t\t\tunique: index.unique\n\t\t};\n\t});\n\tconst definitionsByName = /* @__PURE__ */ new Map();\n\tconst deduplicatedIndexes = [];\n\tfor (const index of resolvedIndexes) {\n\t\tconst definition = JSON.stringify([index.columns, index.unique ?? false]);\n\t\tconst identifierKey = getPortableDatabaseIdentifierKey(index.name);\n\t\tconst existingDefinition = definitionsByName.get(identifierKey);\n\t\tif (existingDefinition && existingDefinition !== definition) throw new BetterAuthError(`Database index name \"${index.name}\" identifies more than one index on table \"${tableName}\".`);\n\t\tif (existingDefinition) continue;\n\t\tdefinitionsByName.set(identifierKey, definition);\n\t\tdeduplicatedIndexes.push(index);\n\t}\n\treturn deduplicatedIndexes;\n}\n/**\n* Returns a safe generated string length for a column across all of its table\n* indexes in byte-limited SQL dialects.\n*/\nfunction getDatabaseIndexStringLength({ columnName, dialect, fields, indexes }) {\n\tconst fieldsByColumn = new Map(Object.entries(fields).map(([fieldName, field]) => [field.fieldName || fieldName, field]));\n\tconst containingIndexes = indexes.filter((index) => index.columns.includes(columnName));\n\tif (containingIndexes.length === 0) return void 0;\n\tconst byteBudget = dialect === \"mysql\" ? 3072 : 1700;\n\tconst bytesPerCharacter = dialect === \"mysql\" ? 4 : 1;\n\tconst defaultLength = dialect === \"mysql\" ? 191 : 255;\n\treturn containingIndexes.reduce((length, index) => {\n\t\tconst stringColumnCount = index.columns.filter((column) => {\n\t\t\tconst type = fieldsByColumn.get(column)?.type;\n\t\t\treturn type === \"string\" || Array.isArray(type);\n\t\t}).length;\n\t\tif (stringColumnCount === 0) return length;\n\t\tconst nonStringColumnBytes = (index.columns.length - stringColumnCount) * 16;\n\t\tconst safeLength = Math.floor(Math.max(1, byteBudget - nonStringColumnBytes) / bytesPerCharacter / stringColumnCount);\n\t\treturn Math.min(length, safeLength);\n\t}, defaultLength);\n}\n/**\n* Resolves and validates every table index as one portable database schema.\n*\n* Index names are schema-wide because SQLite and PostgreSQL do not scope them\n* to an individual table.\n*/\nfunction resolveDatabaseSchemaIndexes(sources) {\n\tconst mergedSourcesByTable = /* @__PURE__ */ new Map();\n\tfor (const source of sources) {\n\t\tconst existingSource = mergedSourcesByTable.get(source.tableName);\n\t\tif (existingSource) {\n\t\t\tif (existingSource.indexes.length > 0 || (source.indexes?.length ?? 0) > 0) throw new BetterAuthError(`Database schema resolves more than one indexed logical table to \"${source.tableName}\". Define table-level indexes through one logical schema key instead of aliasing multiple keys to the same database table.`);\n\t\t\tObject.assign(existingSource.fields, source.fields);\n\t\t\tcontinue;\n\t\t}\n\t\tconst mergedSource = {\n\t\t\tfields: {},\n\t\t\tindexes: [],\n\t\t\ttableName: source.tableName\n\t\t};\n\t\tObject.assign(mergedSource.fields, source.fields);\n\t\tmergedSource.indexes.push(...source.indexes ?? []);\n\t\tmergedSourcesByTable.set(source.tableName, mergedSource);\n\t}\n\tconst indexesByTable = /* @__PURE__ */ new Map();\n\tconst indexOwnerByName = /* @__PURE__ */ new Map();\n\tconst tableNamesByIdentifier = new Map([...mergedSourcesByTable.keys()].map((tableName) => [getPortableDatabaseIdentifierKey(tableName), tableName]));\n\tconst fieldIndexOwnerByName = /* @__PURE__ */ new Map();\n\tfor (const source of mergedSourcesByTable.values()) for (const [fieldName, field] of Object.entries(source.fields)) {\n\t\tif (!field.index && !field.unique) continue;\n\t\tconst indexName = getDatabaseFieldIndexName(source.tableName, field.fieldName || fieldName, field.unique ?? false);\n\t\tconst identifierKey = getPortableDatabaseIdentifierKey(indexName);\n\t\tif (tableNamesByIdentifier.has(identifierKey)) throw new BetterAuthError(`Database index name \"${indexName}\" conflicts with a table name. Index and table names must be unique across the schema.`);\n\t\tconst existingOwner = fieldIndexOwnerByName.get(identifierKey);\n\t\tif (existingOwner) throw new BetterAuthError(`Database field-level index name \"${indexName}\" is used by both table \"${existingOwner}\" and table \"${source.tableName}\".`);\n\t\tfieldIndexOwnerByName.set(identifierKey, source.tableName);\n\t}\n\tfor (const source of mergedSourcesByTable.values()) {\n\t\tconst resolvedIndexes = resolveDatabaseTableIndexes(source);\n\t\tindexesByTable.set(source.tableName, [...resolvedIndexes]);\n\t\tfor (const index of resolvedIndexes) {\n\t\t\tconst identifierKey = getPortableDatabaseIdentifierKey(index.name);\n\t\t\tif (tableNamesByIdentifier.has(identifierKey)) throw new BetterAuthError(`Database index name \"${index.name}\" conflicts with a table name. Index and table names must be unique across the schema.`);\n\t\t\tconst fieldIndexOwner = fieldIndexOwnerByName.get(identifierKey);\n\t\t\tif (fieldIndexOwner) throw new BetterAuthError(`Database index name \"${index.name}\" is already reserved by field-level index metadata on table \"${fieldIndexOwner}\". Remove the duplicate table-level index or give it a distinct name.`);\n\t\t\tconst indexOwner = indexOwnerByName.get(identifierKey);\n\t\t\tif (indexOwner && indexOwner !== source.tableName) throw new BetterAuthError(`Database index name \"${index.name}\" is used by both table \"${indexOwner}\" and table \"${source.tableName}\". Index names must be unique across the schema.`);\n\t\t\tindexOwnerByName.set(identifierKey, source.tableName);\n\t\t}\n\t}\n\treturn indexesByTable;\n}\n//#endregion\nexport { getDatabaseFieldIndexName, getDatabaseIndexName, getDatabaseIndexStringLength, getPortableDatabaseIdentifierKey, resolveDatabaseSchemaIndexes, resolveDatabaseTableIndexes };\n","import { resolveDatabaseSchemaIndexes } from \"./database-index.mjs\";\n//#region src/db/get-tables.ts\nfunction mergeTableIndexes(...indexCollections) {\n\tconst indexes = [];\n\tconst seenIndexDefinitions = /* @__PURE__ */ new Set();\n\tfor (const index of indexCollections.flatMap((collection) => collection ?? [])) {\n\t\tconst definition = JSON.stringify([\n\t\t\tindex.name ?? null,\n\t\t\tindex.fields,\n\t\t\tindex.unique ?? false\n\t\t]);\n\t\tif (seenIndexDefinitions.has(definition)) continue;\n\t\tseenIndexDefinitions.add(definition);\n\t\tindexes.push(index);\n\t}\n\treturn indexes;\n}\nconst buildAuthTables = (options) => {\n\tconst pluginSchema = (options.plugins ?? []).reduce((acc, plugin) => {\n\t\tconst schema = plugin.schema;\n\t\tif (!schema) return acc;\n\t\tfor (const [key, value] of Object.entries(schema)) acc[key] = {\n\t\t\tfields: {\n\t\t\t\t...acc[key]?.fields,\n\t\t\t\t...value.fields\n\t\t\t},\n\t\t\tindexes: mergeTableIndexes(acc[key]?.indexes, value.indexes),\n\t\t\tmodelName: value.modelName || key,\n\t\t\tdisableMigrations: value.disableMigration ?? acc[key]?.disableMigrations\n\t\t};\n\t\treturn acc;\n\t}, {});\n\tconst shouldAddRateLimitTable = options.rateLimit?.storage === \"database\";\n\tconst rateLimitTable = { rateLimit: {\n\t\tmodelName: options.rateLimit?.modelName || \"rateLimit\",\n\t\tfields: {\n\t\t\tkey: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tunique: true,\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.rateLimit?.fields?.key || \"key\"\n\t\t\t},\n\t\t\tcount: {\n\t\t\t\ttype: \"number\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.rateLimit?.fields?.count || \"count\"\n\t\t\t},\n\t\t\tlastRequest: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tbigint: true,\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.rateLimit?.fields?.lastRequest || \"lastRequest\",\n\t\t\t\tdefaultValue: () => Date.now()\n\t\t\t}\n\t\t}\n\t} };\n\tconst { user, session, account, verification, ...pluginTables } = pluginSchema;\n\tconst verificationTable = { verification: {\n\t\tmodelName: options.verification?.modelName || \"verification\",\n\t\tindexes: verification?.indexes,\n\t\tfields: {\n\t\t\tidentifier: {\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.verification?.fields?.identifier || \"identifier\",\n\t\t\t\tindex: true\n\t\t\t},\n\t\t\tvalue: {\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.verification?.fields?.value || \"value\"\n\t\t\t},\n\t\t\texpiresAt: {\n\t\t\t\ttype: \"date\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.verification?.fields?.expiresAt || \"expiresAt\"\n\t\t\t},\n\t\t\tcreatedAt: {\n\t\t\t\ttype: \"date\",\n\t\t\t\trequired: true,\n\t\t\t\tdefaultValue: () => /* @__PURE__ */ new Date(),\n\t\t\t\tfieldName: options.verification?.fields?.createdAt || \"createdAt\"\n\t\t\t},\n\t\t\tupdatedAt: {\n\t\t\t\ttype: \"date\",\n\t\t\t\trequired: true,\n\t\t\t\tdefaultValue: () => /* @__PURE__ */ new Date(),\n\t\t\t\tonUpdate: () => /* @__PURE__ */ new Date(),\n\t\t\t\tfieldName: options.verification?.fields?.updatedAt || \"updatedAt\"\n\t\t\t},\n\t\t\t...verification?.fields,\n\t\t\t...options.verification?.additionalFields\n\t\t},\n\t\torder: 4\n\t} };\n\tconst sessionTable = { session: {\n\t\tmodelName: options.session?.modelName || \"session\",\n\t\tindexes: session?.indexes,\n\t\tfields: {\n\t\t\texpiresAt: {\n\t\t\t\ttype: \"date\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.session?.fields?.expiresAt || \"expiresAt\"\n\t\t\t},\n\t\t\ttoken: {\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.session?.fields?.token || \"token\",\n\t\t\t\tunique: true\n\t\t\t},\n\t\t\tcreatedAt: {\n\t\t\t\ttype: \"date\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.session?.fields?.createdAt || \"createdAt\",\n\t\t\t\tdefaultValue: () => /* @__PURE__ */ new Date()\n\t\t\t},\n\t\t\tupdatedAt: {\n\t\t\t\ttype: \"date\",\n\t\t\t\trequired: true,\n\t\t\t\tfieldName: options.session?.fields?.updatedAt || \"updatedAt\",\n\t\t\t\tonUpdate: () => /* @__PURE__ */ new Date()\n\t\t\t},\n\t\t\tipAddress: {\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tfieldName: options.session?.fields?.ipAddress || \"ipAddress\"\n\t\t\t},\n\t\t\tuserAgent: {\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tfieldName: options.session?.fields?.userAgent || \"userAgent\"\n\t\t\t},\n\t\t\tuserId: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tfieldName: options.session?.fields?.userId || \"userId\",\n\t\t\t\treferences: {\n\t\t\t\t\tmodel: \"user\",\n\t\t\t\t\tfield: \"id\",\n\t\t\t\t\tonDelete: \"cascade\"\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t\tindex: true\n\t\t\t},\n\t\t\t...session?.fields,\n\t\t\t...options.session?.additionalFields\n\t\t},\n\t\torder: 2\n\t} };\n\treturn {\n\t\tuser: {\n\t\t\tmodelName: options.user?.modelName || \"user\",\n\t\t\tindexes: user?.indexes,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.user?.fields?.name || \"name\",\n\t\t\t\t\tsortable: true\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tunique: true,\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.user?.fields?.email || \"email\",\n\t\t\t\t\tsortable: true\n\t\t\t\t},\n\t\t\t\temailVerified: {\n\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.user?.fields?.emailVerified || \"emailVerified\",\n\t\t\t\t\tinput: false\n\t\t\t\t},\n\t\t\t\timage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\tfieldName: options.user?.fields?.image || \"image\"\n\t\t\t\t},\n\t\t\t\tcreatedAt: {\n\t\t\t\t\ttype: \"date\",\n\t\t\t\t\tdefaultValue: () => /* @__PURE__ */ new Date(),\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.user?.fields?.createdAt || \"createdAt\"\n\t\t\t\t},\n\t\t\t\tupdatedAt: {\n\t\t\t\t\ttype: \"date\",\n\t\t\t\t\tdefaultValue: () => /* @__PURE__ */ new Date(),\n\t\t\t\t\tonUpdate: () => /* @__PURE__ */ new Date(),\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.user?.fields?.updatedAt || \"updatedAt\"\n\t\t\t\t},\n\t\t\t\t...user?.fields,\n\t\t\t\t...options.user?.additionalFields\n\t\t\t},\n\t\t\torder: 1\n\t\t},\n\t\t...!options.secondaryStorage || options.session?.storeSessionInDatabase ? sessionTable : {},\n\t\taccount: {\n\t\t\tmodelName: options.account?.modelName || \"account\",\n\t\t\tindexes: account?.indexes,\n\t\t\tfields: {\n\t\t\t\taccountId: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.account?.fields?.accountId || \"accountId\"\n\t\t\t\t},\n\t\t\t\tproviderId: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.account?.fields?.providerId || \"providerId\"\n\t\t\t\t},\n\t\t\t\tuserId: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\treferences: {\n\t\t\t\t\t\tmodel: \"user\",\n\t\t\t\t\t\tfield: \"id\",\n\t\t\t\t\t\tonDelete: \"cascade\"\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.account?.fields?.userId || \"userId\",\n\t\t\t\t\tindex: true\n\t\t\t\t},\n\t\t\t\taccessToken: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\treturned: false,\n\t\t\t\t\tfieldName: options.account?.fields?.accessToken || \"accessToken\"\n\t\t\t\t},\n\t\t\t\trefreshToken: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\treturned: false,\n\t\t\t\t\tfieldName: options.account?.fields?.refreshToken || \"refreshToken\"\n\t\t\t\t},\n\t\t\t\tidToken: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\treturned: false,\n\t\t\t\t\tfieldName: options.account?.fields?.idToken || \"idToken\"\n\t\t\t\t},\n\t\t\t\taccessTokenExpiresAt: {\n\t\t\t\t\ttype: \"date\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\treturned: false,\n\t\t\t\t\tfieldName: options.account?.fields?.accessTokenExpiresAt || \"accessTokenExpiresAt\"\n\t\t\t\t},\n\t\t\t\trefreshTokenExpiresAt: {\n\t\t\t\t\ttype: \"date\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\treturned: false,\n\t\t\t\t\tfieldName: options.account?.fields?.refreshTokenExpiresAt || \"refreshTokenExpiresAt\"\n\t\t\t\t},\n\t\t\t\tscope: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\tfieldName: options.account?.fields?.scope || \"scope\"\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: false,\n\t\t\t\t\treturned: false,\n\t\t\t\t\tfieldName: options.account?.fields?.password || \"password\"\n\t\t\t\t},\n\t\t\t\tcreatedAt: {\n\t\t\t\t\ttype: \"date\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.account?.fields?.createdAt || \"createdAt\",\n\t\t\t\t\tdefaultValue: () => /* @__PURE__ */ new Date()\n\t\t\t\t},\n\t\t\t\tupdatedAt: {\n\t\t\t\t\ttype: \"date\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tfieldName: options.account?.fields?.updatedAt || \"updatedAt\",\n\t\t\t\t\tonUpdate: () => /* @__PURE__ */ new Date()\n\t\t\t\t},\n\t\t\t\t...account?.fields,\n\t\t\t\t...options.account?.additionalFields\n\t\t\t},\n\t\t\torder: 3\n\t\t},\n\t\t...!options.secondaryStorage || options.verification?.storeInDatabase ? verificationTable : {},\n\t\t...pluginTables,\n\t\t...shouldAddRateLimitTable ? rateLimitTable : {}\n\t};\n};\nfunction getAuthTablesWithResolvedIndexes(options) {\n\tconst tables = buildAuthTables(options);\n\treturn {\n\t\tindexesByTable: resolveDatabaseSchemaIndexes(Object.values(tables).filter((table) => !(\"disableMigrations\" in table) || !table.disableMigrations).map((table) => ({\n\t\t\tfields: table.fields,\n\t\t\tindexes: \"indexes\" in table ? table.indexes : void 0,\n\t\t\ttableName: table.modelName\n\t\t}))),\n\t\ttables\n\t};\n}\nconst getAuthTables = (options) => getAuthTablesWithResolvedIndexes(options).tables;\n//#endregion\nexport { getAuthTables, getAuthTablesWithResolvedIndexes };\n","import { logger } from \"../env/logger.mjs\";\n//#region src/utils/json.ts\nconst iso8601Regex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z$/;\nfunction reviveDate(value) {\n\tif (typeof value === \"string\" && iso8601Regex.test(value)) {\n\t\tconst date = new Date(value);\n\t\tif (!isNaN(date.getTime())) return date;\n\t}\n\treturn value;\n}\n/**\n* Recursively walk a pre-parsed object and convert ISO 8601 date strings\n* to Date instances. This handles the case where a Redis client (or similar)\n* returns already-parsed JSON objects whose date fields are still strings.\n*/\nfunction reviveDates(value) {\n\tif (value === null || value === void 0) return value;\n\tif (typeof value === \"string\") return reviveDate(value);\n\tif (value instanceof Date) return value;\n\tif (Array.isArray(value)) return value.map(reviveDates);\n\tif (typeof value === \"object\") {\n\t\tconst result = {};\n\t\tfor (const key of Object.keys(value)) result[key] = reviveDates(value[key]);\n\t\treturn result;\n\t}\n\treturn value;\n}\nfunction safeJSONParse(data) {\n\ttry {\n\t\tif (typeof data !== \"string\") {\n\t\t\tif (data === null || data === void 0) return null;\n\t\t\treturn reviveDates(data);\n\t\t}\n\t\treturn JSON.parse(data, (_, value) => reviveDate(value));\n\t} catch (e) {\n\t\tlogger.error(\"Error parsing JSON\", { error: e });\n\t\treturn null;\n\t}\n}\n//#endregion\nexport { safeJSONParse };\n","import { toUint8Array } from \"./bytes.mjs\";\nimport { hexToBytes } from \"@noble/hashes/utils.js\";\n//#region src/hex.ts\nconst toBytes = (data) => hexToBytes(data);\nconst hex = {\n\tencode: (data) => {\n\t\tconst buffer = toUint8Array(data);\n\t\tif (buffer.byteLength === 0) return \"\";\n\t\tlet result = \"\";\n\t\tfor (const byte of buffer) result += byte.toString(16).padStart(2, \"0\");\n\t\treturn result;\n\t},\n\tdecode: (data) => {\n\t\tif (!data) return \"\";\n\t\tif (typeof data === \"string\") return new TextDecoder().decode(toBytes(data));\n\t\treturn new TextDecoder().decode(data);\n\t},\n\ttoBytes\n};\n//#endregion\nexport { hex };\n","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n//----------------------------------------------------------------------------------------------------------\n// DO NOT EDIT, this is an Auto-generated file from scripts/semconv/templates/registry/stable/attributes.ts.j2\n//----------------------------------------------------------------------------------------------------------\n/**\n * ASP.NET Core exception middleware handling result.\n *\n * @example handled\n * @example unhandled\n */\nexport const ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT = 'aspnetcore.diagnostics.exception.result';\n/**\n * Enum value \"aborted\" for attribute {@link ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT}.\n *\n * Exception handling didn't run because the request was aborted.\n */\nexport const ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED = \"aborted\";\n/**\n * Enum value \"handled\" for attribute {@link ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT}.\n *\n * Exception was handled by the exception handling middleware.\n */\nexport const ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED = \"handled\";\n/**\n * Enum value \"skipped\" for attribute {@link ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT}.\n *\n * Exception handling was skipped because the response had started.\n */\nexport const ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED = \"skipped\";\n/**\n * Enum value \"unhandled\" for attribute {@link ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT}.\n *\n * Exception was not handled by the exception handling middleware.\n */\nexport const ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED = \"unhandled\";\n/**\n * Full type name of the [`IExceptionHandler`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler) implementation that handled the exception.\n *\n * @example Contoso.MyHandler\n */\nexport const ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE = 'aspnetcore.diagnostics.handler.type';\n/**\n * Rate limiting policy name.\n *\n * @example fixed\n * @example sliding\n * @example token\n */\nexport const ATTR_ASPNETCORE_RATE_LIMITING_POLICY = 'aspnetcore.rate_limiting.policy';\n/**\n * Rate-limiting result, shows whether the lease was acquired or contains a rejection reason\n *\n * @example acquired\n * @example request_canceled\n */\nexport const ATTR_ASPNETCORE_RATE_LIMITING_RESULT = 'aspnetcore.rate_limiting.result';\n/**\n * Enum value \"acquired\" for attribute {@link ATTR_ASPNETCORE_RATE_LIMITING_RESULT}.\n *\n * Lease was acquired\n */\nexport const ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED = \"acquired\";\n/**\n * Enum value \"endpoint_limiter\" for attribute {@link ATTR_ASPNETCORE_RATE_LIMITING_RESULT}.\n *\n * Lease request was rejected by the endpoint limiter\n */\nexport const ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER = \"endpoint_limiter\";\n/**\n * Enum value \"global_limiter\" for attribute {@link ATTR_ASPNETCORE_RATE_LIMITING_RESULT}.\n *\n * Lease request was rejected by the global limiter\n */\nexport const ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER = \"global_limiter\";\n/**\n * Enum value \"request_canceled\" for attribute {@link ATTR_ASPNETCORE_RATE_LIMITING_RESULT}.\n *\n * Lease request was canceled\n */\nexport const ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED = \"request_canceled\";\n/**\n * Flag indicating if request was handled by the application pipeline.\n *\n * @example true\n */\nexport const ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED = 'aspnetcore.request.is_unhandled';\n/**\n * A value that indicates whether the matched route is a fallback route.\n *\n * @example true\n */\nexport const ATTR_ASPNETCORE_ROUTING_IS_FALLBACK = 'aspnetcore.routing.is_fallback';\n/**\n * Match result - success or failure\n *\n * @example success\n * @example failure\n */\nexport const ATTR_ASPNETCORE_ROUTING_MATCH_STATUS = 'aspnetcore.routing.match_status';\n/**\n * Enum value \"failure\" for attribute {@link ATTR_ASPNETCORE_ROUTING_MATCH_STATUS}.\n *\n * Match failed\n */\nexport const ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE = \"failure\";\n/**\n * Enum value \"success\" for attribute {@link ATTR_ASPNETCORE_ROUTING_MATCH_STATUS}.\n *\n * Match succeeded\n */\nexport const ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS = \"success\";\n/**\n * A value that indicates whether the user is authenticated.\n *\n * @example true\n */\nexport const ATTR_ASPNETCORE_USER_IS_AUTHENTICATED = 'aspnetcore.user.is_authenticated';\n/**\n * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\n *\n * @example client.example.com\n * @example 10.1.2.80\n * @example /tmp/my.sock\n *\n * @note When observed from the server side, and when communicating through an intermediary, `client.address` **SHOULD** represent the client address behind any intermediaries, for example proxies, if it's available.\n */\nexport const ATTR_CLIENT_ADDRESS = 'client.address';\n/**\n * Client port number.\n *\n * @example 65123\n *\n * @note When observed from the server side, and when communicating through an intermediary, `client.port` **SHOULD** represent the client port behind any intermediaries, for example proxies, if it's available.\n */\nexport const ATTR_CLIENT_PORT = 'client.port';\n/**\n * The column number in `code.file.path` best representing the operation. It **SHOULD** point within the code unit named in `code.function.name`. This attribute **MUST NOT** be used on the Profile signal since the data is already captured in 'message Line'. This constraint is imposed to prevent redundancy and maintain data integrity.\n *\n * @example 16\n */\nexport const ATTR_CODE_COLUMN_NUMBER = 'code.column.number';\n/**\n * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). This attribute **MUST NOT** be used on the Profile signal since the data is already captured in 'message Function'. This constraint is imposed to prevent redundancy and maintain data integrity.\n *\n * @example \"/usr/local/MyApplication/content_root/app/index.php\"\n */\nexport const ATTR_CODE_FILE_PATH = 'code.file.path';\n/**\n * The method or function fully-qualified name without arguments. The value should fit the natural representation of the language runtime, which is also likely the same used within `code.stacktrace` attribute value. This attribute **MUST NOT** be used on the Profile signal since the data is already captured in 'message Function'. This constraint is imposed to prevent redundancy and maintain data integrity.\n *\n * @example com.example.MyHttpService.serveRequest\n * @example GuzzleHttp\\\\Client::transfer\n * @example fopen\n *\n * @note Values and format depends on each language runtime, thus it is impossible to provide an exhaustive list of examples.\n * The values are usually the same (or prefixes of) the ones found in native stack trace representation stored in\n * `code.stacktrace` without information on arguments.\n *\n * Examples:\n *\n * - Java method: `com.example.MyHttpService.serveRequest`\n * - Java anonymous class method: `com.mycompany.Main$1.myMethod`\n * - Java lambda method: `com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod`\n * - PHP function: `GuzzleHttp\\Client::transfer`\n * - Go function: `github.com/my/repo/pkg.foo.func5`\n * - Elixir: `OpenTelemetry.Ctx.new`\n * - Erlang: `opentelemetry_ctx:new`\n * - Rust: `playground::my_module::my_cool_func`\n * - C function: `fopen`\n */\nexport const ATTR_CODE_FUNCTION_NAME = 'code.function.name';\n/**\n * The line number in `code.file.path` best representing the operation. It **SHOULD** point within the code unit named in `code.function.name`. This attribute **MUST NOT** be used on the Profile signal since the data is already captured in 'message Line'. This constraint is imposed to prevent redundancy and maintain data integrity.\n *\n * @example 42\n */\nexport const ATTR_CODE_LINE_NUMBER = 'code.line.number';\n/**\n * A stacktrace as a string in the natural representation for the language runtime. The representation is identical to [`exception.stacktrace`](/docs/exceptions/exceptions-spans.md#stacktrace-representation). This attribute **MUST NOT** be used on the Profile signal since the data is already captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain data integrity.\n *\n * @example \"at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\\\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\\\n at com.example.GenerateTrace.main(GenerateTrace.java:5)\\\\n\"\n */\nexport const ATTR_CODE_STACKTRACE = 'code.stacktrace';\n/**\n * Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated.\n *\n * @example a3bf90e006b2\n */\nexport const ATTR_CONTAINER_ID = 'container.id';\n/**\n * Name of the image the container was built on.\n *\n * @example gcr.io/opentelemetry/operator\n */\nexport const ATTR_CONTAINER_IMAGE_NAME = 'container.image.name';\n/**\n * Repo digests of the container image as provided by the container runtime.\n *\n * @example [\"example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb\", \"internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578\"]\n *\n * @note [Docker](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageInspect) and [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238) report those under the `RepoDigests` field.\n */\nexport const ATTR_CONTAINER_IMAGE_REPO_DIGESTS = 'container.image.repo_digests';\n/**\n * Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`.\n *\n * @example [\"v1.27.1\", \"3.5.7-0\"]\n */\nexport const ATTR_CONTAINER_IMAGE_TAGS = 'container.image.tags';\n/**\n * The name of a collection (table, container) within the database.\n *\n * @example public.users\n * @example customers\n *\n * @note It is **RECOMMENDED** to capture the value as provided by the application\n * without attempting to do any case normalization.\n *\n * The collection name **SHOULD NOT** be extracted from `db.query.text`,\n * when the database system supports query text with multiple collections\n * in non-batch operations.\n *\n * For batch operations, if the individual operations are known to have the same\n * collection name then that collection name **SHOULD** be used.\n */\nexport const ATTR_DB_COLLECTION_NAME = 'db.collection.name';\n/**\n * The name of the database, fully qualified within the server address and port.\n *\n * @example customers\n * @example test.users\n *\n * @note If a database system has multiple namespace components, they **SHOULD** be concatenated from the most general to the most specific namespace component, using `|` as a separator between the components. Any missing components (and their associated separators) **SHOULD** be omitted.\n * Semantic conventions for individual database systems **SHOULD** document what `db.namespace` means in the context of that system.\n * It is **RECOMMENDED** to capture the value as provided by the application without attempting to do any case normalization.\n */\nexport const ATTR_DB_NAMESPACE = 'db.namespace';\n/**\n * The number of database operations included in a batch operation.\n *\n * @example 2\n * @example 3\n * @example 4\n *\n * @note Except for empty batch requests described below, a batch operation contains two\n * or more database operations explicitly submitted as separate operations in a single\n * client call, protocol message, or database command.\n *\n * Requests to batch APIs that contain only one operation **SHOULD** be modeled as single\n * operations, not as batch operations.\n *\n * A database call is not a batch operation solely because one operation accepts\n * multiple operands, such as keys, rows, documents, points, or other data elements,\n * including Redis [`MGET`](https://redis.io/docs/latest/commands/mget/) with\n * multiple keys.\n *\n * In batch APIs that execute the same parameterized operation with parameter sets,\n * each parameter set represents one database operation for determining whether the\n * request is a batch operation. Requests with only one parameter set **SHOULD** be modeled\n * as single operations, not as batch operations.\n *\n * `db.operation.batch.size` **SHOULD** be set to the number of operations in the batch.\n * It **SHOULD NOT** be set for non-batch operations.\n *\n * A request to execute a batch operation with no operations **SHOULD** also be treated\n * as a batch operation, and `db.operation.batch.size` **SHOULD** be set to `0`.\n */\nexport const ATTR_DB_OPERATION_BATCH_SIZE = 'db.operation.batch.size';\n/**\n * The name of the operation or command being executed.\n *\n * @example findAndModify\n * @example HMSET\n * @example SELECT\n *\n * @note It is **RECOMMENDED** to capture the value as provided by the application\n * without attempting to do any case normalization.\n *\n * The operation name **SHOULD NOT** be extracted from `db.query.text`,\n * when the database system supports query text with multiple operations\n * in non-batch operations.\n *\n * If spaces can occur in the operation name, multiple consecutive spaces\n * **SHOULD** be normalized to a single space.\n *\n * For batch operations, if the individual operations are known to have the same operation name\n * then that operation name **SHOULD** be used prepended by `BATCH `,\n * otherwise `db.operation.name` **SHOULD** be `BATCH` or some other database\n * system specific term if more applicable.\n */\nexport const ATTR_DB_OPERATION_NAME = 'db.operation.name';\n/**\n * Low cardinality summary of a database query.\n *\n * @example SELECT wuser_table\n * @example INSERT shipping_details SELECT orders\n * @example get user by id\n *\n * @note The query summary describes a class of database queries and is useful\n * as a grouping key, especially when analyzing telemetry for database\n * calls involving complex queries.\n *\n * Summary may be available to the instrumentation through\n * instrumentation hooks or other means. If it is not available, instrumentations\n * that support query parsing **SHOULD** generate a summary following\n * [Generating query summary](/docs/db/database-spans.md#generating-a-summary-of-the-query)\n * section.\n *\n * For batch operations, if the individual operations are known to have the same query summary\n * then that query summary **SHOULD** be used prepended by `BATCH `,\n * otherwise `db.query.summary` **SHOULD** be `BATCH` or some other database\n * system specific term if more applicable.\n */\nexport const ATTR_DB_QUERY_SUMMARY = 'db.query.summary';\n/**\n * The database query being executed.\n *\n * @example SELECT * FROM wuser_table where username = ?\n * @example SET mykey ?\n *\n * @note For sanitization see [Sanitization of `db.query.text`](/docs/db/database-spans.md#sanitization-of-dbquerytext).\n * For batch operations, if the individual operations are known to have the same query text then that query text **SHOULD** be used, otherwise all of the individual query texts **SHOULD** be concatenated with separator `; ` or some other database system specific separator if more applicable.\n * Parameterized query text **SHOULD NOT** be sanitized. Even though parameterized query text can potentially have sensitive data, by using a parameterized query the user is giving a strong signal that any sensitive data will be passed as parameter values, and the benefit to observability of capturing the static part of the query text by default outweighs the risk.\n */\nexport const ATTR_DB_QUERY_TEXT = 'db.query.text';\n/**\n * Database response status code.\n *\n * @example 102\n * @example ORA-17002\n * @example 08P01\n * @example 404\n *\n * @note The status code returned by the database. Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes.\n * Semantic conventions for individual database systems **SHOULD** document what `db.response.status_code` means in the context of that system.\n */\nexport const ATTR_DB_RESPONSE_STATUS_CODE = 'db.response.status_code';\n/**\n * The name of a stored procedure within the database.\n *\n * @example GetCustomer\n *\n * @note It is **RECOMMENDED** to capture the value as provided by the application\n * without attempting to do any case normalization.\n *\n * For batch operations, if the individual operations are known to have the same\n * stored procedure name then that stored procedure name **SHOULD** be used.\n */\nexport const ATTR_DB_STORED_PROCEDURE_NAME = 'db.stored_procedure.name';\n/**\n * The database management system (DBMS) product as identified by the client instrumentation.\n *\n * @note The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system.name` is set to `postgresql` based on the instrumentation's best knowledge.\n */\nexport const ATTR_DB_SYSTEM_NAME = 'db.system.name';\n/**\n * Enum value \"mariadb\" for attribute {@link ATTR_DB_SYSTEM_NAME}.\n *\n * [MariaDB](https://mariadb.org/)\n */\nexport const DB_SYSTEM_NAME_VALUE_MARIADB = \"mariadb\";\n/**\n * Enum value \"microsoft.sql_server\" for attribute {@link ATTR_DB_SYSTEM_NAME}.\n *\n * [Microsoft SQL Server](https://www.microsoft.com/sql-server)\n */\nexport const DB_SYSTEM_NAME_VALUE_MICROSOFT_SQL_SERVER = \"microsoft.sql_server\";\n/**\n * Enum value \"mysql\" for attribute {@link ATTR_DB_SYSTEM_NAME}.\n *\n * [MySQL](https://www.mysql.com/)\n */\nexport const DB_SYSTEM_NAME_VALUE_MYSQL = \"mysql\";\n/**\n * Enum value \"postgresql\" for attribute {@link ATTR_DB_SYSTEM_NAME}.\n *\n * [PostgreSQL](https://www.postgresql.org/)\n */\nexport const DB_SYSTEM_NAME_VALUE_POSTGRESQL = \"postgresql\";\n/**\n * Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier).\n *\n * @example staging\n * @example production\n *\n * @note `deployment.environment.name` does not affect the uniqueness constraints defined through\n * the `service.namespace`, `service.name` and `service.instance.id` resource attributes.\n * This implies that resources carrying the following attribute combinations **MUST** be\n * considered to be identifying the same service:\n *\n * - `service.name=frontend`, `deployment.environment.name=production`\n * - `service.name=frontend`, `deployment.environment.name=staging`.\n */\nexport const ATTR_DEPLOYMENT_ENVIRONMENT_NAME = 'deployment.environment.name';\n/**\n * Enum value \"development\" for attribute {@link ATTR_DEPLOYMENT_ENVIRONMENT_NAME}.\n *\n * Development environment\n */\nexport const DEPLOYMENT_ENVIRONMENT_NAME_VALUE_DEVELOPMENT = \"development\";\n/**\n * Enum value \"production\" for attribute {@link ATTR_DEPLOYMENT_ENVIRONMENT_NAME}.\n *\n * Production environment\n */\nexport const DEPLOYMENT_ENVIRONMENT_NAME_VALUE_PRODUCTION = \"production\";\n/**\n * Enum value \"staging\" for attribute {@link ATTR_DEPLOYMENT_ENVIRONMENT_NAME}.\n *\n * Staging environment\n */\nexport const DEPLOYMENT_ENVIRONMENT_NAME_VALUE_STAGING = \"staging\";\n/**\n * Enum value \"test\" for attribute {@link ATTR_DEPLOYMENT_ENVIRONMENT_NAME}.\n *\n * Testing environment\n */\nexport const DEPLOYMENT_ENVIRONMENT_NAME_VALUE_TEST = \"test\";\n/**\n * Name of the garbage collector managed heap generation.\n *\n * @example gen0\n * @example gen1\n * @example gen2\n */\nexport const ATTR_DOTNET_GC_HEAP_GENERATION = 'dotnet.gc.heap.generation';\n/**\n * Enum value \"gen0\" for attribute {@link ATTR_DOTNET_GC_HEAP_GENERATION}.\n *\n * Generation 0\n */\nexport const DOTNET_GC_HEAP_GENERATION_VALUE_GEN0 = \"gen0\";\n/**\n * Enum value \"gen1\" for attribute {@link ATTR_DOTNET_GC_HEAP_GENERATION}.\n *\n * Generation 1\n */\nexport const DOTNET_GC_HEAP_GENERATION_VALUE_GEN1 = \"gen1\";\n/**\n * Enum value \"gen2\" for attribute {@link ATTR_DOTNET_GC_HEAP_GENERATION}.\n *\n * Generation 2\n */\nexport const DOTNET_GC_HEAP_GENERATION_VALUE_GEN2 = \"gen2\";\n/**\n * Enum value \"loh\" for attribute {@link ATTR_DOTNET_GC_HEAP_GENERATION}.\n *\n * Large Object Heap\n */\nexport const DOTNET_GC_HEAP_GENERATION_VALUE_LOH = \"loh\";\n/**\n * Enum value \"poh\" for attribute {@link ATTR_DOTNET_GC_HEAP_GENERATION}.\n *\n * Pinned Object Heap\n */\nexport const DOTNET_GC_HEAP_GENERATION_VALUE_POH = \"poh\";\n/**\n * Describes a class of error the operation ended with.\n *\n * @example timeout\n * @example java.net.UnknownHostException\n * @example server_certificate_invalid\n * @example 500\n *\n * @note The `error.type` **SHOULD** be predictable, and **SHOULD** have low cardinality.\n *\n * When `error.type` is set to a type (e.g., an exception type), its\n * canonical class name identifying the type within the artifact **SHOULD** be used.\n *\n * If the recorded error type is a wrapper that is not meaningful for\n * failure classification, instrumentation **MAY** use the type of the inner\n * error instead. For example, in Go, errors created with `fmt.Errorf`\n * using `%w` **MAY** be unwrapped when the wrapper type does not help\n * classify the failure.\n *\n * Instrumentations **SHOULD** document the list of errors they report.\n *\n * The cardinality of `error.type` within one instrumentation library **SHOULD** be low.\n * Telemetry consumers that aggregate data from multiple instrumentation libraries and applications\n * should be prepared for `error.type` to have high cardinality at query time when no\n * additional filters are applied.\n *\n * If the operation has completed successfully, instrumentations **SHOULD NOT** set `error.type`.\n *\n * If a specific domain defines its own set of error identifiers (such as HTTP or RPC status codes),\n * it's **RECOMMENDED** to:\n *\n * - Use a domain-specific attribute\n * - Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not.\n */\nexport const ATTR_ERROR_TYPE = 'error.type';\n/**\n * Enum value \"_OTHER\" for attribute {@link ATTR_ERROR_TYPE}.\n *\n * A fallback error value to be used when the instrumentation doesn't define a custom value.\n */\nexport const ERROR_TYPE_VALUE_OTHER = \"_OTHER\";\n/**\n * Indicates that the exception is escaping the scope of the span.\n *\n * @deprecated It's no longer recommended to record exceptions that are handled and do not escape the scope of a span.\n */\nexport const ATTR_EXCEPTION_ESCAPED = 'exception.escaped';\n/**\n * The exception message.\n *\n * @example Division by zero\n * @example Can't convert 'int' object to str implicitly\n *\n * @note > [!WARNING]\n *\n * > This attribute may contain sensitive information.\n */\nexport const ATTR_EXCEPTION_MESSAGE = 'exception.message';\n/**\n * A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.\n *\n * @example \"Exception in thread \"main\" java.lang.RuntimeException: Test exception\\\\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\\\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\\\n at com.example.GenerateTrace.main(GenerateTrace.java:5)\\\\n\"\n */\nexport const ATTR_EXCEPTION_STACKTRACE = 'exception.stacktrace';\n/**\n * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.\n *\n * @example java.net.ConnectException\n * @example OSError\n *\n * @note If the recorded exception type is a wrapper that is not meaningful for\n * failure classification, instrumentation **MAY** use the type of the inner\n * exception instead. For example, in Go, errors created with `fmt.Errorf`\n * using `%w` **MAY** be unwrapped when the wrapper type does not help\n * classify the failure.\n */\nexport const ATTR_EXCEPTION_TYPE = 'exception.type';\n/**\n * HTTP request headers, `<key>` being the normalized HTTP Header name (lowercase), the value being the header values.\n *\n * @example [\"application/json\"]\n * @example [\"1.2.3.4\", \"1.2.3.5\"]\n *\n * @note Instrumentations **SHOULD** require an explicit configuration of which headers are to be captured.\n * Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information.\n *\n * The `User-Agent` header is already captured in the `user_agent.original` attribute.\n * Users **MAY** explicitly configure instrumentations to capture them even though it is not recommended.\n *\n * The attribute value **MUST** consist of either multiple header values as an array of strings\n * or a single-item array containing a possibly comma-concatenated string, depending on the way\n * the HTTP library provides access to headers.\n *\n * Examples:\n *\n * - A header `Content-Type: application/json` **SHOULD** be recorded as the `http.request.header.content-type`\n * attribute with value `[\"application/json\"]`.\n * - A header `X-Forwarded-For: 1.2.3.4, 1.2.3.5` **SHOULD** be recorded as the `http.request.header.x-forwarded-for`\n * attribute with value `[\"1.2.3.4\", \"1.2.3.5\"]` or `[\"1.2.3.4, 1.2.3.5\"]` depending on the HTTP library.\n */\nexport const ATTR_HTTP_REQUEST_HEADER = (key) => `http.request.header.${key}`;\n/**\n * HTTP request method.\n *\n * @example GET\n * @example POST\n * @example HEAD\n *\n * @note HTTP request method value **SHOULD** be \"known\" to the instrumentation.\n * By default, this convention defines \"known\" methods as the ones listed in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-methods),\n * the PATCH method defined in [RFC5789](https://www.rfc-editor.org/rfc/rfc5789.html)\n * and the QUERY method defined in [httpbis-safe-method-w-body](https://datatracker.ietf.org/doc/draft-ietf-httpbis-safe-method-w-body/?include_text=1).\n *\n * If the HTTP request method is not known to instrumentation, it **MUST** set the `http.request.method` attribute to `_OTHER`.\n *\n * If the HTTP instrumentation could end up converting valid HTTP request methods to `_OTHER`, then it **MUST** provide a way to override\n * the list of known HTTP methods. If this override is done via environment variable, then the environment variable **MUST** be named\n * OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods.\n *\n *\n * If this override is done via declarative configuration, then the list **MUST** be configurable via the `known_methods` property\n * (an array of case-sensitive strings with minimum items 0) under `.instrumentation/development.general.http.client` and/or\n * `.instrumentation/development.general.http.server`.\n *\n * In either case, this list **MUST** be a full override of the default known methods,\n * it is not a list of known methods in addition to the defaults.\n *\n * HTTP method names are case-sensitive and `http.request.method` attribute value **MUST** match a known HTTP method name exactly.\n * Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, **SHOULD** populate a canonical equivalent.\n * Tracing instrumentations that do so, **MUST** also set `http.request.method_original` to the original value.\n */\nexport const ATTR_HTTP_REQUEST_METHOD = 'http.request.method';\n/**\n * Enum value \"_OTHER\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * Any HTTP method that the instrumentation has no prior knowledge of.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_OTHER = \"_OTHER\";\n/**\n * Enum value \"CONNECT\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * CONNECT method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_CONNECT = \"CONNECT\";\n/**\n * Enum value \"DELETE\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * DELETE method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_DELETE = \"DELETE\";\n/**\n * Enum value \"GET\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * GET method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_GET = \"GET\";\n/**\n * Enum value \"HEAD\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * HEAD method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_HEAD = \"HEAD\";\n/**\n * Enum value \"OPTIONS\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * OPTIONS method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_OPTIONS = \"OPTIONS\";\n/**\n * Enum value \"PATCH\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * PATCH method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_PATCH = \"PATCH\";\n/**\n * Enum value \"POST\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * POST method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_POST = \"POST\";\n/**\n * Enum value \"PUT\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * PUT method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_PUT = \"PUT\";\n/**\n * Enum value \"TRACE\" for attribute {@link ATTR_HTTP_REQUEST_METHOD}.\n *\n * TRACE method.\n */\nexport const HTTP_REQUEST_METHOD_VALUE_TRACE = \"TRACE\";\n/**\n * Original HTTP method sent by the client in the request line.\n *\n * @example GeT\n * @example ACL\n * @example foo\n */\nexport const ATTR_HTTP_REQUEST_METHOD_ORIGINAL = 'http.request.method_original';\n/**\n * The ordinal number of request resending attempt (for any reason, including redirects).\n *\n * @example 3\n *\n * @note The resend count **SHOULD** be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other).\n */\nexport const ATTR_HTTP_REQUEST_RESEND_COUNT = 'http.request.resend_count';\n/**\n * HTTP response headers, `<key>` being the normalized HTTP Header name (lowercase), the value being the header values.\n *\n * @example [\"application/json\"]\n * @example [\"abc\", \"def\"]\n *\n * @note Instrumentations **SHOULD** require an explicit configuration of which headers are to be captured.\n * Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information.\n *\n * Users **MAY** explicitly configure instrumentations to capture them even though it is not recommended.\n *\n * The attribute value **MUST** consist of either multiple header values as an array of strings\n * or a single-item array containing a possibly comma-concatenated string, depending on the way\n * the HTTP library provides access to headers.\n *\n * Examples:\n *\n * - A header `Content-Type: application/json` header **SHOULD** be recorded as the `http.request.response.content-type`\n * attribute with value `[\"application/json\"]`.\n * - A header `My-custom-header: abc, def` header **SHOULD** be recorded as the `http.response.header.my-custom-header`\n * attribute with value `[\"abc\", \"def\"]` or `[\"abc, def\"]` depending on the HTTP library.\n */\nexport const ATTR_HTTP_RESPONSE_HEADER = (key) => `http.response.header.${key}`;\n/**\n * [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6).\n *\n * @example 200\n */\nexport const ATTR_HTTP_RESPONSE_STATUS_CODE = 'http.response.status_code';\n/**\n * The matched route template for the request. This **MUST** be low-cardinality and include all static path segments, with dynamic path segments represented with placeholders.\n *\n * @example /users/:userID?\n * @example my-controller/my-action/{id?}\n *\n * @note **MUST NOT** be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.\n * **SHOULD** include the [application root](/docs/http/http-spans.md#http-server-definitions) if there is one.\n *\n * A static path segment is a part of the route template with a fixed, low-cardinality value. This includes literal strings like `/users/` and placeholders that\n * are constrained to a finite, predefined set of values, e.g. `{controller}` or `{action}`.\n *\n * A dynamic path segment is a placeholder for a value that can have high cardinality and is not constrained to a predefined list like static path segments.\n *\n * Instrumentations **SHOULD** use routing information provided by the corresponding web framework. They **SHOULD** pick the most precise source of routing information and **MAY**\n * support custom route formatting. Instrumentations **SHOULD** document the format and the API used to obtain the route string.\n */\nexport const ATTR_HTTP_ROUTE = 'http.route';\n/**\n * Name of the garbage collector action.\n *\n * @example end of minor GC\n * @example end of major GC\n *\n * @note Garbage collector action is generally obtained via [GarbageCollectionNotificationInfo#getGcAction()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction()).\n */\nexport const ATTR_JVM_GC_ACTION = 'jvm.gc.action';\n/**\n * Name of the garbage collector.\n *\n * @example G1 Young Generation\n * @example G1 Old Generation\n *\n * @note Garbage collector name is generally obtained via [GarbageCollectionNotificationInfo#getGcName()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName()).\n */\nexport const ATTR_JVM_GC_NAME = 'jvm.gc.name';\n/**\n * Name of the memory pool.\n *\n * @example G1 Old Gen\n * @example G1 Eden space\n * @example G1 Survivor Space\n *\n * @note Pool names are generally obtained via [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()).\n */\nexport const ATTR_JVM_MEMORY_POOL_NAME = 'jvm.memory.pool.name';\n/**\n * The type of memory.\n *\n * @example heap\n * @example non_heap\n */\nexport const ATTR_JVM_MEMORY_TYPE = 'jvm.memory.type';\n/**\n * Enum value \"heap\" for attribute {@link ATTR_JVM_MEMORY_TYPE}.\n *\n * Heap memory.\n */\nexport const JVM_MEMORY_TYPE_VALUE_HEAP = \"heap\";\n/**\n * Enum value \"non_heap\" for attribute {@link ATTR_JVM_MEMORY_TYPE}.\n *\n * Non-heap memory\n */\nexport const JVM_MEMORY_TYPE_VALUE_NON_HEAP = \"non_heap\";\n/**\n * Whether the thread is daemon or not.\n */\nexport const ATTR_JVM_THREAD_DAEMON = 'jvm.thread.daemon';\n/**\n * State of the thread.\n *\n * @example runnable\n * @example blocked\n */\nexport const ATTR_JVM_THREAD_STATE = 'jvm.thread.state';\n/**\n * Enum value \"blocked\" for attribute {@link ATTR_JVM_THREAD_STATE}.\n *\n * A thread that is blocked waiting for a monitor lock is in this state.\n */\nexport const JVM_THREAD_STATE_VALUE_BLOCKED = \"blocked\";\n/**\n * Enum value \"new\" for attribute {@link ATTR_JVM_THREAD_STATE}.\n *\n * A thread that has not yet started is in this state.\n */\nexport const JVM_THREAD_STATE_VALUE_NEW = \"new\";\n/**\n * Enum value \"runnable\" for attribute {@link ATTR_JVM_THREAD_STATE}.\n *\n * A thread executing in the Java virtual machine is in this state.\n */\nexport const JVM_THREAD_STATE_VALUE_RUNNABLE = \"runnable\";\n/**\n * Enum value \"terminated\" for attribute {@link ATTR_JVM_THREAD_STATE}.\n *\n * A thread that has exited is in this state.\n */\nexport const JVM_THREAD_STATE_VALUE_TERMINATED = \"terminated\";\n/**\n * Enum value \"timed_waiting\" for attribute {@link ATTR_JVM_THREAD_STATE}.\n *\n * A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.\n */\nexport const JVM_THREAD_STATE_VALUE_TIMED_WAITING = \"timed_waiting\";\n/**\n * Enum value \"waiting\" for attribute {@link ATTR_JVM_THREAD_STATE}.\n *\n * A thread that is waiting indefinitely for another thread to perform a particular action is in this state.\n */\nexport const JVM_THREAD_STATE_VALUE_WAITING = \"waiting\";\n/**\n * The name of the cluster.\n *\n * @example opentelemetry-cluster\n */\nexport const ATTR_K8S_CLUSTER_NAME = 'k8s.cluster.name';\n/**\n * A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace.\n *\n * @example 218fc5a9-a5f1-4b54-aa05-46717d0ab26d\n *\n * @note K8s doesn't have support for obtaining a cluster ID. If this is ever\n * added, we will recommend collecting the `k8s.cluster.uid` through the\n * official APIs. In the meantime, we are able to use the `uid` of the\n * `kube-system` namespace as a proxy for cluster ID. Read on for the\n * rationale.\n *\n * Every object created in a K8s cluster is assigned a distinct UID. The\n * `kube-system` namespace is used by Kubernetes itself and will exist\n * for the lifetime of the cluster. Using the `uid` of the `kube-system`\n * namespace is a reasonable proxy for the K8s ClusterID as it will only\n * change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are\n * UUIDs as standardized by\n * [ISO/IEC 9834-8 and ITU-T X.667](https://www.itu.int/ITU-T/studygroups/com17/oid.html).\n * Which states:\n *\n * > If generated according to one of the mechanisms defined in Rec.\n * > ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be\n * > different from all other UUIDs generated before 3603 A.D., or is\n * > extremely likely to be different (depending on the mechanism chosen).\n *\n * Therefore, UIDs between clusters should be extremely unlikely to\n * conflict.\n */\nexport const ATTR_K8S_CLUSTER_UID = 'k8s.cluster.uid';\n/**\n * The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`).\n *\n * @example redis\n */\nexport const ATTR_K8S_CONTAINER_NAME = 'k8s.container.name';\n/**\n * Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.\n */\nexport const ATTR_K8S_CONTAINER_RESTART_COUNT = 'k8s.container.restart_count';\n/**\n * The cronjob annotation placed on the CronJob, the `<key>` being the annotation name, the value being the annotation value.\n *\n * @example 4\n * @example\n *\n * @note Examples:\n *\n * - An annotation `retries` with value `4` **SHOULD** be recorded as the\n * `k8s.cronjob.annotation.retries` attribute with value `\"4\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.cronjob.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_CRONJOB_ANNOTATION = (key) => `k8s.cronjob.annotation.${key}`;\n/**\n * The label placed on the CronJob, the `<key>` being the label name, the value being the label value.\n *\n * @example weekly\n * @example\n *\n * @note Examples:\n *\n * - A label `type` with value `weekly` **SHOULD** be recorded as the\n * `k8s.cronjob.label.type` attribute with value `\"weekly\"`.\n * - A label `automated` with empty string value **SHOULD** be recorded as\n * the `k8s.cronjob.label.automated` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_CRONJOB_LABEL = (key) => `k8s.cronjob.label.${key}`;\n/**\n * The name of the CronJob.\n *\n * @example opentelemetry\n */\nexport const ATTR_K8S_CRONJOB_NAME = 'k8s.cronjob.name';\n/**\n * The UID of the CronJob.\n *\n * @example 275ecb36-5aa8-4c2a-9c47-d8bb681b9aff\n */\nexport const ATTR_K8S_CRONJOB_UID = 'k8s.cronjob.uid';\n/**\n * The annotation placed on the DaemonSet, the `<key>` being the annotation name, the value being the annotation value, even if the value is empty.\n *\n * @example 1\n * @example\n *\n * @note\n * Examples:\n *\n * - An annotation `replicas` with value `1` **SHOULD** be recorded\n * as the `k8s.daemonset.annotation.replicas` attribute with value `\"1\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.daemonset.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_DAEMONSET_ANNOTATION = (key) => `k8s.daemonset.annotation.${key}`;\n/**\n * The label placed on the DaemonSet, the `<key>` being the label name, the value being the label value, even if the value is empty.\n *\n * @example guestbook\n * @example\n *\n * @note\n * Examples:\n *\n * - A label `app` with value `guestbook` **SHOULD** be recorded\n * as the `k8s.daemonset.label.app` attribute with value `\"guestbook\"`.\n * - A label `injected` with empty string value **SHOULD** be recorded as\n * the `k8s.daemonset.label.injected` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_DAEMONSET_LABEL = (key) => `k8s.daemonset.label.${key}`;\n/**\n * The name of the DaemonSet.\n *\n * @example opentelemetry\n */\nexport const ATTR_K8S_DAEMONSET_NAME = 'k8s.daemonset.name';\n/**\n * The UID of the DaemonSet.\n *\n * @example 275ecb36-5aa8-4c2a-9c47-d8bb681b9aff\n */\nexport const ATTR_K8S_DAEMONSET_UID = 'k8s.daemonset.uid';\n/**\n * The annotation placed on the Deployment, the `<key>` being the annotation name, the value being the annotation value, even if the value is empty.\n *\n * @example 1\n * @example\n *\n * @note\n * Examples:\n *\n * - An annotation `replicas` with value `1` **SHOULD** be recorded\n * as the `k8s.deployment.annotation.replicas` attribute with value `\"1\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.deployment.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_DEPLOYMENT_ANNOTATION = (key) => `k8s.deployment.annotation.${key}`;\n/**\n * The label placed on the Deployment, the `<key>` being the label name, the value being the label value, even if the value is empty.\n *\n * @example guestbook\n * @example\n *\n * @note\n * Examples:\n *\n * - A label `app` with value `guestbook` **SHOULD** be recorded\n * as the `k8s.deployment.label.app` attribute with value `\"guestbook\"`.\n * - A label `injected` with empty string value **SHOULD** be recorded as\n * the `k8s.deployment.label.injected` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_DEPLOYMENT_LABEL = (key) => `k8s.deployment.label.${key}`;\n/**\n * The name of the Deployment.\n *\n * @example opentelemetry\n */\nexport const ATTR_K8S_DEPLOYMENT_NAME = 'k8s.deployment.name';\n/**\n * The UID of the Deployment.\n *\n * @example 275ecb36-5aa8-4c2a-9c47-d8bb681b9aff\n */\nexport const ATTR_K8S_DEPLOYMENT_UID = 'k8s.deployment.uid';\n/**\n * The annotation placed on the Job, the `<key>` being the annotation name, the value being the annotation value, even if the value is empty.\n *\n * @example 1\n * @example\n *\n * @note\n * Examples:\n *\n * - An annotation `number` with value `1` **SHOULD** be recorded\n * as the `k8s.job.annotation.number` attribute with value `\"1\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.job.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_JOB_ANNOTATION = (key) => `k8s.job.annotation.${key}`;\n/**\n * The label placed on the Job, the `<key>` being the label name, the value being the label value, even if the value is empty.\n *\n * @example ci\n * @example\n *\n * @note\n * Examples:\n *\n * - A label `jobtype` with value `ci` **SHOULD** be recorded\n * as the `k8s.job.label.jobtype` attribute with value `\"ci\"`.\n * - A label `automated` with empty string value **SHOULD** be recorded as\n * the `k8s.job.label.automated` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_JOB_LABEL = (key) => `k8s.job.label.${key}`;\n/**\n * The name of the Job.\n *\n * @example opentelemetry\n */\nexport const ATTR_K8S_JOB_NAME = 'k8s.job.name';\n/**\n * The UID of the Job.\n *\n * @example 275ecb36-5aa8-4c2a-9c47-d8bb681b9aff\n */\nexport const ATTR_K8S_JOB_UID = 'k8s.job.uid';\n/**\n * The annotation placed on the Namespace, the `<key>` being the annotation name, the value being the annotation value, even if the value is empty.\n *\n * @example 0\n * @example\n *\n * @note\n * Examples:\n *\n * - An annotation `ttl` with value `0` **SHOULD** be recorded\n * as the `k8s.namespace.annotation.ttl` attribute with value `\"0\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.namespace.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_NAMESPACE_ANNOTATION = (key) => `k8s.namespace.annotation.${key}`;\n/**\n * The label placed on the Namespace, the `<key>` being the label name, the value being the label value, even if the value is empty.\n *\n * @example default\n * @example\n *\n * @note\n * Examples:\n *\n * - A label `kubernetes.io/metadata.name` with value `default` **SHOULD** be recorded\n * as the `k8s.namespace.label.kubernetes.io/metadata.name` attribute with value `\"default\"`.\n * - A label `data` with empty string value **SHOULD** be recorded as\n * the `k8s.namespace.label.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_NAMESPACE_LABEL = (key) => `k8s.namespace.label.${key}`;\n/**\n * The name of the namespace that the pod is running in.\n *\n * @example default\n */\nexport const ATTR_K8S_NAMESPACE_NAME = 'k8s.namespace.name';\n/**\n * The annotation placed on the Node, the `<key>` being the annotation name, the value being the annotation value, even if the value is empty.\n *\n * @example 0\n * @example\n *\n * @note Examples:\n *\n * - An annotation `node.alpha.kubernetes.io/ttl` with value `0` **SHOULD** be recorded as\n * the `k8s.node.annotation.node.alpha.kubernetes.io/ttl` attribute with value `\"0\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.node.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_NODE_ANNOTATION = (key) => `k8s.node.annotation.${key}`;\n/**\n * The label placed on the Node, the `<key>` being the label name, the value being the label value, even if the value is empty.\n *\n * @example arm64\n * @example\n *\n * @note Examples:\n *\n * - A label `kubernetes.io/arch` with value `arm64` **SHOULD** be recorded\n * as the `k8s.node.label.kubernetes.io/arch` attribute with value `\"arm64\"`.\n * - A label `data` with empty string value **SHOULD** be recorded as\n * the `k8s.node.label.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_NODE_LABEL = (key) => `k8s.node.label.${key}`;\n/**\n * The name of the Node.\n *\n * @example node-1\n */\nexport const ATTR_K8S_NODE_NAME = 'k8s.node.name';\n/**\n * The UID of the Node.\n *\n * @example 1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2\n */\nexport const ATTR_K8S_NODE_UID = 'k8s.node.uid';\n/**\n * The annotation placed on the Pod, the `<key>` being the annotation name, the value being the annotation value.\n *\n * @example true\n * @example x64\n * @example\n *\n * @note Examples:\n *\n * - An annotation `kubernetes.io/enforce-mountable-secrets` with value `true` **SHOULD** be recorded as\n * the `k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets` attribute with value `\"true\"`.\n * - An annotation `mycompany.io/arch` with value `x64` **SHOULD** be recorded as\n * the `k8s.pod.annotation.mycompany.io/arch` attribute with value `\"x64\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.pod.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_POD_ANNOTATION = (key) => `k8s.pod.annotation.${key}`;\n/**\n * Specifies the hostname of the Pod.\n *\n * @example collector-gateway\n *\n * @note The K8s Pod spec has an optional hostname field, which can be used to specify a hostname.\n * Refer to [K8s docs](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-hostname-and-subdomain-field)\n * for more information about this field.\n *\n * This attribute aligns with the `hostname` field of the\n * [K8s PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podspec-v1-core).\n */\nexport const ATTR_K8S_POD_HOSTNAME = 'k8s.pod.hostname';\n/**\n * IP address allocated to the Pod.\n *\n * @example 172.18.0.2\n *\n * @note This attribute aligns with the `podIP` field of the\n * [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core).\n */\nexport const ATTR_K8S_POD_IP = 'k8s.pod.ip';\n/**\n * The label placed on the Pod, the `<key>` being the label name, the value being the label value.\n *\n * @example my-app\n * @example x64\n * @example\n *\n * @note Examples:\n *\n * - A label `app` with value `my-app` **SHOULD** be recorded as\n * the `k8s.pod.label.app` attribute with value `\"my-app\"`.\n * - A label `mycompany.io/arch` with value `x64` **SHOULD** be recorded as\n * the `k8s.pod.label.mycompany.io/arch` attribute with value `\"x64\"`.\n * - A label `data` with empty string value **SHOULD** be recorded as\n * the `k8s.pod.label.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_POD_LABEL = (key) => `k8s.pod.label.${key}`;\n/**\n * The name of the Pod.\n *\n * @example opentelemetry-pod-autoconf\n */\nexport const ATTR_K8S_POD_NAME = 'k8s.pod.name';\n/**\n * The start timestamp of the Pod.\n *\n * @example 2025-12-04T08:41:03Z\n *\n * @note Date and time at which the object was acknowledged by the Kubelet.\n * This is before the Kubelet pulled the container image(s) for the pod.\n *\n * This attribute aligns with the `startTime` field of the\n * [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core),\n * in ISO 8601 (RFC 3339 compatible) format.\n */\nexport const ATTR_K8S_POD_START_TIME = 'k8s.pod.start_time';\n/**\n * The UID of the Pod.\n *\n * @example 275ecb36-5aa8-4c2a-9c47-d8bb681b9aff\n */\nexport const ATTR_K8S_POD_UID = 'k8s.pod.uid';\n/**\n * The annotation placed on the ReplicaSet, the `<key>` being the annotation name, the value being the annotation value, even if the value is empty.\n *\n * @example 0\n * @example\n *\n * @note\n * Examples:\n *\n * - An annotation `replicas` with value `0` **SHOULD** be recorded\n * as the `k8s.replicaset.annotation.replicas` attribute with value `\"0\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.replicaset.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_REPLICASET_ANNOTATION = (key) => `k8s.replicaset.annotation.${key}`;\n/**\n * The label placed on the ReplicaSet, the `<key>` being the label name, the value being the label value, even if the value is empty.\n *\n * @example guestbook\n * @example\n *\n * @note\n * Examples:\n *\n * - A label `app` with value `guestbook` **SHOULD** be recorded\n * as the `k8s.replicaset.label.app` attribute with value `\"guestbook\"`.\n * - A label `injected` with empty string value **SHOULD** be recorded as\n * the `k8s.replicaset.label.injected` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_REPLICASET_LABEL = (key) => `k8s.replicaset.label.${key}`;\n/**\n * The name of the ReplicaSet.\n *\n * @example opentelemetry\n */\nexport const ATTR_K8S_REPLICASET_NAME = 'k8s.replicaset.name';\n/**\n * The UID of the ReplicaSet.\n *\n * @example 275ecb36-5aa8-4c2a-9c47-d8bb681b9aff\n */\nexport const ATTR_K8S_REPLICASET_UID = 'k8s.replicaset.uid';\n/**\n * The annotation placed on the StatefulSet, the `<key>` being the annotation name, the value being the annotation value, even if the value is empty.\n *\n * @example 1\n * @example\n *\n * @note\n * Examples:\n *\n * - An annotation `replicas` with value `1` **SHOULD** be recorded\n * as the `k8s.statefulset.annotation.replicas` attribute with value `\"1\"`.\n * - An annotation `data` with empty string value **SHOULD** be recorded as\n * the `k8s.statefulset.annotation.data` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_STATEFULSET_ANNOTATION = (key) => `k8s.statefulset.annotation.${key}`;\n/**\n * The label placed on the StatefulSet, the `<key>` being the label name, the value being the label value, even if the value is empty.\n *\n * @example guestbook\n * @example\n *\n * @note\n * Examples:\n *\n * - A label `app` with value `guestbook` **SHOULD** be recorded\n * as the `k8s.statefulset.label.app` attribute with value `\"guestbook\"`.\n * - A label `injected` with empty string value **SHOULD** be recorded as\n * the `k8s.statefulset.label.injected` attribute with value `\"\"`.\n */\nexport const ATTR_K8S_STATEFULSET_LABEL = (key) => `k8s.statefulset.label.${key}`;\n/**\n * The name of the StatefulSet.\n *\n * @example opentelemetry\n */\nexport const ATTR_K8S_STATEFULSET_NAME = 'k8s.statefulset.name';\n/**\n * The UID of the StatefulSet.\n *\n * @example 275ecb36-5aa8-4c2a-9c47-d8bb681b9aff\n */\nexport const ATTR_K8S_STATEFULSET_UID = 'k8s.statefulset.uid';\n/**\n * Local address of the network connection - IP address or Unix domain socket name.\n *\n * @example 10.1.2.80\n * @example /tmp/my.sock\n */\nexport const ATTR_NETWORK_LOCAL_ADDRESS = 'network.local.address';\n/**\n * Local port number of the network connection.\n *\n * @example 65123\n */\nexport const ATTR_NETWORK_LOCAL_PORT = 'network.local.port';\n/**\n * Peer address of the network connection - IP address or Unix domain socket name.\n *\n * @example 10.1.2.80\n * @example /tmp/my.sock\n */\nexport const ATTR_NETWORK_PEER_ADDRESS = 'network.peer.address';\n/**\n * Peer port number of the network connection.\n *\n * @example 65123\n */\nexport const ATTR_NETWORK_PEER_PORT = 'network.peer.port';\n/**\n * [OSI application layer](https://wikipedia.org/wiki/Application_layer) or non-OSI equivalent.\n *\n * @example amqp\n * @example http\n * @example mqtt\n *\n * @note The value **SHOULD** be normalized to lowercase.\n */\nexport const ATTR_NETWORK_PROTOCOL_NAME = 'network.protocol.name';\n/**\n * The actual version of the protocol used for network communication.\n *\n * @example 1.1\n * @example 2\n *\n * @note If protocol version is subject to negotiation (for example using [ALPN](https://www.rfc-editor.org/rfc/rfc7301.html)), this attribute **SHOULD** be set to the negotiated version. If the actual protocol version is not known, this attribute **SHOULD NOT** be set.\n */\nexport const ATTR_NETWORK_PROTOCOL_VERSION = 'network.protocol.version';\n/**\n * [OSI transport layer](https://wikipedia.org/wiki/Transport_layer) or [inter-process communication method](https://wikipedia.org/wiki/Inter-process_communication).\n *\n * @example tcp\n * @example udp\n *\n * @note The value **SHOULD** be normalized to lowercase.\n *\n * Consider always setting the transport when setting a port number, since\n * a port number is ambiguous without knowing the transport. For example\n * different processes could be listening on TCP port 12345 and UDP port 12345.\n */\nexport const ATTR_NETWORK_TRANSPORT = 'network.transport';\n/**\n * Enum value \"pipe\" for attribute {@link ATTR_NETWORK_TRANSPORT}.\n *\n * Named or anonymous pipe.\n */\nexport const NETWORK_TRANSPORT_VALUE_PIPE = \"pipe\";\n/**\n * Enum value \"quic\" for attribute {@link ATTR_NETWORK_TRANSPORT}.\n *\n * QUIC\n */\nexport const NETWORK_TRANSPORT_VALUE_QUIC = \"quic\";\n/**\n * Enum value \"tcp\" for attribute {@link ATTR_NETWORK_TRANSPORT}.\n *\n * TCP\n */\nexport const NETWORK_TRANSPORT_VALUE_TCP = \"tcp\";\n/**\n * Enum value \"udp\" for attribute {@link ATTR_NETWORK_TRANSPORT}.\n *\n * UDP\n */\nexport const NETWORK_TRANSPORT_VALUE_UDP = \"udp\";\n/**\n * Enum value \"unix\" for attribute {@link ATTR_NETWORK_TRANSPORT}.\n *\n * Unix domain socket\n */\nexport const NETWORK_TRANSPORT_VALUE_UNIX = \"unix\";\n/**\n * [OSI network layer](https://wikipedia.org/wiki/Network_layer) or non-OSI equivalent.\n *\n * @example ipv4\n * @example ipv6\n *\n * @note The value **SHOULD** be normalized to lowercase.\n */\nexport const ATTR_NETWORK_TYPE = 'network.type';\n/**\n * Enum value \"ipv4\" for attribute {@link ATTR_NETWORK_TYPE}.\n *\n * IPv4\n */\nexport const NETWORK_TYPE_VALUE_IPV4 = \"ipv4\";\n/**\n * Enum value \"ipv6\" for attribute {@link ATTR_NETWORK_TYPE}.\n *\n * IPv6\n */\nexport const NETWORK_TYPE_VALUE_IPV6 = \"ipv6\";\n/**\n * Identifies the class / type of event.\n *\n * @example browser.mouse.click\n * @example device.app.lifecycle\n *\n * @note This attribute **SHOULD** be used by non-OTLP exporters when destination does not support `EventName` or equivalent field. This attribute **MAY** be used by applications using existing logging libraries so that it can be used to set the `EventName` field by Collector or SDK components.\n */\nexport const ATTR_OTEL_EVENT_NAME = 'otel.event.name';\n/**\n * The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP).\n *\n * @example io.opentelemetry.contrib.mongodb\n */\nexport const ATTR_OTEL_SCOPE_NAME = 'otel.scope.name';\n/**\n * The version of the instrumentation scope - (`InstrumentationScope.Version` in OTLP).\n *\n * @example 1.0.0\n */\nexport const ATTR_OTEL_SCOPE_VERSION = 'otel.scope.version';\n/**\n * Name of the code, either \"OK\" or \"ERROR\". **MUST NOT** be set if the status code is UNSET.\n */\nexport const ATTR_OTEL_STATUS_CODE = 'otel.status_code';\n/**\n * Enum value \"ERROR\" for attribute {@link ATTR_OTEL_STATUS_CODE}.\n *\n * The operation contains an error.\n */\nexport const OTEL_STATUS_CODE_VALUE_ERROR = \"ERROR\";\n/**\n * Enum value \"OK\" for attribute {@link ATTR_OTEL_STATUS_CODE}.\n *\n * The operation has been validated by an Application developer or Operator to have completed successfully.\n */\nexport const OTEL_STATUS_CODE_VALUE_OK = \"OK\";\n/**\n * Description of the Status if it has a value, otherwise not set.\n *\n * @example resource not found\n */\nexport const ATTR_OTEL_STATUS_DESCRIPTION = 'otel.status_description';\n/**\n * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\n *\n * @example example.com\n * @example 10.1.2.80\n * @example /tmp/my.sock\n *\n * @note When observed from the client side, and when communicating through an intermediary, `server.address` **SHOULD** represent the server address behind any intermediaries, for example proxies, if it's available.\n */\nexport const ATTR_SERVER_ADDRESS = 'server.address';\n/**\n * Server port number.\n *\n * @example 80\n * @example 8080\n * @example 443\n *\n * @note When observed from the client side, and when communicating through an intermediary, `server.port` **SHOULD** represent the server port behind any intermediaries, for example proxies, if it's available.\n */\nexport const ATTR_SERVER_PORT = 'server.port';\n/**\n * The string ID of the service instance.\n *\n * @example 627cc493-f310-47de-96bd-71410b7dec09\n *\n * @note **MUST** be unique for each instance of the same `service.namespace,service.name` pair (in other words\n * `service.namespace,service.name,service.instance.id` triplet **MUST** be globally unique). The ID helps to\n * distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled\n * service).\n *\n * Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 [RFC\n * 4122](https://www.ietf.org/rfc/rfc4122.txt) UUID, but are free to use an inherent unique ID as the source of\n * this value if stability is desirable. In that case, the ID **SHOULD** be used as source of a UUID Version 5 and\n * **SHOULD** use the following UUID as the namespace: `4d63009a-8d0f-11ee-aad7-4c796ed8e320`.\n *\n * UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is\n * needed. Similar to what can be seen in the man page for the\n * [`/etc/machine-id`](https://www.freedesktop.org/software/systemd/man/latest/machine-id.html) file, the underlying\n * data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it\n * or not via another resource attribute.\n *\n * For applications running behind an application server (like unicorn), we do not recommend using one identifier\n * for all processes participating in the application. Instead, it's recommended each division (e.g. a worker\n * thread in unicorn) to have its own instance.id.\n *\n * It's not recommended for a Collector to set `service.instance.id` if it can't unambiguously determine the\n * service instance that is generating that telemetry. For instance, creating an UUID based on `pod.name` will\n * likely be wrong, as the Collector might not know from which container within that pod the telemetry originated.\n * However, Collectors can set the `service.instance.id` if they can unambiguously determine the service instance\n * for that telemetry. This is typically the case for scraping receivers, as they know the target address and\n * port.\n */\nexport const ATTR_SERVICE_INSTANCE_ID = 'service.instance.id';\n/**\n * Logical name of the service.\n *\n * @example shoppingcart\n *\n * @note **MUST** be the same for all instances of horizontally scaled services. If the value was not specified, SDKs **MUST** fallback to `unknown_service:` concatenated with the process executable name, e.g. `unknown_service:bash`. If the process executable name is not available, the value **MUST** be set to `unknown_service`.\n * The process executable name is the name of the process executable, the same value as described by the [`process.executable.name`](process.md) resource attribute.\n */\nexport const ATTR_SERVICE_NAME = 'service.name';\n/**\n * A namespace for `service.name`.\n *\n * @example Shop\n *\n * @note A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.\n */\nexport const ATTR_SERVICE_NAMESPACE = 'service.namespace';\n/**\n * The version string of the service component. The format is not defined by these conventions.\n *\n * @example 2.0.0\n * @example a01dbef8a\n */\nexport const ATTR_SERVICE_VERSION = 'service.version';\n/**\n * SignalR HTTP connection closure status.\n *\n * @example app_shutdown\n * @example timeout\n */\nexport const ATTR_SIGNALR_CONNECTION_STATUS = 'signalr.connection.status';\n/**\n * Enum value \"app_shutdown\" for attribute {@link ATTR_SIGNALR_CONNECTION_STATUS}.\n *\n * The connection was closed because the app is shutting down.\n */\nexport const SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN = \"app_shutdown\";\n/**\n * Enum value \"normal_closure\" for attribute {@link ATTR_SIGNALR_CONNECTION_STATUS}.\n *\n * The connection was closed normally.\n */\nexport const SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE = \"normal_closure\";\n/**\n * Enum value \"timeout\" for attribute {@link ATTR_SIGNALR_CONNECTION_STATUS}.\n *\n * The connection was closed due to a timeout.\n */\nexport const SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT = \"timeout\";\n/**\n * [SignalR transport type](https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/TransportProtocols.md)\n *\n * @example web_sockets\n * @example long_polling\n */\nexport const ATTR_SIGNALR_TRANSPORT = 'signalr.transport';\n/**\n * Enum value \"long_polling\" for attribute {@link ATTR_SIGNALR_TRANSPORT}.\n *\n * LongPolling protocol\n */\nexport const SIGNALR_TRANSPORT_VALUE_LONG_POLLING = \"long_polling\";\n/**\n * Enum value \"server_sent_events\" for attribute {@link ATTR_SIGNALR_TRANSPORT}.\n *\n * ServerSentEvents protocol\n */\nexport const SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS = \"server_sent_events\";\n/**\n * Enum value \"web_sockets\" for attribute {@link ATTR_SIGNALR_TRANSPORT}.\n *\n * WebSockets protocol\n */\nexport const SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS = \"web_sockets\";\n/**\n * The name of the auto instrumentation agent or distribution, if used.\n *\n * @example parts-unlimited-java\n *\n * @note Official auto instrumentation agents and distributions **SHOULD** set the `telemetry.distro.name` attribute to\n * a string starting with `opentelemetry-`, e.g. `opentelemetry-java-instrumentation`.\n */\nexport const ATTR_TELEMETRY_DISTRO_NAME = 'telemetry.distro.name';\n/**\n * The version string of the auto instrumentation agent or distribution, if used.\n *\n * @example 1.2.3\n */\nexport const ATTR_TELEMETRY_DISTRO_VERSION = 'telemetry.distro.version';\n/**\n * The language of the telemetry SDK.\n */\nexport const ATTR_TELEMETRY_SDK_LANGUAGE = 'telemetry.sdk.language';\n/**\n * Enum value \"cpp\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_CPP = \"cpp\";\n/**\n * Enum value \"dotnet\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET = \"dotnet\";\n/**\n * Enum value \"erlang\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG = \"erlang\";\n/**\n * Enum value \"go\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_GO = \"go\";\n/**\n * Enum value \"java\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_JAVA = \"java\";\n/**\n * Enum value \"kotlin\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_KOTLIN = \"kotlin\";\n/**\n * Enum value \"nodejs\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS = \"nodejs\";\n/**\n * Enum value \"php\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_PHP = \"php\";\n/**\n * Enum value \"python\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON = \"python\";\n/**\n * Enum value \"ruby\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_RUBY = \"ruby\";\n/**\n * Enum value \"rust\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_RUST = \"rust\";\n/**\n * Enum value \"swift\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT = \"swift\";\n/**\n * Enum value \"webjs\" for attribute {@link ATTR_TELEMETRY_SDK_LANGUAGE}.\n */\nexport const TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS = \"webjs\";\n/**\n * The name of the telemetry SDK as defined above.\n *\n * @example opentelemetry\n *\n * @note The OpenTelemetry SDK **MUST** set the `telemetry.sdk.name` attribute to `opentelemetry`.\n * If another SDK, like a fork or a vendor-provided implementation, is used, this SDK **MUST** set the\n * `telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point\n * or another suitable identifier depending on the language.\n * The identifier `opentelemetry` is reserved and **MUST NOT** be used in this case.\n * All custom identifiers **SHOULD** be stable across different versions of an implementation.\n */\nexport const ATTR_TELEMETRY_SDK_NAME = 'telemetry.sdk.name';\n/**\n * The version string of the telemetry SDK.\n *\n * @example 1.2.3\n */\nexport const ATTR_TELEMETRY_SDK_VERSION = 'telemetry.sdk.version';\n/**\n * The [URI fragment](https://www.rfc-editor.org/rfc/rfc3986#section-3.5) component\n *\n * @example SemConv\n */\nexport const ATTR_URL_FRAGMENT = 'url.fragment';\n/**\n * Absolute URL describing a network resource according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986)\n *\n * @example https://www.foo.bar/search?q=OpenTelemetry#SemConv\n * @example //localhost\n *\n * @note For network calls, URL usually has `scheme://host[:port][path][?query][#fragment]` format, where the fragment\n * is not transmitted over HTTP, but if it is known, it **SHOULD** be included nevertheless.\n *\n * `url.full` **MUST NOT** contain credentials passed via URL in form of `https://username:password@www.example.com/`.\n * In such case username and password **SHOULD** be redacted and attribute's value **SHOULD** be `https://REDACTED:REDACTED@www.example.com/`.\n *\n * `url.full` **SHOULD** capture the absolute URL when it is available (or can be reconstructed).\n *\n * Sensitive content provided in `url.full` **SHOULD** be scrubbed when instrumentations can identify it.\n *\n *\n * Query string values for the following keys **SHOULD** be redacted by default and replaced by the\n * value `REDACTED`:\n *\n * - [`X-Amz-Signature`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html)\n * - [`X-Amz-Credential`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html)\n * - [`X-Amz-Security-Token`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html)\n * - [`sig`](https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token)\n * - [`X-Goog-Signature`](https://cloud.google.com/storage/docs/access-control/signed-urls)\n *\n * This list is subject to change over time.\n *\n * Matching of query parameter keys against the sensitive list **SHOULD** be case-sensitive.\n *\n *\n * Instrumentation **MAY** provide a way to override this list via declarative configuration.\n * If so, it **SHOULD** use the `sensitive_query_parameters` property\n * (an array of case-sensitive strings with minimum items 0) under\n * `.instrumentation/development.general.sanitization.url`.\n * This list is a full override of the default sensitive query parameter keys,\n * it is not a list of keys in addition to the defaults.\n *\n * When a query string value is redacted, the query string key **SHOULD** still be preserved, e.g.\n * `https://www.example.com/path?color=blue&sig=REDACTED`.\n */\nexport const ATTR_URL_FULL = 'url.full';\n/**\n * The [URI path](https://www.rfc-editor.org/rfc/rfc3986#section-3.3) component\n *\n * @example /search\n *\n * @note Sensitive content provided in `url.path` **SHOULD** be scrubbed when instrumentations can identify it.\n */\nexport const ATTR_URL_PATH = 'url.path';\n/**\n * The [URI query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component\n *\n * @example q=OpenTelemetry\n *\n * @note Sensitive content provided in `url.query` **SHOULD** be scrubbed when instrumentations can identify it.\n *\n *\n * Query string values for the following keys **SHOULD** be redacted by default and replaced by the value `REDACTED`:\n *\n * - [`X-Amz-Signature`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html)\n * - [`X-Amz-Credential`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html)\n * - [`X-Amz-Security-Token`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html)\n * - [`sig`](https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token)\n * - [`X-Goog-Signature`](https://cloud.google.com/storage/docs/access-control/signed-urls)\n *\n * This list is subject to change over time.\n *\n * Matching of query parameter keys against the sensitive list **SHOULD** be case-sensitive.\n *\n * Instrumentation **MAY** provide a way to override this list via declarative configuration.\n * If so, it **SHOULD** use the `sensitive_query_parameters` property\n * (an array of case-sensitive strings with minimum items 0) under\n * `.instrumentation/development.general.sanitization.url`.\n * This list is a full override of the default sensitive query parameter keys,\n * it is not a list of keys in addition to the defaults.\n *\n * When a query string value is redacted, the query string key **SHOULD** still be preserved, e.g.\n * `q=OpenTelemetry&sig=REDACTED`.\n */\nexport const ATTR_URL_QUERY = 'url.query';\n/**\n * The [URI scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component identifying the used protocol.\n *\n * @example https\n * @example ftp\n * @example telnet\n */\nexport const ATTR_URL_SCHEME = 'url.scheme';\n/**\n * Value of the [HTTP User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) header sent by the client.\n *\n * @example CERN-LineMode/2.15 libwww/2.17b3\n * @example Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\n * @example YourApp/1.0.0 grpc-java-okhttp/1.27.2\n */\nexport const ATTR_USER_AGENT_ORIGINAL = 'user_agent.original';\n//# sourceMappingURL=stable_attributes.js.map","//#region src/instrumentation/noop.ts\nfunction createNoopSpan() {\n\tconst span = {\n\t\tend() {},\n\t\tsetAttribute(_key, _value) {},\n\t\tsetStatus(_status) {},\n\t\trecordException(_exception) {},\n\t\tupdateName(_name) {\n\t\t\treturn span;\n\t\t}\n\t};\n\treturn span;\n}\nfunction createNoopTracer(noopSpan) {\n\tfunction startActiveSpan(_name, ...rest) {\n\t\tconst fn = rest[rest.length - 1];\n\t\treturn fn(noopSpan);\n\t}\n\treturn { startActiveSpan };\n}\nfunction createNoopTraceAPI() {\n\tconst noopTracer = createNoopTracer(createNoopSpan());\n\treturn {\n\t\tgetTracer(_name, _version) {\n\t\t\treturn noopTracer;\n\t\t},\n\t\tgetActiveSpan() {}\n\t};\n}\nfunction createNoopOpenTelemetryAPI() {\n\treturn {\n\t\tSpanStatusCode: {\n\t\t\tUNSET: 0,\n\t\t\tOK: 1,\n\t\t\tERROR: 2\n\t\t},\n\t\ttrace: createNoopTraceAPI()\n\t};\n}\nconst noopOpenTelemetryAPI = createNoopOpenTelemetryAPI();\nfunction noopWithSpan(_name, _attributes, fn) {\n\treturn fn();\n}\n//#endregion\nexport { noopOpenTelemetryAPI, noopWithSpan };\n","import { ATTR_CONTEXT, ATTR_DB_COLLECTION_NAME, ATTR_DB_OPERATION_NAME, ATTR_HOOK_TYPE, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_HTTP_ROUTE, ATTR_OPERATION_ID } from \"./attributes.mjs\";\nimport { noopWithSpan } from \"./noop.mjs\";\n//#region src/instrumentation/pure.index.ts\n/**\n* Selects the span runner for an auth instance.\n*/\nfunction createWithSpan(_options) {\n\treturn noopWithSpan;\n}\n//#endregion\nexport { ATTR_CONTEXT, ATTR_DB_COLLECTION_NAME, ATTR_DB_OPERATION_NAME, ATTR_HOOK_TYPE, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_HTTP_ROUTE, ATTR_OPERATION_ID, createWithSpan, noopWithSpan as withSpan };\n","import { createRandomStringGenerator } from \"@better-auth/utils/random\";\n//#region src/utils/id.ts\nconst generateId = (size) => {\n\treturn createRandomStringGenerator(\"a-z\", \"A-Z\", \"0-9\")(size || 32);\n};\n//#endregion\nexport { generateId };\n","import { BetterAuthError } from \"../../error/index.mjs\";\n//#region src/db/adapter/get-default-model-name.ts\nconst initGetDefaultModelName = ({ usePlural, schema }) => {\n\t/**\n\t* This function helps us get the default model name from the schema defined by devs.\n\t* Often times, the user will be using the `modelName` which could had been customized by the users.\n\t* This function helps us get the actual model name useful to match against the schema. (eg: schema[model])\n\t*\n\t* If it's still unclear what this does:\n\t*\n\t* 1. User can define a custom modelName.\n\t* 2. When using a custom modelName, doing something like `schema[model]` will not work.\n\t* 3. Using this function helps us get the actual model name based on the user's defined custom modelName.\n\t*/\n\tconst getDefaultModelName = (model) => {\n\t\tconst resolve = (candidate) => {\n\t\t\tif (schema[candidate]) return candidate;\n\t\t\treturn Object.entries(schema).find(([_, f]) => f.modelName === candidate)?.[0];\n\t\t};\n\t\tif (usePlural && model.charAt(model.length - 1) === \"s\") {\n\t\t\tconst m = resolve(model.slice(0, -1));\n\t\t\tif (m) return m;\n\t\t}\n\t\tconst m = resolve(model);\n\t\tif (!m) throw new BetterAuthError(`Model \"${model}\" not found in schema`);\n\t\treturn m;\n\t};\n\treturn getDefaultModelName;\n};\n//#endregion\nexport { initGetDefaultModelName };\n","import { logger } from \"../../env/logger.mjs\";\nimport { generateId } from \"../../utils/id.mjs\";\nimport { initGetDefaultModelName } from \"./get-default-model-name.mjs\";\nimport { base64Url } from \"@better-auth/utils/base64\";\nimport { hex } from \"@better-auth/utils/hex\";\n//#region src/db/adapter/get-id-field.ts\nlet warnedSerialDeterministicId = false;\n/**\n* Encodes a digest as a primary key that the configured\n* `advanced.database.generateId` strategy keeps when the record is created\n* with `forceAllowId`.\n*\n* Single-use records key their row by an id derived from the value they\n* guard, so a duplicate insert is the first-writer-wins gate. The id field\n* replaces a forced id that does not fit the strategy with a fresh one, which\n* would let every insert win. Under `\"uuid\"` the first 16 bytes are formatted\n* with version 5 and RFC 9562 variant bits, the shape the id field accepts.\n* Other string strategies get the base64url digest. Under `\"serial\"` the\n* base64url digest is still replaced by a database number, so the record is\n* not single use; this logs a warning once per process.\n*\n* @internal Shared by Better Auth packages; not a supported public API.\n* @param digest - A hash of the guarded value, at least 16 bytes long.\n*/\nfunction encodeDeterministicId(digest, options) {\n\tconst generateId = options.advanced?.database?.generateId;\n\tif (generateId === \"serial\" && !warnedSerialDeterministicId) {\n\t\twarnedSerialDeterministicId = true;\n\t\tlogger.warn(\"Single-use checks (such as SAML assertion IDs, DPoP proofs, and private_key_jwt assertions) need string ids and are not enforced with `advanced.database.generateId: \\\"serial\\\"`.\");\n\t}\n\tif (generateId !== \"uuid\") return base64Url.encode(digest, { padding: false });\n\tconst bytes = digest.slice(0, 16);\n\tbytes[6] = bytes[6] & 15 | 80;\n\tbytes[8] = bytes[8] & 63 | 128;\n\tconst value = hex.encode(bytes);\n\treturn `${value.slice(0, 8)}-${value.slice(8, 12)}-${value.slice(12, 16)}-${value.slice(16, 20)}-${value.slice(20)}`;\n}\nconst initGetIdField = ({ usePlural, schema, disableIdGeneration, options, customIdGenerator, supportsUUIDs }) => {\n\tconst getDefaultModelName = initGetDefaultModelName({\n\t\tusePlural,\n\t\tschema\n\t});\n\tconst idField = ({ customModelName, forceAllowId }) => {\n\t\tconst useNumberId = options.advanced?.database?.generateId === \"serial\";\n\t\tconst useUUIDs = options.advanced?.database?.generateId === \"uuid\";\n\t\tconst shouldGenerateId = (() => {\n\t\t\tif (disableIdGeneration) return false;\n\t\t\telse if (useNumberId && !forceAllowId) return false;\n\t\t\telse if (useUUIDs) return !supportsUUIDs;\n\t\t\telse return true;\n\t\t})();\n\t\tconst model = getDefaultModelName(customModelName ?? \"id\");\n\t\treturn {\n\t\t\ttype: useNumberId ? \"number\" : \"string\",\n\t\t\trequired: shouldGenerateId ? true : false,\n\t\t\t...shouldGenerateId ? { defaultValue() {\n\t\t\t\tif (disableIdGeneration) return void 0;\n\t\t\t\tconst generateId$1 = options.advanced?.database?.generateId;\n\t\t\t\tif (generateId$1 === false || generateId$1 === \"serial\") return void 0;\n\t\t\t\tif (typeof generateId$1 === \"function\") return generateId$1({ model });\n\t\t\t\tif (generateId$1 === \"uuid\") return crypto.randomUUID();\n\t\t\t\tif (customIdGenerator) return customIdGenerator({ model });\n\t\t\t\treturn generateId();\n\t\t\t} } : {},\n\t\t\ttransform: {\n\t\t\t\tinput: (value) => {\n\t\t\t\t\tif (!value) return void 0;\n\t\t\t\t\tif (useNumberId) {\n\t\t\t\t\t\tconst numberValue = Number(value);\n\t\t\t\t\t\tif (isNaN(numberValue)) return;\n\t\t\t\t\t\treturn numberValue;\n\t\t\t\t\t}\n\t\t\t\t\tif (useUUIDs) {\n\t\t\t\t\t\tif (shouldGenerateId && !forceAllowId) return value;\n\t\t\t\t\t\tif (disableIdGeneration) return void 0;\n\t\t\t\t\t\tif (forceAllowId && typeof value === \"string\") 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(value)) return value;\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconst stack = (/* @__PURE__ */ new Error()).stack?.split(\"\\n\").filter((_, i) => i !== 1).join(\"\\n\").replace(\"Error:\", \"\");\n\t\t\t\t\t\t\tlogger.warn(\"[Adapter Factory] - Invalid UUID value for field `id` provided when `forceAllowId` is true. Generating a new UUID.\", stack);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (supportsUUIDs) return void 0;\n\t\t\t\t\t\tif (typeof value !== \"string\" && !supportsUUIDs) return crypto.randomUUID();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\toutput: (value) => {\n\t\t\t\t\tif (!value) return void 0;\n\t\t\t\t\treturn String(value);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t};\n\treturn idField;\n};\n//#endregion\nexport { encodeDeterministicId, initGetIdField };\n"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=Symbol.for(`quansync.getIsAsync`),t=class extends Error{constructor(e=`Unexpected promise in sync context`){super(e),this.name=`QuansyncError`}};function n(e){return e&&typeof e==`object`&&typeof e.then==`function`}function r(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`&&`__quansync`in e}function i(t){let n=function*(...n){return(yield e)?yield t.async.apply(this,n):t.sync.apply(this,n)};function r(...e){let r=n.apply(this,e);return r.then=(...n)=>t.async.apply(this,e).then(...n),r.__quansync=!0,r}return r.sync=t.sync,r.async=t.async,r}function a(e){return i({async:()=>Promise.resolve(e),sync:()=>{if(n(e))throw new t;return e}})}function o(i,a){if(i===e)return a;if(r(i))return a?l(i):c(i);if(!a&&n(i))throw new t;return i}var s=e=>e;function c(e,t=s){let n=e.next();for(;!n.done;)try{n=e.next(o(t(n.value,!1)))}catch(t){n=e.throw(t)}return o(n.value)}async function l(e,t=s){let n=e.next();for(;!n.done;)try{n=e.next(await o(t(n.value,!0),!0))}catch(t){n=e.throw(t)}return n.value}function u(e,t){return i({name:e.name,async(...n){return l(e.apply(this,n),t?.onYield)},sync(...n){return c(e.apply(this,n),t?.onYield)}})}function d(e,t){return n(e)?a(e):typeof e==`function`?u(e,t):i(e)}d({async:()=>Promise.resolve(!0),sync:()=>!1});var f=new Map,p=class extends Error{constructor(e){super(`standard-json: Unsupported schema vendor "${e}".`)}},m=class extends Error{constructor(e){super(`standard-json: Missing dependencies "${e}".`)}},h=async e=>{let t=f.get(e);if(t)return t;let n;switch(e){case`arktype`:n=(await import(`./arktype-aI7TBD0R-D1R3Byo5.js`)).default();break;case`effect`:n=(await import(`./effect-QlVUlMFu-2tSPDT2b.js`)).default();break;case`sury`:n=(await import(`./sury-CWZTCd75-xt1mWc9f.js`)).default();break;case`typebox`:n=(await import(`./typebox-Dei93FPO-D_lCVdAz.js`)).default();break;case`valibot`:n=(await import(`./valibot--1zFm7rT-NSoY2xTp.js`)).default();break;case`zod`:n=(await import(`./zod-Bwrt9trS-CV38yPnQ.js`)).default();break;default:throw new p(e)}let r=await n;return f.set(e,r),r},g=d({sync:(e,t)=>{let n=e[`~standard`].vendor,r=f.get(n);if(!r)throw new p(n);return r(e,t)},async:async(e,t)=>(await h(e[`~standard`].vendor))(e,t)});export{g as n,m as t};
2
+ //# sourceMappingURL=index-CLddUTqr-xpSuLpBt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CLddUTqr-xpSuLpBt.js","names":["GET_IS_ASYNC","QuansyncError","message","isThenable","value","isQuansyncGenerator","fromObject","generator","args","options","fn","iter","thenArgs","fromPromise","promise","unwrapYield","isAsync","iterateAsync","iterateSync","DEFAULT_ON_YIELD","current","onYield","err","fromGeneratorFn","generatorFn","quansync","input","validationMapper","UnsupportedVendorError","vendor","MissingDependencyError","packageName","getToJsonSchemaFn","cached","vendorFnPromise","vendorFn","toJsonSchema","schema"],"sources":["../../../../../node_modules/.pnpm/quansync@0.2.11/node_modules/quansync/dist/index.mjs","../../../../../node_modules/.pnpm/@standard-community+standard-json@0.3.6_@standard-schema+spec@1.1.0_@types+json-schema@_3a9c12acdc829aa93c6397cd7486d5da/node_modules/@standard-community/standard-json/dist/index-CLddUTqr.js"],"sourcesContent":["const GET_IS_ASYNC = Symbol.for(\"quansync.getIsAsync\");\nclass QuansyncError extends Error {\n constructor(message = \"Unexpected promise in sync context\") {\n super(message);\n this.name = \"QuansyncError\";\n }\n}\nfunction isThenable(value) {\n return value && typeof value === \"object\" && typeof value.then === \"function\";\n}\nfunction isQuansyncGenerator(value) {\n return value && typeof value === \"object\" && typeof value[Symbol.iterator] === \"function\" && \"__quansync\" in value;\n}\nfunction fromObject(options) {\n const generator = function* (...args) {\n const isAsync = yield GET_IS_ASYNC;\n if (isAsync)\n return yield options.async.apply(this, args);\n return options.sync.apply(this, args);\n };\n function fn(...args) {\n const iter = generator.apply(this, args);\n iter.then = (...thenArgs) => options.async.apply(this, args).then(...thenArgs);\n iter.__quansync = true;\n return iter;\n }\n fn.sync = options.sync;\n fn.async = options.async;\n return fn;\n}\nfunction fromPromise(promise) {\n return fromObject({\n async: () => Promise.resolve(promise),\n sync: () => {\n if (isThenable(promise))\n throw new QuansyncError();\n return promise;\n }\n });\n}\nfunction unwrapYield(value, isAsync) {\n if (value === GET_IS_ASYNC)\n return isAsync;\n if (isQuansyncGenerator(value))\n return isAsync ? iterateAsync(value) : iterateSync(value);\n if (!isAsync && isThenable(value))\n throw new QuansyncError();\n return value;\n}\nconst DEFAULT_ON_YIELD = (value) => value;\nfunction iterateSync(generator, onYield = DEFAULT_ON_YIELD) {\n let current = generator.next();\n while (!current.done) {\n try {\n current = generator.next(unwrapYield(onYield(current.value, false)));\n } catch (err) {\n current = generator.throw(err);\n }\n }\n return unwrapYield(current.value);\n}\nasync function iterateAsync(generator, onYield = DEFAULT_ON_YIELD) {\n let current = generator.next();\n while (!current.done) {\n try {\n current = generator.next(await unwrapYield(onYield(current.value, true), true));\n } catch (err) {\n current = generator.throw(err);\n }\n }\n return current.value;\n}\nfunction fromGeneratorFn(generatorFn, options) {\n return fromObject({\n name: generatorFn.name,\n async(...args) {\n return iterateAsync(generatorFn.apply(this, args), options?.onYield);\n },\n sync(...args) {\n return iterateSync(generatorFn.apply(this, args), options?.onYield);\n }\n });\n}\nfunction quansync(input, options) {\n if (isThenable(input))\n return fromPromise(input);\n if (typeof input === \"function\")\n return fromGeneratorFn(input, options);\n else\n return fromObject(input);\n}\nfunction toGenerator(promise) {\n if (isQuansyncGenerator(promise))\n return promise;\n return fromPromise(promise)();\n}\nconst getIsAsync = quansync({\n async: () => Promise.resolve(true),\n sync: () => false\n});\n\nexport { GET_IS_ASYNC, QuansyncError, getIsAsync, quansync, toGenerator };\n","import { quansync } from 'quansync';\n\nconst validationMapper = /* @__PURE__ */ new Map();\nclass UnsupportedVendorError extends Error {\n constructor(vendor) {\n super(`standard-json: Unsupported schema vendor \"${vendor}\".`);\n }\n}\nclass MissingDependencyError extends Error {\n constructor(packageName) {\n super(`standard-json: Missing dependencies \"${packageName}\".`);\n }\n}\n\nconst getToJsonSchemaFn = async (vendor) => {\n const cached = validationMapper.get(vendor);\n if (cached) {\n return cached;\n }\n let vendorFnPromise;\n switch (vendor) {\n case \"arktype\":\n vendorFnPromise = (await import('./arktype-aI7TBD0R.js')).default();\n break;\n case \"effect\":\n vendorFnPromise = (await import('./effect-QlVUlMFu.js')).default();\n break;\n case \"sury\":\n vendorFnPromise = (await import('./sury-CWZTCd75.js')).default();\n break;\n case \"typebox\":\n vendorFnPromise = (await import('./typebox-Dei93FPO.js')).default();\n break;\n case \"valibot\":\n vendorFnPromise = (await import('./valibot--1zFm7rT.js')).default();\n break;\n case \"zod\":\n vendorFnPromise = (await import('./zod-Bwrt9trS.js')).default();\n break;\n default:\n throw new UnsupportedVendorError(vendor);\n }\n const vendorFn = await vendorFnPromise;\n validationMapper.set(vendor, vendorFn);\n return vendorFn;\n};\n\nconst toJsonSchema = quansync({\n sync: (schema, options) => {\n const vendor = schema[\"~standard\"].vendor;\n const fn = validationMapper.get(vendor);\n if (!fn) {\n throw new UnsupportedVendorError(vendor);\n }\n return fn(schema, options);\n },\n async: async (schema, options) => {\n const fn = await getToJsonSchemaFn(schema[\"~standard\"].vendor);\n return fn(schema, options);\n }\n});\nfunction loadVendor(vendor, fn) {\n validationMapper.set(vendor, fn);\n}\n\nexport { MissingDependencyError as M, loadVendor as l, toJsonSchema as t };\n"],"ignoreList":[0,1],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=e=>`standard-openapi: ${e}`,t=new Map,n=async e=>{let n=t.get(e);if(n)return n;let r;switch(e){case`valibot`:r=(await import(`./valibot-D_HTw1Gn-CJwWeOUE.js`)).default();break;case`zod`:r=(await import(`./zod-DSgpEGAE-BvlnBE2L.js`)).default();break;default:r=(await import(`./default-u_dwuiYb-BJJ9PwCi.js`)).default()}return t.set(e,r),r},r=async(e,t={})=>{let r=await n(e[`~standard`].vendor),{components:i={},options:a}=t;return{schema:await r(e,{components:i,options:a}),components:Object.keys(i).length>0?i:void 0}};export{r as n,e as t};
2
+ //# sourceMappingURL=index-DZEfthgZ-8Uq5s5Pt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DZEfthgZ-8Uq5s5Pt.js","names":["errorMessageWrapper","message","openapiVendorMap","getToOpenAPISchemaFn","cached","vendor","vendorFn","toOpenAPISchema","fn","schema","context","components"],"sources":["../../../../../node_modules/.pnpm/@standard-community+standard-openapi@0.2.10_@standard-community+standard-json@0.3.6_@st_3d339ac6e300bd6e77ed9b7900ffe65d/node_modules/@standard-community/standard-openapi/dist/index-DZEfthgZ.js"],"sourcesContent":["const errorMessageWrapper = (message) => `standard-openapi: ${message}`;\nconst openapiVendorMap = /* @__PURE__ */ new Map();\n\nconst getToOpenAPISchemaFn = async (vendor) => {\n const cached = openapiVendorMap.get(vendor);\n if (cached) {\n return cached;\n }\n let vendorFn;\n switch (vendor) {\n case \"valibot\":\n vendorFn = (await import('./valibot-D_HTw1Gn.js')).default();\n break;\n case \"zod\":\n vendorFn = (await import('./zod-DSgpEGAE.js')).default();\n break;\n default:\n vendorFn = (await import('./default-u_dwuiYb.js')).default();\n }\n openapiVendorMap.set(vendor, vendorFn);\n return vendorFn;\n};\n\nconst toOpenAPISchema = async (schema, context = {}) => {\n const fn = await getToOpenAPISchemaFn(schema[\"~standard\"].vendor);\n const { components = {}, options } = context;\n const _schema = await fn(schema, { components, options });\n return {\n schema: _schema,\n components: Object.keys(components).length > 0 ? components : void 0\n };\n};\nfunction loadVendor(vendor, fn) {\n openapiVendorMap.set(vendor, fn);\n}\n\nexport { errorMessageWrapper as e, loadVendor as l, toOpenAPISchema as t };\n"],"ignoreList":[0],"mappings":"AAAA,IAAMA,EAAuB,GAAY,qBAAqBC,IACxDC,EAAmC,IAAI,IAEvCC,EAAuB,KAAO,IAAW,CAC7C,IAAMC,EAASF,EAAiB,IAAIG,CAAM,EAC1C,GAAID,EACF,OAAOA,EAET,IAAIE,EACJ,OAAQD,EAAR,CACE,IAAK,UACH,GAAY,MAAM,OAAO,kCAAA,CAA0B,QAAQ,EAC3D,MACF,IAAK,MACH,GAAY,MAAM,OAAO,8BAAA,CAAsB,QAAQ,EACvD,MACF,QACE,GAAY,MAAM,OAAO,kCAAA,CAA0B,QAAQ,CAC/D,CAEA,OADAH,EAAiB,IAAIG,EAAQC,CAAQ,EAC9BA,CACT,EAEMC,EAAkB,MAAO,EAAQ,EAAU,CAAC,IAAM,CACtD,IAAMC,EAAK,MAAML,EAAqBM,EAAO,YAAY,CAAC,MAAM,EAC1D,CAAE,aAAa,CAAC,EAAG,WAAYC,EAErC,MAAO,CACL,OAAQ,MAFYF,EAAGC,EAAQ,CAAE,aAAY,SAAQ,CAAC,EAGtD,WAAY,OAAO,KAAKE,CAAU,CAAC,CAAC,OAAS,EAAIA,EAAa,IAAK,EACrE,CACF"}
@@ -0,0 +1 @@
1
+ export{t as createKyselyAdapter,a as kyselyAdapter}from"./dist-Dg3PQqiW.js";
@@ -0,0 +1,2 @@
1
+ import{r as e,s as t}from"./sqlite-introspector-DSCAP82F-Crx7Ny14.js";import{t as n}from"./compiled-query-Ds2NVcFT.js";var r=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},i=class{#e;#t=new o;#n;#r;constructor(e){this.#e={...e}}async init(){this.#n=this.#e.database,this.#r=new a(this.#n),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#r)}async acquireConnection(){return await this.#t.lock(),this.#r}async beginTransaction(e){await e.executeQuery(n.raw(`begin`))}async commitTransaction(e){await e.executeQuery(n.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(n.raw(`rollback`))}async releaseConnection(){this.#t.unlock()}async destroy(){this.#n?.close()}},a=class{#e;constructor(e){this.#e=e}executeQuery(e){let{sql:t,parameters:n}=e,r=this.#e.prepare(t),i=n;if(r.columns().length>0)return Promise.resolve({rows:r.all(...i)});let{changes:a,lastInsertRowid:o}=r.run(...i);return Promise.resolve({rows:[],numAffectedRows:BigInt(a),insertId:typeof o==`bigint`?o:BigInt(o)})}async*streamQuery(){throw Error(`Streaming query is not supported by SQLite driver.`)}},o=class{#e;#t;async lock(){for(;this.#e!==void 0;)await this.#e;this.#e=new Promise(e=>{this.#t=e})}unlock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},s=class extends t{getCurrentParameterPlaceholder(){return`?`}getLeftIdentifierWrapper(){return`"`}getRightIdentifierWrapper(){return`"`}getAutoIncrement(){return`autoincrement`}},c=class{#e;constructor(e){this.#e={...e}}createDriver(){return new i(this.#e)}createQueryCompiler(){return new s}createAdapter(){return new r}createIntrospector(t){return e(t)}};export{c as NodeSqliteDialect};
2
+ //# sourceMappingURL=node-sqlite-dialect-BowWLXvK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-sqlite-dialect-BowWLXvK.js","names":["createSqliteIntrospector","DefaultQueryCompiler","CompiledQuery","NodeSqliteAdapter","NodeSqliteDriver","ConnectionMutex","#config","config","#db","#connection","NodeSqliteConnection","#connectionMutex","connection","db","compiledQuery","stmt","sql","params","parameters","changes","lastInsertRowid","#promise","#resolve","resolve","NodeSqliteQueryCompiler","NodeSqliteDialect"],"sources":["../../../../../node_modules/.pnpm/@better-auth+kysely-adapter@1.7.8_@better-auth+core@1.7.8_@better-auth+utils@0.5.0_@bet_fcf59b80f99f907de8be306064fee181/node_modules/@better-auth/kysely-adapter/dist/node-sqlite-dialect.mjs"],"sourcesContent":["import { t as createSqliteIntrospector } from \"./sqlite-introspector-DSCAP82F.mjs\";\nimport { CompiledQuery, DefaultQueryCompiler } from \"kysely\";\n//#region src/node-sqlite-dialect.ts\nvar NodeSqliteAdapter = class {\n\tget supportsCreateIfNotExists() {\n\t\treturn true;\n\t}\n\tget supportsTransactionalDdl() {\n\t\treturn false;\n\t}\n\tget supportsReturning() {\n\t\treturn true;\n\t}\n\tasync acquireMigrationLock() {}\n\tasync releaseMigrationLock() {}\n\tget supportsOutput() {\n\t\treturn true;\n\t}\n};\nvar NodeSqliteDriver = class {\n\t#config;\n\t#connectionMutex = new ConnectionMutex();\n\t#db;\n\t#connection;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tasync init() {\n\t\tthis.#db = this.#config.database;\n\t\tthis.#connection = new NodeSqliteConnection(this.#db);\n\t\tif (this.#config.onCreateConnection) await this.#config.onCreateConnection(this.#connection);\n\t}\n\tasync acquireConnection() {\n\t\tawait this.#connectionMutex.lock();\n\t\treturn this.#connection;\n\t}\n\tasync beginTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"begin\"));\n\t}\n\tasync commitTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"commit\"));\n\t}\n\tasync rollbackTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"rollback\"));\n\t}\n\tasync releaseConnection() {\n\t\tthis.#connectionMutex.unlock();\n\t}\n\tasync destroy() {\n\t\tthis.#db?.close();\n\t}\n};\nvar NodeSqliteConnection = class {\n\t#db;\n\tconstructor(db) {\n\t\tthis.#db = db;\n\t}\n\texecuteQuery(compiledQuery) {\n\t\tconst { sql, parameters } = compiledQuery;\n\t\tconst stmt = this.#db.prepare(sql);\n\t\tconst params = parameters;\n\t\tif (stmt.columns().length > 0) return Promise.resolve({ rows: stmt.all(...params) });\n\t\tconst { changes, lastInsertRowid } = stmt.run(...params);\n\t\treturn Promise.resolve({\n\t\t\trows: [],\n\t\t\tnumAffectedRows: BigInt(changes),\n\t\t\tinsertId: typeof lastInsertRowid === \"bigint\" ? lastInsertRowid : BigInt(lastInsertRowid)\n\t\t});\n\t}\n\tasync *streamQuery() {\n\t\tthrow new Error(\"Streaming query is not supported by SQLite driver.\");\n\t}\n};\nvar ConnectionMutex = class {\n\t#promise;\n\t#resolve;\n\tasync lock() {\n\t\twhile (this.#promise !== void 0) await this.#promise;\n\t\tthis.#promise = new Promise((resolve) => {\n\t\t\tthis.#resolve = resolve;\n\t\t});\n\t}\n\tunlock() {\n\t\tconst resolve = this.#resolve;\n\t\tthis.#promise = void 0;\n\t\tthis.#resolve = void 0;\n\t\tresolve?.();\n\t}\n};\nvar NodeSqliteQueryCompiler = class extends DefaultQueryCompiler {\n\tgetCurrentParameterPlaceholder() {\n\t\treturn \"?\";\n\t}\n\tgetLeftIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetRightIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetAutoIncrement() {\n\t\treturn \"autoincrement\";\n\t}\n};\nvar NodeSqliteDialect = class {\n\t#config;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tcreateDriver() {\n\t\treturn new NodeSqliteDriver(this.#config);\n\t}\n\tcreateQueryCompiler() {\n\t\treturn new NodeSqliteQueryCompiler();\n\t}\n\tcreateAdapter() {\n\t\treturn new NodeSqliteAdapter();\n\t}\n\tcreateIntrospector(db) {\n\t\treturn createSqliteIntrospector(db);\n\t}\n};\n//#endregion\nexport { NodeSqliteDialect };\n"],"ignoreList":[0],"mappings":"uHAGA,IAAIG,EAAoB,KAAM,CAC7B,IAAI,2BAA4B,CAC/B,MAAO,EACR,CACA,IAAI,0BAA2B,CAC9B,MAAO,EACR,CACA,IAAI,mBAAoB,CACvB,MAAO,EACR,CACA,MAAM,sBAAuB,CAAC,CAC9B,MAAM,sBAAuB,CAAC,CAC9B,IAAI,gBAAiB,CACpB,MAAO,EACR,CACD,EACIC,EAAmB,KAAM,CAC5B,GACA,GAAmB,IAAIC,EACvB,GACA,GACA,YAAY,EAAQ,CACnB,KAAKC,GAAU,CAAE,GAAGC,CAAO,CAC5B,CACA,MAAM,MAAO,CACZ,KAAKC,GAAM,KAAKF,GAAQ,SACxB,KAAKG,GAAc,IAAIC,EAAqB,KAAKF,EAAG,EAChD,KAAKF,GAAQ,oBAAoB,MAAM,KAAKA,GAAQ,mBAAmB,KAAKG,EAAW,CAC5F,CACA,MAAM,mBAAoB,CAEzB,OADA,MAAM,KAAKE,GAAiB,KAAK,EAC1B,KAAKF,EACb,CACA,MAAM,iBAAiB,EAAY,CAClC,MAAMG,EAAW,aAAaV,EAAc,IAAI,OAAO,CAAC,CACzD,CACA,MAAM,kBAAkB,EAAY,CACnC,MAAMU,EAAW,aAAaV,EAAc,IAAI,QAAQ,CAAC,CAC1D,CACA,MAAM,oBAAoB,EAAY,CACrC,MAAMU,EAAW,aAAaV,EAAc,IAAI,UAAU,CAAC,CAC5D,CACA,MAAM,mBAAoB,CACzB,KAAKS,GAAiB,OAAO,CAC9B,CACA,MAAM,SAAU,CACf,KAAKH,IAAK,MAAM,CACjB,CACD,EACIE,EAAuB,KAAM,CAChC,GACA,YAAY,EAAI,CACf,KAAKF,GAAMK,CACZ,CACA,aAAa,EAAe,CAC3B,GAAM,CAAE,MAAK,cAAeC,EACtBC,EAAO,KAAKP,GAAI,QAAQQ,CAAG,EAC3BC,EAASC,EACf,GAAIH,EAAK,QAAQ,CAAC,CAAC,OAAS,EAAG,OAAO,QAAQ,QAAQ,CAAE,KAAMA,EAAK,IAAI,GAAGE,CAAM,CAAE,CAAC,EACnF,GAAM,CAAE,UAAS,mBAAoBF,EAAK,IAAI,GAAGE,CAAM,EACvD,OAAO,QAAQ,QAAQ,CACtB,KAAM,CAAC,EACP,gBAAiB,OAAOE,CAAO,EAC/B,SAAU,OAAOC,GAAoB,SAAWA,EAAkB,OAAOA,CAAe,CACzF,CAAC,CACF,CACA,MAAO,aAAc,CACpB,MAAU,MAAM,oDAAoD,CACrE,CACD,EACIf,EAAkB,KAAM,CAC3B,GACA,GACA,MAAM,MAAO,CACZ,KAAO,KAAKgB,KAAa,IAAK,IAAG,MAAM,KAAKA,GAC5C,KAAKA,GAAW,IAAI,QAAS,GAAY,CACxC,KAAKC,GAAWC,CACjB,CAAC,CACF,CACA,QAAS,CACR,IAAMA,EAAU,KAAKD,GACrB,KAAKD,GAAW,IAAK,GACrB,KAAKC,GAAW,IAAK,GACrBC,IAAU,CACX,CACD,EACIC,EAA0B,cAAcvB,CAAqB,CAChE,gCAAiC,CAChC,MAAO,GACR,CACA,0BAA2B,CAC1B,MAAO,GACR,CACA,2BAA4B,CAC3B,MAAO,GACR,CACA,kBAAmB,CAClB,MAAO,eACR,CACD,EACIwB,EAAoB,KAAM,CAC7B,GACA,YAAY,EAAQ,CACnB,KAAKnB,GAAU,CAAE,GAAGC,CAAO,CAC5B,CACA,cAAe,CACd,OAAO,IAAIH,EAAiB,KAAKE,EAAO,CACzC,CACA,qBAAsB,CACrB,OAAO,IAAIkB,CACZ,CACA,eAAgB,CACf,OAAO,IAAIrB,CACZ,CACA,mBAAmB,EAAI,CACtB,OAAOH,EAAyBa,CAAE,CACnC,CACD"}
@@ -0,0 +1,25 @@
1
+ <svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="400" height="400" fill="black"/>
3
+ <g filter="url(#filter0_ii_1141_2008)">
4
+ <path d="M290.022 123.047C282.061 123.007 274.099 123.017 266.135 123.017H219.794L190.662 123.022H181.489C179.85 123.017 177.631 122.95 176.048 123.076C170.499 123.504 166.241 126.026 162.508 130.152C159.781 133.164 158.395 137.071 156.74 140.77L152.857 149.33L135.921 186.387L132.728 193.378C130.49 198.277 134.045 203.859 139.401 203.859H176.8C179.619 203.859 182.188 202.236 183.413 199.683C184.007 198.443 184.609 197.199 185.141 195.98C185.776 194.521 186.556 193.073 187.209 191.626L200.57 162.613L204.964 152.856C209.454 142.688 211.861 134.56 224.738 133.861C226.881 133.777 230.721 133.453 232.377 134.96C234.661 137.04 234.019 140.497 232.956 143.037C231.884 145.606 230.512 148.092 229.37 150.648C225.258 159.816 221.036 168.931 216.705 177.996L207.963 196.99C203.53 206.48 201.639 213.64 189.476 214.274C189.35 214.274 189.231 214.274 189.11 214.272L127.891 214.274C125.021 214.274 122.416 215.956 121.217 218.579L109.652 243.902C109.148 245.021 108.563 246.08 108.05 247.186C107.137 249.185 106.394 251.387 105.42 253.352C103.571 257.078 101.868 260.848 100.277 264.692C99.2188 267.246 97.8051 269.252 97.9995 272.121C98.1689 274.611 100.147 276.424 102.448 277.066C102.824 277.171 103.209 277.23 103.598 277.268C105.616 277.462 107.977 277.371 110.033 277.369L121.742 277.354L135.06 277.373C139.548 277.38 145.78 278.085 148.883 274.054C151.267 270.955 152.984 266.625 154.57 263.037L159.493 252.072C160.084 250.783 160.75 249.56 161.32 248.261L165.022 239.99C166.942 235.752 167.996 233.136 171.543 229.845C173.944 227.597 175.454 226.852 178.503 225.801C179.011 225.627 179.724 225.425 180.029 225.385C181.604 225.176 183.434 225.185 185.005 225.18H192.33H225.564L235.328 225.185C238.538 225.185 242.424 225.383 245.498 224.587C249.718 223.492 252.989 220.979 255.934 217.84C257.695 215.962 258.498 213.733 259.65 211.524C261.346 208.274 262.601 204.952 264.119 201.643L274.724 178.745C276.857 174.196 278.873 169.512 280.871 164.902C282.41 161.35 284.246 157.912 285.702 154.313C288.7 147.69 291.973 141.162 294.648 134.4C295.016 133.478 295.556 132.503 295.903 131.577C296.152 130.901 296.29 130.19 296.313 129.47C296.463 125.735 293.695 123.07 290.033 123.053L290.022 123.047Z" fill="white"/>
5
+ </g>
6
+ <path d="M181.486 124.291H190.662L219.794 124.287H278.079C281.942 124.289 285.804 124.296 289.666 124.314L289.677 124.321L290.026 124.323C293.02 124.337 295.164 126.453 295.044 129.419V129.43C295.025 130.012 294.914 130.587 294.714 131.132C294.561 131.539 294.362 131.969 294.136 132.447C293.918 132.909 293.671 133.424 293.469 133.93L293.468 133.933C290.807 140.658 287.572 147.103 284.545 153.789L284.534 153.812L284.524 153.837C283.812 155.599 283.004 157.328 282.171 159.08C281.343 160.822 280.486 162.595 279.705 164.396C277.705 169.013 275.698 173.678 273.574 178.206L273.572 178.211L262.967 201.109L262.965 201.113C261.393 204.54 260.207 207.711 258.524 210.937C257.273 213.334 256.61 215.262 255.008 216.971C252.239 219.922 249.269 222.2 245.542 223.259L245.18 223.357C243.026 223.915 240.437 223.95 237.87 223.933L235.328 223.915L225.564 223.911H185.001C183.653 223.915 182.012 223.906 180.501 224.053L179.862 224.126C179.419 224.184 178.603 224.424 178.09 224.601H178.089C176.546 225.132 175.317 225.611 174.154 226.269C172.984 226.93 171.926 227.747 170.68 228.914C166.922 232.4 165.778 235.244 163.865 239.466L163.863 239.472L160.161 247.742L160.158 247.75C159.886 248.37 159.588 248.978 159.276 249.606C158.969 250.228 158.644 250.877 158.339 251.542L158.334 251.552L153.411 262.518L153.408 262.524C151.885 265.972 150.347 269.821 148.295 272.714L147.877 273.279C146.622 274.91 144.684 275.661 142.326 275.969C139.929 276.281 137.422 276.107 135.062 276.104L121.744 276.085H121.74L110.031 276.1C107.901 276.102 105.656 276.19 103.72 276.004H103.721C103.376 275.97 103.07 275.921 102.79 275.843H102.789C100.906 275.317 99.4811 273.929 99.2822 272.203L99.2666 272.035C99.1861 270.847 99.4316 269.822 99.8506 268.751C100.064 268.206 100.317 267.661 100.597 267.066C100.803 266.629 101.024 266.163 101.238 265.675L101.45 265.178C103.031 261.358 104.722 257.614 106.557 253.916C107.068 252.885 107.514 251.803 107.936 250.757C108.362 249.698 108.762 248.685 109.202 247.72C109.448 247.19 109.712 246.669 109.988 246.12C110.261 245.578 110.545 245.01 110.81 244.422L122.372 219.106C123.365 216.932 125.522 215.543 127.891 215.543L189.088 215.541C189.222 215.543 189.352 215.543 189.476 215.543H189.509L189.542 215.542C195.921 215.21 199.787 213.134 202.594 209.767C203.962 208.125 205.045 206.216 206.054 204.165C207.046 202.146 208.035 199.835 209.113 197.527L209.116 197.521L217.851 178.543C222.186 169.469 226.413 160.344 230.528 151.167L230.529 151.166C231.088 149.915 231.704 148.68 232.329 147.407C232.794 146.46 233.263 145.495 233.701 144.514L234.128 143.527C234.695 142.171 235.182 140.5 235.191 138.833C235.201 137.144 234.713 135.37 233.232 134.021L233.231 134.021C232.058 132.953 230.289 132.646 228.825 132.547C227.303 132.444 225.708 132.553 224.688 132.593H224.669C217.911 132.96 213.743 135.31 210.723 139.004C207.809 142.567 205.996 147.376 203.803 152.343L199.417 162.082L186.056 191.096L186.052 191.104C185.736 191.804 185.388 192.507 185.028 193.239C184.673 193.963 184.307 194.714 183.977 195.473C183.457 196.666 182.866 197.886 182.268 199.135C181.252 201.25 179.127 202.59 176.801 202.59H139.401C134.983 202.59 132.024 197.975 133.883 193.905L137.076 186.914L154.012 149.857L154.014 149.854L157.896 141.295L157.899 141.289C159.615 137.453 160.898 133.822 163.449 131.004H163.45C167.014 127.064 170.987 124.74 176.145 124.343L176.148 124.342C177.662 124.221 179.78 124.287 181.486 124.291Z" stroke="white" stroke-opacity="0.4" stroke-width="2.53954"/>
7
+ <defs>
8
+ <filter id="filter0_ii_1141_2008" x="97.9814" y="119.614" width="198.337" height="161.197" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
11
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
12
+ <feOffset dy="-3.38605"/>
13
+ <feGaussianBlur stdDeviation="3.59768"/>
14
+ <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
15
+ <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
16
+ <feBlend mode="normal" in2="shape" result="effect1_innerShadow_1141_2008"/>
17
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
18
+ <feOffset dy="3.38605"/>
19
+ <feGaussianBlur stdDeviation="1.69302"/>
20
+ <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
21
+ <feColorMatrix type="matrix" values="0 0 0 0 0.954364 0 0 0 0 0.954364 0 0 0 0 0.954364 0 0 0 1 0"/>
22
+ <feBlend mode="normal" in2="effect1_innerShadow_1141_2008" result="effect2_innerShadow_1141_2008"/>
23
+ </filter>
24
+ </defs>
25
+ </svg>