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.3 to 1.2.4

2

dist/cjs/index.cjs.js

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

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

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

import{__rest as t}from"tslib";import e,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import o from"js-cookie";const i=(t,e)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var o;return n[a]=[].concat((null===(o=t.hooks)||void 0===o?void 0:o[a])||[]).concat((null==e?void 0:e[a])||[]),n}),null!==(n=t.hooks)&&void 0!==n?n:t.hooks={}),t},r=async t=>{if(!(null==t?void 0:t.ok))return{};const e=await(null==t?void 0:t.clone().json());return(null==e?void 0:e.authInfo)||e||{}},s=async t=>{const e=await r(t);return(null==e?void 0:e.user)||((null==e?void 0:e.hasOwnProperty("userId"))?e:void 0)},l="undefined"!=typeof localStorage,c=(t,e)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(t,e)),u=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(t)),d=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(t)),g="undefined"!=typeof window,p=g&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",w=(t="",e="")=>({vsid:t,vrid:e}),f=(t=!1)=>{const e=localStorage.getItem("fp");if(!e)return null;const n=JSON.parse(e);return(new Date).getTime()>n.expiry&&!t?null:n.value},b=async t=>{try{if(f())return;const e=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:t,endpoint:p}),o=await n,{requestId:i}=await o.get({linkedId:e});(t=>{const e={value:t,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(e))})(w(e,i))}catch(t){global.FB_DEBUG&&console.error(t)}},h=t=>(t.body&&(t.body.fpData=f(!0)||w()),t),v="dls_last_user_login_id",y="dls_last_user_display_name",m=()=>u(v),S=()=>u(y),O=t=>async(...e)=>{var n;e[1]=e[1]||{};const[,a={}]=e,o=m(),i=S();o&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=o,a.lastAuth.name=i);return await t(...e)},I=t=>async(...e)=>{const n=await t(...e);return d(v),d(y),n};function k(){const t=[];return{pub:e=>{t.forEach((t=>t(e)))},sub:e=>{const n=t.push(e)-1;return()=>t.splice(n,1)}}}const j="DS",U="DSR";const A=(e={},n)=>{var{refreshJwt:a,sessionJwt:i}=e,r=t(e,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&c(U,a),i&&(n?function(t,e,{cookiePath:n,cookieDomain:a,cookieExpiration:i}){if(e){const r=new Date(1e3*i);o.set(t,e,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(j,i,r):c(j,i))};function D(){return u(U)||""}function J(){return o.get(j)||u(j)||""}function T(){d(U),d(j),o.remove(j)}const K=t=>Object.assign(t,{token:t.token||D()}),C=t=>async(...e)=>{const n=await t(...e);return T(),n};async function N(t){const e=function(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),n.publicKey.user.id=E(n.publicKey.user.id),null===(e=n.publicKey.excludeCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}(t),n=await navigator.credentials.create(e);return a=n,JSON.stringify({id:a.id,rawId:H(a.rawId),type:a.type,response:{attestationObject:H(a.response.attestationObject),clientDataJSON:H(a.response.clientDataJSON)}});var a}async function R(t){const e=q(t);return P(await navigator.credentials.get(e))}async function _(t,e){const n=q(t);n.signal=e.signal,n.mediation="conditional";return P(await navigator.credentials.get(n))}async function x(t=!1){if(!g)return Promise.resolve(!1);const e=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return e&&t&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():e}function q(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),null===(e=n.publicKey.allowCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}function P(t){return JSON.stringify({id:t.id,rawId:H(t.rawId),type:t.type,response:{authenticatorData:H(t.response.authenticatorData),clientDataJSON:H(t.response.clientDataJSON),signature:H(t.response.signature),userHandle:t.response.userHandle?H(t.response.userHandle):void 0}})}function E(t){const e=t.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(e),(t=>t.charCodeAt(0))).buffer}function H(t){return btoa(String.fromCharCode.apply(null,new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var L,V=(L=t=>({async signUp(e,n){const a=await t.webauthn.signUp.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,o)},async signIn(e){const n=await t.webauthn.signIn.start(e,window.location.origin);if(!n.ok)return n;const a=await R(n.data.options);return await t.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(e){var n;const a=await t.webauthn.signUpOrIn.start(e,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const e=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,e)}{const e=await R(a.data.options);return await t.webauthn.signIn.finish(a.data.transactionId,e)}},async update(e,n){const a=await t.webauthn.update.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.update.finish(a.data.transactionId,o)},helpers:{create:N,get:R,isSupported:x,conditional:_}}),(...t)=>{const e=L(...t);return Object.assign(e.signUp,t[0].webauthn.signUp),Object.assign(e.signIn,t[0].webauthn.signIn),Object.assign(e.signUpOrIn,t[0].webauthn.signUpOrIn),Object.assign(e.update,t[0].webauthn.update),e}),B=t=>Object.assign(Object.assign({},t.flow),{start:async(...e)=>{const n=await x(),a=Object.assign(Object.assign({redirectUrl:window.location.href},e[1]),{deviceInfo:{webAuthnSupport:n}});return e[1]=a,t.flow.start(...e)}});const F=function(...t){return e=>t.reduce(((t,e)=>e(t)),e)}((e=>n=>{var{fpKey:a,fpLoad:o}=n,r=t(n,["fpKey","fpLoad"]);return a?(g?o&&b(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),e(i(r,{beforeRequest:h}))):e(Object.assign({},r))}),(e=>a=>{var{autoRefresh:o}=a,s=t(a,["autoRefresh"]);if(!o)return e(s);const{clearAllTimers:l,setTimer:c}=(()=>{const t=[];return{clearAllTimers:()=>{for(;t.length;)clearTimeout(t.pop())},setTimer:(e,n)=>{t.push(setTimeout(e,n))}}})(),u=e(i(s,{afterRequest:async(t,e)=>{const{refreshJwt:n,sessionJwt:a}=await r(e);if(401===(null==e?void 0:e.status))l();else if(a){const t=((o=(t=>{const e=t.split(".");try{if(3===e.length){const t=JSON.parse(window.atob(e[1]));if(t.exp)return new Date(1e3*t.exp)}}catch(t){}return null})(a))?o.getTime()-(new Date).getTime():0)-2e4;l(),c((()=>u.refresh(n)),t)}var o}}));return n(u,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return l(),n}))}),(t=>e=>t(Object.assign(Object.assign({},e),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.3"},e.baseHeaders)}))),(t=>e=>{const a=k(),o=k(),l=t(i(e,{afterRequest:async(t,e)=>{if(401===(null==e?void 0:e.status))a.pub(null),o.pub(null);else{const t=await s(e);t&&o.pub(t);const{sessionJwt:n}=await r(e);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return a.pub(null),o.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:o.sub})}),(t=>e=>{const a=t(i(e,{afterRequest:async(t,e)=>{var n;const a=await s(e),o=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],i=null==a?void 0:a.name;o&&((t=>{c(v,t)})(o),(t=>{c(y,t)})(i))}}));let o=n(a,["flow.start"],O);return o=n(o,["logout","logoutAll"],I),Object.assign(o,{getLastUserLoginId:m,getLastUserDisplayName:S})}),(e=>a=>{var{persistTokens:o,sessionTokenViaCookie:s}=a,l=t(a,["persistTokens","sessionTokenViaCookie"]);if(!o||!g)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"),e(l);const c=e(i(l,{beforeRequest:K,afterRequest:async(t,e)=>{401===(null==e?void 0:e.status)?T():A(await r(e),s)}})),u=n(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:D,getSessionToken:J})}))(((...t)=>{const n=e(...t);return Object.assign(Object.assign({},n),{flow:B(n),webauthn:V(n)})}));export{F as default};
import{__rest as t}from"tslib";import e,{wrapWith as n}from"@descope/core-js-sdk";import{load as a}from"@fingerprintjs/fingerprintjs-pro";import o from"js-cookie";const i=(t,e)=>{var n;return["beforeRequest","afterRequest"].reduce(((n,a)=>{var o;return n[a]=[].concat((null===(o=t.hooks)||void 0===o?void 0:o[a])||[]).concat((null==e?void 0:e[a])||[]),n}),null!==(n=t.hooks)&&void 0!==n?n:t.hooks={}),t},r=async t=>{if(!(null==t?void 0:t.ok))return{};const e=await(null==t?void 0:t.clone().json());return(null==e?void 0:e.authInfo)||e||{}},s=async t=>{const e=await r(t);return(null==e?void 0:e.user)||((null==e?void 0:e.hasOwnProperty("userId"))?e:void 0)},l="undefined"!=typeof localStorage,c=(t,e)=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.setItem(t,e)),u=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem(t)),d=t=>l&&(null===localStorage||void 0===localStorage?void 0:localStorage.removeItem(t)),g="undefined"!=typeof window,p=g&&(null===localStorage||void 0===localStorage?void 0:localStorage.getItem("fingerprint.endpoint.url"))||"https://fp.descope.com",w=(t="",e="")=>({vsid:t,vrid:e}),f=(t=!1)=>{const e=localStorage.getItem("fp");if(!e)return null;const n=JSON.parse(e);return(new Date).getTime()>n.expiry&&!t?null:n.value},b=async t=>{try{if(f())return;const e=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=a({apiKey:t,endpoint:p}),o=await n,{requestId:i}=await o.get({linkedId:e});(t=>{const e={value:t,expiry:(new Date).getTime()+864e5};localStorage.setItem("fp",JSON.stringify(e))})(w(e,i))}catch(t){global.FB_DEBUG&&console.error(t)}},h=t=>(t.body&&(t.body.fpData=f(!0)||w()),t),v="dls_last_user_login_id",y="dls_last_user_display_name",m=()=>u(v),S=()=>u(y),O=t=>async(...e)=>{var n;e[1]=e[1]||{};const[,a={}]=e,o=m(),i=S();o&&(null!==(n=a.lastAuth)&&void 0!==n||(a.lastAuth={}),a.lastAuth.loginId=o,a.lastAuth.name=i);return await t(...e)},I=t=>async(...e)=>{const n=await t(...e);return d(v),d(y),n};function k(){const t=[];return{pub:e=>{t.forEach((t=>t(e)))},sub:e=>{const n=t.push(e)-1;return()=>t.splice(n,1)}}}const j="DS",U="DSR";const A=(e={},n)=>{var{refreshJwt:a,sessionJwt:i}=e,r=t(e,["refreshJwt","sessionJwt"]);void 0===n&&(n=!1),a&&c(U,a),i&&(n?function(t,e,{cookiePath:n,cookieDomain:a,cookieExpiration:i}){if(e){const r=new Date(1e3*i);o.set(t,e,{path:n,domain:a,expires:r,sameSite:"Strict",secure:!0})}}(j,i,r):c(j,i))};function D(){return u(U)||""}function J(){return o.get(j)||u(j)||""}function T(){d(U),d(j),o.remove(j)}const K=t=>Object.assign(t,{token:t.token||D()}),C=t=>async(...e)=>{const n=await t(...e);return T(),n};async function N(t){const e=function(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),n.publicKey.user.id=E(n.publicKey.user.id),null===(e=n.publicKey.excludeCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}(t),n=await navigator.credentials.create(e);return a=n,JSON.stringify({id:a.id,rawId:H(a.rawId),type:a.type,response:{attestationObject:H(a.response.attestationObject),clientDataJSON:H(a.response.clientDataJSON)}});var a}async function R(t){const e=q(t);return P(await navigator.credentials.get(e))}async function _(t,e){const n=q(t);n.signal=e.signal,n.mediation="conditional";return P(await navigator.credentials.get(n))}async function x(t=!1){if(!g)return Promise.resolve(!1);const e=!!(window.PublicKeyCredential&&navigator.credentials&&navigator.credentials.create&&navigator.credentials.get);return e&&t&&PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable?PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():e}function q(t){var e;const n=JSON.parse(t);return n.publicKey.challenge=E(n.publicKey.challenge),null===(e=n.publicKey.allowCredentials)||void 0===e||e.forEach((t=>{t.id=E(t.id)})),n}function P(t){return JSON.stringify({id:t.id,rawId:H(t.rawId),type:t.type,response:{authenticatorData:H(t.response.authenticatorData),clientDataJSON:H(t.response.clientDataJSON),signature:H(t.response.signature),userHandle:t.response.userHandle?H(t.response.userHandle):void 0}})}function E(t){const e=t.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(e),(t=>t.charCodeAt(0))).buffer}function H(t){return btoa(String.fromCharCode.apply(null,new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var L,V=(L=t=>({async signUp(e,n){const a=await t.webauthn.signUp.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,o)},async signIn(e){const n=await t.webauthn.signIn.start(e,window.location.origin);if(!n.ok)return n;const a=await R(n.data.options);return await t.webauthn.signIn.finish(n.data.transactionId,a)},async signUpOrIn(e){var n;const a=await t.webauthn.signUpOrIn.start(e,window.location.origin);if(!a.ok)return a;if(null===(n=a.data)||void 0===n?void 0:n.create){const e=await N(a.data.options);return await t.webauthn.signUp.finish(a.data.transactionId,e)}{const e=await R(a.data.options);return await t.webauthn.signIn.finish(a.data.transactionId,e)}},async update(e,n){const a=await t.webauthn.update.start(e,window.location.origin,n);if(!a.ok)return a;const o=await N(a.data.options);return await t.webauthn.update.finish(a.data.transactionId,o)},helpers:{create:N,get:R,isSupported:x,conditional:_}}),(...t)=>{const e=L(...t);return Object.assign(e.signUp,t[0].webauthn.signUp),Object.assign(e.signIn,t[0].webauthn.signIn),Object.assign(e.signUpOrIn,t[0].webauthn.signUpOrIn),Object.assign(e.update,t[0].webauthn.update),e}),B=t=>Object.assign(Object.assign({},t.flow),{start:async(...e)=>{const n=await x(),a=Object.assign(Object.assign({redirectUrl:window.location.href},e[1]),{deviceInfo:{webAuthnSupport:n}});return e[1]=a,t.flow.start(...e)}});const F=function(...t){return e=>t.reduce(((t,e)=>e(t)),e)}((e=>n=>{var{fpKey:a,fpLoad:o}=n,r=t(n,["fpKey","fpLoad"]);return a?(g?o&&b(a).catch((()=>null)):console.warn("Fingerprint is a client side only capability and will not work when running in the server"),e(i(r,{beforeRequest:h}))):e(Object.assign({},r))}),(e=>a=>{var{autoRefresh:o}=a,s=t(a,["autoRefresh"]);if(!o)return e(s);const{clearAllTimers:l,setTimer:c}=(()=>{const t=[];return{clearAllTimers:()=>{for(;t.length;)clearTimeout(t.pop())},setTimer:(e,n)=>{t.push(setTimeout(e,n))}}})(),u=e(i(s,{afterRequest:async(t,e)=>{const{refreshJwt:n,sessionJwt:a}=await r(e);if(401===(null==e?void 0:e.status))l();else if(a){const t=((o=(t=>{const e=t.split(".");try{if(3===e.length){const t=JSON.parse(window.atob(e[1]));if(t.exp)return new Date(1e3*t.exp)}}catch(t){}return null})(a))?o.getTime()-(new Date).getTime():0)-2e4;l(),c((()=>u.refresh(n)),t)}var o}}));return n(u,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return l(),n}))}),(t=>e=>t(Object.assign(Object.assign({},e),{baseHeaders:Object.assign({"x-descope-sdk-name":"web-js","x-descope-sdk-version":"1.2.4"},e.baseHeaders)}))),(t=>e=>{const a=k(),o=k(),l=t(i(e,{afterRequest:async(t,e)=>{if(401===(null==e?void 0:e.status))a.pub(null),o.pub(null);else{const t=await s(e);t&&o.pub(t);const{sessionJwt:n}=await r(e);n&&a.pub(n)}}})),c=n(l,["logout","logoutAll"],(t=>async(...e)=>{const n=await t(...e);return a.pub(null),o.pub(null),n}));return Object.assign(c,{onSessionTokenChange:a.sub,onUserChange:o.sub})}),(t=>e=>{const a=t(i(e,{afterRequest:async(t,e)=>{var n;const a=await s(e),o=null===(n=null==a?void 0:a.loginIds)||void 0===n?void 0:n[0],i=null==a?void 0:a.name;o&&((t=>{c(v,t)})(o),(t=>{c(y,t)})(i))}}));let o=n(a,["flow.start"],O);return o=n(o,["logout","logoutAll"],I),Object.assign(o,{getLastUserLoginId:m,getLastUserDisplayName:S})}),(e=>a=>{var{persistTokens:o,sessionTokenViaCookie:s}=a,l=t(a,["persistTokens","sessionTokenViaCookie"]);if(!o||!g)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"),e(l);const c=e(i(l,{beforeRequest:K,afterRequest:async(t,e)=>{401===(null==e?void 0:e.status)?T():A(await r(e),s)}})),u=n(c,["logout","logoutAll"],C);return Object.assign(u,{getRefreshToken:D,getSessionToken:J})}))(((...t)=>{const n=e(...t);return Object.assign(Object.assign({},n),{flow:B(n),webauthn:V(n)})}));export{F 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="Expected a function",v="__lodash_hash_undefined__",y=1/0,b="[object Function]",w="[object GeneratorFunction]",m="[object Symbol]",I=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,O=/^\w*$/,k=/^\./,j=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_=/\\(\\)?/g,S=/^\[object .+?Constructor\]$/,U="object"==typeof f&&f&&f.Object===Object&&f,P="object"==typeof self&&self&&self.Object===Object&&self,R=U||P||Function("return this")();var E,x=Array.prototype,A=Function.prototype,T=Object.prototype,C=R["__core-js_shared__"],q=(E=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"",D=A.toString,J=T.hasOwnProperty,$=T.toString,M=RegExp("^"+D.call(J).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),N=R.Symbol,K=x.splice,L=X(R,"Map"),F=X(Object,"create"),H=N?N.prototype:void 0,B=H?H.toString:void 0;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){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,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 Q(e,t){var n;t=function(e,t){if(re(e))return!1;var n=typeof e;if("number"==n||"symbol"==n||"boolean"==n||null==e||ie(e))return!0;return O.test(e)||!I.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:re(n=t)?n:ee(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[te(t[r++])];return r&&r==o?e:void 0}function Y(e){if(!oe(e)||(t=e,q&&q in t))return!1;var t,n=function(e){var t=oe(e)?$.call(e):"";return t==b||t==w}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?M:S;return n.test(function(e){if(null!=e){try{return D.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 Y(n)?n:void 0}z.prototype.clear=function(){this.__data__=F?F(null):{}},z.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},z.prototype.get=function(e){var t=this.__data__;if(F){var n=t[e];return n===v?void 0:n}return J.call(t,e)?t[e]:void 0},z.prototype.has=function(e){var t=this.__data__;return F?void 0!==t[e]:J.call(t,e)},z.prototype.set=function(e,t){return this.__data__[e]=F&&void 0===t?v:t,this},V.prototype.clear=function(){this.__data__=[]},V.prototype.delete=function(e){var t=this.__data__,n=Z(t,e);return!(n<0)&&(n==t.length-1?t.pop():K.call(t,n,1),!0)},V.prototype.get=function(e){var t=this.__data__,n=Z(t,e);return n<0?void 0:t[n][1]},V.prototype.has=function(e){return Z(this.__data__,e)>-1},V.prototype.set=function(e,t){var n=this.__data__,r=Z(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},G.prototype.clear=function(){this.__data__={hash:new z,map:new(L||V),string:new z}},G.prototype.delete=function(e){return W(this,e).delete(e)},G.prototype.get=function(e){return W(this,e).get(e)},G.prototype.has=function(e){return W(this,e).has(e)},G.prototype.set=function(e,t){return W(this,e).set(e,t),this};var ee=ne((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(ie(e))return B?B.call(e):"";var t=e+"";return"0"==t&&1/e==-y?"-0":t}(t);var n=[];return k.test(e)&&n.push(""),e.replace(j,(function(e,t,r,o){n.push(r?o.replace(_,"$1"):t||e)})),n}));function te(e){if("string"==typeof e||ie(e))return e;var t=e+"";return"0"==t&&1/e==-y?"-0":t}function ne(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError(g);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(ne.Cache||G),n}ne.Cache=G;var re=Array.isArray;function oe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ie(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&$.call(e)==m}var ae=h((function(e,t,n){var r=null==e?void 0:Q(e,t);return void 0===r?n:r})),se="/v1/auth/accesskey/exchange",ce="/v1/auth/otp/verify",ue="/v1/auth/otp/signin",le="/v1/auth/otp/signup",de={email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},pe="/v1/auth/otp/signup-in",fe="/v1/auth/magiclink/verify",he="/v1/auth/magiclink/signin",ge="/v1/auth/magiclink/signup",ve={email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},ye="/v1/auth/magiclink/signup-in",be="/v1/auth/enchantedlink/verify",we="/v1/auth/enchantedlink/signin",me="/v1/auth/enchantedlink/signup",Ie="/v1/auth/enchantedlink/pending-session",Oe={email:"/v1/auth/enchantedlink/update/email"},ke="/v1/auth/enchantedlink/signup-in",je="/v1/auth/oauth/authorize",_e="/v1/auth/oauth/exchange",Se="/v1/auth/saml/authorize",Ue="/v1/auth/saml/exchange",Pe="/v1/auth/totp/verify",Re="/v1/auth/totp/signup",Ee="/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"},Te={start:"/v1/auth/webauthn/signup-in/start"},Ce={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},qe="/v1/auth/password/signup",De="/v1/auth/password/signin",Je="/v1/auth/password/reset",$e="/v1/auth/password/update",Me="/v1/auth/password/replace",Ne="/v1/auth/password/policy",Ke="/v1/auth/refresh",Le="/v1/auth/logout",Fe="/v1/auth/logoutall",He="/v1/auth/me",Be="/v1/flow/start",ze="/v1/flow/next";const Ve=6e5,Ge=()=>{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 Ze;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(Ze||(Ze={}));const Qe=(...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}),{})),Ye=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=>Ge().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 Ge().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:Qe(We(t,f),{"x-descope-sdk-name":"core-js","x-descope-sdk-version":"1.3.3"},(null==n?void 0:n.baseHeaders)||{},l),method:p,body:Ye(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:Ze.get,token:r}),post:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ze.post,token:o}),put:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ze.put,token:o}),delete:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ze.delete,token:o}),hooks:o}};var et={TOO_MANY_REQUESTS:429};function tt(e,t,n){var r;let o=nt(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 nt(e){if("string"!=typeof e||!e)throw new Error("Invalid token provided");return p(e)}function rt(e){const{exp:t}=nt(e);return(new Date).getTime()/1e3>t}function ot(e,t){return tt(e,t,"permissions")}function it(e,t){return tt(e,t,"roles")}const at=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function st(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===et.TOO_MANY_REQUESTS&&Object.assign(o.error,{retryAfter:Number.parseInt(null===(n=r.headers)||void 0===n?void 0:n.get("retry-after"))||0})),o}const ct=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),ut=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),lt=e=>t=>e.test(t),dt=lt(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),pt=lt(/^\+[1-9]{1}[0-9]{3,14}$/),ft=ct(dt,'"{val}" is not a valid email'),ht=ct(pt,'"{val}" is not a valid phone number'),gt=ct((1,e=>e.length>=1),"Minimum length is 1");const vt=ct((e=>"string"==typeof e),"Input is not a string"),yt=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>ut(...e).validate(n[t]))),t(...n)),bt=e=>[vt(`"${e}" must be a string`),gt(`"${e}" must not be empty`)],wt=e=>[vt(`"${e}" must be a string`),ft()],mt=e=>[vt(`"${e}" must be a string`),ht()],It=yt(bt("accessKey")),Ot=e=>({exchange:It((t=>st(e.post(se,{},{token:t}))))});var kt,jt;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(kt||(kt={})),function(e){e.email="email"}(jt||(jt={}));const _t=Object.assign(Object.assign({},kt),jt);var St;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(St||(St={}));const Ut=bt("loginId"),Pt=yt(bt("token")),Rt=yt(Ut),Et=yt(bt("pendingRef")),xt=yt(Ut,wt("email")),At=e=>({verify:Pt((t=>st(e.post(be,{token:t})))),signIn:Rt(((t,n,r,o)=>st(e.post(at(we,_t.email),{loginId:t,URI:n,loginOptions:r},{token:o})))),signUpOrIn:Rt(((t,n)=>st(e.post(at(ke,_t.email),{loginId:t,URI:n})))),signUp:Rt(((t,n,r)=>st(e.post(at(me,_t.email),{loginId:t,URI:n,user:r})))),waitForSession:Et(((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||Ve,Ve)}))(n);let a;const s=setInterval((async()=>{const n=await e.post(Ie,{pendingRef:t});n.ok&&(clearInterval(s),a&&clearTimeout(a),r(st(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)=>st(e.post(Oe.email,Object.assign({loginId:t,email:n,URI:r},i),{token:o}))))}}),Tt=yt(bt("flowId")),Ct=yt(bt("executionId"),bt("stepId"),bt("interactionId")),qt=e=>({start:Tt(((t,n,r,o,i,a)=>st(e.post(Be,{flowId:t,options:n,conditionInteractionId:r,interactionId:o,input:i,version:a})))),next:Ct(((t,n,r,o,i)=>st(e.post(ze,{executionId:t,stepId:n,interactionId:r,input:o,version:i}))))}),Dt=bt("loginId"),Jt=yt(bt("token")),$t=yt(Dt),Mt=yt(Dt,mt("phone")),Nt=yt(Dt,wt("email")),Kt=e=>({verify:Jt((t=>st(e.post(fe,{token:t})))),signIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o,i)=>st(e.post(at(he,n),{loginId:t,URI:r,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o)=>st(e.post(at(ge,n),{loginId:t,URI:r,user:o}))))})),{}),signUpOrIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r)=>st(e.post(at(ye,n),{loginId:t,URI:r}))))})),{}),update:{email:Nt(((t,n,r,o,i)=>st(e.post(ve.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]:Mt(((t,r,o,i,a)=>st(e.post(at(ve.phone,n),Object.assign({loginId:t,phone:r,URI:o},a),{token:i}))))})),{})}});var Lt;!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"}(Lt||(Lt={}));const Ft=yt(bt("code")),Ht=e=>({start:Object.keys(Lt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:(t,r,o)=>st(e.post(je,r||{},{queryParams:Object.assign({provider:n},t&&{redirectURL:t}),token:o}))})),{}),exchange:Ft((t=>st(e.post(_e,{code:t}))))}),Bt=bt("loginId"),zt=yt(Bt,bt("code")),Vt=yt(Bt),Gt=yt(Bt,mt("phone")),Zt=yt(Bt,wt("email")),Qt=e=>({verify:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt(((t,r)=>st(e.post(at(ce,n),{code:r,loginId:t}))))})),{}),signIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt(((t,r,o)=>st(e.post(at(ue,n),{loginId:t,loginOptions:r},{token:o}))))})),{}),signUp:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt(((t,r)=>st(e.post(at(le,n),{loginId:t,user:r}))))})),{}),signUpOrIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt((t=>st(e.post(at(pe,n),{loginId:t}))))})),{}),update:{email:Zt(((t,n,r,o)=>st(e.post(de.email,Object.assign({loginId:t,email:n},o),{token:r})))),phone:Object.keys(kt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Gt(((t,r,o,i)=>st(e.post(at(de.phone,n),Object.assign({loginId:t,phone:r},i),{token:o}))))})),{})}}),Yt=yt(bt("tenant")),Wt=yt(bt("code")),Xt=e=>({start:Yt(((t,n,r,o)=>st(e.post(Se,r||{},{queryParams:{tenant:t,redirectURL:n},token:o})))),exchange:Wt((t=>st(e.post(Ue,{code:t}))))}),en=bt("loginId"),tn=yt(en,bt("code")),nn=yt(en),rn=yt(en),on=e=>({signUp:nn(((t,n)=>st(e.post(Re,{loginId:t,user:n})))),verify:tn(((t,n,r,o)=>st(e.post(Pe,{loginId:t,code:n,loginOptions:r},{token:o})))),update:rn(((t,n)=>st(e.post(Ee,{loginId:t},{token:n}))))}),an=bt("loginId"),sn=bt("newPassword"),cn=yt(an,bt("password")),un=yt(an),ln=yt(an,sn),dn=yt(an,bt("oldPassword"),sn),pn=e=>({signUp:cn(((t,n,r)=>st(e.post(qe,{loginId:t,password:n,user:r})))),signIn:cn(((t,n)=>st(e.post(De,{loginId:t,password:n})))),sendReset:un(((t,n)=>st(e.post(Je,{loginId:t,redirectUrl:n})))),update:ln(((t,n,r)=>st(e.post($e,{loginId:t,newPassword:n},{token:r})))),replace:dn(((t,n,r)=>st(e.post(Me,{loginId:t,oldPassword:n,newPassword:r})))),policy:()=>st(e.get(Ne))}),fn=[vt('"loginId" must be a string')],hn=bt("loginId"),gn=bt("origin"),vn=yt(hn,gn,bt("name")),yn=yt(hn,gn),bn=yt(fn,gn),wn=yt(hn,gn,bt("token")),mn=yt(bt("transactionId"),bt("response")),In=e=>({signUp:{start:vn(((t,n,r)=>st(e.post(xe.start,{user:{loginId:t,name:r},origin:n})))),finish:mn(((t,n)=>st(e.post(xe.finish,{transactionId:t,response:n}))))},signIn:{start:bn(((t,n,r,o)=>st(e.post(Ae.start,{loginId:t,origin:n,loginOptions:r},{token:o})))),finish:mn(((t,n)=>st(e.post(Ae.finish,{transactionId:t,response:n}))))},signUpOrIn:{start:yn(((t,n)=>st(e.post(Te.start,{loginId:t,origin:n}))))},update:{start:wn(((t,n,r)=>st(e.post(Ce.start,{loginId:t,origin:n},{token:r})))),finish:mn(((t,n)=>st(e.post(Ce.finish,{transactionId:t,response:n}))))}}),On=yt(bt("token"));var kn,jn=yt([("projectId",kn=bt("projectId"),ct(((e,t)=>n=>ut(...t).validate(ae(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:Ot(s),otp:Qt(s),magicLink:Kt(s),enchantedLink:At(s),oauth:Ht(s),saml:Xt(s),totp:on(s),webauthn:In(s),password:pn(s),flow:qt(s),refresh:e=>st(s.post(Ke,{},{token:e})),logout:e=>st(s.post(Le,{},{token:e})),logoutAll:e=>st(s.post(Fe,{},{token:e})),me:e=>st(s.get(He,{token:e})),isJwtExpired:On(rt),getJwtPermissions:On(ot),getJwtRoles:On(it),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 _n=(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 Sn=Object.assign(jn,{DeliveryMethods:_t});const 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",En="API key required",xn="3.8.3",An="9319";function Tn(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===An}(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 Cn="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",qn="Failed to load the JS script of the agent";function Dn(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:Cn;return Promise.resolve().then((function(){if(!o||"string"!=typeof o)throw new Error(En);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(xn):e}))}(String(e),t)}))}(a,o);return Tn(e,Jn).catch(Mn)})).then((function(e){var t=e[0],n=e[1];return t.load(s(s({},i),{ldi:n}))}))}function Jn(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(qn))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)})).then($n)}function $n(){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(An);return n}function Mn(e){throw e instanceof Error&&e.message===An?new Error(qn):e}const Nn=(e="",t="")=>({vsid:e,vrid:t}),Kn=(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},Ln=async e=>{try{if(Kn())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=Dn({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))})(Nn(t,o))}catch(e){global.FB_DEBUG&&console.error(e)}},Fn=e=>(e.body&&(e.body.fpData=Kn(!0)||Nn()),e),Hn="dls_last_user_login_id",Bn="dls_last_user_display_name",zn=()=>i(Hn),Vn=()=>i(Bn),Gn=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,r={}]=t,o=zn(),i=Vn();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(Hn),a(Bn),n};function Qn(){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="Expected a function",v="__lodash_hash_undefined__",y=1/0,b="[object Function]",w="[object GeneratorFunction]",m="[object Symbol]",I=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,O=/^\w*$/,k=/^\./,j=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_=/\\(\\)?/g,S=/^\[object .+?Constructor\]$/,U="object"==typeof f&&f&&f.Object===Object&&f,P="object"==typeof self&&self&&self.Object===Object&&self,R=U||P||Function("return this")();var E,x=Array.prototype,A=Function.prototype,T=Object.prototype,C=R["__core-js_shared__"],q=(E=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"",D=A.toString,J=T.hasOwnProperty,$=T.toString,M=RegExp("^"+D.call(J).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),N=R.Symbol,K=x.splice,L=X(R,"Map"),F=X(Object,"create"),H=N?N.prototype:void 0,B=H?H.toString:void 0;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){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,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 Q(e,t){var n;t=function(e,t){if(re(e))return!1;var n=typeof e;if("number"==n||"symbol"==n||"boolean"==n||null==e||ie(e))return!0;return O.test(e)||!I.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:re(n=t)?n:ee(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[te(t[r++])];return r&&r==o?e:void 0}function Y(e){if(!oe(e)||(t=e,q&&q in t))return!1;var t,n=function(e){var t=oe(e)?$.call(e):"";return t==b||t==w}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?M:S;return n.test(function(e){if(null!=e){try{return D.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 Y(n)?n:void 0}z.prototype.clear=function(){this.__data__=F?F(null):{}},z.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},z.prototype.get=function(e){var t=this.__data__;if(F){var n=t[e];return n===v?void 0:n}return J.call(t,e)?t[e]:void 0},z.prototype.has=function(e){var t=this.__data__;return F?void 0!==t[e]:J.call(t,e)},z.prototype.set=function(e,t){return this.__data__[e]=F&&void 0===t?v:t,this},V.prototype.clear=function(){this.__data__=[]},V.prototype.delete=function(e){var t=this.__data__,n=Z(t,e);return!(n<0)&&(n==t.length-1?t.pop():K.call(t,n,1),!0)},V.prototype.get=function(e){var t=this.__data__,n=Z(t,e);return n<0?void 0:t[n][1]},V.prototype.has=function(e){return Z(this.__data__,e)>-1},V.prototype.set=function(e,t){var n=this.__data__,r=Z(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},G.prototype.clear=function(){this.__data__={hash:new z,map:new(L||V),string:new z}},G.prototype.delete=function(e){return W(this,e).delete(e)},G.prototype.get=function(e){return W(this,e).get(e)},G.prototype.has=function(e){return W(this,e).has(e)},G.prototype.set=function(e,t){return W(this,e).set(e,t),this};var ee=ne((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(ie(e))return B?B.call(e):"";var t=e+"";return"0"==t&&1/e==-y?"-0":t}(t);var n=[];return k.test(e)&&n.push(""),e.replace(j,(function(e,t,r,o){n.push(r?o.replace(_,"$1"):t||e)})),n}));function te(e){if("string"==typeof e||ie(e))return e;var t=e+"";return"0"==t&&1/e==-y?"-0":t}function ne(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError(g);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(ne.Cache||G),n}ne.Cache=G;var re=Array.isArray;function oe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ie(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&$.call(e)==m}var ae=h((function(e,t,n){var r=null==e?void 0:Q(e,t);return void 0===r?n:r})),se="/v1/auth/accesskey/exchange",ce="/v1/auth/otp/verify",ue="/v1/auth/otp/signin",le="/v1/auth/otp/signup",de={email:"/v1/auth/otp/update/email",phone:"/v1/auth/otp/update/phone"},pe="/v1/auth/otp/signup-in",fe="/v1/auth/magiclink/verify",he="/v1/auth/magiclink/signin",ge="/v1/auth/magiclink/signup",ve={email:"/v1/auth/magiclink/update/email",phone:"/v1/auth/magiclink/update/phone"},ye="/v1/auth/magiclink/signup-in",be="/v1/auth/enchantedlink/verify",we="/v1/auth/enchantedlink/signin",me="/v1/auth/enchantedlink/signup",Ie="/v1/auth/enchantedlink/pending-session",Oe={email:"/v1/auth/enchantedlink/update/email"},ke="/v1/auth/enchantedlink/signup-in",je="/v1/auth/oauth/authorize",_e="/v1/auth/oauth/exchange",Se="/v1/auth/saml/authorize",Ue="/v1/auth/saml/exchange",Pe="/v1/auth/totp/verify",Re="/v1/auth/totp/signup",Ee="/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"},Te={start:"/v1/auth/webauthn/signup-in/start"},Ce={start:"v1/auth/webauthn/update/start",finish:"/v1/auth/webauthn/update/finish"},qe="/v1/auth/password/signup",De="/v1/auth/password/signin",Je="/v1/auth/password/reset",$e="/v1/auth/password/update",Me="/v1/auth/password/replace",Ne="/v1/auth/password/policy",Ke="/v1/auth/refresh",Le="/v1/auth/logout",Fe="/v1/auth/logoutall",He="/v1/auth/me",Be="/v1/flow/start",ze="/v1/flow/next";const Ve=6e5,Ge=()=>{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 Ze;!function(e){e.get="GET",e.delete="DELETE",e.post="POST",e.put="PUT"}(Ze||(Ze={}));const Qe=(...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}),{})),Ye=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=>Ge().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 Ge().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:Qe(We(t,f),{"x-descope-sdk-name":"core-js","x-descope-sdk-version":"1.3.4"},(null==n?void 0:n.baseHeaders)||{},l),method:p,body:Ye(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:Ze.get,token:r}),post:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ze.post,token:o}),put:(e,t,{headers:n,queryParams:r,token:o}={})=>c({path:e,headers:n,queryParams:r,body:t,method:Ze.put,token:o}),delete:(e,{headers:t,queryParams:n,token:r}={})=>c({path:e,headers:t,queryParams:n,body:void 0,method:Ze.delete,token:r}),hooks:o}};var et={TOO_MANY_REQUESTS:429};function tt(e,t,n){var r;let o=nt(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 nt(e){if("string"!=typeof e||!e)throw new Error("Invalid token provided");return p(e)}function rt(e){const{exp:t}=nt(e);return(new Date).getTime()/1e3>t}function ot(e,t){return tt(e,t,"permissions")}function it(e,t){return tt(e,t,"roles")}const at=(...e)=>e.join("/").replace(/\/{2,}/g,"/");async function st(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===et.TOO_MANY_REQUESTS&&Object.assign(o.error,{retryAfter:Number.parseInt(null===(n=r.headers)||void 0===n?void 0:n.get("retry-after"))||0})),o}const ct=(e,t)=>(n=t)=>t=>!e(t)&&n.replace("{val}",t),ut=(...e)=>({validate:t=>(e.forEach((e=>{const n=e(t);if(n)throw new Error(n)})),!0)}),lt=e=>t=>e.test(t),dt=lt(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),pt=lt(/^\+[1-9]{1}[0-9]{3,14}$/),ft=ct(dt,'"{val}" is not a valid email'),ht=ct(pt,'"{val}" is not a valid phone number'),gt=ct((1,e=>e.length>=1),"Minimum length is 1");const vt=ct((e=>"string"==typeof e),"Input is not a string"),yt=(...e)=>t=>(...n)=>(e.forEach(((e,t)=>ut(...e).validate(n[t]))),t(...n)),bt=e=>[vt(`"${e}" must be a string`),gt(`"${e}" must not be empty`)],wt=e=>[vt(`"${e}" must be a string`),ft()],mt=e=>[vt(`"${e}" must be a string`),ht()],It=yt(bt("accessKey")),Ot=e=>({exchange:It((t=>st(e.post(se,{},{token:t}))))});var kt,jt;!function(e){e.sms="sms",e.whatsapp="whatsapp"}(kt||(kt={})),function(e){e.email="email"}(jt||(jt={}));const _t=Object.assign(Object.assign({},kt),jt);var St;!function(e){e.waiting="waiting",e.running="running",e.completed="completed",e.failed="failed"}(St||(St={}));const Ut=bt("loginId"),Pt=yt(bt("token")),Rt=yt(Ut),Et=yt(bt("pendingRef")),xt=yt(Ut,wt("email")),At=e=>({verify:Pt((t=>st(e.post(be,{token:t})))),signIn:Rt(((t,n,r,o)=>st(e.post(at(we,_t.email),{loginId:t,URI:n,loginOptions:r},{token:o})))),signUpOrIn:Rt(((t,n)=>st(e.post(at(ke,_t.email),{loginId:t,URI:n})))),signUp:Rt(((t,n,r)=>st(e.post(at(me,_t.email),{loginId:t,URI:n,user:r})))),waitForSession:Et(((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||Ve,Ve)}))(n);let a;const s=setInterval((async()=>{const n=await e.post(Ie,{pendingRef:t});n.ok&&(clearInterval(s),a&&clearTimeout(a),r(st(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)=>st(e.post(Oe.email,Object.assign({loginId:t,email:n,URI:r},i),{token:o}))))}}),Tt=yt(bt("flowId")),Ct=yt(bt("executionId"),bt("stepId"),bt("interactionId")),qt=e=>({start:Tt(((t,n,r,o,i,a)=>st(e.post(Be,{flowId:t,options:n,conditionInteractionId:r,interactionId:o,input:i,version:a})))),next:Ct(((t,n,r,o,i)=>st(e.post(ze,{executionId:t,stepId:n,interactionId:r,input:o,version:i}))))}),Dt=bt("loginId"),Jt=yt(bt("token")),$t=yt(Dt),Mt=yt(Dt,mt("phone")),Nt=yt(Dt,wt("email")),Kt=e=>({verify:Jt((t=>st(e.post(fe,{token:t})))),signIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o,i)=>st(e.post(at(he,n),{loginId:t,URI:r,loginOptions:o},{token:i}))))})),{}),signUp:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r,o)=>st(e.post(at(ge,n),{loginId:t,URI:r,user:o}))))})),{}),signUpOrIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:$t(((t,r)=>st(e.post(at(ye,n),{loginId:t,URI:r}))))})),{}),update:{email:Nt(((t,n,r,o,i)=>st(e.post(ve.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]:Mt(((t,r,o,i,a)=>st(e.post(at(ve.phone,n),Object.assign({loginId:t,phone:r,URI:o},a),{token:i}))))})),{})}});var Lt;!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"}(Lt||(Lt={}));const Ft=yt(bt("code")),Ht=e=>({start:Object.keys(Lt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:(t,r,o)=>st(e.post(je,r||{},{queryParams:Object.assign({provider:n},t&&{redirectURL:t}),token:o}))})),{}),exchange:Ft((t=>st(e.post(_e,{code:t}))))}),Bt=bt("loginId"),zt=yt(Bt,bt("code")),Vt=yt(Bt),Gt=yt(Bt,mt("phone")),Zt=yt(Bt,wt("email")),Qt=e=>({verify:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:zt(((t,r)=>st(e.post(at(ce,n),{code:r,loginId:t}))))})),{}),signIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt(((t,r,o)=>st(e.post(at(ue,n),{loginId:t,loginOptions:r},{token:o}))))})),{}),signUp:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt(((t,r)=>st(e.post(at(le,n),{loginId:t,user:r}))))})),{}),signUpOrIn:Object.keys(_t).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Vt((t=>st(e.post(at(pe,n),{loginId:t}))))})),{}),update:{email:Zt(((t,n,r,o)=>st(e.post(de.email,Object.assign({loginId:t,email:n},o),{token:r})))),phone:Object.keys(kt).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:Gt(((t,r,o,i)=>st(e.post(at(de.phone,n),Object.assign({loginId:t,phone:r},i),{token:o}))))})),{})}}),Yt=yt(bt("tenant")),Wt=yt(bt("code")),Xt=e=>({start:Yt(((t,n,r,o)=>st(e.post(Se,r||{},{queryParams:{tenant:t,redirectURL:n},token:o})))),exchange:Wt((t=>st(e.post(Ue,{code:t}))))}),en=bt("loginId"),tn=yt(en,bt("code")),nn=yt(en),rn=yt(en),on=e=>({signUp:nn(((t,n)=>st(e.post(Re,{loginId:t,user:n})))),verify:tn(((t,n,r,o)=>st(e.post(Pe,{loginId:t,code:n,loginOptions:r},{token:o})))),update:rn(((t,n)=>st(e.post(Ee,{loginId:t},{token:n}))))}),an=bt("loginId"),sn=bt("newPassword"),cn=yt(an,bt("password")),un=yt(an),ln=yt(an,sn),dn=yt(an,bt("oldPassword"),sn),pn=e=>({signUp:cn(((t,n,r)=>st(e.post(qe,{loginId:t,password:n,user:r})))),signIn:cn(((t,n)=>st(e.post(De,{loginId:t,password:n})))),sendReset:un(((t,n)=>st(e.post(Je,{loginId:t,redirectUrl:n})))),update:ln(((t,n,r)=>st(e.post($e,{loginId:t,newPassword:n},{token:r})))),replace:dn(((t,n,r)=>st(e.post(Me,{loginId:t,oldPassword:n,newPassword:r})))),policy:()=>st(e.get(Ne))}),fn=[vt('"loginId" must be a string')],hn=bt("loginId"),gn=bt("origin"),vn=yt(hn,gn,bt("name")),yn=yt(hn,gn),bn=yt(fn,gn),wn=yt(hn,gn,bt("token")),mn=yt(bt("transactionId"),bt("response")),In=e=>({signUp:{start:vn(((t,n,r)=>st(e.post(xe.start,{user:{loginId:t,name:r},origin:n})))),finish:mn(((t,n)=>st(e.post(xe.finish,{transactionId:t,response:n}))))},signIn:{start:bn(((t,n,r,o)=>st(e.post(Ae.start,{loginId:t,origin:n,loginOptions:r},{token:o})))),finish:mn(((t,n)=>st(e.post(Ae.finish,{transactionId:t,response:n}))))},signUpOrIn:{start:yn(((t,n)=>st(e.post(Te.start,{loginId:t,origin:n}))))},update:{start:wn(((t,n,r)=>st(e.post(Ce.start,{loginId:t,origin:n},{token:r})))),finish:mn(((t,n)=>st(e.post(Ce.finish,{transactionId:t,response:n}))))}}),On=yt(bt("token"));var kn,jn=yt([("projectId",kn=bt("projectId"),ct(((e,t)=>n=>ut(...t).validate(ae(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:Ot(s),otp:Qt(s),magicLink:Kt(s),enchantedLink:At(s),oauth:Ht(s),saml:Xt(s),totp:on(s),webauthn:In(s),password:pn(s),flow:qt(s),refresh:e=>st(s.post(Ke,{},{token:e})),logout:e=>st(s.post(Le,{},{token:e})),logoutAll:e=>st(s.post(Fe,{},{token:e})),me:e=>st(s.get(He,{token:e})),isJwtExpired:On(rt),getJwtPermissions:On(ot),getJwtRoles:On(it),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 _n=(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 Sn=Object.assign(jn,{DeliveryMethods:_t});const 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",En="API key required",xn="3.8.3",An="9319";function Tn(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===An}(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 Cn="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",qn="Failed to load the JS script of the agent";function Dn(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:Cn;return Promise.resolve().then((function(){if(!o||"string"!=typeof o)throw new Error(En);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(xn):e}))}(String(e),t)}))}(a,o);return Tn(e,Jn).catch(Mn)})).then((function(e){var t=e[0],n=e[1];return t.load(s(s({},i),{ldi:n}))}))}function Jn(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(qn))},r.async=!0,r.src=e,i.appendChild(r)}))}(e)})).then($n)}function $n(){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(An);return n}function Mn(e){throw e instanceof Error&&e.message===An?new Error(qn):e}const Nn=(e="",t="")=>({vsid:e,vrid:t}),Kn=(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},Ln=async e=>{try{if(Kn())return;const t=(Date.now().toString(36)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).substring(0,27),n=Dn({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))})(Nn(t,o))}catch(e){global.FB_DEBUG&&console.error(e)}},Fn=e=>(e.body&&(e.body.fpData=Kn(!0)||Nn()),e),Hn="dls_last_user_login_id",Bn="dls_last_user_display_name",zn=()=>i(Hn),Vn=()=>i(Bn),Gn=e=>async(...t)=>{var n;t[1]=t[1]||{};const[,r={}]=t,o=zn(),i=Vn();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(Hn),a(Bn),n};function Qn(){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 Yn(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 Wn=function e(t,n){function r(e,r,o){if("undefined"!=typeof document){"number"==typeof(o=Yn({},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,"",Yn({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Yn({},this.attributes,t))},withConverter:function(t){return e(Yn({},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 Xn="DS",er="DSR";const tr=(e={},t)=>{var{refreshJwt:n,sessionJwt:r}=e,i=c(e,["refreshJwt","sessionJwt"]);void 0===t&&(t=!1),n&&o(er,n),r&&(t?function(e,t,{cookiePath:n,cookieDomain:r,cookieExpiration:o}){if(t){const i=new Date(1e3*o);Wn.set(e,t,{path:n,domain:r,expires:i,sameSite:"Strict",secure:!0})}}(Xn,r,i):o(Xn,r))};function nr(){return i(er)||""}function rr(){return Wn.get(Xn)||i(Xn)||""}function or(){a(er),a(Xn),Wn.remove(Xn)}const ir=e=>Object.assign(e,{token:e.token||nr()}),ar=e=>async(...t)=>{const n=await e(...t);return or(),n};async function sr(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=fr(n.publicKey.challenge),n.publicKey.user.id=fr(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=fr(e.id)})),n}(e),n=await navigator.credentials.create(t);return r=n,JSON.stringify({id:r.id,rawId:hr(r.rawId),type:r.type,response:{attestationObject:hr(r.response.attestationObject),clientDataJSON:hr(r.response.clientDataJSON)}});var r}async function cr(e){const t=dr(e);return pr(await navigator.credentials.get(t))}async function ur(e,t){const n=dr(e);n.signal=t.signal,n.mediation="conditional";return pr(await navigator.credentials.get(n))}async function lr(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 dr(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=fr(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=fr(e.id)})),n}function pr(e){return JSON.stringify({id:e.id,rawId:hr(e.rawId),type:e.type,response:{authenticatorData:hr(e.response.authenticatorData),clientDataJSON:hr(e.response.clientDataJSON),signature:hr(e.response.signature),userHandle:e.response.userHandle?hr(e.response.userHandle):void 0}})}function fr(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function hr(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var gr,vr=(gr=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 sr(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 cr(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 sr(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,t)}{const t=await cr(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 sr(r.data.options);return await e.webauthn.update.finish(r.data.transactionId,o)},helpers:{create:sr,get:cr,isSupported:lr,conditional:ur}}),(...e)=>{const t=gr(...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}),yr=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await lr(),r=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=r,e.flow.start(...t)}});const br=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&&Ln(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:Fn}))):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))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(),s((()=>u.refresh(r)),e)}var i}}));return _n(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return 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.3"},t.baseHeaders)}))),(r=>o=>{const i=Qn(),a=Qn(),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=_n(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(Hn,e)})(a),(e=>{o(Bn,e)})(s))}}));let a=_n(i,["flow.start"],Gn);return a=_n(a,["logout","logoutAll"],Zn),Object.assign(a,{getLastUserLoginId:zn,getLastUserDisplayName:Vn})}),(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:ir,afterRequest:async(e,n)=>{401===(null==n?void 0:n.status)?or():tr(await t(n),i)}})),u=_n(s,["logout","logoutAll"],ar);return Object.assign(u,{getRefreshToken:nr,getSessionToken:rr})}))(((...e)=>{const t=Sn(...e);return Object.assign(Object.assign({},t),{flow:yr(t),webauthn:vr(t)})}));return br}));
function Yn(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 Wn=function e(t,n){function r(e,r,o){if("undefined"!=typeof document){"number"==typeof(o=Yn({},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,"",Yn({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Yn({},this.attributes,t))},withConverter:function(t){return e(Yn({},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 Xn="DS",er="DSR";const tr=(e={},t)=>{var{refreshJwt:n,sessionJwt:r}=e,i=c(e,["refreshJwt","sessionJwt"]);void 0===t&&(t=!1),n&&o(er,n),r&&(t?function(e,t,{cookiePath:n,cookieDomain:r,cookieExpiration:o}){if(t){const i=new Date(1e3*o);Wn.set(e,t,{path:n,domain:r,expires:i,sameSite:"Strict",secure:!0})}}(Xn,r,i):o(Xn,r))};function nr(){return i(er)||""}function rr(){return Wn.get(Xn)||i(Xn)||""}function or(){a(er),a(Xn),Wn.remove(Xn)}const ir=e=>Object.assign(e,{token:e.token||nr()}),ar=e=>async(...t)=>{const n=await e(...t);return or(),n};async function sr(e){const t=function(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=fr(n.publicKey.challenge),n.publicKey.user.id=fr(n.publicKey.user.id),null===(t=n.publicKey.excludeCredentials)||void 0===t||t.forEach((e=>{e.id=fr(e.id)})),n}(e),n=await navigator.credentials.create(t);return r=n,JSON.stringify({id:r.id,rawId:hr(r.rawId),type:r.type,response:{attestationObject:hr(r.response.attestationObject),clientDataJSON:hr(r.response.clientDataJSON)}});var r}async function cr(e){const t=dr(e);return pr(await navigator.credentials.get(t))}async function ur(e,t){const n=dr(e);n.signal=t.signal,n.mediation="conditional";return pr(await navigator.credentials.get(n))}async function lr(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 dr(e){var t;const n=JSON.parse(e);return n.publicKey.challenge=fr(n.publicKey.challenge),null===(t=n.publicKey.allowCredentials)||void 0===t||t.forEach((e=>{e.id=fr(e.id)})),n}function pr(e){return JSON.stringify({id:e.id,rawId:hr(e.rawId),type:e.type,response:{authenticatorData:hr(e.response.authenticatorData),clientDataJSON:hr(e.response.clientDataJSON),signature:hr(e.response.signature),userHandle:e.response.userHandle?hr(e.response.userHandle):void 0}})}function fr(e){const t=e.replace(/_/g,"/").replace(/-/g,"+");return Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer}function hr(e){return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}var gr,vr=(gr=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 sr(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 cr(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 sr(r.data.options);return await e.webauthn.signUp.finish(r.data.transactionId,t)}{const t=await cr(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 sr(r.data.options);return await e.webauthn.update.finish(r.data.transactionId,o)},helpers:{create:sr,get:cr,isSupported:lr,conditional:ur}}),(...e)=>{const t=gr(...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}),yr=e=>Object.assign(Object.assign({},e.flow),{start:async(...t)=>{const n=await lr(),r=Object.assign(Object.assign({redirectUrl:window.location.href},t[1]),{deviceInfo:{webAuthnSupport:n}});return t[1]=r,e.flow.start(...t)}});const br=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&&Ln(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:Fn}))):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))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(),s((()=>u.refresh(r)),e)}var i}}));return _n(u,["logout","logoutAll"],(e=>async(...t)=>{const n=await e(...t);return 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.4"},t.baseHeaders)}))),(r=>o=>{const i=Qn(),a=Qn(),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=_n(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(Hn,e)})(a),(e=>{o(Bn,e)})(s))}}));let a=_n(i,["flow.start"],Gn);return a=_n(a,["logout","logoutAll"],Zn),Object.assign(a,{getLastUserLoginId:zn,getLastUserDisplayName:Vn})}),(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:ir,afterRequest:async(e,n)=>{401===(null==n?void 0:n.status)?or():tr(await t(n),i)}})),u=_n(s,["logout","logoutAll"],ar);return Object.assign(u,{getRefreshToken:nr,getSessionToken:rr})}))(((...e)=>{const t=Sn(...e);return Object.assign(Object.assign({},t),{flow:yr(t),webauthn:vr(t)})}));return br}));
//# sourceMappingURL=index.umd.js.map
{
"name": "@descope/web-js-sdk",
"version": "1.2.3",
"version": "1.2.4",
"author": "Descope Team <info@descope.com>",

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

"js-cookie": "3.0.5",
"@descope/core-js-sdk": "1.3.3"
"@descope/core-js-sdk": "1.3.4"
},

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

Sorry, the diff of this file is too big to display

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