@tempoxyz/id 0.0.0-pr-192.sha-e78622a → 0.0.0-pr-196.sha-abe7300

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 (77) hide show
  1. package/README.md +2 -2
  2. package/dist/app/client/assets/Pilat-Black-BLB40yUv.woff2 +0 -0
  3. package/dist/app/client/assets/Pilat-Heavy-D7T63kQY.woff2 +0 -0
  4. package/dist/app/client/assets/Pilat-Light-DwJMu0Ze.woff2 +0 -0
  5. package/dist/app/client/assets/Pilat-Thin-mw3Cat5Z.woff2 +0 -0
  6. package/dist/app/client/assets/{ccip-DgEYqRsh.js → ccip-CGPsIn5N.js} +1 -1
  7. package/dist/app/client/assets/index-Do0oVtle.css +1 -0
  8. package/dist/app/client/assets/index-n9zeR-ID.js +55 -0
  9. package/dist/app/server/.vite/manifest.json +47 -27
  10. package/dist/app/server/assets/Pilat-Black-BLB40yUv.woff2 +0 -0
  11. package/dist/app/server/assets/Pilat-Heavy-D7T63kQY.woff2 +0 -0
  12. package/dist/app/server/assets/Pilat-Light-DwJMu0Ze.woff2 +0 -0
  13. package/dist/app/server/assets/Pilat-Thin-mw3Cat5Z.woff2 +0 -0
  14. package/dist/app/server/assets/{_tanstack-start-manifest_v-tfMl2fC8.js → _tanstack-start-manifest_v-Dr5jEtNp.js} +1 -1
  15. package/dist/app/server/assets/cookie-D7ln3xph.css +1 -0
  16. package/dist/app/server/assets/{cookie-Cce9CrIP.js → cookie-DUCG3JTy.js} +1 -1
  17. package/dist/app/server/assets/{cookie-Cce9CrIP.js.map → cookie-DUCG3JTy.js.map} +1 -1
  18. package/dist/app/server/assets/router-CcRdjsge.js +7 -0
  19. package/dist/app/server/assets/router-CcRdjsge.js.map +1 -0
  20. package/dist/app/server/assets/router-Csfm-anf.css +1 -0
  21. package/dist/app/server/index.js +20 -20
  22. package/dist/app/server/index.js.map +1 -1
  23. package/dist/client/actions/email.d.ts +2 -5
  24. package/dist/client/actions/email.d.ts.map +1 -1
  25. package/dist/client/actions/email.js +7 -20
  26. package/dist/client/actions/email.js.map +1 -1
  27. package/dist/client/actions/passkey.d.ts +11 -12
  28. package/dist/client/actions/passkey.d.ts.map +1 -1
  29. package/dist/client/actions/passkey.js +14 -19
  30. package/dist/client/actions/passkey.js.map +1 -1
  31. package/dist/client/internal/headless.d.ts +1 -61
  32. package/dist/client/internal/headless.d.ts.map +1 -1
  33. package/dist/client/internal/headless.js +0 -51
  34. package/dist/client/internal/headless.js.map +1 -1
  35. package/dist/internal/Passkey.d.ts +2 -34
  36. package/dist/internal/Passkey.d.ts.map +1 -1
  37. package/dist/internal/Passkey.js +20 -77
  38. package/dist/internal/Passkey.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/api/authenticate.ts +72 -194
  41. package/src/api/authorize.ts +191 -11
  42. package/src/api/lib/Cors.ts +1 -3
  43. package/src/api/lib/KeySigner.ts +12 -36
  44. package/src/api/lib/SignInConsent.ts +2 -5
  45. package/src/app/components/CodeInput.tsx +110 -136
  46. package/src/app/components/Grant.tsx +61 -49
  47. package/src/app/routes/[_].flows.tsx +19 -20
  48. package/src/app/routes/__root.tsx +4 -6
  49. package/src/app/routes/authorize.tsx +1 -1
  50. package/src/app/routes/choose-account.tsx +8 -3
  51. package/src/app/routes/deposit.tsx +1 -1
  52. package/src/app/routes/device.tsx +1 -1
  53. package/src/app/routes/index.tsx +1 -1
  54. package/src/app/routes/login.tsx +1 -1
  55. package/src/app/screens/Account.tsx +45 -35
  56. package/src/app/screens/Approval.tsx +30 -18
  57. package/src/app/screens/ChooseAccount.tsx +14 -17
  58. package/src/app/screens/Deposit.tsx +64 -49
  59. package/src/app/screens/DeviceApproval.tsx +61 -39
  60. package/src/app/screens/SignIn.tsx +67 -83
  61. package/src/app/vite.config.ts +1 -1
  62. package/src/app/zyzz.config.ts +15 -224
  63. package/src/client/actions/email.ts +10 -24
  64. package/src/client/actions/passkey.ts +16 -22
  65. package/src/client/internal/headless.ts +1 -78
  66. package/src/internal/Passkey.ts +23 -128
  67. package/dist/app/client/assets/index-B7YJVP00.css +0 -1
  68. package/dist/app/client/assets/index-lPLOdRTI.js +0 -55
  69. package/dist/app/server/assets/cookie-CS900nSP.css +0 -1
  70. package/dist/app/server/assets/router-CcbyBCI4.css +0 -1
  71. package/dist/app/server/assets/router-ESAgyRBy.js +0 -7
  72. package/dist/app/server/assets/router-ESAgyRBy.js.map +0 -1
  73. package/src/api/lib/Headless.ts +0 -423
  74. package/src/app/components/Button.tsx +0 -128
  75. package/src/app/components/ErrorMessage.tsx +0 -66
  76. package/src/app/components/Input.tsx +0 -48
  77. package/src/app/components/Tooltip.tsx +0 -45
package/README.md CHANGED
@@ -43,7 +43,7 @@ Tempo ID is one package, `@tempoxyz/id`. An app calls Tempo's deployment, or run
43
43
 
44
44
  ### Hosted
45
45
 
46
- Tempo runs Tempo ID at `https://id.tempo.xyz`, and its current production deployment at `https://id.tehq.dev`. A JavaScript app signs in through the client entry:
46
+ Tempo runs Tempo ID at `https://id.tempo.xyz`, and its development deployment at `https://id.tehq.dev`. A JavaScript app signs in through the client entry:
47
47
 
48
48
  ```ts
49
49
  import { Actions, Auth } from '@tempoxyz/id/client'
@@ -66,7 +66,7 @@ npx tempo-id init my-id --from "Tempo ID <noreply@id.example.com>" --url https:/
66
66
 
67
67
  ## Playgrounds
68
68
 
69
- [`playgrounds/`](playgrounds/README.md) holds one app per flow, deployed beside production at `https://id.tehq.dev`.
69
+ [`playgrounds/`](playgrounds/README.md) holds one app per flow, deployed beside development at `https://id.tehq.dev`.
70
70
 
71
71
  | Playground | Directory | URL |
72
72
  | --------------------- | -------------------------------------------- | ---------------------------------------------------------------------------- |
@@ -1 +1 @@
1
- import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"./index-lPLOdRTI.js";function E(e){let{abi:t,data:r}=e,i=d(r,0,4),a=t.find(e=>e.type===`function`&&i===m(n(e)));if(!a)throw new o(i,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:a.name,args:`inputs`in a&&a.inputs&&a.inputs.length>0?x(a.inputs,d(r,4)):void 0}}var D=`/docs/contract/encodeErrorResult`;function O(e){let{abi:t,errorName:r,args:a}=e,o=t[0];if(r){let e=y({abi:t,args:a,name:r});if(!e)throw new i(r,{docsPath:D});o=e}if(o.type!==`error`)throw new i(void 0,{docsPath:D});let s=n(o),l=m(s),d=`0x`;if(a&&a.length>0){if(!o.inputs)throw new u(o.name,{docsPath:D});d=c(o.inputs,a)}return _([l,d])}var k=`/docs/contract/encodeFunctionResult`;function A(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=y({abi:t,name:n});if(!e)throw new S(n,{docsPath:k});i=e}if(i.type!==`function`)throw new S(void 0,{docsPath:k});if(!i.outputs)throw new T(i.name,{docsPath:k});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new w(r)})();return c(i.outputs,a)}var j=class extends t{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:o}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,o&&[` Gateway URL(s):`,...o.map(e=>` ${a(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},M=class extends t{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${a(t)}`,`Response: ${s(e)}`],name:`OffchainLookupResponseMalformedError`})}},N=class extends t{constructor({sender:e,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}};async function P(e){let{data:t,ccipRequest:n}=e,{args:[r]}=E({abi:C,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await P({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=F(e)}})),A({abi:C,functionName:`query`,result:[i,a]})}function F(t){return t.name===`HttpRequestError`&&t.status?O({abi:C,errorName:`HttpError`,args:[t.status,t.shortMessage]}):O({abi:[e],errorName:`Error`,args:[`shortMessage`in t?t.shortMessage:t.message]})}var I=`0x556f1830`,L={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]};async function R(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=p({data:r,abi:[L]}),[s,u,d,m,h]=o,{ccipRead:_}=e,y=_&&typeof _?.request==`function`?_.request:z;try{if(!v(a,s))throw new N({sender:s,to:a});let r=u.includes(`x-batch-gateway:true`)?await P({data:d,ccipRequest:e=>y({...e,requestOptions:i})}):await y({data:d,requestOptions:i,sender:s,urls:u}),{data:o}=await b(e,{blockNumber:t,blockTag:n,data:l([m,c([{type:`bytes`},{type:`bytes`}],[r,h])]),requestOptions:i,to:a});return o}catch(e){throw i?.signal?.aborted?f(i.signal):g(e)?e:new j({callbackSelector:m,cause:e,data:r,extraData:h,sender:s,urls:u})}}async function z({data:e,requestOptions:t,sender:n,urls:i}){let a=Error(`An unknown error occurred.`);for(let o=0;o<i.length;o++){if(t?.signal?.aborted)throw f(t.signal);let c=i[o],l=c.includes(`{data}`)?`GET`:`POST`,u=l===`POST`?{data:e,sender:n}:void 0,d=l===`POST`?{"Content-Type":`application/json`}:{};try{let i=await fetch(c.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(u),headers:d,method:l,...t?.signal?{signal:t.signal}:{}}),o;if(o=i.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await i.json()).data:await i.text(),!i.ok){a=new h({body:u,details:o?.error?s(o.error):i.statusText,headers:i.headers,status:i.status,url:c});continue}if(!r(o)){a=new M({result:o,url:c});continue}return o}catch(e){if(t?.signal?.aborted)throw f(t.signal);if(g(e))throw e;a=new h({body:u,details:e.message,url:c})}}throw a}export{R as offchainLookup,I as offchainLookupSignature};
1
+ import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"./index-n9zeR-ID.js";function E(e){let{abi:t,data:r}=e,i=d(r,0,4),a=t.find(e=>e.type===`function`&&i===m(n(e)));if(!a)throw new o(i,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:a.name,args:`inputs`in a&&a.inputs&&a.inputs.length>0?x(a.inputs,d(r,4)):void 0}}var D=`/docs/contract/encodeErrorResult`;function O(e){let{abi:t,errorName:r,args:a}=e,o=t[0];if(r){let e=y({abi:t,args:a,name:r});if(!e)throw new i(r,{docsPath:D});o=e}if(o.type!==`error`)throw new i(void 0,{docsPath:D});let s=n(o),l=m(s),d=`0x`;if(a&&a.length>0){if(!o.inputs)throw new u(o.name,{docsPath:D});d=c(o.inputs,a)}return _([l,d])}var k=`/docs/contract/encodeFunctionResult`;function A(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=y({abi:t,name:n});if(!e)throw new S(n,{docsPath:k});i=e}if(i.type!==`function`)throw new S(void 0,{docsPath:k});if(!i.outputs)throw new T(i.name,{docsPath:k});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new w(r)})();return c(i.outputs,a)}var j=class extends t{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:o}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,o&&[` Gateway URL(s):`,...o.map(e=>` ${a(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},M=class extends t{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${a(t)}`,`Response: ${s(e)}`],name:`OffchainLookupResponseMalformedError`})}},N=class extends t{constructor({sender:e,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:`OffchainLookupSenderMismatchError`})}};async function P(e){let{data:t,ccipRequest:n}=e,{args:[r]}=E({abi:C,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await P({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=F(e)}})),A({abi:C,functionName:`query`,result:[i,a]})}function F(t){return t.name===`HttpRequestError`&&t.status?O({abi:C,errorName:`HttpError`,args:[t.status,t.shortMessage]}):O({abi:[e],errorName:`Error`,args:[`shortMessage`in t?t.shortMessage:t.message]})}var I=`0x556f1830`,L={name:`OffchainLookup`,type:`error`,inputs:[{name:`sender`,type:`address`},{name:`urls`,type:`string[]`},{name:`callData`,type:`bytes`},{name:`callbackFunction`,type:`bytes4`},{name:`extraData`,type:`bytes`}]};async function R(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=p({data:r,abi:[L]}),[s,u,d,m,h]=o,{ccipRead:_}=e,y=_&&typeof _?.request==`function`?_.request:z;try{if(!v(a,s))throw new N({sender:s,to:a});let r=u.includes(`x-batch-gateway:true`)?await P({data:d,ccipRequest:e=>y({...e,requestOptions:i})}):await y({data:d,requestOptions:i,sender:s,urls:u}),{data:o}=await b(e,{blockNumber:t,blockTag:n,data:l([m,c([{type:`bytes`},{type:`bytes`}],[r,h])]),requestOptions:i,to:a});return o}catch(e){throw i?.signal?.aborted?f(i.signal):g(e)?e:new j({callbackSelector:m,cause:e,data:r,extraData:h,sender:s,urls:u})}}async function z({data:e,requestOptions:t,sender:n,urls:i}){let a=Error(`An unknown error occurred.`);for(let o=0;o<i.length;o++){if(t?.signal?.aborted)throw f(t.signal);let c=i[o],l=c.includes(`{data}`)?`GET`:`POST`,u=l===`POST`?{data:e,sender:n}:void 0,d=l===`POST`?{"Content-Type":`application/json`}:{};try{let i=await fetch(c.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(u),headers:d,method:l,...t?.signal?{signal:t.signal}:{}}),o;if(o=i.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await i.json()).data:await i.text(),!i.ok){a=new h({body:u,details:o?.error?s(o.error):i.statusText,headers:i.headers,status:i.status,url:c});continue}if(!r(o)){a=new M({result:o,url:c});continue}return o}catch(e){if(t?.signal?.aborted)throw f(t.signal);if(g(e))throw e;a=new h({body:u,details:e.message,url:c})}}throw a}export{R as offchainLookup,I as offchainLookupSignature};