New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@descope/core-js-sdk

Package Overview
Dependencies
Maintainers
4
Versions
216
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@descope/core-js-sdk - npm Package Compare versions

Comparing version 0.0.41-alpha.20 to 0.0.41-alpha.21

2

dist/cjs/index.cjs.js

@@ -1,2 +0,2 @@

"use strict";var e=require("jwt-decode"),t=require("lodash.get");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=s(e),a=s(t),i={exchange:"/v1/auth/accesskey/exchange"},r={verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},o={verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",session:"/v1/auth/magiclink/pending-session",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/email"},signUpOrIn:"/v1/auth/magiclink/signup-in"},u={start:"/v1/auth/oauth/authorize"},c={start:"/v1/auth/saml/authorize"},d={verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/user/totp/update"},p={signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},g="/v1/auth/refresh",l="/v1/auth/logoutall",h="/v1/auth/me",v={start:"/v1/flow/start",next:"/v1/flow/next"},m="/v1/auth/exchange";var b;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(b||(b={}));const f=()=>{const e={};return{headers(t){const s="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(s),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},y=(e,t)=>{const s=t||fetch;if(!s)throw new Error("fetch is not defined");return e?async(...t)=>{e.log((e=>f().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const n=await s(...t);return e[n.ok?"log":"error"](await(async e=>{const t=await e.text();return e.text=()=>Promise.resolve(t),e.json=()=>Promise.resolve(JSON.parse(t)),f().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(n)),n}:s},I=(...e)=>new Headers(e.reduce(((e,t)=>{const s=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return s.reduce(((t,[s,n])=>(e[s]=n,e)),e),e}),{})),k=e=>void 0===e?void 0:JSON.stringify(e),j=(e,t="")=>{let s=e;return""!==t&&(s=s+":"+t),{Authorization:`Bearer ${s}`}},O=({baseUrl:e,projectId:t,baseConfig:s,logger:n,hooks:a,cookiePolicy:i})=>{const r=y(n),o=async n=>{const o=(null==a?void 0:a.beforeRequest)?a.beforeRequest(n):n,{path:u,body:c,headers:d,queryParams:p,method:g,token:l}=o,h=await r((({path:e,baseUrl:t,queryParams:s})=>{const n=new URL(e,t);return s&&(n.search=new URLSearchParams(s).toString()),n})({path:u,baseUrl:e,queryParams:p}),{headers:I(j(t,l),(null==s?void 0:s.baseHeaders)||{},d),method:g,body:k(c),credentials:i||"include"});return(null==a?void 0:a.afterRequest)&&a.afterRequest(n,null==h?void 0:h.clone()),h};return{get:(e,{headers:t,queryParams:s,token:n}={})=>o({path:e,headers:t,queryParams:s,body:void 0,method:b.get,token:n}),post:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:b.post,token:a}),put:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:b.put,token:a}),delete:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:b.delete,token:a})}},U=e=>{if("string"!=typeof e||!e)throw new Error("Invalid token provided");const{exp:t}=n.default(e);return(new Date).getTime()/1e3>t},w=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function x(e){const t=await e,s={code:t.status,ok:t.ok,response:t},n=await t.json();return t.ok?s.data=n:s.error=n,s}const P=(e,t)=>(s=t)=>t=>!e(t)&&s.replace("{val}",t),R=(...e)=>({validate:t=>(e.forEach((e=>{const s=e(t);if(s)throw new Error(s)})),!0)}),q=e=>t=>e.test(t),$=q(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),M=q(/^\+[1-9]{1}[0-9]{3,14}$/),E=P($,'"{val}" is not a valid email'),S=P(M,'"{val}" is not a valid phone number'),T=P((D=1,e=>e.length>=D),"Minimum length is 1");var D;const A=P((e=>"string"==typeof e),"Input is not a string"),z=(...e)=>t=>(...s)=>(e.forEach(((e,t)=>R(...e).validate(s[t]))),t(...s)),L=e=>[A(`"${e}" must be a string`),T(`"${e}" must not be empty`)],H=e=>[A(`"${e}" must be a string`),E()],J=e=>[A(`"${e}" must be a string`),S()],N=z(L("accessKey")),Z=e=>({exchange:N((t=>x(e.get(i.exchange,{token:t}))))});var B,C,K,F;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(B||(B={})),function(e){e.email="email",e.sms="sms",e.whatsapp="whatsapp"}(C||(C={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify"}(K||(K={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify",e.updatePhone="updatePhone"}(F||(F={}));const G=L("identifier"),_=z(G,L("code")),Q=z(G),V=z(G,J("phone")),W=z(G,H("email")),X=e=>({verify:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:_(((t,n)=>x(e.post(w(r.verify,s),{code:n,externalId:t}))))})),{}),signIn:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Q((t=>x(e.post(w(r.signIn,s),{externalId:t}))))})),{}),signUp:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Q(((t,n)=>x(e.post(w(r.signUp,s),{externalId:t,user:n}))))})),{}),signUpOrIn:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Q((t=>x(e.post(w(r.signUpOrIn,s),{externalId:t}))))})),{}),update:{email:W(((t,s,n)=>x(e.post(r.update.email,{externalId:t,email:s},{token:n})))),phone:Object.keys(B).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:V(((t,n,a)=>x(e.post(w(r.update.phone,s),{externalId:t,phone:n},{token:a}))))})),{})}}),Y=L("identifier"),ee=L("uri"),te=z(L("token")),se=z(Y,ee),ne=z(L("pendingRef")),ae=z(Y,J("phone"),ee),ie=z(Y,H("email"),ee),re=e=>({verify:te((t=>x(e.post(o.verify,{token:t})))),signIn:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:se(((t,n)=>x(e.post(w(o.signIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUpOrIn:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:se(((t,n)=>x(e.post(w(o.signUpOrIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUp:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:se(((t,n,a)=>x(e.post(w(o.signUp,s),{externalId:t,URI:n,user:a,crossDevice:!0}))))})),{}),waitForSession:ne(((t,s)=>new Promise((n=>{const{pollingIntervalMs:a,timeoutMs:i}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||6e5,6e5)}))(s);let r;const u=setInterval((async()=>{const s=await e.post(o.session,{pendingRef:t});s.ok&&(clearInterval(u),r&&clearTimeout(r),n(x(Promise.resolve(s))))}),a);r=setTimeout((()=>{n({error:{message:`Session polling timeout exceeded: ${i}ms`,code:"0"},ok:!1}),clearInterval(u)}),i)})))),update:{email:ie(((t,s,n,a)=>x(e.post(o.update.email,{externalId:t,email:s,URI:n,crossDevice:!0},{token:a})))),phone:Object.keys(B).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ae(((t,n,a,i)=>x(e.post(w(o.update.phone,s),{externalId:t,phone:n,URI:a,crossDevice:!0},{token:i}))))})),{})}}),oe=e=>({verify:te((t=>x(e.post(o.verify,{token:t})))),signIn:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:se(((t,n)=>x(e.post(w(o.signIn,s),{externalId:t,URI:n}))))})),{}),signUp:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:se(((t,n,a)=>x(e.post(w(o.signUp,s),{externalId:t,URI:n,user:a}))))})),{}),signUpOrIn:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:se(((t,n)=>x(e.post(w(o.signUpOrIn,s),{externalId:t,URI:n}))))})),{}),update:{email:ie(((t,s,n,a)=>x(e.post(o.update.email,{externalId:t,email:s,URI:n},{token:a})))),phone:Object.keys(B).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ae(((t,n,a,i)=>x(e.post(w(o.update.phone,s),{externalId:t,phone:n,URI:a},{token:i}))))})),{})},crossDevice:re(e)}),ue=z(L("code")),ce=e=>({exchange:ue((t=>x(e.get(m,{queryParams:{code:t}}))))});var de;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple"}(de||(de={}));const pe=e=>Object.assign({start:Object.keys(de).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:async(t,{redirect:n=!1}={})=>{const a=await e.get(u.start,{queryParams:Object.assign({provider:s},t&&{redirectURL:t})});if(!n||!a.ok)return x(Promise.resolve(a));const{url:i}=await a.json();window.location.href=i}})),{})},ce(e)),ge=z(L("flowId")),le=z(L("executionId"),L("stepId"),L("interactionId")),he=e=>({start:ge((t=>x(e.post(v.start,{flowId:t})))),next:le(((t,s,n,a)=>x(e.post(v.next,{executionId:t,stepId:s,interactionId:n,input:a}))))}),ve=z(L("tenant")),me=e=>Object.assign({start:ve((async(t,s,{redirect:n=!1}={})=>{const a=await e.get(c.start,{queryParams:{tenant:t,redirectURL:s}});if(!n||!a.ok)return x(Promise.resolve(a));const{url:i}=await a.json();window.location.href=i}))},ce(e)),be=L("identifier"),fe=z(be,L("code")),ye=z(be),Ie=z(be),ke=e=>({signUp:ye(((t,s)=>x(e.post(d.signUp,{externalId:t,user:s})))),verify:fe(((t,s)=>x(e.post(d.verify,{externalId:t,code:s})))),update:Ie(((t,s)=>x(e.post(d.update,{externalId:t},{token:s}))))}),je=L("identifier"),Oe=L("origin"),Ue=z(je,Oe,L("name")),we=z(je,Oe),xe=z(je,Oe,L("token")),Pe=z(L("transactionId"),L("response")),Re=e=>({signUp:{start:Ue(((t,s,n)=>x(e.post(p.signUp.start,{user:{externalId:t,name:n},origin:s})))),finish:Pe(((t,s)=>x(e.post(p.signUp.finish,{transactionId:t,response:s}))))},signIn:{start:we(((t,s)=>x(e.post(p.signIn.start,{externalId:t,origin:s})))),finish:Pe(((t,s)=>x(e.post(p.signIn.finish,{transactionId:t,response:s}))))},update:{start:xe(((t,s,n)=>x(e.post(p.update.start,{externalId:t,origin:s},{token:n})))),finish:Pe(((t,s)=>x(e.post(p.update.finish,{transactionId:t,response:s}))))}}),qe=z(L("token"));var $e,Me;const Ee=z([($e="projectId",Me=L("projectId"),P(((e,t)=>s=>R(...t).validate(a.default(s,e)))($e,Me))())])((({projectId:e,logger:t,baseUrl:s,hooks:n,cookiePolicy:a})=>{return i=O({baseUrl:s||"https://api.descope.com",projectId:e,logger:t,hooks:n,cookiePolicy:a}),{accessKey:Z(i),otp:X(i),magicLink:oe(i),oauth:pe(i),saml:me(i),totp:ke(i),webauthn:Re(i),flow:he(i),refresh:e=>x(i.get(g,{token:e})),logout:e=>x(i.get(l,{token:e})),me:e=>x(i.get(h,{token:e})),isJwtExpired:qe(U),httpClient:i};var i}));Ee.DeliveryMethods=C,module.exports=Ee;
"use strict";var e=require("jwt-decode"),t=require("lodash.get");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=s(e),a=s(t),i={exchange:"/v1/auth/accesskey/exchange"},r={verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},o={verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",session:"/v1/auth/magiclink/pending-session",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/email"},signUpOrIn:"/v1/auth/magiclink/signup-in"},u={start:"/v1/auth/oauth/authorize"},c={start:"/v1/auth/saml/authorize"},d={verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/user/totp/update"},p={signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},l="/v1/auth/refresh",g="/v1/auth/logoutall",h="/v1/auth/me",v={start:"/v1/flow/start",next:"/v1/flow/next"},m="/v1/auth/exchange";var f;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(f||(f={}));const b=()=>{const e={};return{headers(t){const s="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(s),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},y=(e,t)=>{const s=t||fetch;if(!s)throw new Error("fetch is not defined");return e?async(...t)=>{e.log((e=>b().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const n=await s(...t);return e[n.ok?"log":"error"](await(async e=>{const t=await e.text();return e.text=()=>Promise.resolve(t),e.json=()=>Promise.resolve(JSON.parse(t)),b().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(n)),n}:s},I=(...e)=>new Headers(e.reduce(((e,t)=>{const s=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return s.reduce(((t,[s,n])=>(e[s]=n,e)),e),e}),{})),k=e=>void 0===e?void 0:JSON.stringify(e),j=(e,t="")=>{let s=e;return""!==t&&(s=s+":"+t),{Authorization:`Bearer ${s}`}},O=({baseUrl:e,projectId:t,baseConfig:s,logger:n,hooks:a,cookiePolicy:i})=>{const r=y(n),o=async n=>{const o=(null==a?void 0:a.beforeRequest)?a.beforeRequest(n):n,{path:u,body:c,headers:d,queryParams:p,method:l,token:g}=o,h=await r((({path:e,baseUrl:t,queryParams:s})=>{const n=new URL(e,t);return s&&(n.search=new URLSearchParams(s).toString()),n})({path:u,baseUrl:e,queryParams:p}),{headers:I(j(t,g),(null==s?void 0:s.baseHeaders)||{},d),method:l,body:k(c),credentials:i||"include"});return(null==a?void 0:a.afterRequest)&&a.afterRequest(n,null==h?void 0:h.clone()),h};return{get:(e,{headers:t,queryParams:s,token:n}={})=>o({path:e,headers:t,queryParams:s,body:void 0,method:f.get,token:n}),post:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:f.post,token:a}),put:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:f.put,token:a}),delete:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:f.delete,token:a})}};function w(e){const{exp:t}=$(e);return(new Date).getTime()/1e3>t}function U(e,t){return q(e,t,"permissions")}function x(e,t){return q(e,t,"roles")}const P=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function R(e){const t=await e,s={code:t.status,ok:t.ok,response:t},n=await t.json();return t.ok?s.data=n:s.error=n,s}function q(e,t,s){var n;let a=$(e);t&&(a=null===(n=a.tenants)||void 0===n?void 0:n[t]);const i=a[s];return Array.isArray(i)?i:[]}function $(e){if("string"!=typeof e||!e)throw new Error("Invalid token provided");return n.default(e)}const M=(e,t)=>(s=t)=>t=>!e(t)&&s.replace("{val}",t),E=(...e)=>({validate:t=>(e.forEach((e=>{const s=e(t);if(s)throw new Error(s)})),!0)}),S=e=>t=>e.test(t),T=S(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),A=S(/^\+[1-9]{1}[0-9]{3,14}$/),D=M(T,'"{val}" is not a valid email'),z=M(A,'"{val}" is not a valid phone number'),J=M((L=1,e=>e.length>=L),"Minimum length is 1");var L;const H=M((e=>"string"==typeof e),"Input is not a string"),N=(...e)=>t=>(...s)=>(e.forEach(((e,t)=>E(...e).validate(s[t]))),t(...s)),Z=e=>[H(`"${e}" must be a string`),J(`"${e}" must not be empty`)],B=e=>[H(`"${e}" must be a string`),D()],C=e=>[H(`"${e}" must be a string`),z()],K=N(Z("accessKey")),F=e=>({exchange:K((t=>R(e.get(i.exchange,{token:t}))))});var G,_,Q,V;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(G||(G={})),function(e){e.email="email",e.sms="sms",e.whatsapp="whatsapp"}(_||(_={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify"}(Q||(Q={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify",e.updatePhone="updatePhone"}(V||(V={}));const W=Z("identifier"),X=N(W,Z("code")),Y=N(W),ee=N(W,C("phone")),te=N(W,B("email")),se=e=>({verify:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:X(((t,n)=>R(e.post(P(r.verify,s),{code:n,externalId:t}))))})),{}),signIn:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y((t=>R(e.post(P(r.signIn,s),{externalId:t}))))})),{}),signUp:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y(((t,n)=>R(e.post(P(r.signUp,s),{externalId:t,user:n}))))})),{}),signUpOrIn:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y((t=>R(e.post(P(r.signUpOrIn,s),{externalId:t}))))})),{}),update:{email:te(((t,s,n)=>R(e.post(r.update.email,{externalId:t,email:s},{token:n})))),phone:Object.keys(G).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ee(((t,n,a)=>R(e.post(P(r.update.phone,s),{externalId:t,phone:n},{token:a}))))})),{})}}),ne=Z("identifier"),ae=Z("uri"),ie=N(Z("token")),re=N(ne,ae),oe=N(Z("pendingRef")),ue=N(ne,C("phone"),ae),ce=N(ne,B("email"),ae),de=e=>({verify:ie((t=>R(e.post(o.verify,{token:t})))),signIn:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:re(((t,n)=>R(e.post(P(o.signIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUpOrIn:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:re(((t,n)=>R(e.post(P(o.signUpOrIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUp:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:re(((t,n,a)=>R(e.post(P(o.signUp,s),{externalId:t,URI:n,user:a,crossDevice:!0}))))})),{}),waitForSession:oe(((t,s)=>new Promise((n=>{const{pollingIntervalMs:a,timeoutMs:i}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||6e5,6e5)}))(s);let r;const u=setInterval((async()=>{const s=await e.post(o.session,{pendingRef:t});s.ok&&(clearInterval(u),r&&clearTimeout(r),n(R(Promise.resolve(s))))}),a);r=setTimeout((()=>{n({error:{message:`Session polling timeout exceeded: ${i}ms`,code:"0"},ok:!1}),clearInterval(u)}),i)})))),update:{email:ce(((t,s,n,a)=>R(e.post(o.update.email,{externalId:t,email:s,URI:n,crossDevice:!0},{token:a})))),phone:Object.keys(G).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ue(((t,n,a,i)=>R(e.post(P(o.update.phone,s),{externalId:t,phone:n,URI:a,crossDevice:!0},{token:i}))))})),{})}}),pe=e=>({verify:ie((t=>R(e.post(o.verify,{token:t})))),signIn:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:re(((t,n)=>R(e.post(P(o.signIn,s),{externalId:t,URI:n}))))})),{}),signUp:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:re(((t,n,a)=>R(e.post(P(o.signUp,s),{externalId:t,URI:n,user:a}))))})),{}),signUpOrIn:Object.keys(_).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:re(((t,n)=>R(e.post(P(o.signUpOrIn,s),{externalId:t,URI:n}))))})),{}),update:{email:ce(((t,s,n,a)=>R(e.post(o.update.email,{externalId:t,email:s,URI:n},{token:a})))),phone:Object.keys(G).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ue(((t,n,a,i)=>R(e.post(P(o.update.phone,s),{externalId:t,phone:n,URI:a},{token:i}))))})),{})},crossDevice:de(e)}),le=N(Z("code")),ge=e=>({exchange:le((t=>R(e.get(m,{queryParams:{code:t}}))))});var he;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple"}(he||(he={}));const ve=e=>Object.assign({start:Object.keys(he).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:async(t,{redirect:n=!1}={})=>{const a=await e.get(u.start,{queryParams:Object.assign({provider:s},t&&{redirectURL:t})});if(!n||!a.ok)return R(Promise.resolve(a));const{url:i}=await a.json();window.location.href=i}})),{})},ge(e)),me=N(Z("flowId")),fe=N(Z("executionId"),Z("stepId"),Z("interactionId")),be=e=>({start:me((t=>R(e.post(v.start,{flowId:t})))),next:fe(((t,s,n,a)=>R(e.post(v.next,{executionId:t,stepId:s,interactionId:n,input:a}))))}),ye=N(Z("tenant")),Ie=e=>Object.assign({start:ye((async(t,s,{redirect:n=!1}={})=>{const a=await e.get(c.start,{queryParams:{tenant:t,redirectURL:s}});if(!n||!a.ok)return R(Promise.resolve(a));const{url:i}=await a.json();window.location.href=i}))},ge(e)),ke=Z("identifier"),je=N(ke,Z("code")),Oe=N(ke),we=N(ke),Ue=e=>({signUp:Oe(((t,s)=>R(e.post(d.signUp,{externalId:t,user:s})))),verify:je(((t,s)=>R(e.post(d.verify,{externalId:t,code:s})))),update:we(((t,s)=>R(e.post(d.update,{externalId:t},{token:s}))))}),xe=Z("identifier"),Pe=Z("origin"),Re=N(xe,Pe,Z("name")),qe=N(xe,Pe),$e=N(xe,Pe,Z("token")),Me=N(Z("transactionId"),Z("response")),Ee=e=>({signUp:{start:Re(((t,s,n)=>R(e.post(p.signUp.start,{user:{externalId:t,name:n},origin:s})))),finish:Me(((t,s)=>R(e.post(p.signUp.finish,{transactionId:t,response:s}))))},signIn:{start:qe(((t,s)=>R(e.post(p.signIn.start,{externalId:t,origin:s})))),finish:Me(((t,s)=>R(e.post(p.signIn.finish,{transactionId:t,response:s}))))},update:{start:$e(((t,s,n)=>R(e.post(p.update.start,{externalId:t,origin:s},{token:n})))),finish:Me(((t,s)=>R(e.post(p.update.finish,{transactionId:t,response:s}))))}}),Se=N(Z("token"));var Te,Ae;const De=N([(Te="projectId",Ae=Z("projectId"),M(((e,t)=>s=>E(...t).validate(a.default(s,e)))(Te,Ae))())])((({projectId:e,logger:t,baseUrl:s,hooks:n,cookiePolicy:a})=>{return i=O({baseUrl:s||"https://api.descope.com",projectId:e,logger:t,hooks:n,cookiePolicy:a}),{accessKey:F(i),otp:se(i),magicLink:pe(i),oauth:ve(i),saml:Ie(i),totp:Ue(i),webauthn:Ee(i),flow:be(i),refresh:e=>R(i.get(l,{token:e})),logout:e=>R(i.get(g,{token:e})),me:e=>R(i.get(h,{token:e})),isJwtExpired:Se(w),getJwtPermissions:Se(U),getJwtRoles:Se(x),httpClient:i};var i}));De.DeliveryMethods=_,module.exports=De;
//# sourceMappingURL=index.cjs.js.map

@@ -11,2 +11,3 @@ declare type SdkFn = (...args: any[]) => Promise<SdkResponse<ResponseData>>;

externalIds: string[];
userId: string;
verifiedEmail?: boolean;

@@ -255,2 +256,4 @@ verifiedPhone?: boolean;

isJwtExpired: (token: string) => boolean;
getJwtPermissions: (token: string, tenant?: string) => string[];
getJwtRoles: (token: string, tenant?: string) => string[];
httpClient: HttpClient;

@@ -257,0 +260,0 @@ }) & {

@@ -1,2 +0,2 @@

import e from"jwt-decode";import t from"lodash.get";var s={exchange:"/v1/auth/accesskey/exchange"},n={verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},a={verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",session:"/v1/auth/magiclink/pending-session",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/email"},signUpOrIn:"/v1/auth/magiclink/signup-in"},i={start:"/v1/auth/oauth/authorize"},r={start:"/v1/auth/saml/authorize"},o={verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/user/totp/update"},c={signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},u="/v1/auth/refresh",p="/v1/auth/logoutall",d="/v1/auth/me",g={start:"/v1/flow/start",next:"/v1/flow/next"},l="/v1/auth/exchange";var h;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(h||(h={}));const m=()=>{const e={};return{headers(t){const s="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(s),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},v=(e,t)=>{const s=t||fetch;if(!s)throw new Error("fetch is not defined");return e?async(...t)=>{e.log((e=>m().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const n=await s(...t);return e[n.ok?"log":"error"](await(async e=>{const t=await e.text();return e.text=()=>Promise.resolve(t),e.json=()=>Promise.resolve(JSON.parse(t)),m().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(n)),n}:s},b=(...e)=>new Headers(e.reduce(((e,t)=>{const s=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return s.reduce(((t,[s,n])=>(e[s]=n,e)),e),e}),{})),f=e=>void 0===e?void 0:JSON.stringify(e),y=(e,t="")=>{let s=e;return""!==t&&(s=s+":"+t),{Authorization:`Bearer ${s}`}},I=({baseUrl:e,projectId:t,baseConfig:s,logger:n,hooks:a,cookiePolicy:i})=>{const r=v(n),o=async n=>{const o=(null==a?void 0:a.beforeRequest)?a.beforeRequest(n):n,{path:c,body:u,headers:p,queryParams:d,method:g,token:l}=o,h=await r((({path:e,baseUrl:t,queryParams:s})=>{const n=new URL(e,t);return s&&(n.search=new URLSearchParams(s).toString()),n})({path:c,baseUrl:e,queryParams:d}),{headers:b(y(t,l),(null==s?void 0:s.baseHeaders)||{},p),method:g,body:f(u),credentials:i||"include"});return(null==a?void 0:a.afterRequest)&&a.afterRequest(n,null==h?void 0:h.clone()),h};return{get:(e,{headers:t,queryParams:s,token:n}={})=>o({path:e,headers:t,queryParams:s,body:void 0,method:h.get,token:n}),post:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:h.post,token:a}),put:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:h.put,token:a}),delete:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:h.delete,token:a})}},k=t=>{if("string"!=typeof t||!t)throw new Error("Invalid token provided");const{exp:s}=e(t);return(new Date).getTime()/1e3>s},j=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function O(e){const t=await e,s={code:t.status,ok:t.ok,response:t},n=await t.json();return t.ok?s.data=n:s.error=n,s}const U=(e,t)=>(s=t)=>t=>!e(t)&&s.replace("{val}",t),w=(...e)=>({validate:t=>(e.forEach((e=>{const s=e(t);if(s)throw new Error(s)})),!0)}),x=e=>t=>e.test(t),P=x(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),R=x(/^\+[1-9]{1}[0-9]{3,14}$/),q=U(P,'"{val}" is not a valid email'),$=U(R,'"{val}" is not a valid phone number'),M=U((E=1,e=>e.length>=E),"Minimum length is 1");var E;const S=U((e=>"string"==typeof e),"Input is not a string"),T=(...e)=>t=>(...s)=>(e.forEach(((e,t)=>w(...e).validate(s[t]))),t(...s)),D=e=>[S(`"${e}" must be a string`),M(`"${e}" must not be empty`)],A=e=>[S(`"${e}" must be a string`),q()],z=e=>[S(`"${e}" must be a string`),$()],L=T(D("accessKey")),H=e=>({exchange:L((t=>O(e.get(s.exchange,{token:t}))))});var J,N,Z,B;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(J||(J={})),function(e){e.email="email",e.sms="sms",e.whatsapp="whatsapp"}(N||(N={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify"}(Z||(Z={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify",e.updatePhone="updatePhone"}(B||(B={}));const C=D("identifier"),K=T(C,D("code")),F=T(C),G=T(C,z("phone")),_=T(C,A("email")),Q=e=>({verify:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:K(((t,a)=>O(e.post(j(n.verify,s),{code:a,externalId:t}))))})),{}),signIn:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:F((t=>O(e.post(j(n.signIn,s),{externalId:t}))))})),{}),signUp:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:F(((t,a)=>O(e.post(j(n.signUp,s),{externalId:t,user:a}))))})),{}),signUpOrIn:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:F((t=>O(e.post(j(n.signUpOrIn,s),{externalId:t}))))})),{}),update:{email:_(((t,s,a)=>O(e.post(n.update.email,{externalId:t,email:s},{token:a})))),phone:Object.keys(J).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:G(((t,a,i)=>O(e.post(j(n.update.phone,s),{externalId:t,phone:a},{token:i}))))})),{})}}),V=D("identifier"),W=D("uri"),X=T(D("token")),Y=T(V,W),ee=T(D("pendingRef")),te=T(V,z("phone"),W),se=T(V,A("email"),W),ne=e=>({verify:X((t=>O(e.post(a.verify,{token:t})))),signIn:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y(((t,n)=>O(e.post(j(a.signIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUpOrIn:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y(((t,n)=>O(e.post(j(a.signUpOrIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUp:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y(((t,n,i)=>O(e.post(j(a.signUp,s),{externalId:t,URI:n,user:i,crossDevice:!0}))))})),{}),waitForSession:ee(((t,s)=>new Promise((n=>{const{pollingIntervalMs:i,timeoutMs:r}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||6e5,6e5)}))(s);let o;const c=setInterval((async()=>{const s=await e.post(a.session,{pendingRef:t});s.ok&&(clearInterval(c),o&&clearTimeout(o),n(O(Promise.resolve(s))))}),i);o=setTimeout((()=>{n({error:{message:`Session polling timeout exceeded: ${r}ms`,code:"0"},ok:!1}),clearInterval(c)}),r)})))),update:{email:se(((t,s,n,i)=>O(e.post(a.update.email,{externalId:t,email:s,URI:n,crossDevice:!0},{token:i})))),phone:Object.keys(J).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:te(((t,n,i,r)=>O(e.post(j(a.update.phone,s),{externalId:t,phone:n,URI:i,crossDevice:!0},{token:r}))))})),{})}}),ae=e=>({verify:X((t=>O(e.post(a.verify,{token:t})))),signIn:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y(((t,n)=>O(e.post(j(a.signIn,s),{externalId:t,URI:n}))))})),{}),signUp:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y(((t,n,i)=>O(e.post(j(a.signUp,s),{externalId:t,URI:n,user:i}))))})),{}),signUpOrIn:Object.keys(N).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Y(((t,n)=>O(e.post(j(a.signUpOrIn,s),{externalId:t,URI:n}))))})),{}),update:{email:se(((t,s,n,i)=>O(e.post(a.update.email,{externalId:t,email:s,URI:n},{token:i})))),phone:Object.keys(J).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:te(((t,n,i,r)=>O(e.post(j(a.update.phone,s),{externalId:t,phone:n,URI:i},{token:r}))))})),{})},crossDevice:ne(e)}),ie=T(D("code")),re=e=>({exchange:ie((t=>O(e.get(l,{queryParams:{code:t}}))))});var oe;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple"}(oe||(oe={}));const ce=e=>Object.assign({start:Object.keys(oe).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:async(t,{redirect:n=!1}={})=>{const a=await e.get(i.start,{queryParams:Object.assign({provider:s},t&&{redirectURL:t})});if(!n||!a.ok)return O(Promise.resolve(a));const{url:r}=await a.json();window.location.href=r}})),{})},re(e)),ue=T(D("flowId")),pe=T(D("executionId"),D("stepId"),D("interactionId")),de=e=>({start:ue((t=>O(e.post(g.start,{flowId:t})))),next:pe(((t,s,n,a)=>O(e.post(g.next,{executionId:t,stepId:s,interactionId:n,input:a}))))}),ge=T(D("tenant")),le=e=>Object.assign({start:ge((async(t,s,{redirect:n=!1}={})=>{const a=await e.get(r.start,{queryParams:{tenant:t,redirectURL:s}});if(!n||!a.ok)return O(Promise.resolve(a));const{url:i}=await a.json();window.location.href=i}))},re(e)),he=D("identifier"),me=T(he,D("code")),ve=T(he),be=T(he),fe=e=>({signUp:ve(((t,s)=>O(e.post(o.signUp,{externalId:t,user:s})))),verify:me(((t,s)=>O(e.post(o.verify,{externalId:t,code:s})))),update:be(((t,s)=>O(e.post(o.update,{externalId:t},{token:s}))))}),ye=D("identifier"),Ie=D("origin"),ke=T(ye,Ie,D("name")),je=T(ye,Ie),Oe=T(ye,Ie,D("token")),Ue=T(D("transactionId"),D("response")),we=e=>({signUp:{start:ke(((t,s,n)=>O(e.post(c.signUp.start,{user:{externalId:t,name:n},origin:s})))),finish:Ue(((t,s)=>O(e.post(c.signUp.finish,{transactionId:t,response:s}))))},signIn:{start:je(((t,s)=>O(e.post(c.signIn.start,{externalId:t,origin:s})))),finish:Ue(((t,s)=>O(e.post(c.signIn.finish,{transactionId:t,response:s}))))},update:{start:Oe(((t,s,n)=>O(e.post(c.update.start,{externalId:t,origin:s},{token:n})))),finish:Ue(((t,s)=>O(e.post(c.update.finish,{transactionId:t,response:s}))))}}),xe=T(D("token"));var Pe,Re;const qe=T([(Pe="projectId",Re=D("projectId"),U(((e,s)=>n=>w(...s).validate(t(n,e)))(Pe,Re))())])((({projectId:e,logger:t,baseUrl:s,hooks:n,cookiePolicy:a})=>{return i=I({baseUrl:s||"https://api.descope.com",projectId:e,logger:t,hooks:n,cookiePolicy:a}),{accessKey:H(i),otp:Q(i),magicLink:ae(i),oauth:ce(i),saml:le(i),totp:fe(i),webauthn:we(i),flow:de(i),refresh:e=>O(i.get(u,{token:e})),logout:e=>O(i.get(p,{token:e})),me:e=>O(i.get(d,{token:e})),isJwtExpired:xe(k),httpClient:i};var i}));qe.DeliveryMethods=N;export{qe as default};
import e from"jwt-decode";import t from"lodash.get";var s={exchange:"/v1/auth/accesskey/exchange"},n={verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},a={verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",session:"/v1/auth/magiclink/pending-session",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/email"},signUpOrIn:"/v1/auth/magiclink/signup-in"},i={start:"/v1/auth/oauth/authorize"},r={start:"/v1/auth/saml/authorize"},o={verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/user/totp/update"},u={signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},c="/v1/auth/refresh",p="/v1/auth/logoutall",d="/v1/auth/me",g={start:"/v1/flow/start",next:"/v1/flow/next"},l="/v1/auth/exchange";var h;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(h||(h={}));const m=()=>{const e={};return{headers(t){const s="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(s),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},v=(e,t)=>{const s=t||fetch;if(!s)throw new Error("fetch is not defined");return e?async(...t)=>{e.log((e=>m().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const n=await s(...t);return e[n.ok?"log":"error"](await(async e=>{const t=await e.text();return e.text=()=>Promise.resolve(t),e.json=()=>Promise.resolve(JSON.parse(t)),m().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(n)),n}:s},f=(...e)=>new Headers(e.reduce(((e,t)=>{const s=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return s.reduce(((t,[s,n])=>(e[s]=n,e)),e),e}),{})),b=e=>void 0===e?void 0:JSON.stringify(e),y=(e,t="")=>{let s=e;return""!==t&&(s=s+":"+t),{Authorization:`Bearer ${s}`}},I=({baseUrl:e,projectId:t,baseConfig:s,logger:n,hooks:a,cookiePolicy:i})=>{const r=v(n),o=async n=>{const o=(null==a?void 0:a.beforeRequest)?a.beforeRequest(n):n,{path:u,body:c,headers:p,queryParams:d,method:g,token:l}=o,h=await r((({path:e,baseUrl:t,queryParams:s})=>{const n=new URL(e,t);return s&&(n.search=new URLSearchParams(s).toString()),n})({path:u,baseUrl:e,queryParams:d}),{headers:f(y(t,l),(null==s?void 0:s.baseHeaders)||{},p),method:g,body:b(c),credentials:i||"include"});return(null==a?void 0:a.afterRequest)&&a.afterRequest(n,null==h?void 0:h.clone()),h};return{get:(e,{headers:t,queryParams:s,token:n}={})=>o({path:e,headers:t,queryParams:s,body:void 0,method:h.get,token:n}),post:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:h.post,token:a}),put:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:h.put,token:a}),delete:(e,t,{headers:s,queryParams:n,token:a}={})=>o({path:e,headers:s,queryParams:n,body:t,method:h.delete,token:a})}};function k(e){const{exp:t}=P(e);return(new Date).getTime()/1e3>t}function j(e,t){return x(e,t,"permissions")}function O(e,t){return x(e,t,"roles")}const w=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function U(e){const t=await e,s={code:t.status,ok:t.ok,response:t},n=await t.json();return t.ok?s.data=n:s.error=n,s}function x(e,t,s){var n;let a=P(e);t&&(a=null===(n=a.tenants)||void 0===n?void 0:n[t]);const i=a[s];return Array.isArray(i)?i:[]}function P(t){if("string"!=typeof t||!t)throw new Error("Invalid token provided");return e(t)}const R=(e,t)=>(s=t)=>t=>!e(t)&&s.replace("{val}",t),q=(...e)=>({validate:t=>(e.forEach((e=>{const s=e(t);if(s)throw new Error(s)})),!0)}),$=e=>t=>e.test(t),M=$(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),E=$(/^\+[1-9]{1}[0-9]{3,14}$/),S=R(M,'"{val}" is not a valid email'),T=R(E,'"{val}" is not a valid phone number'),A=R((D=1,e=>e.length>=D),"Minimum length is 1");var D;const z=R((e=>"string"==typeof e),"Input is not a string"),J=(...e)=>t=>(...s)=>(e.forEach(((e,t)=>q(...e).validate(s[t]))),t(...s)),L=e=>[z(`"${e}" must be a string`),A(`"${e}" must not be empty`)],H=e=>[z(`"${e}" must be a string`),S()],N=e=>[z(`"${e}" must be a string`),T()],Z=J(L("accessKey")),B=e=>({exchange:Z((t=>U(e.get(s.exchange,{token:t}))))});var C,K,F,G;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(C||(C={})),function(e){e.email="email",e.sms="sms",e.whatsapp="whatsapp"}(K||(K={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify"}(F||(F={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify",e.updatePhone="updatePhone"}(G||(G={}));const _=L("identifier"),Q=J(_,L("code")),V=J(_),W=J(_,N("phone")),X=J(_,H("email")),Y=e=>({verify:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:Q(((t,a)=>U(e.post(w(n.verify,s),{code:a,externalId:t}))))})),{}),signIn:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:V((t=>U(e.post(w(n.signIn,s),{externalId:t}))))})),{}),signUp:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:V(((t,a)=>U(e.post(w(n.signUp,s),{externalId:t,user:a}))))})),{}),signUpOrIn:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:V((t=>U(e.post(w(n.signUpOrIn,s),{externalId:t}))))})),{}),update:{email:X(((t,s,a)=>U(e.post(n.update.email,{externalId:t,email:s},{token:a})))),phone:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:W(((t,a,i)=>U(e.post(w(n.update.phone,s),{externalId:t,phone:a},{token:i}))))})),{})}}),ee=L("identifier"),te=L("uri"),se=J(L("token")),ne=J(ee,te),ae=J(L("pendingRef")),ie=J(ee,N("phone"),te),re=J(ee,H("email"),te),oe=e=>({verify:se((t=>U(e.post(a.verify,{token:t})))),signIn:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ne(((t,n)=>U(e.post(w(a.signIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUpOrIn:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ne(((t,n)=>U(e.post(w(a.signUpOrIn,s),{externalId:t,URI:n,crossDevice:!0}))))})),{}),signUp:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ne(((t,n,i)=>U(e.post(w(a.signUp,s),{externalId:t,URI:n,user:i,crossDevice:!0}))))})),{}),waitForSession:ae(((t,s)=>new Promise((n=>{const{pollingIntervalMs:i,timeoutMs:r}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||6e5,6e5)}))(s);let o;const u=setInterval((async()=>{const s=await e.post(a.session,{pendingRef:t});s.ok&&(clearInterval(u),o&&clearTimeout(o),n(U(Promise.resolve(s))))}),i);o=setTimeout((()=>{n({error:{message:`Session polling timeout exceeded: ${r}ms`,code:"0"},ok:!1}),clearInterval(u)}),r)})))),update:{email:re(((t,s,n,i)=>U(e.post(a.update.email,{externalId:t,email:s,URI:n,crossDevice:!0},{token:i})))),phone:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ie(((t,n,i,r)=>U(e.post(w(a.update.phone,s),{externalId:t,phone:n,URI:i,crossDevice:!0},{token:r}))))})),{})}}),ue=e=>({verify:se((t=>U(e.post(a.verify,{token:t})))),signIn:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ne(((t,n)=>U(e.post(w(a.signIn,s),{externalId:t,URI:n}))))})),{}),signUp:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ne(((t,n,i)=>U(e.post(w(a.signUp,s),{externalId:t,URI:n,user:i}))))})),{}),signUpOrIn:Object.keys(K).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ne(((t,n)=>U(e.post(w(a.signUpOrIn,s),{externalId:t,URI:n}))))})),{}),update:{email:re(((t,s,n,i)=>U(e.post(a.update.email,{externalId:t,email:s,URI:n},{token:i})))),phone:Object.keys(C).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:ie(((t,n,i,r)=>U(e.post(w(a.update.phone,s),{externalId:t,phone:n,URI:i},{token:r}))))})),{})},crossDevice:oe(e)}),ce=J(L("code")),pe=e=>({exchange:ce((t=>U(e.get(l,{queryParams:{code:t}}))))});var de;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple"}(de||(de={}));const ge=e=>Object.assign({start:Object.keys(de).reduce(((t,s)=>Object.assign(Object.assign({},t),{[s]:async(t,{redirect:n=!1}={})=>{const a=await e.get(i.start,{queryParams:Object.assign({provider:s},t&&{redirectURL:t})});if(!n||!a.ok)return U(Promise.resolve(a));const{url:r}=await a.json();window.location.href=r}})),{})},pe(e)),le=J(L("flowId")),he=J(L("executionId"),L("stepId"),L("interactionId")),me=e=>({start:le((t=>U(e.post(g.start,{flowId:t})))),next:he(((t,s,n,a)=>U(e.post(g.next,{executionId:t,stepId:s,interactionId:n,input:a}))))}),ve=J(L("tenant")),fe=e=>Object.assign({start:ve((async(t,s,{redirect:n=!1}={})=>{const a=await e.get(r.start,{queryParams:{tenant:t,redirectURL:s}});if(!n||!a.ok)return U(Promise.resolve(a));const{url:i}=await a.json();window.location.href=i}))},pe(e)),be=L("identifier"),ye=J(be,L("code")),Ie=J(be),ke=J(be),je=e=>({signUp:Ie(((t,s)=>U(e.post(o.signUp,{externalId:t,user:s})))),verify:ye(((t,s)=>U(e.post(o.verify,{externalId:t,code:s})))),update:ke(((t,s)=>U(e.post(o.update,{externalId:t},{token:s}))))}),Oe=L("identifier"),we=L("origin"),Ue=J(Oe,we,L("name")),xe=J(Oe,we),Pe=J(Oe,we,L("token")),Re=J(L("transactionId"),L("response")),qe=e=>({signUp:{start:Ue(((t,s,n)=>U(e.post(u.signUp.start,{user:{externalId:t,name:n},origin:s})))),finish:Re(((t,s)=>U(e.post(u.signUp.finish,{transactionId:t,response:s}))))},signIn:{start:xe(((t,s)=>U(e.post(u.signIn.start,{externalId:t,origin:s})))),finish:Re(((t,s)=>U(e.post(u.signIn.finish,{transactionId:t,response:s}))))},update:{start:Pe(((t,s,n)=>U(e.post(u.update.start,{externalId:t,origin:s},{token:n})))),finish:Re(((t,s)=>U(e.post(u.update.finish,{transactionId:t,response:s}))))}}),$e=J(L("token"));var Me,Ee;const Se=J([(Me="projectId",Ee=L("projectId"),R(((e,s)=>n=>q(...s).validate(t(n,e)))(Me,Ee))())])((({projectId:e,logger:t,baseUrl:s,hooks:n,cookiePolicy:a})=>{return i=I({baseUrl:s||"https://api.descope.com",projectId:e,logger:t,hooks:n,cookiePolicy:a}),{accessKey:B(i),otp:Y(i),magicLink:ue(i),oauth:ge(i),saml:fe(i),totp:je(i),webauthn:qe(i),flow:me(i),refresh:e=>U(i.get(c,{token:e})),logout:e=>U(i.get(p,{token:e})),me:e=>U(i.get(d,{token:e})),isJwtExpired:$e(k),getJwtPermissions:$e(j),getJwtRoles:$e(O),httpClient:i};var i}));Se.DeliveryMethods=K;export{Se as default};
//# sourceMappingURL=index.esm.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).descopeSdk=t()}(this,(function(){"use strict";var e={exchange:"/v1/auth/accesskey/exchange"},t={verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},n={verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",session:"/v1/auth/magiclink/pending-session",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/email"},signUpOrIn:"/v1/auth/magiclink/signup-in"},r={start:"/v1/auth/oauth/authorize"},o={start:"/v1/auth/saml/authorize"},s={verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/user/totp/update"},a={signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},i="/v1/auth/refresh",c="/v1/auth/logoutall",u="/v1/auth/me",p={start:"/v1/flow/start",next:"/v1/flow/next"},d="/v1/auth/exchange";const l=1e3,h=6e5;var f;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(f||(f={}));const g=()=>{const e={};return{headers(t){const n="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},v=(e,t)=>{const n=t||fetch;if(!n)throw new Error("fetch is not defined");return e?async(...t)=>{e.log((e=>g().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const r=await n(...t);return e[r.ok?"log":"error"](await(async e=>{const t=await e.text();return e.text=()=>Promise.resolve(t),e.json=()=>Promise.resolve(JSON.parse(t)),g().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(r)),r}:n},y=(...e)=>new Headers(e.reduce(((e,t)=>{const n=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return n.reduce(((t,[n,r])=>(e[n]=r,e)),e),e}),{})),b=e=>void 0===e?void 0:JSON.stringify(e),m=(e,t="")=>{let n=e;return""!==t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},I=({baseUrl:e,projectId:t,baseConfig:n,logger:r,hooks:o,cookiePolicy:s})=>{const a=v(r),i=async r=>{const i=(null==o?void 0:o.beforeRequest)?o.beforeRequest(r):r,{path:c,body:u,headers:p,queryParams:d,method:l,token:h}=i,f=await a((({path:e,baseUrl:t,queryParams:n})=>{const r=new URL(e,t);return n&&(r.search=new URLSearchParams(n).toString()),r})({path:c,baseUrl:e,queryParams:d}),{headers:y(m(t,h),(null==n?void 0:n.baseHeaders)||{},p),method:l,body:b(u),credentials:s||"include"});return(null==o?void 0:o.afterRequest)&&o.afterRequest(r,null==f?void 0:f.clone()),f};return{get:(e,{headers:t,queryParams:n,token:r}={})=>i({path:e,headers:t,queryParams:n,body:void 0,method:f.get,token:r}),post:(e,t,{headers:n,queryParams:r,token:o}={})=>i({path:e,headers:n,queryParams:r,body:t,method:f.post,token:o}),put:(e,t,{headers:n,queryParams:r,token:o}={})=>i({path:e,headers:n,queryParams:r,body:t,method:f.put,token:o}),delete:(e,t,{headers:n,queryParams:r,token:o}={})=>i({path:e,headers:n,queryParams:r,body:t,method:f.delete,token:o})}};function j(e){this.message=e}j.prototype=new Error,j.prototype.name="InvalidCharacterError";var k="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new j("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,s=0,a="";r=t.charAt(s++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function w(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(k(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return k(t)}}function O(e){this.message=e}O.prototype=new Error,O.prototype.name="InvalidTokenError";const _=e=>{if("string"!=typeof e||!e)throw new Error("Invalid token provided");const{exp:t}=function(e,t){if("string"!=typeof e)throw new O("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(w(e.split(".")[n]))}catch(e){throw new O("Invalid token specified: "+e.message)}}(e);return(new Date).getTime()/1e3>t},U=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function x(e){const t=await e,n={code:t.status,ok:t.ok,response:t},r=await t.json();return t.ok?n.data=r:n.error=r,n}const P=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),R=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)});var S="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},$="__lodash_hash_undefined__",q="[object Function]",E="[object GeneratorFunction]",T=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,M=/^\w*$/,A=/^\./,C=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,D=/\\(\\)?/g,z=/^\[object .+?Constructor\]$/,L="object"==typeof S&&S&&S.Object===Object&&S,F="object"==typeof self&&self&&self.Object===Object&&self,J=L||F||Function("return this")();var H,N=Array.prototype,Z=Function.prototype,B=Object.prototype,G=J["__core-js_shared__"],K=(H=/[^.]+$/.exec(G&&G.keys&&G.keys.IE_PROTO||""))?"Symbol(src)_1."+H:"",Q=Z.toString,V=B.hasOwnProperty,W=B.toString,X=RegExp("^"+Q.call(V).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Y=J.Symbol,ee=N.splice,te=le(J,"Map"),ne=le(Object,"create"),re=Y?Y.prototype:void 0,oe=re?re.toString:void 0;function se(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ae(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ie(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ce(e,t){for(var n,r,o=e.length;o--;)if((n=e[o][0])===(r=t)||n!=n&&r!=r)return o;return-1}function ue(e,t){var n;t=function(e,t){if(ve(e))return!1;var n=typeof e;if("number"==n||"symbol"==n||"boolean"==n||null==e||be(e))return!0;return M.test(e)||!T.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:ve(n=t)?n:he(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[fe(t[r++])];return r&&r==o?e:void 0}function pe(e){if(!ye(e)||(t=e,K&&K in t))return!1;var t,n=function(e){var t=ye(e)?W.call(e):"";return t==q||t==E}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?X:z;return n.test(function(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function de(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function le(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return pe(n)?n:void 0}se.prototype.clear=function(){this.__data__=ne?ne(null):{}},se.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},se.prototype.get=function(e){var t=this.__data__;if(ne){var n=t[e];return n===$?void 0:n}return V.call(t,e)?t[e]:void 0},se.prototype.has=function(e){var t=this.__data__;return ne?void 0!==t[e]:V.call(t,e)},se.prototype.set=function(e,t){return this.__data__[e]=ne&&void 0===t?$:t,this},ae.prototype.clear=function(){this.__data__=[]},ae.prototype.delete=function(e){var t=this.__data__,n=ce(t,e);return!(n<0)&&(n==t.length-1?t.pop():ee.call(t,n,1),!0)},ae.prototype.get=function(e){var t=this.__data__,n=ce(t,e);return n<0?void 0:t[n][1]},ae.prototype.has=function(e){return ce(this.__data__,e)>-1},ae.prototype.set=function(e,t){var n=this.__data__,r=ce(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},ie.prototype.clear=function(){this.__data__={hash:new se,map:new(te||ae),string:new se}},ie.prototype.delete=function(e){return de(this,e).delete(e)},ie.prototype.get=function(e){return de(this,e).get(e)},ie.prototype.has=function(e){return de(this,e).has(e)},ie.prototype.set=function(e,t){return de(this,e).set(e,t),this};var he=ge((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(be(e))return oe?oe.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return A.test(e)&&n.push(""),e.replace(C,(function(e,t,r,o){n.push(r?o.replace(D,"$1"):t||e)})),n}));function fe(e){if("string"==typeof e||be(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function ge(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],s=n.cache;if(s.has(o))return s.get(o);var a=e.apply(this,r);return n.cache=s.set(o,a),a};return n.cache=new(ge.Cache||ie),n}ge.Cache=ie;var ve=Array.isArray;function ye(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function be(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==W.call(e)}var me=function(e,t,n){var r=null==e?void 0:ue(e,t);return void 0===r?n:r};const Ie=e=>t=>e.test(t),je=Ie(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),ke=Ie(/^\+[1-9]{1}[0-9]{3,14}$/),we=P(je,'"{val}" is not a valid email'),Oe=P(ke,'"{val}" is not a valid phone number'),_e=P((Ue=1,e=>e.length>=Ue),"Minimum length is 1");var Ue;const xe=P((e=>"string"==typeof e),"Input is not a string"),Pe=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>R(...e).validate(n[t]))),t(...n)),Re=e=>[xe(`"${e}" must be a string`),_e(`"${e}" must not be empty`)],Se=e=>[xe(`"${e}" must be a string`),we()],$e=e=>[xe(`"${e}" must be a string`),Oe()],qe=Pe(Re("accessKey")),Ee=t=>({exchange:qe((n=>x(t.get(e.exchange,{token:n}))))});var Te,Me,Ae,Ce;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(Te||(Te={})),function(e){e.email="email",e.sms="sms",e.whatsapp="whatsapp"}(Me||(Me={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify"}(Ae||(Ae={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify",e.updatePhone="updatePhone"}(Ce||(Ce={}));const De=Re("identifier"),ze=Pe(De,Re("code")),Le=Pe(De),Fe=Pe(De,$e("phone")),Je=Pe(De,Se("email")),He=e=>({verify:Object.keys(Me).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:ze(((n,o)=>x(e.post(U(t.verify,r),{code:o,externalId:n}))))})),{}),signIn:Object.keys(Me).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Le((n=>x(e.post(U(t.signIn,r),{externalId:n}))))})),{}),signUp:Object.keys(Me).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Le(((n,o)=>x(e.post(U(t.signUp,r),{externalId:n,user:o}))))})),{}),signUpOrIn:Object.keys(Me).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Le((n=>x(e.post(U(t.signUpOrIn,r),{externalId:n}))))})),{}),update:{email:Je(((n,r,o)=>x(e.post(t.update.email,{externalId:n,email:r},{token:o})))),phone:Object.keys(Te).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Fe(((n,o,s)=>x(e.post(U(t.update.phone,r),{externalId:n,phone:o},{token:s}))))})),{})}}),Ne=Re("identifier"),Ze=Re("uri"),Be=Pe(Re("token")),Ge=Pe(Ne,Ze),Ke=Pe(Re("pendingRef")),Qe=Pe(Ne,$e("phone"),Ze),Ve=Pe(Ne,Se("email"),Ze),We=e=>({verify:Be((t=>x(e.post(n.verify,{token:t})))),signIn:Object.keys(Me).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ge(((t,o)=>x(e.post(U(n.signIn,r),{externalId:t,URI:o,crossDevice:!0}))))})),{}),signUpOrIn:Object.keys(Me).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ge(((t,o)=>x(e.post(U(n.signUpOrIn,r),{externalId:t,URI:o,crossDevice:!0}))))})),{}),signUp:Object.keys(Me).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ge(((t,o,s)=>x(e.post(U(n.signUp,r),{externalId:t,URI:o,user:s,crossDevice:!0}))))})),{}),waitForSession:Ke(((t,r)=>new Promise((o=>{const{pollingIntervalMs:s,timeoutMs:a}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||l,l),timeoutMs:Math.min(t||h,h)}))(r);let i;const c=setInterval((async()=>{const r=await e.post(n.session,{pendingRef:t});r.ok&&(clearInterval(c),i&&clearTimeout(i),o(x(Promise.resolve(r))))}),s);i=setTimeout((()=>{o({error:{message:`Session polling timeout exceeded: ${a}ms`,code:"0"},ok:!1}),clearInterval(c)}),a)})))),update:{email:Ve(((t,r,o,s)=>x(e.post(n.update.email,{externalId:t,email:r,URI:o,crossDevice:!0},{token:s})))),phone:Object.keys(Te).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Qe(((t,o,s,a)=>x(e.post(U(n.update.phone,r),{externalId:t,phone:o,URI:s,crossDevice:!0},{token:a}))))})),{})}}),Xe=e=>({verify:Be((t=>x(e.post(n.verify,{token:t})))),signIn:Object.keys(Me).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ge(((t,o)=>x(e.post(U(n.signIn,r),{externalId:t,URI:o}))))})),{}),signUp:Object.keys(Me).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ge(((t,o,s)=>x(e.post(U(n.signUp,r),{externalId:t,URI:o,user:s}))))})),{}),signUpOrIn:Object.keys(Me).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ge(((t,o)=>x(e.post(U(n.signUpOrIn,r),{externalId:t,URI:o}))))})),{}),update:{email:Ve(((t,r,o,s)=>x(e.post(n.update.email,{externalId:t,email:r,URI:o},{token:s})))),phone:Object.keys(Te).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Qe(((t,o,s,a)=>x(e.post(U(n.update.phone,r),{externalId:t,phone:o,URI:s},{token:a}))))})),{})},crossDevice:We(e)}),Ye=Pe(Re("code")),et=e=>({exchange:Ye((t=>x(e.get(d,{queryParams:{code:t}}))))});var tt;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple"}(tt||(tt={}));const nt=e=>Object.assign({start:Object.keys(tt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:async(t,{redirect:o=!1}={})=>{const s=await e.get(r.start,{queryParams:Object.assign({provider:n},t&&{redirectURL:t})});if(!o||!s.ok)return x(Promise.resolve(s));const{url:a}=await s.json();window.location.href=a}})),{})},et(e)),rt=Pe(Re("flowId")),ot=Pe(Re("executionId"),Re("stepId"),Re("interactionId")),st=e=>({start:rt((t=>x(e.post(p.start,{flowId:t})))),next:ot(((t,n,r,o)=>x(e.post(p.next,{executionId:t,stepId:n,interactionId:r,input:o}))))}),at=Pe(Re("tenant")),it=e=>Object.assign({start:at((async(t,n,{redirect:r=!1}={})=>{const s=await e.get(o.start,{queryParams:{tenant:t,redirectURL:n}});if(!r||!s.ok)return x(Promise.resolve(s));const{url:a}=await s.json();window.location.href=a}))},et(e)),ct=Re("identifier"),ut=Pe(ct,Re("code")),pt=Pe(ct),dt=Pe(ct),lt=e=>({signUp:pt(((t,n)=>x(e.post(s.signUp,{externalId:t,user:n})))),verify:ut(((t,n)=>x(e.post(s.verify,{externalId:t,code:n})))),update:dt(((t,n)=>x(e.post(s.update,{externalId:t},{token:n}))))}),ht=Re("identifier"),ft=Re("origin"),gt=Pe(ht,ft,Re("name")),vt=Pe(ht,ft),yt=Pe(ht,ft,Re("token")),bt=Pe(Re("transactionId"),Re("response")),mt=e=>({signUp:{start:gt(((t,n,r)=>x(e.post(a.signUp.start,{user:{externalId:t,name:r},origin:n})))),finish:bt(((t,n)=>x(e.post(a.signUp.finish,{transactionId:t,response:n}))))},signIn:{start:vt(((t,n)=>x(e.post(a.signIn.start,{externalId:t,origin:n})))),finish:bt(((t,n)=>x(e.post(a.signIn.finish,{transactionId:t,response:n}))))},update:{start:yt(((t,n,r)=>x(e.post(a.update.start,{externalId:t,origin:n},{token:r})))),finish:bt(((t,n)=>x(e.post(a.update.finish,{transactionId:t,response:n}))))}}),It=Pe(Re("token"));var jt,kt;const wt=Pe([(jt="projectId",kt=Re("projectId"),P(((e,t)=>n=>R(...t).validate(me(n,e)))(jt,kt))())])((({projectId:e,logger:t,baseUrl:n,hooks:r,cookiePolicy:o})=>{return s=I({baseUrl:n||"https://api.descope.com",projectId:e,logger:t,hooks:r,cookiePolicy:o}),{accessKey:Ee(s),otp:He(s),magicLink:Xe(s),oauth:nt(s),saml:it(s),totp:lt(s),webauthn:mt(s),flow:st(s),refresh:e=>x(s.get(i,{token:e})),logout:e=>x(s.get(c,{token:e})),me:e=>x(s.get(u,{token:e})),isJwtExpired:It(_),httpClient:s};var s}));return wt.DeliveryMethods=Me,wt}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).descopeSdk=t()}(this,(function(){"use strict";var e={exchange:"/v1/auth/accesskey/exchange"},t={verify:"/v1/auth/otp/verify",signIn:"/v1/auth/otp/signin",signUp:"/v1/auth/otp/signup",update:{email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},signUpOrIn:"/v1/auth/otp/signup-in"},n={verify:"/v1/auth/magiclink/verify",signIn:"/v1/auth/magiclink/signin",signUp:"/v1/auth/magiclink/signup",session:"/v1/auth/magiclink/pending-session",update:{email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/email"},signUpOrIn:"/v1/auth/magiclink/signup-in"},r={start:"/v1/auth/oauth/authorize"},o={start:"/v1/auth/saml/authorize"},s={verify:"/v1/auth/totp/verify",signUp:"/v1/auth/totp/signup",update:"/v1/user/totp/update"},a={signUp:{start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},signIn:{start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},update:{start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"}},i="/v1/auth/refresh",c="/v1/auth/logoutall",u="/v1/auth/me",p={start:"/v1/flow/start",next:"/v1/flow/next"},l="/v1/auth/exchange";const d=1e3,h=6e5;var f;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(f||(f={}));const g=()=>{const e={};return{headers(t){const n="function"==typeof t.entries?Object.fromEntries(t.entries()):t;return e.Headers=JSON.stringify(n),this},body(t){return e.Body=t,this},url(t){return e.Url=t.toString(),this},method(t){return e.Method=t,this},title(t){return e.Title=t,this},status(t){return e.Status=t,this},build:()=>Object.keys(e).flatMap((t=>e[t]?[`${"Title"!==t?`${t}: `:""}${e[t]}`]:[])).join("\n")}},v=(e,t)=>{const n=t||fetch;if(!n)throw new Error("fetch is not defined");return e?async(...t)=>{e.log((e=>g().title("Request").url(e[0]).method(e[1].method).headers(e[1].headers).body(e[1].body).build())(t));const r=await n(...t);return e[r.ok?"log":"error"](await(async e=>{const t=await e.text();return e.text=()=>Promise.resolve(t),e.json=()=>Promise.resolve(JSON.parse(t)),g().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(r)),r}:n},y=(...e)=>new Headers(e.reduce(((e,t)=>{const n=(e=>Array.isArray(e)?e:e instanceof Headers?Array.from(e.entries()):e?Object.entries(e):[])(t);return n.reduce(((t,[n,r])=>(e[n]=r,e)),e),e}),{})),b=e=>void 0===e?void 0:JSON.stringify(e),m=(e,t="")=>{let n=e;return""!==t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},I=({baseUrl:e,projectId:t,baseConfig:n,logger:r,hooks:o,cookiePolicy:s})=>{const a=v(r),i=async r=>{const i=(null==o?void 0:o.beforeRequest)?o.beforeRequest(r):r,{path:c,body:u,headers:p,queryParams:l,method:d,token:h}=i,f=await a((({path:e,baseUrl:t,queryParams:n})=>{const r=new URL(e,t);return n&&(r.search=new URLSearchParams(n).toString()),r})({path:c,baseUrl:e,queryParams:l}),{headers:y(m(t,h),(null==n?void 0:n.baseHeaders)||{},p),method:d,body:b(u),credentials:s||"include"});return(null==o?void 0:o.afterRequest)&&o.afterRequest(r,null==f?void 0:f.clone()),f};return{get:(e,{headers:t,queryParams:n,token:r}={})=>i({path:e,headers:t,queryParams:n,body:void 0,method:f.get,token:r}),post:(e,t,{headers:n,queryParams:r,token:o}={})=>i({path:e,headers:n,queryParams:r,body:t,method:f.post,token:o}),put:(e,t,{headers:n,queryParams:r,token:o}={})=>i({path:e,headers:n,queryParams:r,body:t,method:f.put,token:o}),delete:(e,t,{headers:n,queryParams:r,token:o}={})=>i({path:e,headers:n,queryParams:r,body:t,method:f.delete,token:o})}};function w(e){this.message=e}w.prototype=new Error,w.prototype.name="InvalidCharacterError";var j="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new w("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,s=0,a="";r=t.charAt(s++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function k(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(j(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return j(t)}}function O(e){this.message=e}function _(e){const{exp:t}=$(e);return(new Date).getTime()/1e3>t}function U(e,t){return S(e,t,"permissions")}function x(e,t){return S(e,t,"roles")}O.prototype=new Error,O.prototype.name="InvalidTokenError";const P=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function R(e){const t=await e,n={code:t.status,ok:t.ok,response:t},r=await t.json();return t.ok?n.data=r:n.error=r,n}function S(e,t,n){var r;let o=$(e);t&&(o=null===(r=o.tenants)||void 0===r?void 0:r[t]);const s=o[n];return Array.isArray(s)?s:[]}function $(e){if("string"!=typeof e||!e)throw new Error("Invalid token provided");return function(e,t){if("string"!=typeof e)throw new O("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(k(e.split(".")[n]))}catch(e){throw new O("Invalid token specified: "+e.message)}}(e)}const q=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),E=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)});var T="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},A="__lodash_hash_undefined__",M="[object Function]",C="[object GeneratorFunction]",D=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,z=/^\./,L=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,F=/\\(\\)?/g,H=/^\[object .+?Constructor\]$/,N="object"==typeof T&&T&&T.Object===Object&&T,Z="object"==typeof self&&self&&self.Object===Object&&self,B=N||Z||Function("return this")();var G,K=Array.prototype,Q=Function.prototype,V=Object.prototype,W=B["__core-js_shared__"],X=(G=/[^.]+$/.exec(W&&W.keys&&W.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",Y=Q.toString,ee=V.hasOwnProperty,te=V.toString,ne=RegExp("^"+Y.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),re=B.Symbol,oe=K.splice,se=ve(B,"Map"),ae=ve(Object,"create"),ie=re?re.prototype:void 0,ce=ie?ie.toString:void 0;function ue(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function pe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function le(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function de(e,t){for(var n,r,o=e.length;o--;)if((n=e[o][0])===(r=t)||n!=n&&r!=r)return o;return-1}function he(e,t){var n;t=function(e,t){if(Ie(e))return!1;var n=typeof e;if("number"==n||"symbol"==n||"boolean"==n||null==e||je(e))return!0;return J.test(e)||!D.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:Ie(n=t)?n:ye(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[be(t[r++])];return r&&r==o?e:void 0}function fe(e){if(!we(e)||(t=e,X&&X in t))return!1;var t,n=function(e){var t=we(e)?te.call(e):"";return t==M||t==C}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?ne:H;return n.test(function(e){if(null!=e){try{return Y.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function ge(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function ve(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return fe(n)?n:void 0}ue.prototype.clear=function(){this.__data__=ae?ae(null):{}},ue.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},ue.prototype.get=function(e){var t=this.__data__;if(ae){var n=t[e];return n===A?void 0:n}return ee.call(t,e)?t[e]:void 0},ue.prototype.has=function(e){var t=this.__data__;return ae?void 0!==t[e]:ee.call(t,e)},ue.prototype.set=function(e,t){return this.__data__[e]=ae&&void 0===t?A:t,this},pe.prototype.clear=function(){this.__data__=[]},pe.prototype.delete=function(e){var t=this.__data__,n=de(t,e);return!(n<0)&&(n==t.length-1?t.pop():oe.call(t,n,1),!0)},pe.prototype.get=function(e){var t=this.__data__,n=de(t,e);return n<0?void 0:t[n][1]},pe.prototype.has=function(e){return de(this.__data__,e)>-1},pe.prototype.set=function(e,t){var n=this.__data__,r=de(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},le.prototype.clear=function(){this.__data__={hash:new ue,map:new(se||pe),string:new ue}},le.prototype.delete=function(e){return ge(this,e).delete(e)},le.prototype.get=function(e){return ge(this,e).get(e)},le.prototype.has=function(e){return ge(this,e).has(e)},le.prototype.set=function(e,t){return ge(this,e).set(e,t),this};var ye=me((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(je(e))return ce?ce.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return z.test(e)&&n.push(""),e.replace(L,(function(e,t,r,o){n.push(r?o.replace(F,"$1"):t||e)})),n}));function be(e){if("string"==typeof e||je(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function me(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],s=n.cache;if(s.has(o))return s.get(o);var a=e.apply(this,r);return n.cache=s.set(o,a),a};return n.cache=new(me.Cache||le),n}me.Cache=le;var Ie=Array.isArray;function we(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function je(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==te.call(e)}var ke=function(e,t,n){var r=null==e?void 0:he(e,t);return void 0===r?n:r};const Oe=e=>t=>e.test(t),_e=Oe(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),Ue=Oe(/^\+[1-9]{1}[0-9]{3,14}$/),xe=q(_e,'"{val}" is not a valid email'),Pe=q(Ue,'"{val}" is not a valid phone number'),Re=q((Se=1,e=>e.length>=Se),"Minimum length is 1");var Se;const $e=q((e=>"string"==typeof e),"Input is not a string"),qe=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>E(...e).validate(n[t]))),t(...n)),Ee=e=>[$e(`"${e}" must be a string`),Re(`"${e}" must not be empty`)],Te=e=>[$e(`"${e}" must be a string`),xe()],Ae=e=>[$e(`"${e}" must be a string`),Pe()],Me=qe(Ee("accessKey")),Ce=t=>({exchange:Me((n=>R(t.get(e.exchange,{token:n}))))});var De,Je,ze,Le;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(De||(De={})),function(e){e.email="email",e.sms="sms",e.whatsapp="whatsapp"}(Je||(Je={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify"}(ze||(ze={})),function(e){e.signUp="signup",e.signIn="signin",e.verify="verify",e.updatePhone="updatePhone"}(Le||(Le={}));const Fe=Ee("identifier"),He=qe(Fe,Ee("code")),Ne=qe(Fe),Ze=qe(Fe,Ae("phone")),Be=qe(Fe,Te("email")),Ge=e=>({verify:Object.keys(Je).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:He(((n,o)=>R(e.post(P(t.verify,r),{code:o,externalId:n}))))})),{}),signIn:Object.keys(Je).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Ne((n=>R(e.post(P(t.signIn,r),{externalId:n}))))})),{}),signUp:Object.keys(Je).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Ne(((n,o)=>R(e.post(P(t.signUp,r),{externalId:n,user:o}))))})),{}),signUpOrIn:Object.keys(Je).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Ne((n=>R(e.post(P(t.signUpOrIn,r),{externalId:n}))))})),{}),update:{email:Be(((n,r,o)=>R(e.post(t.update.email,{externalId:n,email:r},{token:o})))),phone:Object.keys(De).reduce(((n,r)=>Object.assign(Object.assign({},n),{[r]:Ze(((n,o,s)=>R(e.post(P(t.update.phone,r),{externalId:n,phone:o},{token:s}))))})),{})}}),Ke=Ee("identifier"),Qe=Ee("uri"),Ve=qe(Ee("token")),We=qe(Ke,Qe),Xe=qe(Ee("pendingRef")),Ye=qe(Ke,Ae("phone"),Qe),et=qe(Ke,Te("email"),Qe),tt=e=>({verify:Ve((t=>R(e.post(n.verify,{token:t})))),signIn:Object.keys(Je).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:We(((t,o)=>R(e.post(P(n.signIn,r),{externalId:t,URI:o,crossDevice:!0}))))})),{}),signUpOrIn:Object.keys(Je).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:We(((t,o)=>R(e.post(P(n.signUpOrIn,r),{externalId:t,URI:o,crossDevice:!0}))))})),{}),signUp:Object.keys(Je).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:We(((t,o,s)=>R(e.post(P(n.signUp,r),{externalId:t,URI:o,user:s,crossDevice:!0}))))})),{}),waitForSession:Xe(((t,r)=>new Promise((o=>{const{pollingIntervalMs:s,timeoutMs:a}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||d,d),timeoutMs:Math.min(t||h,h)}))(r);let i;const c=setInterval((async()=>{const r=await e.post(n.session,{pendingRef:t});r.ok&&(clearInterval(c),i&&clearTimeout(i),o(R(Promise.resolve(r))))}),s);i=setTimeout((()=>{o({error:{message:`Session polling timeout exceeded: ${a}ms`,code:"0"},ok:!1}),clearInterval(c)}),a)})))),update:{email:et(((t,r,o,s)=>R(e.post(n.update.email,{externalId:t,email:r,URI:o,crossDevice:!0},{token:s})))),phone:Object.keys(De).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ye(((t,o,s,a)=>R(e.post(P(n.update.phone,r),{externalId:t,phone:o,URI:s,crossDevice:!0},{token:a}))))})),{})}}),nt=e=>({verify:Ve((t=>R(e.post(n.verify,{token:t})))),signIn:Object.keys(Je).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:We(((t,o)=>R(e.post(P(n.signIn,r),{externalId:t,URI:o}))))})),{}),signUp:Object.keys(Je).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:We(((t,o,s)=>R(e.post(P(n.signUp,r),{externalId:t,URI:o,user:s}))))})),{}),signUpOrIn:Object.keys(Je).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:We(((t,o)=>R(e.post(P(n.signUpOrIn,r),{externalId:t,URI:o}))))})),{}),update:{email:et(((t,r,o,s)=>R(e.post(n.update.email,{externalId:t,email:r,URI:o},{token:s})))),phone:Object.keys(De).reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Ye(((t,o,s,a)=>R(e.post(P(n.update.phone,r),{externalId:t,phone:o,URI:s},{token:a}))))})),{})},crossDevice:tt(e)}),rt=qe(Ee("code")),ot=e=>({exchange:rt((t=>R(e.get(l,{queryParams:{code:t}}))))});var st;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple"}(st||(st={}));const at=e=>Object.assign({start:Object.keys(st).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:async(t,{redirect:o=!1}={})=>{const s=await e.get(r.start,{queryParams:Object.assign({provider:n},t&&{redirectURL:t})});if(!o||!s.ok)return R(Promise.resolve(s));const{url:a}=await s.json();window.location.href=a}})),{})},ot(e)),it=qe(Ee("flowId")),ct=qe(Ee("executionId"),Ee("stepId"),Ee("interactionId")),ut=e=>({start:it((t=>R(e.post(p.start,{flowId:t})))),next:ct(((t,n,r,o)=>R(e.post(p.next,{executionId:t,stepId:n,interactionId:r,input:o}))))}),pt=qe(Ee("tenant")),lt=e=>Object.assign({start:pt((async(t,n,{redirect:r=!1}={})=>{const s=await e.get(o.start,{queryParams:{tenant:t,redirectURL:n}});if(!r||!s.ok)return R(Promise.resolve(s));const{url:a}=await s.json();window.location.href=a}))},ot(e)),dt=Ee("identifier"),ht=qe(dt,Ee("code")),ft=qe(dt),gt=qe(dt),vt=e=>({signUp:ft(((t,n)=>R(e.post(s.signUp,{externalId:t,user:n})))),verify:ht(((t,n)=>R(e.post(s.verify,{externalId:t,code:n})))),update:gt(((t,n)=>R(e.post(s.update,{externalId:t},{token:n}))))}),yt=Ee("identifier"),bt=Ee("origin"),mt=qe(yt,bt,Ee("name")),It=qe(yt,bt),wt=qe(yt,bt,Ee("token")),jt=qe(Ee("transactionId"),Ee("response")),kt=e=>({signUp:{start:mt(((t,n,r)=>R(e.post(a.signUp.start,{user:{externalId:t,name:r},origin:n})))),finish:jt(((t,n)=>R(e.post(a.signUp.finish,{transactionId:t,response:n}))))},signIn:{start:It(((t,n)=>R(e.post(a.signIn.start,{externalId:t,origin:n})))),finish:jt(((t,n)=>R(e.post(a.signIn.finish,{transactionId:t,response:n}))))},update:{start:wt(((t,n,r)=>R(e.post(a.update.start,{externalId:t,origin:n},{token:r})))),finish:jt(((t,n)=>R(e.post(a.update.finish,{transactionId:t,response:n}))))}}),Ot=qe(Ee("token"));var _t,Ut;const xt=qe([(_t="projectId",Ut=Ee("projectId"),q(((e,t)=>n=>E(...t).validate(ke(n,e)))(_t,Ut))())])((({projectId:e,logger:t,baseUrl:n,hooks:r,cookiePolicy:o})=>{return s=I({baseUrl:n||"https://api.descope.com",projectId:e,logger:t,hooks:r,cookiePolicy:o}),{accessKey:Ce(s),otp:Ge(s),magicLink:nt(s),oauth:at(s),saml:lt(s),totp:vt(s),webauthn:kt(s),flow:ut(s),refresh:e=>R(s.get(i,{token:e})),logout:e=>R(s.get(c,{token:e})),me:e=>R(s.get(u,{token:e})),isJwtExpired:Ot(_),getJwtPermissions:Ot(U),getJwtRoles:Ot(x),httpClient:s};var s}));return xt.DeliveryMethods=Je,xt}));
//# sourceMappingURL=index.umd.js.map
{
"name": "@descope/core-js-sdk",
"version": "0.0.41-alpha.20",
"version": "0.0.41-alpha.21",
"main": "dist/cjs/index.cjs.js",

@@ -5,0 +5,0 @@ "module": "dist/index.esm.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc