@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":"Passkey.js","sourceRoot":"","sources":["../../src/internal/Passkey.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAE7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAGnC;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,aAAa,CAAC,MAAM,CACxD,sBAAsB,CACvB;IACmB,IAAI,GAAG,0BAA0B,CAAA;IAEnD;QACE,KAAK,CAAC;YACJ,iBAAiB,EACf,iKAAiK;YACnK,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;IACJ,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa,CAAC,MAAM,CACzD,uBAAuB,CACxB;IACmB,IAAI,GAAG,2BAA2B,CAAA;IAEpD,YAAY,OAAO,GAA8B,EAAE;QACjD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QACpC,KAAK,CACH,CAAC,GAAG,EAAE;YACJ,IAAI,QAAQ,IAAI,MAAM;gBACpB,OAAO;oBACL,iBAAiB,EAAE,8CAA8C,QAAQ,uBAAuB,MAAM,iCAAiC;oBACvI,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;iBACtC,CAAA;YACH,IAAI,QAAQ;gBACV,OAAO;oBACL,iBAAiB,EAAE,kCAAkC,QAAQ,mDAAmD;oBAChH,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;iBAC9B,CAAA;YACH,OAAO;gBACL,iBAAiB,EACf,gGAAgG;aACnG,CAAA;QACH,CAAC,CAAC,EAAE,CACL,CAAA;IACH,CAAC;CACF;AAWD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa,CAAC,MAAM,CAC7D,mBAAmB,CACpB;IACmB,IAAI,GAAG,+BAA+B,CAAA;IAExD;QACE,KAAK,CAAC;YACJ,iBAAiB,EACf,6FAA6F;SAChG,CAAC,CAAA;IACJ,CAAC;CACF;AAuDD,iCAAiC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAA;AAE9B,qCAAqC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,CAAA;AAElC,0FAA0F;AAC1F,MAAM,MAAM,GAAG,oBAAoB,CAAA;AAEnC;;;GAGG;AACH,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C;;;;GAIG;AACH,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,GAAG,0BAA0B,CAAA;AAE9C,0CAA0C;AAC1C,MAAM,KAAW,MAAM,CAgPtB;AAhPD,WAAiB,MAAM;IACrB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACtD,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAEzE;;;OAGG;IACU,mBAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAEtD,uFAAuF;IAC1E,gBAAS,GAAG,CAAC;SACvB,MAAM,CAAC;QACN,EAAE,EAAE,mBAAY,CAAC,IAAI,CAAC;YACpB,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,CAAC,6BAA6B,CAAC;SAC1C,CAAC;QACF,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC;YACN,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC;gBAC1B,WAAW,EACT,6GAA6G;gBAC/G,QAAQ,EAAE;oBACR,8EAA8E;iBAC/E;aACF,CAAC;YACF,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,IAAI,CAAC;gBACJ,WAAW,EACT,kGAAkG;gBACpG,QAAQ,EAAE,CAAC,EAAE,CAAC;aACf,CAAC;YACJ,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,IAAI,CAAC;gBACJ,WAAW,EACT,uGAAuG;gBACzG,QAAQ,EAAE;oBACR,uIAAuI;iBACxI;aACF,CAAC;YACJ,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,IAAI,CAAC;gBACJ,WAAW,EACT,6FAA6F;gBAC/F,QAAQ,EAAE,CAAC,CAAC,CAAC;aACd,CAAC;YACJ,wBAAwB,EAAE,CAAC;iBACxB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,IAAI,CAAC;gBACJ,WAAW,EACT,+GAA+G;gBACjH,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB,CAAC;SACL,CAAC;aACD,IAAI,CAAC;YACJ,WAAW,EACT,8FAA8F;SACjG,CAAC;QACJ,GAAG,EAAE,CAAC;aACH,MAAM,CAAC;YACN,uBAAuB,EAAE,CAAC;iBACvB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,CAAC;gBACJ,WAAW,EACT,yIAAyI;gBAC3I,QAAQ,EAAE,CAAC,UAAU,CAAC;aACvB,CAAC;YACJ,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC;gBACjB,WAAW,EACT,0DAA0D;gBAC5D,QAAQ,EAAE,CAAC,6BAA6B,CAAC;aAC1C,CAAC;YACF,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;gBACpB,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE,CAAC,6BAA6B,CAAC;aAC1C,CAAC;YACF,4FAA4F;YAC5F,QAAQ,EAAE,CAAC;iBACR,MAAM,CAAC;gBACN,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC;oBAC7B,WAAW,EAAE,kCAAkC;oBAC/C,QAAQ,EAAE;wBACR,oLAAoL;qBACrL;iBACF,CAAC;aACH,CAAC;iBACD,IAAI,CAAC;gBACJ,WAAW,EACT,gGAAgG;aACnG,CAAC;YACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;gBACpB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB,CAAC;SACH,CAAC;aACD,IAAI,CAAC;YACJ,WAAW,EACT,2FAA2F;SAC9F,CAAC;QACJ,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC;YAClB,WAAW,EACT,yGAAyG;YAC3G,QAAQ,EAAE;gBACR,oIAAoI;aACrI;SACF,CAAC;KACH,CAAC;SACD,IAAI,CAAC;QACJ,WAAW,EAAE,4DAA4D;QACzE,EAAE,EAAE,kBAAkB;KACvB,CAAC,CAAA;IAEJ,4DAA4D;IAC/C,iBAAU,GAAG,CAAC,CAAC,MAAM,CAAC;QACjC,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC,CAAA;IAEF,8CAA8C;IACjC,WAAI,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,yCAAyC;QACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,uFAAuF;QACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,wFAAwF;QACxF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CAAA;IAEF,oDAAoD;IACvC,gBAAS,GAAG,CAAC,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YACd,SAAS,EAAE,GAAG;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;KACH,CAAC,CAAA;IAEF,wFAAwF;IAC3E,WAAI,GAAG,CAAC;SAClB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC;gBACN,SAAS,EAAE,CAAC;qBACT,MAAM,CAAC;oBACN,gBAAgB,EAAE,CAAC;yBAChB,KAAK,CACJ,CAAC;yBACE,MAAM,CAAC;wBACN,EAAE,EAAE,mBAAY,CAAC,IAAI,CAAC;4BACpB,WAAW,EACT,wDAAwD;4BAC1D,QAAQ,EAAE,CAAC,6BAA6B,CAAC;yBAC1C,CAAC;wBACF,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;4BACjC,WAAW,EAAE,sBAAsB;yBACpC,CAAC;qBACH,CAAC;yBACD,IAAI,CAAC;wBACJ,WAAW,EAAE,6BAA6B;qBAC3C,CAAC,CACL;yBACA,IAAI,CAAC;wBACJ,WAAW,EACT,yDAAyD;qBAC5D,CAAC;oBACJ,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACpD,WAAW,EACT,wFAAwF;wBAC1F,QAAQ,EAAE;4BACR,oEAAoE;yBACrE;qBACF,CAAC;oBACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;wBACpB,WAAW,EACT,gDAAgD;wBAClD,QAAQ,EAAE,CAAC,WAAW,CAAC;qBACxB,CAAC;oBACF,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;wBAC3C,WAAW,EACT,qDAAqD;qBACxD,CAAC;iBACH,CAAC;qBACD,IAAI,CAAC;oBACJ,WAAW,EACT,gFAAgF;iBACnF,CAAC;aACL,CAAC;iBACD,IAAI,CAAC;gBACJ,WAAW,EAAE,gDAAgD;aAC9D,CAAC;YACJ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gBAC9B,WAAW,EACT,4FAA4F;aAC/F,CAAC;SACH,CAAC;aACD,IAAI,CAAC;YACJ,WAAW,EACT,6EAA6E;SAChF,CAAC;KACL,CAAC;SACD,IAAI,CAAC;QACJ,WAAW,EACT,0EAA0E;QAC5E,EAAE,EAAE,aAAa;KAClB,CAAC,CAAA;IAEJ,0CAA0C;IAC7B,YAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,6DAA6D;QAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,kFAAkF;QAClF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,8EAA8E;QAC9E,OAAO,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC1D,CAAC,CAAA;AACJ,CAAC,EAhPgB,MAAM,KAAN,MAAM,QAgPtB;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAkB,EAClB,OAA0B;IAE1B,MAAM,KAAK,GAAG,CACZ,OAAO,CAAC,MAAM,EAAE,MAAM;QACtB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAC1D,CAAC,WAAW,EAAa,CAAA;IAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;QAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC;QACjD,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;QACvB,UAAU,EAAE,MAAM,GAAG,KAAK;QAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,CACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO;SACjC,CAAC,CACH;KACF,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC;AAmCD;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CACvB,OAA0B;IAE1B,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACzC,IAAI,CAAC,QAAQ;QACX,OAAO,IAAI,SAAS,CAAC,kBAAkB,CAAC;YACtC,iBAAiB,EAAE,uBAAuB,MAAM,IAAI,MAAM,uEAAuE;YACjI,KAAK,EAAE,QAAQ;YACf,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAA;IACJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW;QAC1B,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC;YACjC,WAAW,EAAE,4BAA4B,QAAQ,kGAAkG;SACpJ,CAAC,CAAA;IACJ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;QACvB,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC;YACjC,WAAW,EACT,yIAAyI;SAC5I,CAAC,CAAA;IAEJ,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,OAAO,GAAG,EAAE,QAAQ,KAAK,QAAQ,IAAI,GAAG,EAAE,QAAQ,KAAK,OAAO;YAC5D,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACd,CAAC,CAAC,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,OAAO,IAAI,SAAS,CAAC,kBAAkB,CAAC;YACtC,iBAAiB,EAAE,uBAAuB,MAAM,IAAI,MAAM,yBAAyB,QAAQ,yDAAyD;YACpJ,KAAK,EAAE,QAAQ;YACf,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAA;IACJ,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,WAAiB,SAAS;IAUxB,yEAAyE;IAC5D,gBAAM,GAAG;QACpB,SAAS,CAAC,kBAAkB;QAC5B,SAAS,CAAC,aAAa;KACf,CAAA;AACZ,CAAC,EAfgB,SAAS,KAAT,SAAS,QAezB;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EAAkB,EAAE,OAAoB;IAChE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACjB,KAAK,CACJ,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CACxE,CAAA;IACH,OAAO,GAAG,CAAA;AACZ,CAAC;AAWD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAkB,EAAE,OAAqB;IAClE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAChD,6FAA6F;IAC7F,gGAAgG;IAChG,8FAA8F;IAC9F,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAChC,4FAA4F;QAC5F,8FAA8F;QAC9F,6FAA6F;QAC7F,8EAA8E;QAC9E,MAAM,EAAE;aACL,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aAC5B,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACpC,mBAAmB,EAAE,CAAA;QACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE;aACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;aACnB,MAAM,CAAC;YACN,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;YACzC,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,IAAI;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,EAAE;YACF,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,IAAI;YACJ,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS;YACf,MAAM;SACP,CAAC;aACD,mBAAmB,EAAE;aACrB,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAA;QAEpC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,OAAO,QAAQ,EAAE,MAAM,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAsBD;;;GAGG;AACH,KAAK,UAAU,OAAO,CAAC,MAAc;IACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5C,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,MAAM,EACN,KAAK,EACL,CAAC,YAAY,CAAC,CACf,CAAA;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CACzC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC;QAChD,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,UAAU,EAAE;KACvB,EACD,QAAQ,EACR,GAAG,CACJ,CAAA;IACD,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO;QACL,SAAS,EAAE;YACT,aAAa,EAAE,kBAAkB,CAAC,UAAU,CAC1C;gBACE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;oBACb,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;iBACnB,CAAC;gBACF,MAAM,EAAE,MAAM;aACf,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CACzD,GAAG,CAAC,IAAI,CAAC,MAAM,CAChB,CAAA;gBACD,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAC7D,IAAI,CAAC,EAAE,CACR,CAAA;gBACD,MAAM,gBAAgB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9C,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/D,CAAC,CACF;SACF;QACD,EAAE,EAAE,kBAAkB;KACI,CAAA;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,MAA8B,EAC9B,OAA6B;IAE7B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9D,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACzC,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAA;QACjC,IACE,IAAI,KAAK,SAAS;YAClB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAEjE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAA;IACtC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAeD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAkB,EAClB,OAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACjE,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;QAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC;QACjD,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;QACvB,UAAU,EAAE,mBAAmB,CAAC;YAC9B,OAAO;YACP,QAAQ;YACR,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,MAAM;YACN,MAAM;SACP,CAAC;QACF,KAAK,EAAE,IAAI,CAAC,SAAS,CACnB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YACrB,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;YAC9B,QAAQ;YACR,UAAU;SACX,CAAC,CACH;KACF,CAAC,CAAA;AACJ,CAAC;AAiBD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAW,EAAE,OAAqB;IAC3D,OAAO,MAAM,gBAAgB,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;KACnC,CAAC,CAAA;AACJ,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAkB,EAClB,OAAqB;IAErB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;YACxE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;IACJ,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAEhC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;SAC3B,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,EACpE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAC9C,CACF;SACA,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAA;AACH,CAAC;AASD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAkB,EAClB,OAA8B;IAE9B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;YACxE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;IACJ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAE7B,MAAM,KAAK,GACT,WAAW;QACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IAEvE,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACvC,iFAAiF;QACjF,MAAM,EAAE,CAAC,OAAO,CACd,GAAG,CAAA,iDAAiD,KAAK,OAAO,CACjE,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE;aACpB,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;aACtC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;aACzB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,EACzC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAC9C,CACF,CAAA;QAEH,4FAA4F;QAC5F,6EAA6E;QAC7E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;aACnB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;aAC3B,KAAK,CACJ,GAAG,CACD,EAAE,CACA,MAAM,CAAC,YAAY,CAAC,UAAU,EAC9B,mBAAmB,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAC5C,EACD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAC9C,CACF;aACA,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,GAAG,IAAI,IAAI;YAAE,OAAO,SAAS,CAAA;QAClC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAE5C,iFAAiF;QACjF,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;YAC1C,SAAS,EAAE,IAAI,IAAI,CACjB,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,EAC7D,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAClC,CACF;YACD,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC;AA+BD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,OAAoC;IAC/D,OAAO,CACL,eAAe;QACf,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;YAC7B,OAAO,CAAC,YAAY;YACpB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;SAC7B,CAAC,CACH,CAAA;AACH,CAAC;AAiBD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAc,EAAE,OAAuB;IAClE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACnC,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;KACnC,CAAC;SACC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,IAAI,CAAC,KAAK,EAAE,OAAO;QAAE,OAAO,SAAS,CAAA;IACrC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IACtD,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAAE,OAAO,SAAS,CAAA;IAC/D,OAAO,KAAK,CAAC,IAAI,CAAA;AACnB,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,SAAoB,EAAE,OAAuB;IAClE,IAAI,CAAC;QACH,2FAA2F;QAC3F,0DAA0D;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9C,CAAA;QACD,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAA;QAElC,OAAO,cAAc,CAAC,MAAM,CAC1B;YACE,GAAG,SAAS;YACZ,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,wBAAwB,EAAE,IAAI,EAAE;SACpE,EACD;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CACF,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type * as KeyAuthorization from './KeyAuthorization.js';
2
+ import type * as Realm from './Realm.js';
3
+ /** Seconds that a signed key authorization waits for its code's redemption, as long as the code lasts. */
4
+ export declare const lifetime: number;
5
+ /** A signed key authorization, and the Tempo Account that it acts for. */
6
+ export type PendingKey = {
7
+ /** The Tempo Account that the key acts for. */
8
+ account: `0x${string}`;
9
+ /** The signed key authorization, in the node's RPC format. */
10
+ keyAuthorization: Awaited<ReturnType<typeof KeyAuthorization.sign>>;
11
+ };
12
+ /**
13
+ * Holds `key` for the app with `clientId` and the PKCE challenge `codeChallenge`, for
14
+ * {@link lifetime} seconds, or until the key expires if sooner. A later approval of the same request
15
+ * by the same user replaces the key that an earlier approval left, so the key matches the approval
16
+ * that the user made last. Another user's approval replaces nothing.
17
+ */
18
+ export declare function put(db: Realm.Database, options: put.Options): Promise<void>;
19
+ export declare namespace put {
20
+ type Options = {
21
+ /** The client ID of the app that requested the key. */
22
+ clientId: string;
23
+ /** The S256 PKCE challenge of the authorization request. */
24
+ codeChallenge: string;
25
+ /** When the signed key expires, in Unix seconds, which bounds how long the row waits. */
26
+ expiry: number;
27
+ /** The signed key authorization, and the account that it acts for. */
28
+ key: PendingKey;
29
+ /** The ID of the user who approved the key. */
30
+ userId: string;
31
+ };
32
+ }
33
+ /**
34
+ * Deletes the key held for the app with `clientId`, the PKCE challenge `codeChallenge`, and the
35
+ * user `userId`, and returns it. Returns `undefined` when none is held, when it expired, or when an
36
+ * earlier redemption took it, so a second code for the same challenge carries no key.
37
+ */
38
+ export declare function take(db: Realm.Database, options: take.Options): Promise<PendingKey | undefined>;
39
+ export declare namespace take {
40
+ type Options = {
41
+ /** The client ID of the app that redeems the code. */
42
+ clientId: string;
43
+ /** The PKCE challenge that the redemption's verifier proved. */
44
+ codeChallenge: string;
45
+ /** The ID of the user whom the code names. */
46
+ userId: string;
47
+ };
48
+ }
49
+ //# sourceMappingURL=PendingKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PendingKey.d.ts","sourceRoot":"","sources":["../../src/internal/PendingKey.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC,0GAA0G;AAC1G,eAAO,MAAM,QAAQ,QAAU,CAAA;AAE/B,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG;IACvB,+CAA+C;IAC/C,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;IACtB,8DAA8D;IAC9D,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;CACpE,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,iBAgBjE;AAED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,KAAK,OAAO,GAAG;QACb,uDAAuD;QACvD,QAAQ,EAAE,MAAM,CAAA;QAChB,4DAA4D;QAC5D,aAAa,EAAE,MAAM,CAAA;QACrB,yFAAyF;QACzF,MAAM,EAAE,MAAM,CAAA;QACd,sEAAsE;QACtE,GAAG,EAAE,UAAU,CAAA;QACf,+CAA+C;QAC/C,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CACxB,EAAE,EAAE,KAAK,CAAC,QAAQ,EAClB,OAAO,EAAE,IAAI,CAAC,OAAO,GACpB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAsBjC;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,OAAO,GAAG;QACb,sDAAsD;QACtD,QAAQ,EAAE,MAAM,CAAA;QAChB,gEAAgE;QAChE,aAAa,EAAE,MAAM,CAAA;QACrB,8CAA8C;QAC9C,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Key authorizations that the approval page signed, held until the app redeems the code that the
3
+ * same approval returned. A signed authorization lets whoever holds its key spend, so no redirect
4
+ * carries it. Each row is keyed by the app's client ID and the request's PKCE challenge, and only
5
+ * the redemption that proves the challenge's verifier takes it.
6
+ * @module
7
+ */
8
+ import { and, eq, gt } from 'drizzle-orm';
9
+ import * as Schema from '../app/db/schema.js';
10
+ /** Seconds that a signed key authorization waits for its code's redemption, as long as the code lasts. */
11
+ export const lifetime = 10 * 60;
12
+ /**
13
+ * Holds `key` for the app with `clientId` and the PKCE challenge `codeChallenge`, for
14
+ * {@link lifetime} seconds, or until the key expires if sooner. A later approval of the same request
15
+ * by the same user replaces the key that an earlier approval left, so the key matches the approval
16
+ * that the user made last. Another user's approval replaces nothing.
17
+ */
18
+ export async function put(db, options) {
19
+ const { clientId, codeChallenge, expiry, key, userId } = options;
20
+ const values = {
21
+ account: key.account,
22
+ expiresAt: new Date(Math.min(Date.now() + lifetime * 1000, expiry * 1000)),
23
+ keyAuthorization: key.keyAuthorization,
24
+ userId,
25
+ };
26
+ await db
27
+ .insert(Schema.pendingKeys)
28
+ .values({ ...values, clientId, codeChallenge })
29
+ .onConflictDoUpdate({
30
+ set: { ...values, createdAt: new Date() },
31
+ setWhere: eq(Schema.pendingKeys.userId, userId),
32
+ target: [Schema.pendingKeys.clientId, Schema.pendingKeys.codeChallenge],
33
+ });
34
+ }
35
+ /**
36
+ * Deletes the key held for the app with `clientId`, the PKCE challenge `codeChallenge`, and the
37
+ * user `userId`, and returns it. Returns `undefined` when none is held, when it expired, or when an
38
+ * earlier redemption took it, so a second code for the same challenge carries no key.
39
+ */
40
+ export async function take(db, options) {
41
+ const { clientId, codeChallenge, userId } = options;
42
+ const [row] = await db
43
+ .delete(Schema.pendingKeys)
44
+ .where(and(eq(Schema.pendingKeys.clientId, clientId), eq(Schema.pendingKeys.codeChallenge, codeChallenge), gt(Schema.pendingKeys.expiresAt, new Date()),
45
+ // A challenge that an app reuses for another user's request never carries this user's key.
46
+ eq(Schema.pendingKeys.userId, userId)))
47
+ .returning({
48
+ account: Schema.pendingKeys.account,
49
+ keyAuthorization: Schema.pendingKeys.keyAuthorization,
50
+ });
51
+ if (!row)
52
+ return undefined;
53
+ return {
54
+ account: row.account,
55
+ keyAuthorization: row.keyAuthorization,
56
+ };
57
+ }
58
+ //# sourceMappingURL=PendingKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PendingKey.js","sourceRoot":"","sources":["../../src/internal/PendingKey.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAI7C,0GAA0G;AAC1G,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAA;AAU/B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EAAkB,EAAE,OAAoB;IAChE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAChE,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;QAC1E,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,MAAM;KACP,CAAA;IACD,MAAM,EAAE;SACL,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;SAC1B,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;SAC9C,kBAAkB,CAAC;QAClB,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;QACzC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QAC/C,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC;KACxE,CAAC,CAAA;AACN,CAAC;AAiBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAkB,EAClB,OAAqB;IAErB,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACnD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;SAC1B,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACzC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,EACnD,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC;IAC5C,2FAA2F;IAC3F,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CACtC,CACF;SACA,SAAS,CAAC;QACT,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO;QACnC,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB;KACtD,CAAC,CAAA;IACJ,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAC1B,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAwB;QACrC,gBAAgB,EAAE,GAAG,CAAC,gBAAkD;KACzE,CAAA;AACH,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { Account } from 'viem/tempo';
2
+ import * as ErrorResponse from './ErrorResponse.js';
3
+ import * as Timing from './Timing.js';
4
+ /** No `PRIVY_JWT_PRIVATE_KEY` is set, so Tempo ID cannot sign as a Privy wallet. */
5
+ export declare class SigningKeyMissingError extends Error {
6
+ readonly name = "Privy.SigningKeyMissingError";
7
+ constructor();
8
+ }
9
+ /** A realm's Privy app, which holds the owner wallets of the realm's Privy-owned accounts. */
10
+ export type App = {
11
+ /** The Privy app ID. */
12
+ appId: string;
13
+ /** The Privy app secret. */
14
+ appSecret: string;
15
+ };
16
+ /** A user's Privy wallet. */
17
+ export type Wallet = {
18
+ /** The wallet's address. */
19
+ address: `0x${string}`;
20
+ /** When Privy created the wallet, or a lower bound when Privy omits it. */
21
+ createdAt: Date;
22
+ /** The Privy wallet ID, which signing requests name. */
23
+ id: string;
24
+ };
25
+ /**
26
+ * Returns the user's first Privy wallet in `app`, and creates their Privy user and the wallet when
27
+ * they have none. Concurrent first calls return the same wallet, and hold no database connection
28
+ * while Privy responds.
29
+ */
30
+ export declare function firstWallet(c: Timing.measure.Context, options: firstWallet.Options): Promise<Wallet>;
31
+ export declare namespace firstWallet {
32
+ type Options = {
33
+ /** The Privy app that holds the user's wallets. */
34
+ app: App;
35
+ /** The user's ID. */
36
+ userId: string;
37
+ };
38
+ /** The refusals `firstWallet` throws, which `ErrorResponse.handle` responds with: Privy's failures. */
39
+ const errors: readonly [typeof ErrorResponse.RateLimitedError, typeof ErrorResponse.UpstreamUnavailableError];
40
+ }
41
+ /**
42
+ * Returns the user's Privy wallets in `app`, oldest first, or none when they have no Privy user yet.
43
+ * Creates nothing.
44
+ */
45
+ export declare function listWallets(c: Timing.measure.Context, options: listWallets.Options): Promise<readonly Wallet[]>;
46
+ export declare namespace listWallets {
47
+ type Options = {
48
+ /** The Privy app that holds the user's wallets. */
49
+ app: App;
50
+ /** The user's ID. */
51
+ userId: string;
52
+ };
53
+ /** The refusals `listWallets` throws, which `ErrorResponse.handle` responds with: Privy's failures. */
54
+ const errors: readonly [typeof ErrorResponse.RateLimitedError, typeof ErrorResponse.UpstreamUnavailableError];
55
+ }
56
+ /**
57
+ * Returns a token that names the user for `app`, which Privy exchanges for the right to sign as the
58
+ * user's wallet. `privateKey` signs it, and Privy trusts only that key's public half, so no token
59
+ * that Tempo ID issues to apps signs as a wallet. It lasts {@link tokenLifetime} seconds, and its
60
+ * `aud` is the Privy app ID. Throws {@link SigningKeyMissingError} without `privateKey`.
61
+ */
62
+ export declare function token(auth: token.Auth, options: token.Options): Promise<string>;
63
+ export declare namespace token {
64
+ /** The capability that signs the token: Better Auth's in-process `signJWT`. */
65
+ type Auth = {
66
+ /** Better Auth's server API. */
67
+ api: {
68
+ /** Signs `payload` with the key set that `overrideOptions` names. */
69
+ signJWT: (input: {
70
+ body: {
71
+ overrideOptions?: Record<string, unknown> | undefined;
72
+ payload: Record<string, unknown>;
73
+ };
74
+ }) => Promise<{
75
+ token: string;
76
+ }>;
77
+ };
78
+ };
79
+ type Options = {
80
+ /** The Privy app that exchanges the token. */
81
+ app: App;
82
+ /** The `PRIVY_JWT_PRIVATE_KEY` variable, as PKCS #8 PEM. */
83
+ privateKey: string | undefined;
84
+ /** The user's ID, the token's `sub`. */
85
+ userId: string;
86
+ };
87
+ }
88
+ /** Returns the Tempo Account that `wallet` owns, which signs only with `token`. */
89
+ export declare function toAccount(options: toAccount.Options): Account.ConfigurableAccount<{
90
+ owners: readonly import("viem/tempo").z_AccountConfigOwner<number>[];
91
+ salt: import("ox/Hex").Hex;
92
+ threshold: number;
93
+ version: bigint;
94
+ }>;
95
+ export declare namespace toAccount {
96
+ type Options = {
97
+ /** The Privy app that holds `wallet`. */
98
+ app: App;
99
+ /** The token from {@link token}, which signing requires. Absent, the account cannot sign. */
100
+ token?: string | undefined;
101
+ /** The owner wallet. */
102
+ wallet: Wallet;
103
+ };
104
+ }
105
+ //# sourceMappingURL=Privy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Privy.d.ts","sourceRoot":"","sources":["../../src/internal/Privy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Each user's Privy embedded wallets, which hold the owner keys of their Privy-owned Tempo Accounts.
3
+ * Each realm's Privy app keys the user by their user ID, the `sub` of every token Tempo ID issues,
4
+ * as a custom auth ID. Tempo ID reads and creates wallets with the app secret, and signs as a wallet
5
+ * with a token that only Privy trusts.
6
+ * @module
7
+ */
8
+ import { PrivyClient } from '@privy-io/node';
9
+ import { createViemAccount } from '@privy-io/node/viem';
10
+ import { Base64 } from 'ox';
11
+ import { Account } from 'viem/tempo';
12
+ import * as ErrorResponse from './ErrorResponse.js';
13
+ import * as Timing from './Timing.js';
14
+ /** No `PRIVY_JWT_PRIVATE_KEY` is set, so Tempo ID cannot sign as a Privy wallet. */
15
+ export class SigningKeyMissingError extends Error {
16
+ name = 'Privy.SigningKeyMissingError';
17
+ constructor() {
18
+ super('Missing PRIVY_JWT_PRIVATE_KEY. Set the RS256 private key whose public half each Privy app trusts.');
19
+ }
20
+ }
21
+ /** How long a token for Privy lasts, in seconds: long enough for one signing request. */
22
+ const tokenLifetime = 60;
23
+ /**
24
+ * Returns the user's first Privy wallet in `app`, and creates their Privy user and the wallet when
25
+ * they have none. Concurrent first calls return the same wallet, and hold no database connection
26
+ * while Privy responds.
27
+ */
28
+ export async function firstWallet(c, options) {
29
+ const { app, userId } = options;
30
+ const privyUser = (await Timing.measure(c, findUser(c, { app, userId }), 'Privy.findUser')) ??
31
+ (await Timing.measure(c, createUser(c, { app, userId }), 'Privy.createUser'));
32
+ // The user is created without a wallet, so every call that finds no wallet sends the same
33
+ // idempotent create, and concurrent calls receive one wallet.
34
+ return (wallets(privyUser)[0] ??
35
+ (await Timing.measure(c, addWallet(c, { app, privyUserId: privyUser.id }), 'Privy.addWallet')));
36
+ }
37
+ (function (firstWallet) {
38
+ /** The refusals `firstWallet` throws, which `ErrorResponse.handle` responds with: Privy's failures. */
39
+ firstWallet.errors = ErrorResponse.fromUpstream.errors;
40
+ })(firstWallet || (firstWallet = {}));
41
+ /**
42
+ * Returns the user's Privy wallets in `app`, oldest first, or none when they have no Privy user yet.
43
+ * Creates nothing.
44
+ */
45
+ export async function listWallets(c, options) {
46
+ const privyUser = await Timing.measure(c, findUser(c, options), 'Privy.findUser');
47
+ return privyUser ? wallets(privyUser) : [];
48
+ }
49
+ (function (listWallets) {
50
+ /** The refusals `listWallets` throws, which `ErrorResponse.handle` responds with: Privy's failures. */
51
+ listWallets.errors = ErrorResponse.fromUpstream.errors;
52
+ })(listWallets || (listWallets = {}));
53
+ /**
54
+ * Returns a token that names the user for `app`, which Privy exchanges for the right to sign as the
55
+ * user's wallet. `privateKey` signs it, and Privy trusts only that key's public half, so no token
56
+ * that Tempo ID issues to apps signs as a wallet. It lasts {@link tokenLifetime} seconds, and its
57
+ * `aud` is the Privy app ID. Throws {@link SigningKeyMissingError} without `privateKey`.
58
+ */
59
+ export async function token(auth, options) {
60
+ const { app, privateKey, userId } = options;
61
+ if (!privateKey)
62
+ throw new SigningKeyMissingError();
63
+ const key = await crypto.subtle.importKey('pkcs8', new Uint8Array(Base64.toBytes(privateKey.replace(/-----[^-]+-----|\s/g, ''))), { hash: 'SHA-256', name: 'RSASSA-PKCS1-v1_5' }, true, ['sign']);
64
+ const jwk = (await crypto.subtle.exportKey('jwk', key));
65
+ const now = Math.floor(Date.now() / 1000);
66
+ // Better Auth signs with this key alone, never with the keys that sign apps' tokens.
67
+ const signed = await auth.api.signJWT({
68
+ body: {
69
+ overrideOptions: {
70
+ adapter: {
71
+ getJwks: () => [
72
+ {
73
+ alg: 'RS256',
74
+ createdAt: new Date(0),
75
+ id: 'privy',
76
+ privateKey: JSON.stringify(jwk),
77
+ publicKey: JSON.stringify({ e: jwk.e, kty: jwk.kty, n: jwk.n }),
78
+ },
79
+ ],
80
+ },
81
+ jwks: {
82
+ disablePrivateKeyEncryption: true,
83
+ keyPairConfig: { alg: 'RS256' },
84
+ },
85
+ },
86
+ payload: {
87
+ aud: app.appId,
88
+ exp: now + tokenLifetime,
89
+ iat: now,
90
+ sub: userId,
91
+ },
92
+ },
93
+ });
94
+ return signed.token;
95
+ }
96
+ /** Returns the Tempo Account that `wallet` owns, which signs only with `token`. */
97
+ export function toAccount(options) {
98
+ const { app, token, wallet } = options;
99
+ return Account.fromConfig({
100
+ owners: [
101
+ createViemAccount(client(app), {
102
+ address: wallet.address,
103
+ // Privy signs as the wallet only with its owner's token.
104
+ ...(token ? { authorizationContext: { user_jwts: [token] } } : {}),
105
+ walletId: wallet.id,
106
+ }),
107
+ ],
108
+ });
109
+ }
110
+ /**
111
+ * Adds an embedded wallet to a Privy user. While a concurrent create with the same idempotency key
112
+ * is still in progress, Privy refuses with a 400, so the create waits and resends a bounded number
113
+ * of times until Privy returns the first create's wallet.
114
+ */
115
+ async function addWallet(c, options) {
116
+ for (let attempt = 1;; attempt++) {
117
+ const created = await Timing.measure(c, client(options.app)
118
+ .wallets()
119
+ .create({
120
+ chain_type: 'ethereum',
121
+ // A retry after a timeout or a 5xx, by the SDK or a later request, returns the wallet that
122
+ // the first attempt created instead of a second one.
123
+ idempotency_key: `tempo-id:first-wallet:${options.privyUserId}`,
124
+ owner: { user_id: options.privyUserId },
125
+ }), 'privy.wallets.create').catch((error) => {
126
+ if (attempt < addWallet.attempts && inProgress(error))
127
+ return undefined;
128
+ throw error;
129
+ });
130
+ if (created)
131
+ return {
132
+ address: created.address,
133
+ createdAt: new Date(created.created_at),
134
+ id: created.id,
135
+ };
136
+ await Timing.measure(c, new Promise((resolve) => setTimeout(resolve, addWallet.interval)), 'Privy.addWallet.wait');
137
+ }
138
+ }
139
+ (function (addWallet) {
140
+ /** The most creates that one call sends. */
141
+ addWallet.attempts = 10;
142
+ /** The wait between creates, in milliseconds. */
143
+ addWallet.interval = 250;
144
+ })(addWallet || (addWallet = {}));
145
+ /**
146
+ * Returns a client for the Privy app `app`. A request waits at most 8 seconds for each of two
147
+ * attempts, so a slow Privy fails the request with `upstream_unavailable` well before the SDK's
148
+ * one-minute default.
149
+ */
150
+ function client(app) {
151
+ return new PrivyClient({
152
+ appId: app.appId,
153
+ appSecret: app.appSecret,
154
+ maxRetries: 1,
155
+ timeout: 8_000,
156
+ });
157
+ }
158
+ /** Creates the Privy user for a user ID, without a wallet. */
159
+ async function createUser(c, options) {
160
+ return await Timing.measure(c, client(options.app)
161
+ .users()
162
+ .create({
163
+ linked_accounts: [
164
+ { custom_user_id: options.userId, type: 'custom_auth' },
165
+ ],
166
+ }), 'privy.users.create').catch(async (error) => {
167
+ // A concurrent request may create the user first, so a conflict reads it instead.
168
+ const existing = await Timing.measure(c, findUser(c, options), 'Privy.findUser');
169
+ if (!existing)
170
+ throw error;
171
+ return existing;
172
+ });
173
+ }
174
+ /** Returns the Privy user for a user ID, or `undefined` when there is none yet. */
175
+ async function findUser(c, options) {
176
+ return await Timing.measure(c, client(options.app)
177
+ .users()
178
+ .getByCustomAuthID({ custom_user_id: options.userId }), 'privy.users.get').catch((error) => {
179
+ if (error instanceof Error && 'status' in error && error.status === 404)
180
+ return undefined;
181
+ throw error;
182
+ });
183
+ }
184
+ /**
185
+ * Returns whether `error` is Privy's refusal of a create whose idempotency key names a create still
186
+ * in progress. Privy marks it only with a 400 and its message.
187
+ */
188
+ function inProgress(error) {
189
+ return (error instanceof Error &&
190
+ 'status' in error &&
191
+ error.status === 400 &&
192
+ error.message.includes('idempotency key is still in progress'));
193
+ }
194
+ /** Returns a Privy user's embedded Ethereum wallets, in the order Privy created them. */
195
+ function wallets(privyUser) {
196
+ return privyUser.linked_accounts
197
+ .flatMap((entry) => entry.type === 'wallet' &&
198
+ 'chain_type' in entry &&
199
+ entry.chain_type === 'ethereum' &&
200
+ 'connector_type' in entry &&
201
+ entry.connector_type === 'embedded' &&
202
+ 'id' in entry &&
203
+ entry.id
204
+ ? [{ ...entry, id: entry.id }]
205
+ : [])
206
+ .sort((a, b) => (a.wallet_index ?? 0) - (b.wallet_index ?? 0))
207
+ .reduce((list, entry) => {
208
+ // Privy records a wallet's creation as its first verification, in seconds. Without it, the
209
+ // first wallet was created with the user, and a later one after the wallet before it. That
210
+ // time is a lower bound that keeps the wallets in order.
211
+ const createdAt = typeof entry.first_verified_at === 'number'
212
+ ? new Date(entry.first_verified_at * 1000)
213
+ : (list.at(-1)?.createdAt ?? new Date(privyUser.created_at * 1000));
214
+ return [
215
+ ...list,
216
+ {
217
+ address: entry.address,
218
+ createdAt,
219
+ id: entry.id,
220
+ },
221
+ ];
222
+ }, []);
223
+ }
224
+ //# sourceMappingURL=Privy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Privy.js","sourceRoot":"","sources":["../../src/internal/Privy.ts"],"names":[],"mappings":"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"}