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.29 to 0.0.41-alpha.30

2

dist/cjs/index.cjs.js

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

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

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

pendingRef: string;
identifier: string;
};

@@ -179,5 +180,4 @@ /** URL response to redirect user in case of OAuth or SSO */

declare type SignInFn = (identifier: string, uri: string) => Promise<SdkResponse<PendingRefResponse>>;
declare type SignUpFn = (identifier: string, uri: string, user?: User) => Promise<SdkResponse<PendingRefResponse>>;
declare type UpdatePhoneFn = (identifier: string, phone: string) => Promise<SdkResponse<never>>;
declare type SignInFn$1 = (identifier: string, uri: string) => Promise<SdkResponse<PendingRefResponse>>;
declare type SignUpFn$1 = (identifier: string, uri: string, user?: User) => Promise<SdkResponse<PendingRefResponse>>;
/** Polling configuration for session waiting */

@@ -189,2 +189,6 @@ declare type WaitForSessionConfig = {

declare type SignInFn = (identifier: string, uri: string) => Promise<SdkResponse<PendingRefResponse>>;
declare type SignUpFn = (identifier: string, uri: string, user?: User) => Promise<SdkResponse<PendingRefResponse>>;
declare type UpdatePhoneFn = (identifier: string, phone: string) => Promise<SdkResponse<never>>;
declare enum OAuthProviders {

@@ -244,12 +248,11 @@ facebook = "facebook",

};
crossDevice: {
verify: (token: string) => Promise<SdkResponse<JWTResponse>>;
signIn: Deliveries<SignInFn>;
signUpOrIn: Deliveries<SignInFn>;
signUp: Deliveries<SignUpFn>;
waitForSession: (pendingRef: string, config?: WaitForSessionConfig) => Promise<SdkResponse<JWTResponse>>;
update: {
email: (identifier: string, email: string, uri: string, token?: string) => Promise<SdkResponse<never>>;
phone: Deliveries<UpdatePhoneFn>;
};
};
enchantedLink: {
verify: (token: string) => Promise<SdkResponse<never>>;
signIn: SignInFn$1;
signUpOrIn: SignInFn$1;
signUp: SignUpFn$1;
waitForSession: (pendingRef: string, config?: WaitForSessionConfig) => Promise<SdkResponse<JWTResponse>>;
update: {
email: (identifier: string, email: string, uri: string, token?: string) => Promise<SdkResponse<PendingRefResponse>>;
};

@@ -256,0 +259,0 @@ };

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

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

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

"@open-wc/rollup-plugin-html": "1.2.5",
"@rollup/plugin-commonjs": "^22.0.0",
"@rollup/plugin-commonjs": "^23.0.0",
"@rollup/plugin-node-resolve": "^14.0.0",
"@rollup/plugin-replace": "^4.0.0",
"@rollup/plugin-replace": "^5.0.0",
"@rollup/plugin-typescript": "^8.3.0",

@@ -59,6 +59,6 @@ "@types/jest": "^27.0.2",

"eslint-plugin-import": "2.26.0",
"eslint-plugin-jest": "26.9.0",
"eslint-plugin-jest-dom": "4.0.2",
"eslint-plugin-jest": "27.1.6",
"eslint-plugin-jest-dom": "4.0.3",
"eslint-plugin-jest-formatting": "3.1.0",
"eslint-plugin-n": "15.3.0",
"eslint-plugin-n": "15.5.1",
"eslint-plugin-no-only-tests": "3.1.0",

@@ -81,3 +81,3 @@ "eslint-plugin-prefer-arrow": "1.2.3",

"rollup-plugin-dts": "^4.2.2",
"rollup-plugin-esbuild": "^4.9.1",
"rollup-plugin-esbuild": "^5.0.0",
"rollup-plugin-inject-process-env": "^1.3.1",

@@ -84,0 +84,0 @@ "rollup-plugin-livereload": "^2.0.5",

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