@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,24 @@
1
+ /**
2
+ * `tempo-id whoami`: shows the signed-in user's email and the Tempo Account of the stored access
3
+ * key, with the access token refreshed when it expires.
4
+ * @module
5
+ */
6
+ import { Cli } from 'incur';
7
+ import * as User from '../User.js';
8
+ export default Cli.command({
9
+ description: 'Show the signed-in user and Tempo Account.',
10
+ env: User.env,
11
+ async run(c) {
12
+ const Session = await User.loadSession();
13
+ if (!Session)
14
+ return c.error(User.missingPeers);
15
+ const user = await Session.whoami({
16
+ home: c.env.TEMPO_HOME,
17
+ url: c.env.TEMPO_ID_URL,
18
+ });
19
+ if (!user)
20
+ return c.error(User.signedOut);
21
+ return user;
22
+ },
23
+ });
24
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../src/cli/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAElC,eAAe,GAAG,CAAC,OAAO,CAAC;IACzB,WAAW,EAAE,4CAA4C;IACzD,GAAG,EAAE,IAAI,CAAC,GAAG;IACb,KAAK,CAAC,GAAG,CAAC,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU;YACtB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Tempo ID's actions. Each takes an instance from `Auth.create`. Each sign-in flow has its own
3
+ * namespace, `oauth` holds the standard OAuth endpoints for tokens an app holds, and the actions
4
+ * every flow shares sit at the top level.
5
+ * @module
6
+ */
7
+ import type { Account } from 'viem/tempo';
8
+ import { type Auth } from './Auth.js';
9
+ import type { Authorization } from './Authorization.js';
10
+ import type { Permissions } from './Permissions.js';
11
+ import type { Tokens } from './Tokens.js';
12
+ export * as account from './actions/account.js';
13
+ export * as device from './actions/device.js';
14
+ export * as email from './actions/email.js';
15
+ export * as oauth from './actions/oauth.js';
16
+ export * as passkey from './actions/passkey.js';
17
+ export * as provider from './actions/provider.js';
18
+ export * as realm from './actions/realm.js';
19
+ export * as redirect from './actions/redirect.js';
20
+ /**
21
+ * Authorizes a first-party app, which skips consent, for a user already signed in to Tempo ID, with
22
+ * `POST /v1/authorize`, from a page on its redirect URI's origin. Any other app fails with
23
+ * `rejected`, and authorizes through a redirect. Returns `undefined` without a session, so the app
24
+ * shows sign-in. The key must fit Tempo ID's headless ceiling. An `account` that the call names
25
+ * becomes the app's account for its later requests. With `key: false`, the call returns the tokens
26
+ * and the user alone.
27
+ *
28
+ * A user who holds no Tempo Account in the app's realms receives `rejected`, since the call creates
29
+ * none. `Actions.account.get` creates the first one.
30
+ *
31
+ * Throws a `RequestError` with reason `webauthn_required` when a passkey owns the account, since a
32
+ * passkey signs a key only on a page that shows it. `Actions.redirect.start` then authorizes the
33
+ * key on Tempo ID's pages.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const authorization = await Actions.authorize(auth)
38
+ * if (!authorization) showSignIn()
39
+ * ```
40
+ */
41
+ export declare function authorize<const chainId extends number = number, const key extends boolean = true>(auth: Auth, options?: authorize.Options<chainId, key>): Promise<authorize.ReturnType<chainId, key>>;
42
+ export declare namespace authorize {
43
+ type Options<chainId extends number = number, key extends boolean = true> = {
44
+ /**
45
+ * The key to authorize, as a Viem account. Its `access` names the Tempo Account, which
46
+ * defaults to the one the app selected, or the user's oldest. Defaults to a new key.
47
+ */
48
+ accessKey?: Account.Account | undefined;
49
+ /**
50
+ * The address of the user's Tempo Account the key acts for, such as the one that
51
+ * `Actions.account.get` returns. Takes the place of `accessKey`'s `access`, and becomes
52
+ * the app's account for its later requests that name none.
53
+ */
54
+ account?: `0x${string}` | undefined;
55
+ /**
56
+ * A message the owner's signature binds, such as a sign-in challenge the app's backend issued.
57
+ * Tempo ID binds its EIP-191 hash as the key authorization's `witness`. Only an app with the
58
+ * `tempo-id:sign` scope may send one, and only with a key.
59
+ */
60
+ challenge?: ([key] extends [false] ? never : string) | undefined;
61
+ /**
62
+ * Whether the call authorizes an access key. With `false`, it returns the tokens and the user
63
+ * alone. Defaults to `true`.
64
+ */
65
+ key?: key | undefined;
66
+ /** What the key may do. It must fit the headless ceiling, which fills what it leaves out. */
67
+ permissions?: Permissions<chainId> | undefined;
68
+ };
69
+ /**
70
+ * The authorization, or the tokens and the user alone with `key: false`. A `boolean` `key`
71
+ * returns either. `undefined` without a session.
72
+ */
73
+ type ReturnType<chainId extends number = number, key extends boolean = true> = (key extends false ? Omit<Authorization<chainId>, 'account' | 'key'> : Authorization<chainId>) | undefined;
74
+ }
75
+ /**
76
+ * Exchanges a refresh token for new tokens. Refresh tokens rotate, so store the new one.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * const tokens = await Actions.refresh(auth, {
81
+ * refreshToken: saved.refreshToken,
82
+ * })
83
+ * ```
84
+ */
85
+ export declare function refresh(auth: Auth, options: refresh.Options): Promise<Tokens>;
86
+ export declare namespace refresh {
87
+ type Options = {
88
+ /** The latest refresh token. Each refresh rotates it. */
89
+ refreshToken: string;
90
+ };
91
+ }
92
+ /**
93
+ * Ends the user's Tempo ID session, which signs them out of every app that relies on it.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * await Actions.signOut(auth)
98
+ * ```
99
+ */
100
+ export declare function signOut(auth: Auth): Promise<void>;
101
+ //# sourceMappingURL=Actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../src/client/Actions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,KAAK,IAAI,EAA4B,MAAM,WAAW,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,SAAS,CAC7B,KAAK,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACrC,KAAK,CAAC,GAAG,SAAS,OAAO,GAAG,IAAI,EAEhC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAM,GAC5C,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAgC7C;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,OAAO,GAAG,IAAI,IAAI;QAC1E;;;WAGG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;QACvC;;;;WAIG;QACH,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAA;QACnC;;;;WAIG;QACH,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,SAAS,CAAA;QAChE;;;WAGG;QACH,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;QACrB,6FAA6F;QAC7F,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;KAC/C,CAAA;IAED;;;OAGG;IACH,KAAK,UAAU,CACb,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,GAAG,SAAS,OAAO,GAAG,IAAI,IAExB,CAAC,GAAG,SAAS,KAAK,GACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,GAC/C,aAAa,CAAC,OAAO,CAAC,CAAC,GAC3B,SAAS,CAAA;CACd;AAED;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,OAAO,GAAG;QACb,yDAAyD;QACzD,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvD"}
@@ -0,0 +1,90 @@
1
+ import { ChallengeWithoutKeyError } from './Auth.js';
2
+ import * as AccessKey from './internal/accessKey.js';
3
+ import * as Api from './internal/api.js';
4
+ import { request } from './internal/request.js';
5
+ export * as account from './actions/account.js';
6
+ export * as device from './actions/device.js';
7
+ export * as email from './actions/email.js';
8
+ export * as oauth from './actions/oauth.js';
9
+ export * as passkey from './actions/passkey.js';
10
+ export * as provider from './actions/provider.js';
11
+ export * as realm from './actions/realm.js';
12
+ export * as redirect from './actions/redirect.js';
13
+ /**
14
+ * Authorizes a first-party app, which skips consent, for a user already signed in to Tempo ID, with
15
+ * `POST /v1/authorize`, from a page on its redirect URI's origin. Any other app fails with
16
+ * `rejected`, and authorizes through a redirect. Returns `undefined` without a session, so the app
17
+ * shows sign-in. The key must fit Tempo ID's headless ceiling. An `account` that the call names
18
+ * becomes the app's account for its later requests. With `key: false`, the call returns the tokens
19
+ * and the user alone.
20
+ *
21
+ * A user who holds no Tempo Account in the app's realms receives `rejected`, since the call creates
22
+ * none. `Actions.account.get` creates the first one.
23
+ *
24
+ * Throws a `RequestError` with reason `webauthn_required` when a passkey owns the account, since a
25
+ * passkey signs a key only on a page that shows it. `Actions.redirect.start` then authorizes the
26
+ * key on Tempo ID's pages.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const authorization = await Actions.authorize(auth)
31
+ * if (!authorization) showSignIn()
32
+ * ```
33
+ */
34
+ export async function authorize(auth, options = {}) {
35
+ // A challenge rides in the key, so a call without one refuses it before any request.
36
+ if (options.key === false && options.challenge !== undefined)
37
+ throw new ChallengeWithoutKeyError();
38
+ // Checking the session first avoids a failed request for a visitor without one.
39
+ const session = await Api.json(await (auth.fetch ?? fetch)(new URL('/v1/auth/session', auth.url), {
40
+ credentials: 'include',
41
+ }));
42
+ if (!session.user)
43
+ return undefined;
44
+ const key = options.key === false
45
+ ? undefined
46
+ : await AccessKey.resolve(options.accessKey);
47
+ const response = await Api.post(auth, '/v1/authorize', {
48
+ json: request(auth, {
49
+ accessKey: key?.accessKey,
50
+ account: options.account,
51
+ challenge: options.challenge,
52
+ permissions: options.permissions,
53
+ }),
54
+ });
55
+ // The session can end between the two requests.
56
+ if (response.status === 401)
57
+ return undefined;
58
+ const body = await Api.json(response);
59
+ // `key` decides both the type and the runtime value of the result.
60
+ return (key ? Api.authorization(body, key) : Api.withoutKey(body));
61
+ }
62
+ /**
63
+ * Exchanges a refresh token for new tokens. Refresh tokens rotate, so store the new one.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const tokens = await Actions.refresh(auth, {
68
+ * refreshToken: saved.refreshToken,
69
+ * })
70
+ * ```
71
+ */
72
+ export async function refresh(auth, options) {
73
+ return Api.tokens(await Api.token(auth, {
74
+ grant_type: 'refresh_token',
75
+ refresh_token: options.refreshToken,
76
+ }));
77
+ }
78
+ /**
79
+ * Ends the user's Tempo ID session, which signs them out of every app that relies on it.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * await Actions.signOut(auth)
84
+ * ```
85
+ */
86
+ export async function signOut(auth) {
87
+ // A JSON body keeps the request out of Tempo ID's CSRF check for cross-site form posts.
88
+ await Api.json(await Api.post(auth, '/v1/auth/logout', { json: {} }));
89
+ }
90
+ //# sourceMappingURL=Actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../src/client/Actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * A Tempo ID instance, which every action takes. Create one with {@link create}, then pass it
3
+ * to each action in `Actions`. Every sign-in returns an `Authorization`: the user's tokens and a
4
+ * Viem access key account.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { Actions, Auth } from '@tempoxyz/id/client'
9
+ * import { Expiry, Scopes } from 'viem/tempo'
10
+ * import { tempo } from 'viem/tempo/chains'
11
+ * import * as Tokens from 'viem/tokens'
12
+ *
13
+ * // OUSD has its mainnet address on every Tempo chain.
14
+ * const ousd = Tokens.ousd(tempo.id).address
15
+ *
16
+ * const auth = Auth.create({ clientId: 'client_…', dev: true })
17
+ *
18
+ * const authorization = await Actions.authorize(auth, {
19
+ * permissions: {
20
+ * expiry: Expiry.days(1),
21
+ * limits: [{ limit: 10_000_000n, token: ousd }],
22
+ * scopes: [Scopes.tip20(ousd).transfer()],
23
+ * },
24
+ * })
25
+ * ```
26
+ * @module
27
+ */
28
+ import type { Account as ViemAccount } from 'viem/tempo';
29
+ import * as AccountState from './internal/account.js';
30
+ import type { Storage } from './Storage.js';
31
+ /**
32
+ * The account of a client extended with `tempoId`: an access key account that each sign-in sets
33
+ * and sign-out empties. Reading it while signed out throws {@link SignedOutError}.
34
+ */
35
+ export type Account = ViemAccount.AccessKeyAccount & {
36
+ /** What the account signs as, which only the `tempoId` extension reads. */
37
+ readonly [AccountState.key]: AccountState.State;
38
+ };
39
+ /** A Tempo ID instance, which every action takes. */
40
+ export type Auth = {
41
+ /** The chain the app's keys act on, unless an action's `permissions` names another. */
42
+ chainId: number;
43
+ /** The app's client ID, from its registration as an OAuth app in Tempo ID. */
44
+ clientId: string;
45
+ /** The app's client secret. Only a backend holds one. */
46
+ clientSecret?: string | undefined;
47
+ /** Calls Tempo ID. Defaults to the global `fetch`. */
48
+ fetch?: typeof globalThis.fetch | undefined;
49
+ /** Where Tempo ID redirects back to. Defaults to the page's origin in a browser. */
50
+ redirectUri?: string | undefined;
51
+ /** The scopes the app's tokens carry. */
52
+ scope: string;
53
+ /**
54
+ * Where `Actions.redirect.start` keeps its state until Tempo ID redirects back. It must keep
55
+ * objects as they are, since a browser key is a `CryptoKey`. Defaults to IndexedDB.
56
+ */
57
+ storage?: Storage | undefined;
58
+ /** Where Tempo ID runs, such as `https://id.tempo.xyz`. */
59
+ url: string;
60
+ };
61
+ /** An action received a `challenge` with `key: false`, and a challenge rides in a key. */
62
+ export declare class ChallengeWithoutKeyError extends Error {
63
+ readonly name = "Auth.ChallengeWithoutKeyError";
64
+ constructor();
65
+ }
66
+ /** A request Tempo ID refused, with its status and message. */
67
+ export declare class RequestError extends Error {
68
+ readonly name = "Auth.RequestError";
69
+ /** The OAuth error code, such as `invalid_authorization_details`. */
70
+ readonly code: string;
71
+ /** The request field at fault, as a dotted path. */
72
+ readonly field: string | undefined;
73
+ /** The values the refusal compared, such as `limit` and `maximum`. Base units are decimal strings. */
74
+ readonly meta: Readonly<Record<string, number | string>> | undefined;
75
+ /** A stable name for the refusal, to branch on. */
76
+ readonly reason: RequestError.Reason | undefined;
77
+ /**
78
+ * Whether a sign-in's code or passkey verified before Tempo ID refused the authorization, so the
79
+ * user is signed in. `false` for every other refusal.
80
+ */
81
+ readonly signedIn: boolean;
82
+ /** The HTTP status of Tempo ID's response, or 0 for a request that received none. */
83
+ readonly status: number;
84
+ /** The page that explains the error. */
85
+ readonly uri: string | undefined;
86
+ constructor(options: RequestError.Options);
87
+ }
88
+ export declare namespace RequestError {
89
+ type Options = {
90
+ /** The error that caused this one, such as a network failure. */
91
+ cause?: unknown;
92
+ /** The OAuth error code, such as `invalid_authorization_details`. */
93
+ code: string;
94
+ /** The request field at fault, as a dotted path. */
95
+ field?: string | undefined;
96
+ /** The fault and its fix, from `error_description`. */
97
+ message: string;
98
+ /** The values the refusal compared, such as `limit` and `maximum`. Base units are decimal strings. */
99
+ meta?: Readonly<Record<string, number | string>> | undefined;
100
+ /** A stable name for the refusal, to branch on. Absent from the issuer's own errors. */
101
+ reason?: Reason | undefined;
102
+ /** Whether a sign-in's code or passkey verified before the refusal. Defaults to `false`. */
103
+ signedIn?: boolean | undefined;
104
+ /** The HTTP status of Tempo ID's response. */
105
+ status: number;
106
+ /** The page that explains the error, from `error_uri`. */
107
+ uri?: string | undefined;
108
+ };
109
+ /** Each refusal's stable name. `docs/errors.md` explains each one. */
110
+ type Reason = 'already_decided' | 'approval_pending' | 'authorization_expired' | 'body_too_large' | 'challenge_not_permitted' | 'cross_site_request' | 'device_code_expired' | 'duplicate_limit' | 'duplicate_scope' | 'empty_limits' | 'empty_scopes' | 'expiry_exceeds_maximum' | 'expiry_passed' | 'foreign_account' | 'foreign_origin' | 'invalid_chain' | 'invalid_code' | 'invalid_expiry' | 'invalid_field' | 'invalid_id_token_hint' | 'invalid_origin' | 'invalid_period' | 'invalid_public_key' | 'invalid_recipients' | 'limit_exceeds_maximum' | 'logout_not_permitted' | 'malformed_body' | 'missing_code_challenge' | 'missing_key' | 'missing_recipients' | 'passkey_link_expired' | 'passkey_not_permitted' | 'post_logout_redirect_not_permitted' | 'polling_too_fast' | 'rate_limited' | 'rejected' | 'request_denied' | 'return_to_not_permitted' | 'scope_without_limit' | 'session_changed' | 'session_required' | 'unexpected' | 'unknown_code' | 'unknown_endpoint' | 'unknown_provider' | 'unsupported_call' | 'unsupported_token' | 'upstream_unavailable' | 'webauthn_rejected' | 'webauthn_required';
111
+ }
112
+ /** A client's {@link Account} read before a sign-in set it, or after sign-out emptied it. */
113
+ export declare class SignedOutError extends Error {
114
+ readonly name = "Auth.SignedOutError";
115
+ constructor();
116
+ }
117
+ /**
118
+ * Creates the account of a client extended with `tempoId`. It holds no key until a sign-in sets
119
+ * it, and reading it before then throws {@link SignedOutError}, so a transaction fails before it
120
+ * reaches the node. Each client needs its own, since the account signs as one user.
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * const client = createClient({
125
+ * account: Auth.account(),
126
+ * chain: tempoTestnet,
127
+ * }).extend(tempoId({ clientId: 'client_…' }))
128
+ * ```
129
+ */
130
+ export declare function account(): Account;
131
+ /**
132
+ * Creates a Tempo ID instance.
133
+ *
134
+ * @example
135
+ * ```ts
136
+ * const auth = Auth.create({ clientId: 'client_…' })
137
+ * ```
138
+ */
139
+ export declare function create(options: create.Options): Auth;
140
+ export declare namespace create {
141
+ type Options = Omit<Auth, 'chainId' | 'scope' | 'url'> & {
142
+ /**
143
+ * The chain the app's keys act on, such as `client.chain.id`. Defaults to Tempo mainnet, or to
144
+ * Tempo testnet with `dev`.
145
+ */
146
+ chainId?: number | undefined;
147
+ /**
148
+ * Whether to use Tempo ID's development deployment, `https://id.tehq.dev`, with keys on
149
+ * Tempo testnet unless `chainId` names another chain. Defaults to `false`.
150
+ */
151
+ dev?: boolean | undefined;
152
+ /**
153
+ * Scopes the app's tokens carry beyond `openid` and `email`, which every instance includes.
154
+ * Defaults to `offline_access`, for a refresh token.
155
+ */
156
+ scope?: string | undefined;
157
+ /** Where Tempo ID runs. Defaults to `https://id.tempo.xyz`, or `https://id.tehq.dev` with `dev`. */
158
+ url?: string | undefined;
159
+ };
160
+ }
161
+ //# sourceMappingURL=Auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/client/Auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { tempo, tempoTestnet } from 'viem/tempo/chains';
2
+ import * as AccountState from './internal/account.js';
3
+ /** An action received a `challenge` with `key: false`, and a challenge rides in a key. */
4
+ export class ChallengeWithoutKeyError extends Error {
5
+ name = 'Auth.ChallengeWithoutKeyError';
6
+ constructor() {
7
+ super('A challenge rides in the key authorization, so a sign-in with `key: false` takes none. Remove `challenge`, or request a key.');
8
+ }
9
+ }
10
+ /** A request Tempo ID refused, with its status and message. */
11
+ export class RequestError extends Error {
12
+ name = 'Auth.RequestError';
13
+ /** The OAuth error code, such as `invalid_authorization_details`. */
14
+ code;
15
+ /** The request field at fault, as a dotted path. */
16
+ field;
17
+ /** The values the refusal compared, such as `limit` and `maximum`. Base units are decimal strings. */
18
+ meta;
19
+ /** A stable name for the refusal, to branch on. */
20
+ reason;
21
+ /**
22
+ * Whether a sign-in's code or passkey verified before Tempo ID refused the authorization, so the
23
+ * user is signed in. `false` for every other refusal.
24
+ */
25
+ signedIn;
26
+ /** The HTTP status of Tempo ID's response, or 0 for a request that received none. */
27
+ status;
28
+ /** The page that explains the error. */
29
+ uri;
30
+ constructor(options) {
31
+ super(options.message, { cause: options.cause });
32
+ this.code = options.code;
33
+ this.field = options.field;
34
+ this.meta = options.meta;
35
+ this.reason = options.reason;
36
+ this.signedIn = options.signedIn ?? false;
37
+ this.status = options.status;
38
+ this.uri = options.uri;
39
+ }
40
+ }
41
+ /** A client's {@link Account} read before a sign-in set it, or after sign-out emptied it. */
42
+ export class SignedOutError extends Error {
43
+ name = 'Auth.SignedOutError';
44
+ constructor() {
45
+ super("The client's account is signed out. Sign in through `client.auth` before sending.");
46
+ }
47
+ }
48
+ /**
49
+ * Creates the account of a client extended with `tempoId`. It holds no key until a sign-in sets
50
+ * it, and reading it before then throws {@link SignedOutError}, so a transaction fails before it
51
+ * reaches the node. Each client needs its own, since the account signs as one user.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const client = createClient({
56
+ * account: Auth.account(),
57
+ * chain: tempoTestnet,
58
+ * }).extend(tempoId({ clientId: 'client_…' }))
59
+ * ```
60
+ */
61
+ export function account() {
62
+ const state = { account: undefined };
63
+ // Viem reads a client's account only when an action runs, through property reads, `in` checks,
64
+ // and spreads. Each trap reads through to the account that the latest sign-in set.
65
+ const proxy = new Proxy({}, {
66
+ get(_, key) {
67
+ if (key === AccountState.key)
68
+ return state;
69
+ if (state.account)
70
+ return Reflect.get(state.account, key);
71
+ // Promise resolution, serialization, and inspection probe these, which must not throw.
72
+ if (typeof key === 'symbol' || key === 'then' || key === 'toJSON')
73
+ return undefined;
74
+ throw new SignedOutError();
75
+ },
76
+ getOwnPropertyDescriptor(_, key) {
77
+ if (!state.account)
78
+ return undefined;
79
+ const descriptor = Reflect.getOwnPropertyDescriptor(state.account, key);
80
+ // A proxy may report a property its empty target lacks only as configurable.
81
+ return descriptor && { ...descriptor, configurable: true };
82
+ },
83
+ has: (_, key) => key === AccountState.key ||
84
+ (state.account !== undefined && Reflect.has(state.account, key)),
85
+ ownKeys: () => (state.account ? Reflect.ownKeys(state.account) : []),
86
+ });
87
+ return proxy;
88
+ }
89
+ /**
90
+ * Creates a Tempo ID instance.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const auth = Auth.create({ clientId: 'client_…' })
95
+ * ```
96
+ */
97
+ export function create(options) {
98
+ const { chainId, dev, scope = 'offline_access', url, ...rest } = options;
99
+ // Every authorization reads the user from the ID token, which needs `openid` and `email`.
100
+ const scopes = scope.split(' ').filter(Boolean);
101
+ return {
102
+ ...rest,
103
+ chainId: chainId ?? (dev ? tempoTestnet.id : tempo.id),
104
+ scope: [...new Set(['openid', 'email', ...scopes])].join(' '),
105
+ url: url ?? (dev ? urls.dev : urls.production),
106
+ };
107
+ }
108
+ /** Where Tempo ID runs unless `create` receives a `url`. */
109
+ const urls = {
110
+ dev: 'https://id.tehq.dev',
111
+ production: 'https://id.tempo.xyz',
112
+ };
113
+ //# sourceMappingURL=Auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/client/Auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * What every sign-in returns: the app's tokens for Tempo APIs, its access key, and the user.
3
+ * @module
4
+ */
5
+ import type * as Key from './Key.js';
6
+ import type { Tokens } from './Tokens.js';
7
+ import type { User } from './User.js';
8
+ /**
9
+ * What every sign-in returns: the app's tokens for Tempo APIs, with its access key and the user.
10
+ * `chainId` is the key's chain, as a literal type when the sign-in's `permissions` named one.
11
+ */
12
+ export type Authorization<chainId extends number = number> = Tokens & {
13
+ /** The user's Tempo Account, as a Viem account that signs with the app's access key. */
14
+ account: ReturnType<typeof Key.toAccount>;
15
+ /** The same key as data, for apps that store it and rebuild it with `Key.toAccount`. */
16
+ key: Key.Key<chainId>;
17
+ /** The signed-in user, from the ID token. */
18
+ user: User;
19
+ };
20
+ /**
21
+ * Instantiates a {@link Authorization}.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const authorization = Authorization.from({ ...saved, account: Key.toAccount(saved.key) })
26
+ * ```
27
+ */
28
+ export declare function from<chainId extends number = number>(value: Authorization<chainId>): Authorization<chainId>;
29
+ //# sourceMappingURL=Authorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../src/client/Authorization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG;IACpE,wFAAwF;IACxF,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAA;IACzC,wFAAwF;IACxF,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,6CAA6C;IAC7C,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAClD,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAC5B,aAAa,CAAC,OAAO,CAAC,CAExB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Instantiates a {@link Authorization}.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * const authorization = Authorization.from({ ...saved, account: Key.toAccount(saved.key) })
7
+ * ```
8
+ */
9
+ export function from(value) {
10
+ return value;
11
+ }
12
+ //# sourceMappingURL=Authorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../src/client/Authorization.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAClB,KAA6B;IAE7B,OAAO,KAAK,CAAA;AACd,CAAC"}