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

@descope/web-js-sdk

Package Overview
Dependencies
Maintainers
4
Versions
254
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

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

Comparing version 1.2.9 to 1.2.10

2

dist/cjs/index.cjs.js

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("@descope/core-js-sdk"),n=require("@fingerprintjs/fingerprintjs-pro"),a=require("js-cookie");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=i(t),o=i(a);const s=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var i;return n[a]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[a])||[]).concat((null==t?void 0:t[a])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},l=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},c=async e=>{const t=await l(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty("userId"))?t:void 0)},u="undefined"!=typeof localStorage,d=(e,t)=>u&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),g=e=>u&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),p=e=>u&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e)),f=(...e)=>{console.debug(...e)},w="undefined"!=typeof window,b=w&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",h=(e="",t="")=>({vsid:e,vrid:t}),v=(e=!1)=>{const t=localStorage.getItem("fp");if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},y=async e=>{try{if(v())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),a=n.load({apiKey:e,endpoint:b}),i=await a,{requestId:r}=await i.get({linkedId:t});(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(t))})(h(t,r))}catch(e){global.FB_DEBUG&&console.error(e)}},S=e=>(e.body&&(e.body.fpData=v(!0)||h()),e),m="dls_last_user_login_id",O="dls_last_user_display_name",I=()=>g(m),k=()=>g(O),j=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,a={}]=t,i=I(),r=k();i&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=i,a.lastAuth.name=r);return await e(...t)},_=e=>async(...t)=>{const n=await e(...t);return p(m),p(O),n};function U(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const A="DS",D="DSR";const J=(t={},n)=>{var{refreshJwt:a,sessionJwt:i}=t,r=e.__rest(t,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&d(D,a),i&&(n?function(e,t,{cookiePath:n,cookieDomain:a,cookieExpiration:i}){if(t){const r=new Date(1e3*i);o.default.set(e,t,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(A,i,r):d(A,i))};function T(){return g(D)||""}function K(){return o.default.get(A)||g(A)||""}function R(){p(D),p(A),o.default.remove(A)}const q=e=>Object.assign(e,{token:e.token||T()}),C=e=>async(...t)=>{const n=await e(...t);return R(),n};async function N(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=W(n.publicKey.challenge),n.publicKey.user.id=W(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=W(e.id)})),n}(e),n=await navigator.credentials.create(t);return a=n,JSON.stringify({id:a.id,rawId:V(a.rawId),type:a.type,response:{attestationObject:V(a.response.attestationObject),clientDataJSON:V(a.response.clientDataJSON)}});var a}async function x(e){const t=H(e);return L(await navigator.credentials.get(t))}async function P(e,t){const n=H(e);n.signal=t.signal,n.mediation="conditional";return L(await navigator.credentials.get(n))}async function E(e=!1){if(!w)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function H(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=W(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=W(e.id)})),n}function L(e){return JSON.stringify({id:e.id,rawId:V(e.rawId),type:e.type,response:{authenticatorData:V(e.response.authenticatorData),clientDataJSON:V(e.response.clientDataJSON),signature:V(e.response.signature),userHandle:e.response.userHandle?V(e.response.userHandle):void 0}})}function W(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function V(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var M,B=(M=e=>({async signUp(t,n){const a=await e.webauthn.signUp.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,i)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const a=await x(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(t){var n;const a=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const t=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,t)}{const t=await x(a.data.options);return await e.webauthn.signIn.finish(a.data.transactionId,t)}},async update(t,n){const a=await e.webauthn.update.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.update.finish(a.data.transactionId,i)},helpers:{create:N,get:x,isSupported:E,conditional:P}}),(...e)=>{const t=M(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),F=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await E(),a=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=a,e.flow.start(...t)}});const G=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:a,fpLoad:i}=n,r=e.__rest(n,["fpKey","fpLoad"]);return a?(w?i&&y(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(s(r,{beforeRequest:S}))):t(Object.assign({},r))}),(n=>a=>{var{autoRefresh:i}=a,r=e.__rest(a,["autoRefresh"]);if(!i)return n(r);const{clearAllTimers:o,setTimer:c}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})(),u=n(s(r,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:a}=await l(t);if(401===(null==t?void 0:t.status))f("Received 401, canceling all timers"),o();else if(a){const e=((i=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(a))?i.getTime()-(new Date).getTime():0)-2e4;o(),f(`Setting refresh timer for ${e}ms`),c((()=>{f("Refreshing session"),u.refresh(n)}),e)}var i}}));return t.wrapWith(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return f("Clearing all timers"),o(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.9"},t.baseHeaders)}))),(e=>n=>{const a=U(),i=U(),r=e(s(n,{afterRequest:async(e,t)=>{if(401===(null==t?void 0:t.status))a.pub(null),i.pub(null);else{const e=await c(t);e&&i.pub(e);const{sessionJwt:n}=await l(t);n&&a.pub(n)}}})),o=t.wrapWith(r,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return a.pub(null),i.pub(null),n}));return Object.assign(o,{onSessionTokenChange:a.sub,onUserChange:i.sub})}),(e=>n=>{const a=e(s(n,{afterRequest:async(e,t)=>{var n;const a=await c(t),i=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],r=null==a?void 0:a.name;i&&((e=>{d(m,e)})(i),(e=>{d(O,e)})(r))}}));let i=t.wrapWith(a,["flow.start"],j);return i=t.wrapWith(i,["logout","logoutAll"],_),Object.assign(i,{getLastUserLoginId:I,getLastUserDisplayName:k})}),(n=>a=>{var{persistTokens:i,sessionTokenViaCookie:r}=a,o=e.__rest(a,["persistTokens","sessionTokenViaCookie"]);if(!i||!w)return i&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),n(o);const c=n(s(o,{beforeRequest:q,afterRequest:async(e,t)=>{401===(null==t?void 0:t.status)?R():J(await l(t),r)}})),u=t.wrapWith(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:T,getSessionToken:K})}))(((...e)=>{const t=r.default(...e);return Object.assign(Object.assign({},t),{flow:F(t),webauthn:B(t)})}));exports.default=G;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("@descope/core-js-sdk"),n=require("@fingerprintjs/fingerprintjs-pro"),a=require("js-cookie");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=i(t),o=i(a);const s=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var i;return n[a]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[a])||[]).concat((null==t?void 0:t[a])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},l=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},c=async e=>{const t=await l(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty("userId"))?t:void 0)},u="undefined"!=typeof localStorage,d=(e,t)=>u&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),g=e=>u&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),p=e=>u&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e)),f=(...e)=>{console.debug(...e)},w="undefined"!=typeof window,b=w&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",h=(e="",t="")=>({vsid:e,vrid:t}),v=(e=!1)=>{const t=localStorage.getItem("fp");if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},y=async e=>{try{if(v())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),a=n.load({apiKey:e,endpoint:b}),i=await a,{requestId:r}=await i.get({linkedId:t});(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(t))})(h(t,r))}catch(e){global.FB_DEBUG&&console.error(e)}},S=e=>(e.body&&(e.body.fpData=v(!0)||h()),e),m="dls_last_user_login_id",O="dls_last_user_display_name",I=()=>g(m),k=()=>g(O),j=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,a={}]=t,i=I(),r=k();i&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=i,a.lastAuth.name=r);return await e(...t)},_=e=>async(...t)=>{const n=await e(...t);return p(m),p(O),n};function U(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const A="DS",D="DSR";const J=(t={},n)=>{var{refreshJwt:a,sessionJwt:i}=t,r=e.__rest(t,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&d(D,a),i&&(n?function(e,t,{cookiePath:n,cookieDomain:a,cookieExpiration:i}){if(t){const r=new Date(1e3*i);o.default.set(e,t,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(A,i,r):d(A,i))};function T(){return g(D)||""}function K(){return o.default.get(A)||g(A)||""}function R(){p(D),p(A),o.default.remove(A)}const q=e=>Object.assign(e,{token:e.token||T()}),C=e=>async(...t)=>{const n=await e(...t);return R(),n};async function N(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=W(n.publicKey.challenge),n.publicKey.user.id=W(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=W(e.id)})),n}(e),n=await navigator.credentials.create(t);return a=n,JSON.stringify({id:a.id,rawId:V(a.rawId),type:a.type,response:{attestationObject:V(a.response.attestationObject),clientDataJSON:V(a.response.clientDataJSON)}});var a}async function x(e){const t=H(e);return L(await navigator.credentials.get(t))}async function P(e,t){const n=H(e);n.signal=t.signal,n.mediation="conditional";return L(await navigator.credentials.get(n))}async function E(e=!1){if(!w)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function H(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=W(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=W(e.id)})),n}function L(e){return JSON.stringify({id:e.id,rawId:V(e.rawId),type:e.type,response:{authenticatorData:V(e.response.authenticatorData),clientDataJSON:V(e.response.clientDataJSON),signature:V(e.response.signature),userHandle:e.response.userHandle?V(e.response.userHandle):void 0}})}function W(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function V(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var M,B=(M=e=>({async signUp(t,n){const a=await e.webauthn.signUp.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,i)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const a=await x(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(t){var n;const a=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const t=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,t)}{const t=await x(a.data.options);return await e.webauthn.signIn.finish(a.data.transactionId,t)}},async update(t,n){const a=await e.webauthn.update.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.update.finish(a.data.transactionId,i)},helpers:{create:N,get:x,isSupported:E,conditional:P}}),(...e)=>{const t=M(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),F=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await E(),a=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=a,e.flow.start(...t)}});const G=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:a,fpLoad:i}=n,r=e.__rest(n,["fpKey","fpLoad"]);return a?(w?i&&y(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(s(r,{beforeRequest:S}))):t(Object.assign({},r))}),(n=>a=>{var{autoRefresh:i}=a,r=e.__rest(a,["autoRefresh"]);if(!i)return n(r);const{clearAllTimers:o,setTimer:c}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})(),u=n(s(r,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:a}=await l(t);if(401===(null==t?void 0:t.status))f("Received 401, canceling all timers"),o();else if(a){const e=((i=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(a))?i.getTime()-(new Date).getTime():0)-2e4;o(),f(`Setting refresh timer for ${e}ms`),c((()=>{f("Refreshing session"),u.refresh(n)}),e)}var i}}));return t.wrapWith(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return f("Clearing all timers"),o(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.10"},t.baseHeaders)}))),(e=>n=>{const a=U(),i=U(),r=e(s(n,{afterRequest:async(e,t)=>{if(401===(null==t?void 0:t.status))a.pub(null),i.pub(null);else{const e=await c(t);e&&i.pub(e);const{sessionJwt:n}=await l(t);n&&a.pub(n)}}})),o=t.wrapWith(r,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return a.pub(null),i.pub(null),n}));return Object.assign(o,{onSessionTokenChange:a.sub,onUserChange:i.sub})}),(e=>n=>{const a=e(s(n,{afterRequest:async(e,t)=>{var n;const a=await c(t),i=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],r=null==a?void 0:a.name;i&&((e=>{d(m,e)})(i),(e=>{d(O,e)})(r))}}));let i=t.wrapWith(a,["flow.start"],j);return i=t.wrapWith(i,["logout","logoutAll"],_),Object.assign(i,{getLastUserLoginId:I,getLastUserDisplayName:k})}),(n=>a=>{var{persistTokens:i,sessionTokenViaCookie:r}=a,o=e.__rest(a,["persistTokens","sessionTokenViaCookie"]);if(!i||!w)return i&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),n(o);const c=n(s(o,{beforeRequest:q,afterRequest:async(e,t)=>{401===(null==t?void 0:t.status)?R():J(await l(t),r)}})),u=t.wrapWith(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:T,getSessionToken:K})}))(((...e)=>{const t=r.default(...e);return Object.assign(Object.assign({},t),{flow:F(t),webauthn:B(t)})}));exports.default=G;
//# sourceMappingURL=index.cjs.js.map

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

import{__rest as e}from"tslib";import t,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import i from"js-cookie";const o=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var i;return n[a]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[a])||[]).concat((null==t?void 0:t[a])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},r=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},s=async e=>{const t=await r(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty("userId"))?t:void 0)},l="undefined"!=typeof localStorage,c=(e,t)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),u=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),d=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e)),g=(...e)=>{console.debug(...e)},p="undefined"!=typeof window,f=p&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",w=(e="",t="")=>({vsid:e,vrid:t}),b=(e=!1)=>{const t=localStorage.getItem("fp");if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},h=async e=>{try{if(b())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:e,endpoint:f}),i=await n,{requestId:o}=await i.get({linkedId:t});(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(t))})(w(t,o))}catch(e){global.FB_DEBUG&&console.error(e)}},v=e=>(e.body&&(e.body.fpData=b(!0)||w()),e),y="dls_last_user_login_id",m="dls_last_user_display_name",S=()=>u(y),O=()=>u(m),I=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,a={}]=t,i=S(),o=O();i&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=i,a.lastAuth.name=o);return await e(...t)},k=e=>async(...t)=>{const n=await e(...t);return d(y),d(m),n};function j(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const U="DS",A="DSR";const D=(t={},n)=>{var{refreshJwt:a,sessionJwt:o}=t,r=e(t,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&c(A,a),o&&(n?function(e,t,{cookiePath:n,cookieDomain:a,cookieExpiration:o}){if(t){const r=new Date(1e3*o);i.set(e,t,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(U,o,r):c(U,o))};function J(){return u(A)||""}function T(){return i.get(U)||u(U)||""}function K(){d(A),d(U),i.remove(U)}const R=e=>Object.assign(e,{token:e.token||J()}),C=e=>async(...t)=>{const n=await e(...t);return K(),n};async function N(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=H(n.publicKey.challenge),n.publicKey.user.id=H(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=H(e.id)})),n}(e),n=await navigator.credentials.create(t);return a=n,JSON.stringify({id:a.id,rawId:L(a.rawId),type:a.type,response:{attestationObject:L(a.response.attestationObject),clientDataJSON:L(a.response.clientDataJSON)}});var a}async function _(e){const t=P(e);return E(await navigator.credentials.get(t))}async function x(e,t){const n=P(e);n.signal=t.signal,n.mediation="conditional";return E(await navigator.credentials.get(n))}async function q(e=!1){if(!p)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function P(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=H(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=H(e.id)})),n}function E(e){return JSON.stringify({id:e.id,rawId:L(e.rawId),type:e.type,response:{authenticatorData:L(e.response.authenticatorData),clientDataJSON:L(e.response.clientDataJSON),signature:L(e.response.signature),userHandle:e.response.userHandle?L(e.response.userHandle):void 0}})}function H(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function L(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var V,B=(V=e=>({async signUp(t,n){const a=await e.webauthn.signUp.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,i)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const a=await _(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(t){var n;const a=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const t=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,t)}{const t=await _(a.data.options);return await e.webauthn.signIn.finish(a.data.transactionId,t)}},async update(t,n){const a=await e.webauthn.update.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.update.finish(a.data.transactionId,i)},helpers:{create:N,get:_,isSupported:q,conditional:x}}),(...e)=>{const t=V(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),F=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await q(),a=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=a,e.flow.start(...t)}});const M=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:a,fpLoad:i}=n,r=e(n,["fpKey","fpLoad"]);return a?(p?i&&h(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(o(r,{beforeRequest:v}))):t(Object.assign({},r))}),(t=>a=>{var{autoRefresh:i}=a,s=e(a,["autoRefresh"]);if(!i)return t(s);const{clearAllTimers:l,setTimer:c}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})(),u=t(o(s,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:a}=await r(t);if(401===(null==t?void 0:t.status))g("Received 401, canceling all timers"),l();else if(a){const e=((i=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(a))?i.getTime()-(new Date).getTime():0)-2e4;l(),g(`Setting refresh timer for ${e}ms`),c((()=>{g("Refreshing session"),u.refresh(n)}),e)}var i}}));return n(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return g("Clearing all timers"),l(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.9"},t.baseHeaders)}))),(e=>t=>{const a=j(),i=j(),l=e(o(t,{afterRequest:async(e,t)=>{if(401===(null==t?void 0:t.status))a.pub(null),i.pub(null);else{const e=await s(t);e&&i.pub(e);const{sessionJwt:n}=await r(t);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return a.pub(null),i.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:i.sub})}),(e=>t=>{const a=e(o(t,{afterRequest:async(e,t)=>{var n;const a=await s(t),i=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],o=null==a?void 0:a.name;i&&((e=>{c(y,e)})(i),(e=>{c(m,e)})(o))}}));let i=n(a,["flow.start"],I);return i=n(i,["logout","logoutAll"],k),Object.assign(i,{getLastUserLoginId:S,getLastUserDisplayName:O})}),(t=>a=>{var{persistTokens:i,sessionTokenViaCookie:s}=a,l=e(a,["persistTokens","sessionTokenViaCookie"]);if(!i||!p)return i&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),t(l);const c=t(o(l,{beforeRequest:R,afterRequest:async(e,t)=>{401===(null==t?void 0:t.status)?K():D(await r(t),s)}})),u=n(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:J,getSessionToken:T})}))(((...e)=>{const n=t(...e);return Object.assign(Object.assign({},n),{flow:F(n),webauthn:B(n)})}));export{M as default};
import{__rest as e}from"tslib";import t,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import i from"js-cookie";const o=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var i;return n[a]=[].concat((null===(i=e.hooks)||void 0===i?void 0:i[a])||[]).concat((null==t?void 0:t[a])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},r=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},s=async e=>{const t=await r(e);return(null==t?void 0:t.user)||((null==t?void 0:t.hasOwnProperty("userId"))?t:void 0)},l="undefined"!=typeof localStorage,c=(e,t)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),u=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),d=e=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e)),g=(...e)=>{console.debug(...e)},p="undefined"!=typeof window,f=p&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",w=(e="",t="")=>({vsid:e,vrid:t}),b=(e=!1)=>{const t=localStorage.getItem("fp");if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},h=async e=>{try{if(b())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:e,endpoint:f}),i=await n,{requestId:o}=await i.get({linkedId:t});(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(t))})(w(t,o))}catch(e){global.FB_DEBUG&&console.error(e)}},v=e=>(e.body&&(e.body.fpData=b(!0)||w()),e),y="dls_last_user_login_id",m="dls_last_user_display_name",S=()=>u(y),O=()=>u(m),I=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,a={}]=t,i=S(),o=O();i&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=i,a.lastAuth.name=o);return await e(...t)},k=e=>async(...t)=>{const n=await e(...t);return d(y),d(m),n};function j(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}const U="DS",A="DSR";const D=(t={},n)=>{var{refreshJwt:a,sessionJwt:o}=t,r=e(t,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&c(A,a),o&&(n?function(e,t,{cookiePath:n,cookieDomain:a,cookieExpiration:o}){if(t){const r=new Date(1e3*o);i.set(e,t,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(U,o,r):c(U,o))};function J(){return u(A)||""}function T(){return i.get(U)||u(U)||""}function K(){d(A),d(U),i.remove(U)}const R=e=>Object.assign(e,{token:e.token||J()}),C=e=>async(...t)=>{const n=await e(...t);return K(),n};async function N(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=H(n.publicKey.challenge),n.publicKey.user.id=H(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=H(e.id)})),n}(e),n=await navigator.credentials.create(t);return a=n,JSON.stringify({id:a.id,rawId:L(a.rawId),type:a.type,response:{attestationObject:L(a.response.attestationObject),clientDataJSON:L(a.response.clientDataJSON)}});var a}async function _(e){const t=P(e);return E(await navigator.credentials.get(t))}async function x(e,t){const n=P(e);n.signal=t.signal,n.mediation="conditional";return E(await navigator.credentials.get(n))}async function q(e=!1){if(!p)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function P(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=H(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=H(e.id)})),n}function E(e){return JSON.stringify({id:e.id,rawId:L(e.rawId),type:e.type,response:{authenticatorData:L(e.response.authenticatorData),clientDataJSON:L(e.response.clientDataJSON),signature:L(e.response.signature),userHandle:e.response.userHandle?L(e.response.userHandle):void 0}})}function H(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function L(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var V,B=(V=e=>({async signUp(t,n){const a=await e.webauthn.signUp.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,i)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const a=await _(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(t){var n;const a=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const t=await N(a.data.options);return await e.webauthn.signUp.finish(a.data.transactionId,t)}{const t=await _(a.data.options);return await e.webauthn.signIn.finish(a.data.transactionId,t)}},async update(t,n){const a=await e.webauthn.update.start(t,window.location.origin,n);if(!a.ok)return a;const i=await N(a.data.options);return await e.webauthn.update.finish(a.data.transactionId,i)},helpers:{create:N,get:_,isSupported:q,conditional:x}}),(...e)=>{const t=V(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),F=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await q(),a=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=a,e.flow.start(...t)}});const M=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:a,fpLoad:i}=n,r=e(n,["fpKey","fpLoad"]);return a?(p?i&&h(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(o(r,{beforeRequest:v}))):t(Object.assign({},r))}),(t=>a=>{var{autoRefresh:i}=a,s=e(a,["autoRefresh"]);if(!i)return t(s);const{clearAllTimers:l,setTimer:c}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})(),u=t(o(s,{afterRequest:async(e,t)=>{const{refreshJwt:n,sessionJwt:a}=await r(t);if(401===(null==t?void 0:t.status))g("Received 401, canceling all timers"),l();else if(a){const e=((i=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(a))?i.getTime()-(new Date).getTime():0)-2e4;l(),g(`Setting refresh timer for ${e}ms`),c((()=>{g("Refreshing session"),u.refresh(n)}),e)}var i}}));return n(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return g("Clearing all timers"),l(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.10"},t.baseHeaders)}))),(e=>t=>{const a=j(),i=j(),l=e(o(t,{afterRequest:async(e,t)=>{if(401===(null==t?void 0:t.status))a.pub(null),i.pub(null);else{const e=await s(t);e&&i.pub(e);const{sessionJwt:n}=await r(t);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return a.pub(null),i.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:i.sub})}),(e=>t=>{const a=e(o(t,{afterRequest:async(e,t)=>{var n;const a=await s(t),i=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],o=null==a?void 0:a.name;i&&((e=>{c(y,e)})(i),(e=>{c(m,e)})(o))}}));let i=n(a,["flow.start"],I);return i=n(i,["logout","logoutAll"],k),Object.assign(i,{getLastUserLoginId:S,getLastUserDisplayName:O})}),(t=>a=>{var{persistTokens:i,sessionTokenViaCookie:s}=a,l=e(a,["persistTokens","sessionTokenViaCookie"]);if(!i||!p)return i&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),t(l);const c=t(o(l,{beforeRequest:R,afterRequest:async(e,t)=>{401===(null==t?void 0:t.status)?K():D(await r(t),s)}})),u=n(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:J,getSessionToken:T})}))(((...e)=>{const n=t(...e);return Object.assign(Object.assign({},n),{flow:F(n),webauthn:B(n)})}));export{M as default};
//# sourceMappingURL=index.esm.js.map

@@ -1,4 +0,4 @@

!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).Descope=t()}(this,(function(){"use strict";const e=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,r)=>{var o;return n[r]=[].concat((null===(o=e.hooks)||void 0===o?void 0:o[r])||[]).concat((null==t?void 0:t[r])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},t=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},n=async e=>{const n=await t(e);return(null==n?void 0:n.user)||((null==n?void 0:n.hasOwnProperty("userId"))?n:void 0)},r="undefined"!=typeof localStorage,o=(e,t)=>r&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),i=e=>r&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),a=e=>r&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e));var s=function(){return s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},s.apply(this,arguments)};function c(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function u(e){this.message=e}u.prototype=new Error,u.prototype.name="InvalidCharacterError";var l="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new u("'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 d(e){this.message=e}function p(e,t){if("string"!=typeof e)throw new d("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(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(l(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 l(t)}}(e.split(".")[n]))}catch(e){throw new d("Invalid token specified: "+e.message)}}d.prototype=new Error,d.prototype.name="InvalidTokenError";var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function h(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g="__lodash_hash_undefined__",v=1/0,y="[object Function]",b="[object GeneratorFunction]",w="[object Symbol]",m=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I=/^\w*$/,k=/^\./,O=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,j=/\\(\\)?/g,_=/^\[object .+?Constructor\]$/,S="object"==typeof f&&f&&f.Object===Object&&f,U="object"==typeof self&&self&&self.Object===Object&&self,P=S||U||Function("return this")();var R,x=Array.prototype,A=Function.prototype,E=Object.prototype,C=P["__core-js_shared__"],T=(R=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+R:"",q=A.toString,D=E.hasOwnProperty,$=E.toString,J=RegExp("^"+q.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),K=P.Symbol,M=x.splice,N=X(P,"Map"),L=X(Object,"create"),F=K?K.prototype:void 0,H=F?F.toString:void 0;function B(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 z(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 V(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 G(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 Z(e,t){var n;t=function(e,t){if(ne(e))return!1;var n=typeof e;if("number"==n||"symbol"==n||"boolean"==n||null==e||oe(e))return!0;return I.test(e)||!m.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:ne(n=t)?n:Y(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[ee(t[r++])];return r&&r==o?e:void 0}function Q(e){if(!re(e)||(t=e,T&&T in t))return!1;var t,n=function(e){var t=re(e)?$.call(e):"";return t==y||t==b}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?J:_;return n.test(function(e){if(null!=e){try{return q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function W(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 X(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Q(n)?n:void 0}B.prototype.clear=function(){this.__data__=L?L(null):{}},B.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},B.prototype.get=function(e){var t=this.__data__;if(L){var n=t[e];return n===g?void 0:n}return D.call(t,e)?t[e]:void 0},B.prototype.has=function(e){var t=this.__data__;return L?void 0!==t[e]:D.call(t,e)},B.prototype.set=function(e,t){return this.__data__[e]=L&&void 0===t?g:t,this},z.prototype.clear=function(){this.__data__=[]},z.prototype.delete=function(e){var t=this.__data__,n=G(t,e);return!(n<0)&&(n==t.length-1?t.pop():M.call(t,n,1),!0)},z.prototype.get=function(e){var t=this.__data__,n=G(t,e);return n<0?void 0:t[n][1]},z.prototype.has=function(e){return G(this.__data__,e)>-1},z.prototype.set=function(e,t){var n=this.__data__,r=G(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},V.prototype.clear=function(){this.__data__={hash:new B,map:new(N||z),string:new B}},V.prototype.delete=function(e){return W(this,e).delete(e)},V.prototype.get=function(e){return W(this,e).get(e)},V.prototype.has=function(e){return W(this,e).has(e)},V.prototype.set=function(e,t){return W(this,e).set(e,t),this};var Y=te((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(oe(e))return H?H.call(e):"";var t=e+"";return"0"==t&&1/e==-v?"-0":t}(t);var n=[];return k.test(e)&&n.push(""),e.replace(O,(function(e,t,r,o){n.push(r?o.replace(j,"$1"):t||e)})),n}));function ee(e){if("string"==typeof e||oe(e))return e;var t=e+"";return"0"==t&&1/e==-v?"-0":t}function te(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(te.Cache||V),n}te.Cache=V;var ne=Array.isArray;function re(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)&&$.call(e)==w}var ie=h((function(e,t,n){var r=null==e?void 0:Z(e,t);return void 0===r?n:r})),ae="/v1/auth/accesskey/exchange",se="/v1/auth/otp/verify",ce="/v1/auth/otp/signin",ue="/v1/auth/otp/signup",le={email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},de="/v1/auth/otp/signup-in",pe="/v1/auth/magiclink/verify",fe="/v1/auth/magiclink/signin",he="/v1/auth/magiclink/signup",ge={email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},ve="/v1/auth/magiclink/signup-in",ye="/v1/auth/enchantedlink/verify",be="/v1/auth/enchantedlink/signin",we="/v1/auth/enchantedlink/signup",me="/v1/auth/enchantedlink/pending-session",Ie={email:"/v1/auth/enchantedlink/update/email"},ke="/v1/auth/enchantedlink/signup-in",Oe="/v1/auth/oauth/authorize",je="/v1/auth/oauth/exchange",_e="/v1/auth/saml/authorize",Se="/v1/auth/saml/exchange",Ue="/v1/auth/totp/verify",Pe="/v1/auth/totp/signup",Re="/v1/auth/totp/update",xe={start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},Ae={start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},Ee={start:"/v1/auth/webauthn/signup-in/start"},Ce={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},Te="/v1/auth/password/signup",qe="/v1/auth/password/signin",De="/v1/auth/password/reset",$e="/v1/auth/password/update",Je="/v1/auth/password/replace",Ke="/v1/auth/password/policy",Me="/v1/auth/refresh",Ne="/v1/auth/logout",Le="/v1/auth/logoutall",Fe="/v1/auth/me",He="/v1/flow/start",Be="/v1/flow/next";const ze=6e5,Ve=()=>{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")}};var Ge;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(Ge||(Ge={}));const Ze=(...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}),{})),Qe=e=>void 0===e?void 0:JSON.stringify(e),We=(e,t="")=>{let n=e;return t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},Xe=({baseUrl:e,projectId:t,baseConfig:n,logger:r,hooks:o,cookiePolicy:i,fetch:a})=>{const s=((e,t)=>{const n=(e=>async(...t)=>{const n=await e(...t),r=await n.text();return n.text=()=>Promise.resolve(r),n.json=()=>Promise.resolve(JSON.parse(r)),n.clone=()=>n,n})(t||fetch);return n||null==e||e.warn("Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally"),e?async(...t)=>{if(!n)throw Error("Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally");e.log((e=>Ve().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 Ve().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(r)),r}:n})(r,a),c=async r=>{const a=(null==o?void 0:o.beforeRequest)?o.beforeRequest(r):r,{path:c,body:u,headers:l,queryParams:d,method:p,token:f}=a,h=await s((({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:Ze(We(t,f),{"x-descope-sdk-name":"core-js","x-descope-sdk-version":"1.3.8"},(null==n?void 0:n.baseHeaders)||{},l),method:p,body:Qe(u),credentials:i||"include"});return(null==o?void 0:o.afterRequest)&&await o.afterRequest(r,null==h?void 0:h.clone()),h};return{get:(e,{headers:t,queryParams:n,token:r}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:Ge.get,token:r}),post:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ge.post,token:o}),put:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ge.put,token:o}),delete:(e,{headers:t,queryParams:n,token:r}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:Ge.delete,token:r}),hooks:o}};var Ye=429;function et(e,t,n){var r;let o=tt(e);t&&(o=null===(r=null==o?void 0:o.tenants)||void 0===r?void 0:r[t]);const i=null==o?void 0:o[n];return Array.isArray(i)?i:[]}function tt(e){if("string"!=typeof e||!e)throw new Error("Invalid token provided");return p(e)}function nt(e){const{exp:t}=tt(e);return(new Date).getTime()/1e3>t}function rt(e,t){return et(e,t,"permissions")}function ot(e,t){return et(e,t,"roles")}const it=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function at(e,t){var n;const r=await e,o={code:r.status,ok:r.ok,response:r},i=await r.clone().json();return r.ok?o.data=t?t(i):i:(o.error=i,r.status===Ye&&Object.assign(o.error,{retryAfter:Number.parseInt(null===(n=r.headers)||void 0===n?void 0:n.get("retry-after"))||0})),o}const st=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),ct=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),ut=e=>t=>e.test(t),lt=ut(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),dt=ut(/^\+[1-9]{1}[0-9]{3,14}$/),pt=st(lt,'"{val}" is not a valid email'),ft=st(dt,'"{val}" is not a valid phone number'),ht=st((1,e=>e.length>=1),"Minimum length is 1");const gt=st((e=>"string"==typeof e),"Input is not a string"),vt=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>ct(...e).validate(n[t]))),t(...n)),yt=e=>[gt(`"${e}" must be a string`),ht(`"${e}" must not be empty`)],bt=e=>[gt(`"${e}" must be a string`),pt()],wt=e=>[gt(`"${e}" must be a string`),ft()],mt=vt(yt("accessKey")),It=e=>({exchange:mt((t=>at(e.post(ae,{},{token:t}))))});var kt,Ot;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(kt||(kt={})),function(e){e.email="email"}(Ot||(Ot={}));const jt=Object.assign(Object.assign({},kt),Ot);var _t;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(_t||(_t={}));const St=yt("loginId"),Ut=vt(yt("token")),Pt=vt(St),Rt=vt(yt("pendingRef")),xt=vt(St,bt("email")),At=e=>({verify:Ut((t=>at(e.post(ye,{token:t})))),signIn:Pt(((t,n,r,o)=>at(e.post(it(be,jt.email),{loginId:t,URI:n,loginOptions:r},{token:o})))),signUpOrIn:Pt(((t,n)=>at(e.post(it(ke,jt.email),{loginId:t,URI:n})))),signUp:Pt(((t,n,r)=>at(e.post(it(we,jt.email),{loginId:t,URI:n,user:r})))),waitForSession:Rt(((t,n)=>new Promise((r=>{const{pollingIntervalMs:o,timeoutMs:i}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||ze,ze)}))(n);let a;const s=setInterval((async()=>{const n=await e.post(me,{pendingRef:t});n.ok&&(clearInterval(s),a&&clearTimeout(a),r(at(Promise.resolve(n))))}),o);a=setTimeout((()=>{r({error:{errorDescription:`Session polling timeout exceeded: ${i}ms`,errorCode:"0"},ok:!1}),clearInterval(s)}),i)})))),update:{email:xt(((t,n,r,o,i)=>at(e.post(Ie.email,Object.assign({loginId:t,email:n,URI:r},i),{token:o}))))}}),Et=vt(yt("flowId")),Ct=vt(yt("executionId"),yt("stepId"),yt("interactionId")),Tt=e=>({start:Et(((t,n,r,o,i,a)=>at(e.post(He,{flowId:t,options:n,conditionInteractionId:r,interactionId:o,input:i,version:a})))),next:Ct(((t,n,r,o,i)=>at(e.post(Be,{executionId:t,stepId:n,interactionId:r,input:o,version:i}))))}),qt=yt("loginId"),Dt=vt(yt("token")),$t=vt(qt),Jt=vt(qt,wt("phone")),Kt=vt(qt,bt("email")),Mt=e=>({verify:Dt((t=>at(e.post(pe,{token:t})))),signIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o,i)=>at(e.post(it(fe,n),{loginId:t,URI:r,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o)=>at(e.post(it(he,n),{loginId:t,URI:r,user:o}))))})),{}),signUpOrIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r)=>at(e.post(it(ve,n),{loginId:t,URI:r}))))})),{}),update:{email:Kt(((t,n,r,o,i)=>at(e.post(ge.email,Object.assign({loginId:t,email:n,URI:r},i),{token:o})))),phone:Object.keys(kt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Jt(((t,r,o,i,a)=>at(e.post(it(ge.phone,n),Object.assign({loginId:t,phone:r,URI:o},a),{token:i}))))})),{})}});var Nt;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple",e.discord="discord",e.linkedin="linkedin"}(Nt||(Nt={}));const Lt=vt(yt("code")),Ft=e=>({start:Object.keys(Nt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:(t,r,o)=>at(e.post(Oe,r||{},{queryParams:Object.assign({provider:n},t&&{redirectURL:t}),token:o}))})),{}),exchange:Lt((t=>at(e.post(je,{code:t}))))}),Ht=yt("loginId"),Bt=vt(Ht,yt("code")),zt=vt(Ht),Vt=vt(Ht,wt("phone")),Gt=vt(Ht,bt("email")),Zt=e=>({verify:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Bt(((t,r)=>at(e.post(it(se,n),{code:r,loginId:t}))))})),{}),signIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt(((t,r,o)=>at(e.post(it(ce,n),{loginId:t,loginOptions:r},{token:o}))))})),{}),signUp:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt(((t,r)=>at(e.post(it(ue,n),{loginId:t,user:r}))))})),{}),signUpOrIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt((t=>at(e.post(it(de,n),{loginId:t}))))})),{}),update:{email:Gt(((t,n,r,o)=>at(e.post(le.email,Object.assign({loginId:t,email:n},o),{token:r})))),phone:Object.keys(kt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt(((t,r,o,i)=>at(e.post(it(le.phone,n),Object.assign({loginId:t,phone:r},i),{token:o}))))})),{})}}),Qt=vt(yt("tenant")),Wt=vt(yt("code")),Xt=e=>({start:Qt(((t,n,r,o)=>at(e.post(_e,r||{},{queryParams:{tenant:t,redirectURL:n},token:o})))),exchange:Wt((t=>at(e.post(Se,{code:t}))))}),Yt=yt("loginId"),en=vt(Yt,yt("code")),tn=vt(Yt),nn=vt(Yt),rn=e=>({signUp:tn(((t,n)=>at(e.post(Pe,{loginId:t,user:n})))),verify:en(((t,n,r,o)=>at(e.post(Ue,{loginId:t,code:n,loginOptions:r},{token:o})))),update:nn(((t,n)=>at(e.post(Re,{loginId:t},{token:n}))))}),on=yt("loginId"),an=yt("newPassword"),sn=vt(on,yt("password")),cn=vt(on),un=vt(on,an),ln=vt(on,yt("oldPassword"),an),dn=e=>({signUp:sn(((t,n,r)=>at(e.post(Te,{loginId:t,password:n,user:r})))),signIn:sn(((t,n)=>at(e.post(qe,{loginId:t,password:n})))),sendReset:cn(((t,n)=>at(e.post(De,{loginId:t,redirectUrl:n})))),update:un(((t,n,r)=>at(e.post($e,{loginId:t,newPassword:n},{token:r})))),replace:ln(((t,n,r)=>at(e.post(Je,{loginId:t,oldPassword:n,newPassword:r})))),policy:()=>at(e.get(Ke))}),pn=[gt('"loginId" must be a string')],fn=yt("loginId"),hn=yt("origin"),gn=vt(fn,hn,yt("name")),vn=vt(fn,hn),yn=vt(pn,hn),bn=vt(fn,hn,yt("token")),wn=vt(yt("transactionId"),yt("response")),mn=e=>({signUp:{start:gn(((t,n,r)=>at(e.post(xe.start,{user:{loginId:t,name:r},origin:n})))),finish:wn(((t,n)=>at(e.post(xe.finish,{transactionId:t,response:n}))))},signIn:{start:yn(((t,n,r,o)=>at(e.post(Ae.start,{loginId:t,origin:n,loginOptions:r},{token:o})))),finish:wn(((t,n)=>at(e.post(Ae.finish,{transactionId:t,response:n}))))},signUpOrIn:{start:vn(((t,n)=>at(e.post(Ee.start,{loginId:t,origin:n}))))},update:{start:bn(((t,n,r)=>at(e.post(Ce.start,{loginId:t,origin:n},{token:r})))),finish:wn(((t,n)=>at(e.post(Ce.finish,{transactionId:t,response:n}))))}}),In=vt(yt("token"));var kn,On=vt([("projectId",kn=yt("projectId"),st(((e,t)=>n=>ct(...t).validate(ie(n,e)))("projectId",kn))())])((e=>{var t,n;const r=[].concat((null===(t=e.hooks)||void 0===t?void 0:t.beforeRequest)||[]),o=[].concat((null===(n=e.hooks)||void 0===n?void 0:n.afterRequest)||[]);return(({projectId:e,logger:t,baseUrl:n,hooks:r,cookiePolicy:o,baseHeaders:i={},fetch:a})=>{return s=Xe({baseUrl:n||"https://api.descope.com",projectId:e,logger:t,hooks:r,cookiePolicy:o,baseConfig:{baseHeaders:i},fetch:a}),{accessKey:It(s),otp:Zt(s),magicLink:Mt(s),enchantedLink:At(s),oauth:Ft(s),saml:Xt(s),totp:rn(s),webauthn:mn(s),password:dn(s),flow:Tt(s),refresh:e=>at(s.post(Me,{},{token:e})),logout:e=>at(s.post(Ne,{},{token:e})),logoutAll:e=>at(s.post(Le,{},{token:e})),me:e=>at(s.get(Fe,{token:e})),isJwtExpired:In(nt),getJwtPermissions:In(rt),getJwtRoles:In(ot),httpClient:s};var s})(Object.assign(Object.assign({},e),{hooks:{beforeRequest:e=>null==r?void 0:r.reduce(((e,t)=>t(e)),e),afterRequest:async(t,n)=>{(await Promise.allSettled(null==o?void 0:o.map((e=>e(t,null==n?void 0:n.clone()))))).forEach((t=>{var n;return"rejected"===t.status&&(null===(n=e.logger)||void 0===n?void 0:n.error(t.reason))}))}}}))}));const jn=(e,t,n)=>(t.forEach((t=>{const r=t.split(".");let o=r.shift(),i=e;for(;r.length>0;){if(i=i[o],!o||!i)throw Error(`Invalid path "${t}", "${o}" is missing or has no value`);o=r.shift()}if("function"!=typeof i[o])throw Error(`"${t}" is not a function`);const a=i[o];i[o]=n(a)})),e);var _n=Object.assign(On,{DeliveryMethods:jt});const Sn=(...e)=>{console.debug(...e)},Un="undefined"!=typeof window,Pn=Un&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com";var Rn="Blocked by CSP",xn="9319";function An(e,t){var n=[];return function(e,t){var n,r,o=(r=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}([],e,!0),{current:function(){return r[0]},postpone:function(){var e=r.shift();void 0!==e&&r.push(e)},exclude:function(){r.shift()}}),i=(100,3e3,n=0,function(){return Math.random()*Math.min(3e3,100*Math.pow(2,n++))}),a=o.current();if(void 0===a)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var s=function(e,n){return t(e).catch((function(e){if(n+1>=5)throw e;!function(e){if(!(e instanceof Error))return!1;var t=e.message;return t===Rn||t===xn}(e)?o.postpone():o.exclude();var t,r=o.current();if(void 0===r)throw e;return(t=i(),new Promise((function(e){return setTimeout(e,t)}))).then((function(){return s(r,n+1)}))}))};return s(a,0)}(e,(function(e){var r=new Date,o=function(){return n.push({url:e,startedAt:r,finishedAt:new Date})},i=t(e);return i.then(o,o),i})).then((function(e){return[e,{attempts:n}]}))}var En="Failed to load the JS script of the agent";function Cn(e){var t;e.scriptUrlPattern;var n=e.token,r=e.apiKey,o=void 0===r?n:r,i=c(e,["scriptUrlPattern","token","apiKey"]),a=null!==(t=function(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}(e,"scriptUrlPattern"))&&void 0!==t?t:"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js";return Promise.resolve().then((function(){if(!o||"string"!=typeof o)throw new Error("API key required");var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?n(t):"<loaderVersion>"===e?n("3.8.3"):e}))}(String(e),t)}))}(a,o);return An(e,Tn).catch(Dn)})).then((function(e){var t=e[0],n=e[1];return t.load(s(s({},i),{ldi:n}))}))}function Tn(e){return function(e,t,n,r){var o,i=document,a="securitypolicyviolation",s=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,c())};i.addEventListener(a,s);var c=function(){return i.removeEventListener(a,s)};return Promise.resolve().then(t).then((function(e){return c(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(c(),o)return function(){throw new Error(Rn)}();throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){var r=document.createElement("script"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName("head")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(En))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)})).then(qn)}function qn(){var e=window,t="__fpjs_p_l_b",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),"function"!=typeof(null==n?void 0:n.load))throw new Error(xn);return n}function Dn(e){throw e instanceof Error&&e.message===xn?new Error(En):e}const $n=(e="",t="")=>({vsid:e,vrid:t}),Jn=(e=!1)=>{const t=localStorage.getItem("fp");if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},Kn=async e=>{try{if(Jn())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=Cn({apiKey:e,endpoint:Pn}),r=await n,{requestId:o}=await r.get({linkedId:t});(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(t))})($n(t,o))}catch(e){global.FB_DEBUG&&console.error(e)}},Mn=e=>(e.body&&(e.body.fpData=Jn(!0)||$n()),e),Nn="dls_last_user_login_id",Ln="dls_last_user_display_name",Fn=()=>i(Nn),Hn=()=>i(Ln),Bn=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,r={}]=t,o=Fn(),i=Hn();o&&(null!==(n=r.lastAuth)&&void 0!==n||(r.lastAuth={}),r.lastAuth.loginId=o,r.lastAuth.name=i);return await e(...t)},zn=e=>async(...t)=>{const n=await e(...t);return a(Nn),a(Ln),n};function Vn(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}
!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).Descope=t()}(this,(function(){"use strict";const e=(e,t)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,r)=>{var o;return n[r]=[].concat((null===(o=e.hooks)||void 0===o?void 0:o[r])||[]).concat((null==t?void 0:t[r])||[]),n}),null!==(n=e.hooks)&&void 0!==n?n:e.hooks={}),e},t=async e=>{if(!(null==e?void 0:e.ok))return{};const t=await(null==e?void 0:e.clone().json());return(null==t?void 0:t.authInfo)||t||{}},n=async e=>{const n=await t(e);return(null==n?void 0:n.user)||((null==n?void 0:n.hasOwnProperty("userId"))?n:void 0)},r="undefined"!=typeof localStorage,o=(e,t)=>r&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(e,t)),i=e=>r&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(e)),a=e=>r&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(e));var s=function(){return s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},s.apply(this,arguments)};function c(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function u(e){this.message=e}u.prototype=new Error,u.prototype.name="InvalidCharacterError";var l="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new u("'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 d(e){this.message=e}function p(e,t){if("string"!=typeof e)throw new d("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(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(l(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 l(t)}}(e.split(".")[n]))}catch(e){throw new d("Invalid token specified: "+e.message)}}d.prototype=new Error,d.prototype.name="InvalidTokenError";var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function h(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g="__lodash_hash_undefined__",v=1/0,y="[object Function]",b="[object GeneratorFunction]",w="[object Symbol]",m=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I=/^\w*$/,k=/^\./,O=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,j=/\\(\\)?/g,_=/^\[object .+?Constructor\]$/,S="object"==typeof f&&f&&f.Object===Object&&f,U="object"==typeof self&&self&&self.Object===Object&&self,P=S||U||Function("return this")();var R,x=Array.prototype,A=Function.prototype,E=Object.prototype,C=P["__core-js_shared__"],T=(R=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+R:"",q=A.toString,D=E.hasOwnProperty,$=E.toString,J=RegExp("^"+q.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),K=P.Symbol,M=x.splice,N=X(P,"Map"),L=X(Object,"create"),F=K?K.prototype:void 0,H=F?F.toString:void 0;function B(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 z(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 V(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 G(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 Z(e,t){var n;t=function(e,t){if(ne(e))return!1;var n=typeof e;if("number"==n||"symbol"==n||"boolean"==n||null==e||oe(e))return!0;return I.test(e)||!m.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:ne(n=t)?n:Y(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[ee(t[r++])];return r&&r==o?e:void 0}function Q(e){if(!re(e)||(t=e,T&&T in t))return!1;var t,n=function(e){var t=re(e)?$.call(e):"";return t==y||t==b}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?J:_;return n.test(function(e){if(null!=e){try{return q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function W(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 X(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Q(n)?n:void 0}B.prototype.clear=function(){this.__data__=L?L(null):{}},B.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},B.prototype.get=function(e){var t=this.__data__;if(L){var n=t[e];return n===g?void 0:n}return D.call(t,e)?t[e]:void 0},B.prototype.has=function(e){var t=this.__data__;return L?void 0!==t[e]:D.call(t,e)},B.prototype.set=function(e,t){return this.__data__[e]=L&&void 0===t?g:t,this},z.prototype.clear=function(){this.__data__=[]},z.prototype.delete=function(e){var t=this.__data__,n=G(t,e);return!(n<0)&&(n==t.length-1?t.pop():M.call(t,n,1),!0)},z.prototype.get=function(e){var t=this.__data__,n=G(t,e);return n<0?void 0:t[n][1]},z.prototype.has=function(e){return G(this.__data__,e)>-1},z.prototype.set=function(e,t){var n=this.__data__,r=G(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},V.prototype.clear=function(){this.__data__={hash:new B,map:new(N||z),string:new B}},V.prototype.delete=function(e){return W(this,e).delete(e)},V.prototype.get=function(e){return W(this,e).get(e)},V.prototype.has=function(e){return W(this,e).has(e)},V.prototype.set=function(e,t){return W(this,e).set(e,t),this};var Y=te((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(oe(e))return H?H.call(e):"";var t=e+"";return"0"==t&&1/e==-v?"-0":t}(t);var n=[];return k.test(e)&&n.push(""),e.replace(O,(function(e,t,r,o){n.push(r?o.replace(j,"$1"):t||e)})),n}));function ee(e){if("string"==typeof e||oe(e))return e;var t=e+"";return"0"==t&&1/e==-v?"-0":t}function te(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(te.Cache||V),n}te.Cache=V;var ne=Array.isArray;function re(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)&&$.call(e)==w}var ie=h((function(e,t,n){var r=null==e?void 0:Z(e,t);return void 0===r?n:r})),ae="/v1/auth/accesskey/exchange",se="/v1/auth/otp/verify",ce="/v1/auth/otp/signin",ue="/v1/auth/otp/signup",le={email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},de="/v1/auth/otp/signup-in",pe="/v1/auth/magiclink/verify",fe="/v1/auth/magiclink/signin",he="/v1/auth/magiclink/signup",ge={email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},ve="/v1/auth/magiclink/signup-in",ye="/v1/auth/enchantedlink/verify",be="/v1/auth/enchantedlink/signin",we="/v1/auth/enchantedlink/signup",me="/v1/auth/enchantedlink/pending-session",Ie={email:"/v1/auth/enchantedlink/update/email"},ke="/v1/auth/enchantedlink/signup-in",Oe="/v1/auth/oauth/authorize",je="/v1/auth/oauth/exchange",_e="/v1/auth/saml/authorize",Se="/v1/auth/saml/exchange",Ue="/v1/auth/totp/verify",Pe="/v1/auth/totp/signup",Re="/v1/auth/totp/update",xe={start:"/v1/auth/webauthn/signup/start",finish:"/v1/auth/webauthn/signup/finish"},Ae={start:"/v1/auth/webauthn/signin/start",finish:"/v1/auth/webauthn/signin/finish"},Ee={start:"/v1/auth/webauthn/signup-in/start"},Ce={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},Te="/v1/auth/password/signup",qe="/v1/auth/password/signin",De="/v1/auth/password/reset",$e="/v1/auth/password/update",Je="/v1/auth/password/replace",Ke="/v1/auth/password/policy",Me="/v1/auth/refresh",Ne="/v1/auth/logout",Le="/v1/auth/logoutall",Fe="/v1/auth/me",He="/v1/flow/start",Be="/v1/flow/next";const ze=6e5,Ve=()=>{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")}};var Ge;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(Ge||(Ge={}));const Ze=(...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}),{})),Qe=e=>void 0===e?void 0:JSON.stringify(e),We=(e,t="")=>{let n=e;return t&&(n=n+":"+t),{Authorization:`Bearer ${n}`}},Xe=({baseUrl:e,projectId:t,baseConfig:n,logger:r,hooks:o,cookiePolicy:i,fetch:a})=>{const s=((e,t)=>{const n=(e=>async(...t)=>{const n=await e(...t),r=await n.text();return n.text=()=>Promise.resolve(r),n.json=()=>Promise.resolve(JSON.parse(r)),n.clone=()=>n,n})(t||fetch);return n||null==e||e.warn("Fetch is not defined, you will not be able to send http requests, if you are running in a test, make sure fetch is defined globally"),e?async(...t)=>{if(!n)throw Error("Cannot send http request, fetch is not defined, if you are running in a test, make sure fetch is defined globally");e.log((e=>Ve().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 Ve().title("Response").url(e.url.toString()).status(`${e.status} ${e.statusText}`).headers(e.headers).body(t).build()})(r)),r}:n})(r,a),c=async r=>{const a=(null==o?void 0:o.beforeRequest)?o.beforeRequest(r):r,{path:c,body:u,headers:l,queryParams:d,method:p,token:f}=a,h=await s((({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:Ze(We(t,f),{"x-descope-sdk-name":"core-js","x-descope-sdk-version":"1.3.9"},(null==n?void 0:n.baseHeaders)||{},l),method:p,body:Qe(u),credentials:i||"include"});return(null==o?void 0:o.afterRequest)&&await o.afterRequest(r,null==h?void 0:h.clone()),h};return{get:(e,{headers:t,queryParams:n,token:r}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:Ge.get,token:r}),post:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ge.post,token:o}),put:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ge.put,token:o}),delete:(e,{headers:t,queryParams:n,token:r}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:Ge.delete,token:r}),hooks:o}};var Ye=429;function et(e,t,n){var r;let o=tt(e);t&&(o=null===(r=null==o?void 0:o.tenants)||void 0===r?void 0:r[t]);const i=null==o?void 0:o[n];return Array.isArray(i)?i:[]}function tt(e){if("string"!=typeof e||!e)throw new Error("Invalid token provided");return p(e)}function nt(e){const{exp:t}=tt(e);return(new Date).getTime()/1e3>t}function rt(e,t){return et(e,t,"permissions")}function ot(e,t){return et(e,t,"roles")}const it=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function at(e,t){var n;const r=await e,o={code:r.status,ok:r.ok,response:r},i=await r.clone().json();return r.ok?o.data=t?t(i):i:(o.error=i,r.status===Ye&&Object.assign(o.error,{retryAfter:Number.parseInt(null===(n=r.headers)||void 0===n?void 0:n.get("retry-after"))||0})),o}const st=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),ct=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),ut=e=>t=>e.test(t),lt=ut(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),dt=ut(/^\+[1-9]{1}[0-9]{3,14}$/),pt=st(lt,'"{val}" is not a valid email'),ft=st(dt,'"{val}" is not a valid phone number'),ht=st((1,e=>e.length>=1),"Minimum length is 1");const gt=st((e=>"string"==typeof e),"Input is not a string"),vt=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>ct(...e).validate(n[t]))),t(...n)),yt=e=>[gt(`"${e}" must be a string`),ht(`"${e}" must not be empty`)],bt=e=>[gt(`"${e}" must be a string`),pt()],wt=e=>[gt(`"${e}" must be a string`),ft()],mt=vt(yt("accessKey")),It=e=>({exchange:mt((t=>at(e.post(ae,{},{token:t}))))});var kt,Ot;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(kt||(kt={})),function(e){e.email="email"}(Ot||(Ot={}));const jt=Object.assign(Object.assign({},kt),Ot);var _t;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(_t||(_t={}));const St=yt("loginId"),Ut=vt(yt("token")),Pt=vt(St),Rt=vt(yt("pendingRef")),xt=vt(St,bt("email")),At=e=>({verify:Ut((t=>at(e.post(ye,{token:t})))),signIn:Pt(((t,n,r,o)=>at(e.post(it(be,jt.email),{loginId:t,URI:n,loginOptions:r},{token:o})))),signUpOrIn:Pt(((t,n)=>at(e.post(it(ke,jt.email),{loginId:t,URI:n})))),signUp:Pt(((t,n,r)=>at(e.post(it(we,jt.email),{loginId:t,URI:n,user:r})))),waitForSession:Rt(((t,n)=>new Promise((r=>{const{pollingIntervalMs:o,timeoutMs:i}=(({pollingIntervalMs:e=1e3,timeoutMs:t=6e5}={})=>({pollingIntervalMs:Math.max(e||1e3,1e3),timeoutMs:Math.min(t||ze,ze)}))(n);let a;const s=setInterval((async()=>{const n=await e.post(me,{pendingRef:t});n.ok&&(clearInterval(s),a&&clearTimeout(a),r(at(Promise.resolve(n))))}),o);a=setTimeout((()=>{r({error:{errorDescription:`Session polling timeout exceeded: ${i}ms`,errorCode:"0"},ok:!1}),clearInterval(s)}),i)})))),update:{email:xt(((t,n,r,o,i)=>at(e.post(Ie.email,Object.assign({loginId:t,email:n,URI:r},i),{token:o}))))}}),Et=vt(yt("flowId")),Ct=vt(yt("executionId"),yt("stepId"),yt("interactionId")),Tt=e=>({start:Et(((t,n,r,o,i,a)=>at(e.post(He,{flowId:t,options:n,conditionInteractionId:r,interactionId:o,input:i,version:a})))),next:Ct(((t,n,r,o,i)=>at(e.post(Be,{executionId:t,stepId:n,interactionId:r,input:o,version:i}))))}),qt=yt("loginId"),Dt=vt(yt("token")),$t=vt(qt),Jt=vt(qt,wt("phone")),Kt=vt(qt,bt("email")),Mt=e=>({verify:Dt((t=>at(e.post(pe,{token:t})))),signIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o,i)=>at(e.post(it(fe,n),{loginId:t,URI:r,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o)=>at(e.post(it(he,n),{loginId:t,URI:r,user:o}))))})),{}),signUpOrIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r)=>at(e.post(it(ve,n),{loginId:t,URI:r}))))})),{}),update:{email:Kt(((t,n,r,o,i)=>at(e.post(ge.email,Object.assign({loginId:t,email:n,URI:r},i),{token:o})))),phone:Object.keys(kt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Jt(((t,r,o,i,a)=>at(e.post(it(ge.phone,n),Object.assign({loginId:t,phone:r,URI:o},a),{token:i}))))})),{})}});var Nt;!function(e){e.facebook="facebook",e.github="github",e.google="google",e.microsoft="microsoft",e.gitlab="gitlab",e.apple="apple",e.discord="discord",e.linkedin="linkedin"}(Nt||(Nt={}));const Lt=vt(yt("code")),Ft=e=>({start:Object.keys(Nt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:(t,r,o)=>at(e.post(Oe,r||{},{queryParams:Object.assign({provider:n},t&&{redirectURL:t}),token:o}))})),{}),exchange:Lt((t=>at(e.post(je,{code:t}))))}),Ht=yt("loginId"),Bt=vt(Ht,yt("code")),zt=vt(Ht),Vt=vt(Ht,wt("phone")),Gt=vt(Ht,bt("email")),Zt=e=>({verify:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Bt(((t,r)=>at(e.post(it(se,n),{code:r,loginId:t}))))})),{}),signIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt(((t,r,o)=>at(e.post(it(ce,n),{loginId:t,loginOptions:r},{token:o}))))})),{}),signUp:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt(((t,r)=>at(e.post(it(ue,n),{loginId:t,user:r}))))})),{}),signUpOrIn:Object.keys(jt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt((t=>at(e.post(it(de,n),{loginId:t}))))})),{}),update:{email:Gt(((t,n,r,o)=>at(e.post(le.email,Object.assign({loginId:t,email:n},o),{token:r})))),phone:Object.keys(kt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt(((t,r,o,i)=>at(e.post(it(le.phone,n),Object.assign({loginId:t,phone:r},i),{token:o}))))})),{})}}),Qt=vt(yt("tenant")),Wt=vt(yt("code")),Xt=e=>({start:Qt(((t,n,r,o)=>at(e.post(_e,r||{},{queryParams:{tenant:t,redirectURL:n},token:o})))),exchange:Wt((t=>at(e.post(Se,{code:t}))))}),Yt=yt("loginId"),en=vt(Yt,yt("code")),tn=vt(Yt),nn=vt(Yt),rn=e=>({signUp:tn(((t,n)=>at(e.post(Pe,{loginId:t,user:n})))),verify:en(((t,n,r,o)=>at(e.post(Ue,{loginId:t,code:n,loginOptions:r},{token:o})))),update:nn(((t,n)=>at(e.post(Re,{loginId:t},{token:n}))))}),on=yt("loginId"),an=yt("newPassword"),sn=vt(on,yt("password")),cn=vt(on),un=vt(on,an),ln=vt(on,yt("oldPassword"),an),dn=e=>({signUp:sn(((t,n,r)=>at(e.post(Te,{loginId:t,password:n,user:r})))),signIn:sn(((t,n)=>at(e.post(qe,{loginId:t,password:n})))),sendReset:cn(((t,n)=>at(e.post(De,{loginId:t,redirectUrl:n})))),update:un(((t,n,r)=>at(e.post($e,{loginId:t,newPassword:n},{token:r})))),replace:ln(((t,n,r)=>at(e.post(Je,{loginId:t,oldPassword:n,newPassword:r})))),policy:()=>at(e.get(Ke))}),pn=[gt('"loginId" must be a string')],fn=yt("loginId"),hn=yt("origin"),gn=vt(fn,hn,yt("name")),vn=vt(fn,hn),yn=vt(pn,hn),bn=vt(fn,hn,yt("token")),wn=vt(yt("transactionId"),yt("response")),mn=e=>({signUp:{start:gn(((t,n,r)=>at(e.post(xe.start,{user:{loginId:t,name:r},origin:n})))),finish:wn(((t,n)=>at(e.post(xe.finish,{transactionId:t,response:n}))))},signIn:{start:yn(((t,n,r,o)=>at(e.post(Ae.start,{loginId:t,origin:n,loginOptions:r},{token:o})))),finish:wn(((t,n)=>at(e.post(Ae.finish,{transactionId:t,response:n}))))},signUpOrIn:{start:vn(((t,n)=>at(e.post(Ee.start,{loginId:t,origin:n}))))},update:{start:bn(((t,n,r)=>at(e.post(Ce.start,{loginId:t,origin:n},{token:r})))),finish:wn(((t,n)=>at(e.post(Ce.finish,{transactionId:t,response:n}))))}}),In=vt(yt("token"));var kn,On=vt([("projectId",kn=yt("projectId"),st(((e,t)=>n=>ct(...t).validate(ie(n,e)))("projectId",kn))())])((e=>{var t,n;const r=[].concat((null===(t=e.hooks)||void 0===t?void 0:t.beforeRequest)||[]),o=[].concat((null===(n=e.hooks)||void 0===n?void 0:n.afterRequest)||[]);return(({projectId:e,logger:t,baseUrl:n,hooks:r,cookiePolicy:o,baseHeaders:i={},fetch:a})=>{return s=Xe({baseUrl:n||"https://api.descope.com",projectId:e,logger:t,hooks:r,cookiePolicy:o,baseConfig:{baseHeaders:i},fetch:a}),{accessKey:It(s),otp:Zt(s),magicLink:Mt(s),enchantedLink:At(s),oauth:Ft(s),saml:Xt(s),totp:rn(s),webauthn:mn(s),password:dn(s),flow:Tt(s),refresh:e=>at(s.post(Me,{},{token:e})),logout:e=>at(s.post(Ne,{},{token:e})),logoutAll:e=>at(s.post(Le,{},{token:e})),me:e=>at(s.get(Fe,{token:e})),isJwtExpired:In(nt),getJwtPermissions:In(rt),getJwtRoles:In(ot),httpClient:s};var s})(Object.assign(Object.assign({},e),{hooks:{beforeRequest:e=>null==r?void 0:r.reduce(((e,t)=>t(e)),e),afterRequest:async(t,n)=>{(await Promise.allSettled(null==o?void 0:o.map((e=>e(t,null==n?void 0:n.clone()))))).forEach((t=>{var n;return"rejected"===t.status&&(null===(n=e.logger)||void 0===n?void 0:n.error(t.reason))}))}}}))}));const jn=(e,t,n)=>(t.forEach((t=>{const r=t.split(".");let o=r.shift(),i=e;for(;r.length>0;){if(i=i[o],!o||!i)throw Error(`Invalid path "${t}", "${o}" is missing or has no value`);o=r.shift()}if("function"!=typeof i[o])throw Error(`"${t}" is not a function`);const a=i[o];i[o]=n(a)})),e);var _n=Object.assign(On,{DeliveryMethods:jt});const Sn=(...e)=>{console.debug(...e)},Un="undefined"!=typeof window,Pn=Un&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com";var Rn="Blocked by CSP",xn="9319";function An(e,t){var n=[];return function(e,t){var n,r,o=(r=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}([],e,!0),{current:function(){return r[0]},postpone:function(){var e=r.shift();void 0!==e&&r.push(e)},exclude:function(){r.shift()}}),i=(100,3e3,n=0,function(){return Math.random()*Math.min(3e3,100*Math.pow(2,n++))}),a=o.current();if(void 0===a)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var s=function(e,n){return t(e).catch((function(e){if(n+1>=5)throw e;!function(e){if(!(e instanceof Error))return!1;var t=e.message;return t===Rn||t===xn}(e)?o.postpone():o.exclude();var t,r=o.current();if(void 0===r)throw e;return(t=i(),new Promise((function(e){return setTimeout(e,t)}))).then((function(){return s(r,n+1)}))}))};return s(a,0)}(e,(function(e){var r=new Date,o=function(){return n.push({url:e,startedAt:r,finishedAt:new Date})},i=t(e);return i.then(o,o),i})).then((function(e){return[e,{attempts:n}]}))}var En="Failed to load the JS script of the agent";function Cn(e){var t;e.scriptUrlPattern;var n=e.token,r=e.apiKey,o=void 0===r?n:r,i=c(e,["scriptUrlPattern","token","apiKey"]),a=null!==(t=function(e,t){return function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)?e[t]:void 0}(e,"scriptUrlPattern"))&&void 0!==t?t:"https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js";return Promise.resolve().then((function(){if(!o||"string"!=typeof o)throw new Error("API key required");var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?n(t):"<loaderVersion>"===e?n("3.8.3"):e}))}(String(e),t)}))}(a,o);return An(e,Tn).catch(Dn)})).then((function(e){var t=e[0],n=e[1];return t.load(s(s({},i),{ldi:n}))}))}function Tn(e){return function(e,t,n,r){var o,i=document,a="securitypolicyviolation",s=function(t){var n=new URL(e,location.href),r=t.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,c())};i.addEventListener(a,s);var c=function(){return i.removeEventListener(a,s)};return Promise.resolve().then(t).then((function(e){return c(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(c(),o)return function(){throw new Error(Rn)}();throw e}))}))}(e,(function(){return function(e){return new Promise((function(t,n){var r=document.createElement("script"),o=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},i=document.head||document.getElementsByTagName("head")[0];r.onload=function(){o(),t()},r.onerror=function(){o(),n(new Error(En))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)})).then(qn)}function qn(){var e=window,t="__fpjs_p_l_b",n=e[t];if(function(e,t){var n,r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t);(null==r?void 0:r.configurable)?delete e[t]:r&&!r.writable||(e[t]=void 0)}(e,t),"function"!=typeof(null==n?void 0:n.load))throw new Error(xn);return n}function Dn(e){throw e instanceof Error&&e.message===xn?new Error(En):e}const $n=(e="",t="")=>({vsid:e,vrid:t}),Jn=(e=!1)=>{const t=localStorage.getItem("fp");if(!t)return null;const n=JSON.parse(t);return(new Date).getTime()>n.expiry&&!e?null:n.value},Kn=async e=>{try{if(Jn())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=Cn({apiKey:e,endpoint:Pn}),r=await n,{requestId:o}=await r.get({linkedId:t});(e=>{const t={value:e,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(t))})($n(t,o))}catch(e){global.FB_DEBUG&&console.error(e)}},Mn=e=>(e.body&&(e.body.fpData=Jn(!0)||$n()),e),Nn="dls_last_user_login_id",Ln="dls_last_user_display_name",Fn=()=>i(Nn),Hn=()=>i(Ln),Bn=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,r={}]=t,o=Fn(),i=Hn();o&&(null!==(n=r.lastAuth)&&void 0!==n||(r.lastAuth={}),r.lastAuth.loginId=o,r.lastAuth.name=i);return await e(...t)},zn=e=>async(...t)=>{const n=await e(...t);return a(Nn),a(Ln),n};function Vn(){const e=[];return{pub:t=>{e.forEach((e=>e(t)))},sub:t=>{const n=e.push(t)-1;return()=>e.splice(n,1)}}}
/*! js-cookie v3.0.5 | MIT */
function Gn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var Zn=function e(t,n){function r(e,r,o){if("undefined"!=typeof document){"number"==typeof(o=Gn({},n,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var a in o)o[a]&&(i+="; "+a,!0!==o[a]&&(i+="="+o[a].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",Gn({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Gn({},this.attributes,t))},withConverter:function(t){return e(Gn({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});const Qn="DS",Wn="DSR";const Xn=(e={},t)=>{var{refreshJwt:n,sessionJwt:r}=e,i=c(e,["refreshJwt","sessionJwt"]);void 0===t&&(t=!1),n&&o(Wn,n),r&&(t?function(e,t,{cookiePath:n,cookieDomain:r,cookieExpiration:o}){if(t){const i=new Date(1e3*o);Zn.set(e,t,{path:n,domain:r,expires:i,sameSite:"Strict",secure:!0})}}(Qn,r,i):o(Qn,r))};function Yn(){return i(Wn)||""}function er(){return Zn.get(Qn)||i(Qn)||""}function tr(){a(Wn),a(Qn),Zn.remove(Qn)}const nr=e=>Object.assign(e,{token:e.token||Yn()}),rr=e=>async(...t)=>{const n=await e(...t);return tr(),n};async function or(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=lr(n.publicKey.challenge),n.publicKey.user.id=lr(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=lr(e.id)})),n}(e),n=await navigator.credentials.create(t);return r=n,JSON.stringify({id:r.id,rawId:dr(r.rawId),type:r.type,response:{attestationObject:dr(r.response.attestationObject),clientDataJSON:dr(r.response.clientDataJSON)}});var r}async function ir(e){const t=cr(e);return ur(await navigator.credentials.get(t))}async function ar(e,t){const n=cr(e);n.signal=t.signal,n.mediation="conditional";return ur(await navigator.credentials.get(n))}async function sr(e=!1){if(!Un)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function cr(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=lr(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=lr(e.id)})),n}function ur(e){return JSON.stringify({id:e.id,rawId:dr(e.rawId),type:e.type,response:{authenticatorData:dr(e.response.authenticatorData),clientDataJSON:dr(e.response.clientDataJSON),signature:dr(e.response.signature),userHandle:e.response.userHandle?dr(e.response.userHandle):void 0}})}function lr(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function dr(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var pr,fr=(pr=e=>({async signUp(t,n){const r=await e.webauthn.signUp.start(t,window.location.origin,n);if(!r.ok)return r;const o=await or(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,o)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const r=await ir(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,r)},async signUpOrIn(t){var n;const r=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!r.ok)return r;if(null===(n=r.data)||void 0===n?void 0:n.create){const t=await or(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,t)}{const t=await ir(r.data.options);return await e.webauthn.signIn.finish(r.data.transactionId,t)}},async update(t,n){const r=await e.webauthn.update.start(t,window.location.origin,n);if(!r.ok)return r;const o=await or(r.data.options);return await e.webauthn.update.finish(r.data.transactionId,o)},helpers:{create:or,get:ir,isSupported:sr,conditional:ar}}),(...e)=>{const t=pr(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),hr=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await sr(),r=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=r,e.flow.start(...t)}});const gr=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:r,fpLoad:o}=n,i=c(n,["fpKey","fpLoad"]);return r?(Un?o&&Kn(r).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(e(i,{beforeRequest:Mn}))):t(Object.assign({},i))}),(n=>r=>{var{autoRefresh:o}=r,i=c(r,["autoRefresh"]);if(!o)return n(i);const{clearAllTimers:a,setTimer:s}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})(),u=n(e(i,{afterRequest:async(e,n)=>{const{refreshJwt:r,sessionJwt:o}=await t(n);if(401===(null==n?void 0:n.status))Sn("Received 401, canceling all timers"),a();else if(o){const e=((i=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(o))?i.getTime()-(new Date).getTime():0)-2e4;a(),Sn(`Setting refresh timer for ${e}ms`),s((()=>{Sn("Refreshing session"),u.refresh(r)}),e)}var i}}));return jn(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return Sn("Clearing all timers"),a(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.9"},t.baseHeaders)}))),(r=>o=>{const i=Vn(),a=Vn(),s=r(e(o,{afterRequest:async(e,r)=>{if(401===(null==r?void 0:r.status))i.pub(null),a.pub(null);else{const e=await n(r);e&&a.pub(e);const{sessionJwt:o}=await t(r);o&&i.pub(o)}}})),c=jn(s,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return i.pub(null),a.pub(null),n}));return Object.assign(c,{onSessionTokenChange:i.sub,onUserChange:a.sub})}),(t=>r=>{const i=t(e(r,{afterRequest:async(e,t)=>{var r;const i=await n(t),a=null===(r=null==i?void 0:i.loginIds)||void 0===r?void 0:r[0],s=null==i?void 0:i.name;a&&((e=>{o(Nn,e)})(a),(e=>{o(Ln,e)})(s))}}));let a=jn(i,["flow.start"],Bn);return a=jn(a,["logout","logoutAll"],zn),Object.assign(a,{getLastUserLoginId:Fn,getLastUserDisplayName:Hn})}),(n=>r=>{var{persistTokens:o,sessionTokenViaCookie:i}=r,a=c(r,["persistTokens","sessionTokenViaCookie"]);if(!o||!Un)return o&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),n(a);const s=n(e(a,{beforeRequest:nr,afterRequest:async(e,n)=>{401===(null==n?void 0:n.status)?tr():Xn(await t(n),i)}})),u=jn(s,["logout","logoutAll"],rr);return Object.assign(u,{getRefreshToken:Yn,getSessionToken:er})}))(((...e)=>{const t=_n(...e);return Object.assign(Object.assign({},t),{flow:hr(t),webauthn:fr(t)})}));return gr}));
function Gn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var Zn=function e(t,n){function r(e,r,o){if("undefined"!=typeof document){"number"==typeof(o=Gn({},n,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var a in o)o[a]&&(i+="; "+a,!0!==o[a]&&(i+="="+o[a].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",Gn({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Gn({},this.attributes,t))},withConverter:function(t){return e(Gn({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});const Qn="DS",Wn="DSR";const Xn=(e={},t)=>{var{refreshJwt:n,sessionJwt:r}=e,i=c(e,["refreshJwt","sessionJwt"]);void 0===t&&(t=!1),n&&o(Wn,n),r&&(t?function(e,t,{cookiePath:n,cookieDomain:r,cookieExpiration:o}){if(t){const i=new Date(1e3*o);Zn.set(e,t,{path:n,domain:r,expires:i,sameSite:"Strict",secure:!0})}}(Qn,r,i):o(Qn,r))};function Yn(){return i(Wn)||""}function er(){return Zn.get(Qn)||i(Qn)||""}function tr(){a(Wn),a(Qn),Zn.remove(Qn)}const nr=e=>Object.assign(e,{token:e.token||Yn()}),rr=e=>async(...t)=>{const n=await e(...t);return tr(),n};async function or(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=lr(n.publicKey.challenge),n.publicKey.user.id=lr(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=lr(e.id)})),n}(e),n=await navigator.credentials.create(t);return r=n,JSON.stringify({id:r.id,rawId:dr(r.rawId),type:r.type,response:{attestationObject:dr(r.response.attestationObject),clientDataJSON:dr(r.response.clientDataJSON)}});var r}async function ir(e){const t=cr(e);return ur(await navigator.credentials.get(t))}async function ar(e,t){const n=cr(e);n.signal=t.signal,n.mediation="conditional";return ur(await navigator.credentials.get(n))}async function sr(e=!1){if(!Un)return Promise.resolve(!1);const t=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return t&&e&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():t}function cr(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=lr(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=lr(e.id)})),n}function ur(e){return JSON.stringify({id:e.id,rawId:dr(e.rawId),type:e.type,response:{authenticatorData:dr(e.response.authenticatorData),clientDataJSON:dr(e.response.clientDataJSON),signature:dr(e.response.signature),userHandle:e.response.userHandle?dr(e.response.userHandle):void 0}})}function lr(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function dr(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var pr,fr=(pr=e=>({async signUp(t,n){const r=await e.webauthn.signUp.start(t,window.location.origin,n);if(!r.ok)return r;const o=await or(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,o)},async signIn(t){const n=await e.webauthn.signIn.start(t,window.location.origin);if(!n.ok)return n;const r=await ir(n.data.options);return await e.webauthn.signIn.finish(n.data.transactionId,r)},async signUpOrIn(t){var n;const r=await e.webauthn.signUpOrIn.start(t,window.location.origin);if(!r.ok)return r;if(null===(n=r.data)||void 0===n?void 0:n.create){const t=await or(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,t)}{const t=await ir(r.data.options);return await e.webauthn.signIn.finish(r.data.transactionId,t)}},async update(t,n){const r=await e.webauthn.update.start(t,window.location.origin,n);if(!r.ok)return r;const o=await or(r.data.options);return await e.webauthn.update.finish(r.data.transactionId,o)},helpers:{create:or,get:ir,isSupported:sr,conditional:ar}}),(...e)=>{const t=pr(...e);return Object.assign(t.signUp,e[0].webauthn.signUp),Object.assign(t.signIn,e[0].webauthn.signIn),Object.assign(t.signUpOrIn,e[0].webauthn.signUpOrIn),Object.assign(t.update,e[0].webauthn.update),t}),hr=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await sr(),r=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=r,e.flow.start(...t)}});const gr=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}((t=>n=>{var{fpKey:r,fpLoad:o}=n,i=c(n,["fpKey","fpLoad"]);return r?(Un?o&&Kn(r).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),t(e(i,{beforeRequest:Mn}))):t(Object.assign({},i))}),(n=>r=>{var{autoRefresh:o}=r,i=c(r,["autoRefresh"]);if(!o)return n(i);const{clearAllTimers:a,setTimer:s}=(()=>{const e=[];return{clearAllTimers:()=>{for(;e.length;)clearTimeout(e.pop())},setTimer:(t,n)=>{e.push(setTimeout(t,n))}}})(),u=n(e(i,{afterRequest:async(e,n)=>{const{refreshJwt:r,sessionJwt:o}=await t(n);if(401===(null==n?void 0:n.status))Sn("Received 401, canceling all timers"),a();else if(o){const e=((i=(e=>{const t=e.split(".");try{if(3===t.length){const e=JSON.parse(window.atob(t[1]));if(e.exp)return new Date(1e3*e.exp)}}catch(e){}return null})(o))?i.getTime()-(new Date).getTime():0)-2e4;a(),Sn(`Setting refresh timer for ${e}ms`),s((()=>{Sn("Refreshing session"),u.refresh(r)}),e)}var i}}));return jn(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return Sn("Clearing all timers"),a(),n}))}),(e=>t=>e(Object.assign(Object.assign({},t),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.10"},t.baseHeaders)}))),(r=>o=>{const i=Vn(),a=Vn(),s=r(e(o,{afterRequest:async(e,r)=>{if(401===(null==r?void 0:r.status))i.pub(null),a.pub(null);else{const e=await n(r);e&&a.pub(e);const{sessionJwt:o}=await t(r);o&&i.pub(o)}}})),c=jn(s,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return i.pub(null),a.pub(null),n}));return Object.assign(c,{onSessionTokenChange:i.sub,onUserChange:a.sub})}),(t=>r=>{const i=t(e(r,{afterRequest:async(e,t)=>{var r;const i=await n(t),a=null===(r=null==i?void 0:i.loginIds)||void 0===r?void 0:r[0],s=null==i?void 0:i.name;a&&((e=>{o(Nn,e)})(a),(e=>{o(Ln,e)})(s))}}));let a=jn(i,["flow.start"],Bn);return a=jn(a,["logout","logoutAll"],zn),Object.assign(a,{getLastUserLoginId:Fn,getLastUserDisplayName:Hn})}),(n=>r=>{var{persistTokens:o,sessionTokenViaCookie:i}=r,a=c(r,["persistTokens","sessionTokenViaCookie"]);if(!o||!Un)return o&&console.warn("Storing auth tokens in local storage and cookies are a client side only capabilities and will not be done when running in the server"),n(a);const s=n(e(a,{beforeRequest:nr,afterRequest:async(e,n)=>{401===(null==n?void 0:n.status)?tr():Xn(await t(n),i)}})),u=jn(s,["logout","logoutAll"],rr);return Object.assign(u,{getRefreshToken:Yn,getSessionToken:er})}))(((...e)=>{const t=_n(...e);return Object.assign(Object.assign({},t),{flow:hr(t),webauthn:fr(t)})}));return gr}));
//# sourceMappingURL=index.umd.js.map
{
"name": "@descope/web-js-sdk",
"version": "1.2.9",
"version": "1.2.10",
"author": "Descope Team <info@descope.com>",

@@ -52,3 +52,3 @@ "homepage": "https://github.com/descope/web-js-sdk",

"eslint-config-prettier": "8.8.0",
"eslint-config-standard": "17.0.0",
"eslint-config-standard": "17.1.0",
"eslint-import-resolver-typescript": "3.5.5",

@@ -86,3 +86,3 @@ "eslint-plugin-import": "2.27.5",

"js-cookie": "3.0.5",
"@descope/core-js-sdk": "1.3.8"
"@descope/core-js-sdk": "1.3.9"
},

@@ -89,0 +89,0 @@ "overrides": {

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