@nhost/nhost-js 3.0.8 → 3.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(y,Se){typeof exports=="object"&&typeof module!="undefined"?Se(exports,require("graphql")):typeof define=="function"&&define.amd?define(["exports","graphql"],Se):(y=typeof globalThis!="undefined"?globalThis:y||self,Se(y["@nhost/nhost-js"]={},y.graphql))})(this,function(y,Se){"use strict";new TextEncoder;const fr=new TextDecoder,Qn=t=>{const e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},Zn=t=>{let e=t;e instanceof Uint8Array&&(e=fr.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Qn(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}};class ei extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)==null||r.call(Error,this,this.constructor)}}class ve extends ei{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}}function ti(t){return typeof t=="object"&&t!==null}function ri(t){if(!ti(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}const ni=Zn;function hr(t){if(typeof t!="string")throw new ve("JWTs must use Compact JWS serialization, JWT must be a string");const{1:e,length:r}=t.split(".");if(r===5)throw new ve("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ve("Invalid JWT");if(!e)throw new ve("JWTs must contain a payload");let n;try{n=ni(e)}catch{throw new ve("Failed to base64url decode the payload")}let i;try{i=JSON.parse(fr.decode(n))}catch{throw new ve("Failed to parse the decoded payload as JSON")}if(!ri(i))throw new ve("Invalid JWT Claims Set");return i}/*! *****************************************************************************
1
+ (function(m,Se){typeof exports=="object"&&typeof module!="undefined"?Se(exports,require("graphql")):typeof define=="function"&&define.amd?define(["exports","graphql"],Se):(m=typeof globalThis!="undefined"?globalThis:m||self,Se(m["@nhost/nhost-js"]={},m.graphql))})(this,function(m,Se){"use strict";new TextEncoder;const hr=new TextDecoder,ei=t=>{const e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},ti=t=>{let e=t;e instanceof Uint8Array&&(e=hr.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ei(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}};class ri extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)==null||r.call(Error,this,this.constructor)}}class ye extends ri{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}}function ni(t){return typeof t=="object"&&t!==null}function ii(t){if(!ni(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}const si=ti;function pr(t){if(typeof t!="string")throw new ye("JWTs must use Compact JWS serialization, JWT must be a string");const{1:e,length:r}=t.split(".");if(r===5)throw new ye("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ye("Invalid JWT");if(!e)throw new ye("JWTs must contain a payload");let n;try{n=si(e)}catch{throw new ye("Failed to base64url decode the payload")}let i;try{i=JSON.parse(hr.decode(n))}catch{throw new ye("Failed to parse the decoded payload as JSON")}if(!ii(i))throw new ye("Invalid JWT Claims Set");return i}/*! *****************************************************************************
2
2
  Copyright (c) Microsoft Corporation.
3
3
 
4
4
  Permission to use, copy, modify, and/or distribute this software for any
@@ -11,11 +11,12 @@
11
11
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
12
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
- ***************************************************************************** */var m=function(){return m=Object.assign||function(e){for(var r,n=1,i=arguments.length;n<i;n++){r=arguments[n];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},m.apply(this,arguments)};function Rt(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r}function R(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s}function V(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))}var j;(function(t){t.Start="xstate.start",t.Stop="xstate.stop",t.Raise="xstate.raise",t.Send="xstate.send",t.Cancel="xstate.cancel",t.NullEvent="",t.Assign="xstate.assign",t.After="xstate.after",t.DoneState="done.state",t.DoneInvoke="done.invoke",t.Log="xstate.log",t.Init="xstate.init",t.Invoke="xstate.invoke",t.ErrorExecution="error.execution",t.ErrorCommunication="error.communication",t.ErrorPlatform="error.platform",t.ErrorCustom="xstate.error",t.Update="xstate.update",t.Pure="xstate.pure",t.Choose="xstate.choose"})(j||(j={}));var fe;(function(t){t.Parent="#_parent",t.Internal="#_internal"})(fe||(fe={}));var Ze=j.Start,et=j.Stop,be=j.Raise,je=j.Send,Pt=j.Cancel,pr=j.NullEvent,tt=j.Assign,ii=j.After,si=j.DoneState,rt=j.Log,vr=j.Init,nt=j.Invoke,oi=j.ErrorExecution,_t=j.ErrorPlatform,Nt=j.ErrorCustom,it=j.Update,yr=j.Choose,mr=j.Pure;const ai=Object.freeze(Object.defineProperty({__proto__:null,after:ii,assign:tt,cancel:Pt,choose:yr,doneState:si,error:Nt,errorExecution:oi,errorPlatform:_t,init:vr,invoke:nt,log:rt,nullEvent:pr,pure:mr,raise:be,send:je,start:Ze,stop:et,update:it},Symbol.toStringTag,{value:"Module"}));var gr=".",wr={},Ut="xstate.guard",ci="",G=process.env.NODE_ENV==="production",st;function Dt(t,e,r){r===void 0&&(r=gr);var n=Le(t,r),i=Le(e,r);return U(i)?U(n)?i===n:!1:U(n)?n in i:Object.keys(n).every(function(s){return s in i?Dt(n[s],i[s]):!1})}function Er(t){try{return U(t)||typeof t=="number"?"".concat(t):t.type}catch{throw new Error("Events must be strings or objects with a string event.type property.")}}function Ct(t,e){try{return Ae(t)?t:t.toString().split(e)}catch{throw new Error("'".concat(t,"' is not a valid state path."))}}function ui(t){return typeof t=="object"&&"value"in t&&"context"in t&&"event"in t&&"_event"in t}function Le(t,e){if(ui(t))return t.value;if(Ae(t))return ot(t);if(typeof t!="string")return t;var r=Ct(t,e);return ot(r)}function ot(t){if(t.length===1)return t[0];for(var e={},r=e,n=0;n<t.length-1;n++)n===t.length-2?r[t[n]]=t[n+1]:(r[t[n]]={},r=r[t[n]]);return e}function $e(t,e){for(var r={},n=Object.keys(t),i=0;i<n.length;i++){var s=n[i];r[s]=e(t[s],s,t,i)}return r}function Tr(t,e,r){var n,i,s={};try{for(var o=R(Object.keys(t)),u=o.next();!u.done;u=o.next()){var c=u.value,f=t[c];r(f)&&(s[c]=e(f,c,t))}}catch(a){n={error:a}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return s}var li=function(t){return function(e){var r,n,i=e;try{for(var s=R(t),o=s.next();!o.done;o=s.next()){var u=o.value;i=i[u]}}catch(c){r={error:c}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return i}};function di(t,e){return function(r){var n,i,s=r;try{for(var o=R(t),u=o.next();!u.done;u=o.next()){var c=u.value;s=s[e][c]}}catch(f){n={error:f}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return s}}function at(t){if(!t)return[[]];if(U(t))return[[t]];var e=H(Object.keys(t).map(function(r){var n=t[r];return typeof n!="string"&&(!n||!Object.keys(n).length)?[[r]]:at(t[r]).map(function(i){return[r].concat(i)})}));return e}function H(t){var e;return(e=[]).concat.apply(e,V([],_(t),!1))}function Sr(t){return Ae(t)?t:[t]}function re(t){return t===void 0?[]:Sr(t)}function ct(t,e,r){var n,i;if(N(t))return t(e,r.data);var s={};try{for(var o=R(Object.keys(t)),u=o.next();!u.done;u=o.next()){var c=u.value,f=t[c];N(f)?s[c]=f(e,r.data):s[c]=f}}catch(a){n={error:a}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return s}function fi(t){return/^(done|error)\./.test(t)}function br(t){return!!(t instanceof Promise||t!==null&&(N(t)||typeof t=="object")&&N(t.then))}function hi(t){return t!==null&&typeof t=="object"&&"transition"in t&&typeof t.transition=="function"}function pi(t,e){var r,n,i=_([[],[]],2),s=i[0],o=i[1];try{for(var u=R(t),c=u.next();!c.done;c=u.next()){var f=c.value;e(f)?s.push(f):o.push(f)}}catch(a){r={error:a}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}return[s,o]}function Ar(t,e){return $e(t.states,function(r,n){if(r){var i=(U(e)?void 0:e[n])||(r?r.current:void 0);if(i)return{current:i,states:Ar(r,i)}}})}function vi(t,e){return{current:e,states:Ar(t,e)}}function kr(t,e,r,n){G||Y(!!t,"Attempting to update undefined context");var i=t&&r.reduce(function(s,o){var u,c,f=o.assignment,a={state:n,action:o,_event:e},l={};if(N(f))l=f(s,e.data,a);else try{for(var d=R(Object.keys(f)),h=d.next();!h.done;h=d.next()){var v=h.value,w=f[v];l[v]=N(w)?w(s,e.data,a):w}}catch(S){u={error:S}}finally{try{h&&!h.done&&(c=d.return)&&c.call(d)}finally{if(u)throw u.error}}return Object.assign({},s,l)},t);return i}var Y=function(){};G||(Y=function(t,e){var r=t instanceof Error?t:void 0;if(!(!r&&t)&&console!==void 0){var n=["Warning: ".concat(e)];r&&n.push(r),console.warn.apply(console,n)}});function Ae(t){return Array.isArray(t)}function N(t){return typeof t=="function"}function U(t){return typeof t=="string"}function Or(t,e){if(t)return U(t)?{type:Ut,name:t,predicate:e?e[t]:void 0}:N(t)?{type:Ut,name:t.name,predicate:t}:t}function yi(t){try{return"subscribe"in t&&N(t.subscribe)}catch{return!1}}var he=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();st={},st[he]=function(){return this},st[Symbol.observable]=function(){return this};function ae(t){return!!t&&"__xstatenode"in t}function mi(t){return!!t&&typeof t.send=="function"}var gi=function(){var t=0;return function(){return t++,t.toString(16)}}();function ut(t,e){return U(t)||typeof t=="number"?m({type:t},e):t}function Q(t,e){if(!U(t)&&"$$type"in t&&t.$$type==="scxml")return t;var r=ut(t);return m({name:r.type,data:r,$$type:"scxml",type:"external"},e)}function ke(t,e){var r=Sr(e).map(function(n){return typeof n=="undefined"||typeof n=="string"||ae(n)?{target:n,event:t}:m(m({},n),{event:t})});return r}function wi(t){if(!(t===void 0||t===ci))return re(t)}function Ei(t,e,r){if(!G){var n=t.stack?" Stacktrace was '".concat(t.stack,"'"):"";if(t===e)console.error("Missing onError handler for invocation '".concat(r,"', error was '").concat(t,"'.").concat(n));else{var i=e.stack?" Stacktrace was '".concat(e.stack,"'"):"";console.error("Missing onError handler and/or unhandled exception/promise rejection for invocation '".concat(r,"'. ")+"Original error: '".concat(t,"'. ").concat(n," Current error is '").concat(e,"'.").concat(i))}}}function Ir(t,e,r,n,i){var s=t.options.guards,o={state:i,cond:e,_event:n};if(e.type===Ut)return((s==null?void 0:s[e.name])||e.predicate)(r,n.data,o);var u=s==null?void 0:s[e.type];if(!u)throw new Error("Guard '".concat(e.type,"' is not implemented on machine '").concat(t.id,"'."));return u(r,n.data,o)}function xr(t){return typeof t=="string"?{type:t}:t}function lt(t,e,r){var n=function(){},i=typeof t=="object",s=i?t:null;return{next:((i?t.next:t)||n).bind(s),error:((i?t.error:e)||n).bind(s),complete:((i?t.complete:r)||n).bind(s)}}function dt(t,e){return"".concat(t,":invocation[").concat(e,"]")}function Mt(t){return(t.type===be||t.type===je&&t.to===fe.Internal)&&typeof t.delay!="number"}var ye=Q({type:vr});function ft(t,e){return e&&e[t]||void 0}function Oe(t,e){var r;if(U(t)||typeof t=="number"){var n=ft(t,e);N(n)?r={type:t,exec:n}:n?r=n:r={type:t,exec:void 0}}else if(N(t))r={type:t.name||t.toString(),exec:t};else{var n=ft(t.type,e);if(N(n))r=m(m({},t),{exec:n});else if(n){var i=n.type||t.type;r=m(m(m({},n),t),{type:i})}else r=t}return r}var ce=function(t,e){if(!t)return[];var r=Ae(t)?t:[t];return r.map(function(n){return Oe(n,e)})};function ht(t){var e=Oe(t);return m(m({id:U(t)?t:e.id},e),{type:e.type})}function Rr(t,e){return{type:be,event:typeof t=="function"?t:ut(t),delay:e?e.delay:void 0,id:e==null?void 0:e.id}}function Pr(t,e,r,n){var i={_event:r},s=Q(N(t.event)?t.event(e,r.data,i):t.event),o;if(U(t.delay)){var u=n&&n[t.delay];o=N(u)?u(e,r.data,i):u}else o=N(t.delay)?t.delay(e,r.data,i):t.delay;return m(m({},t),{type:be,_event:s,delay:o})}function me(t,e){return{to:e?e.to:void 0,type:je,event:N(t)?t:ut(t),delay:e?e.delay:void 0,id:e&&e.id!==void 0?e.id:N(t)?t.name:Er(t)}}function _r(t,e,r,n){var i={_event:r},s=Q(N(t.event)?t.event(e,r.data,i):t.event),o;if(U(t.delay)){var u=n&&n[t.delay];o=N(u)?u(e,r.data,i):u}else o=N(t.delay)?t.delay(e,r.data,i):t.delay;var c=N(t.to)?t.to(e,r.data,i):t.to;return m(m({},t),{to:c,_event:s,event:s.data,delay:o})}function jt(t,e){return me(t,m(m({},e),{to:fe.Parent}))}function Ti(t,e,r){return me(e,m(m({},r),{to:t}))}function Si(){return jt(it)}function bi(t,e){return me(t,m(m({},e),{to:function(r,n,i){var s=i._event;return s.origin}}))}var Ai=function(t,e){return{context:t,event:e}};function ki(t,e){return t===void 0&&(t=Ai),{type:rt,label:e,expr:t}}var Nr=function(t,e,r){return m(m({},t),{value:U(t.expr)?t.expr:t.expr(e,r.data,{_event:r})})},Ur=function(t){return{type:Pt,sendId:t}};function Dr(t){var e=ht(t);return{type:j.Start,activity:e,exec:void 0}}function Cr(t){var e=N(t)?t:ht(t);return{type:j.Stop,activity:e,exec:void 0}}function Mr(t,e,r){var n=N(t.activity)?t.activity(e,r.data):t.activity,i=typeof n=="string"?{id:n}:n,s={type:j.Stop,activity:i};return s}var jr=function(t){return{type:tt,assignment:t}};function Oi(t){return typeof t=="object"&&"type"in t}function Lr(t,e){var r=e?"#".concat(e):"";return"".concat(j.After,"(").concat(t,")").concat(r)}function Fe(t,e){var r="".concat(j.DoneState,".").concat(t),n={type:r,data:e};return n.toString=function(){return r},n}function qe(t,e){var r="".concat(j.DoneInvoke,".").concat(t),n={type:r,data:e};return n.toString=function(){return r},n}function Ie(t,e){var r="".concat(j.ErrorPlatform,".").concat(t),n={type:r,data:e};return n.toString=function(){return r},n}function Ii(t){return{type:j.Pure,get:t}}function xi(t,e){if(!G&&(!t||typeof t=="function")){var r=t;t=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var s=typeof r=="function"?r.apply(void 0,V([],_(n),!1)):r;if(!s)throw new Error("Attempted to forward event to undefined actor. This risks an infinite loop in the sender.");return s}}return me(function(n,i){return i},m(m({},e),{to:t}))}function Ri(t,e){return jt(function(r,n,i){return{type:Nt,data:N(t)?t(r,n,i):t}},m(m({},e),{to:fe.Parent}))}function Pi(t){return{type:j.Choose,conds:t}}var _i=function(t){var e,r,n=[];try{for(var i=R(t),s=i.next();!s.done;s=i.next())for(var o=s.value,u=0;u<o.actions.length;){if(o.actions[u].type===tt){n.push(o.actions[u]),o.actions.splice(u,1);continue}u++}}catch(c){e={error:c}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return n};function Ve(t,e,r,n,i,s,o){o===void 0&&(o=!1);var u=o?[]:_i(i),c=u.length?kr(r,n,u,e):r,f=o?[r]:void 0,a=[];function l(v,w){var S;switch(w.type){case be:{var E=Pr(w,c,n,t.options.delays);return s&&typeof E.delay=="number"&&s(E,c,n),E}case je:var T=_r(w,c,n,t.options.delays);if(!G){var b=w.delay;Y(!U(b)||typeof T.delay=="number","No delay reference for delay expression '".concat(b,"' was found on machine '").concat(t.id,"'"))}return s&&T.to!==fe.Internal&&(v==="entry"?a.push(T):s(T,c,n)),T;case rt:{var O=Nr(w,c,n);return s==null||s(O,c,n),O}case yr:{var $=w,C=(S=$.conds.find(function(p){var g=Or(p.cond,t.options.guards);return!g||Ir(t,g,c,n,s?void 0:e)}))===null||S===void 0?void 0:S.actions;if(!C)return[];var P=_(Ve(t,e,c,n,[{type:v,actions:ce(re(C),t.options.actions)}],s,o),2),L=P[0],x=P[1];return c=x,f==null||f.push(c),L}case mr:{var C=w.get(c,n.data);if(!C)return[];var K=_(Ve(t,e,c,n,[{type:v,actions:ce(re(C),t.options.actions)}],s,o),2),k=K[0],F=K[1];return c=F,f==null||f.push(c),k}case et:{var O=Mr(w,c,n);return s==null||s(O,r,n),O}case tt:{c=kr(c,n,[w],s?void 0:e),f==null||f.push(c);break}default:var z=Oe(w,t.options.actions),B=z.exec;if(s)s(z,c,n);else if(B&&f){var Ee=f.length-1,Te=m(m({},z),{exec:function(p){for(var g=[],A=1;A<arguments.length;A++)g[A-1]=arguments[A];B.apply(void 0,V([f[Ee]],_(g),!1))}});z=Te}return z}}function d(v){var w,S,E=[];try{for(var T=R(v.actions),b=T.next();!b.done;b=T.next()){var O=b.value,$=l(v.type,O);$&&(E=E.concat($))}}catch(C){w={error:C}}finally{try{b&&!b.done&&(S=T.return)&&S.call(T)}finally{if(w)throw w.error}}return a.forEach(function(C){s(C,c,n)}),a.length=0,E}var h=H(i.map(d));return[h,c]}const Ni=Object.freeze(Object.defineProperty({__proto__:null,actionTypes:ai,after:Lr,assign:jr,cancel:Ur,choose:Pi,done:Fe,doneInvoke:qe,error:Ie,escalate:Ri,forwardTo:xi,getActionFunction:ft,initEvent:ye,isActionObject:Oi,log:ki,pure:Ii,raise:Rr,resolveActions:Ve,resolveLog:Nr,resolveRaise:Pr,resolveSend:_r,resolveStop:Mr,respond:bi,send:me,sendParent:jt,sendTo:Ti,sendUpdate:Si,start:Dr,stop:Cr,toActionObject:Oe,toActionObjects:ce,toActivityDefinition:ht},Symbol.toStringTag,{value:"Module"}));var pt=[],xe=function(t,e){pt.push(t);var r=e(t);return pt.pop(),r},Ui=function(t){return t(pt[pt.length-1])};function $r(t){var e;return e={id:t,send:function(){},subscribe:function(){return{unsubscribe:function(){}}},getSnapshot:function(){},toJSON:function(){return{id:t}}},e[he]=function(){return this},e}function Di(t,e,r,n){var i,s=xr(t.src),o=(i=e==null?void 0:e.options.services)===null||i===void 0?void 0:i[s.type],u=t.data?ct(t.data,r,n):void 0,c=o?Lt(o,t.id,u):$r(t.id);return c.meta=t,c}function Lt(t,e,r){var n=$r(e);if(n.deferred=!0,ae(t)){var i=n.state=xe(void 0,function(){return(r?t.withContext(r):t).initialState});n.getSnapshot=function(){return i}}return n}function Ci(t){try{return typeof t.send=="function"}catch{return!1}}function Mi(t){return Ci(t)&&"id"in t}function ji(t){var e;return m((e={subscribe:function(){return{unsubscribe:function(){}}},id:"anonymous",getSnapshot:function(){}},e[he]=function(){return this},e),t)}var vt=function(t){return t.type==="atomic"||t.type==="final"};function Fr(t){return Object.keys(t.states).map(function(e){return t.states[e]})}function Be(t){return Fr(t).filter(function(e){return e.type!=="history"})}function qr(t){var e=[t];return vt(t)?e:e.concat(H(Be(t).map(qr)))}function Ge(t,e){var r,n,i,s,o,u,c,f,a=new Set(t),l=$t(a),d=new Set(e);try{for(var h=R(d),v=h.next();!v.done;v=h.next())for(var w=v.value,S=w.parent;S&&!d.has(S);)d.add(S),S=S.parent}catch(x){r={error:x}}finally{try{v&&!v.done&&(n=h.return)&&n.call(h)}finally{if(r)throw r.error}}var E=$t(d);try{for(var T=R(d),b=T.next();!b.done;b=T.next()){var w=b.value;if(w.type==="compound"&&(!E.get(w)||!E.get(w).length))l.get(w)?l.get(w).forEach(function(K){return d.add(K)}):w.initialStateNodes.forEach(function(K){return d.add(K)});else if(w.type==="parallel")try{for(var O=(o=void 0,R(Be(w))),$=O.next();!$.done;$=O.next()){var C=$.value;d.has(C)||(d.add(C),l.get(C)?l.get(C).forEach(function(K){return d.add(K)}):C.initialStateNodes.forEach(function(K){return d.add(K)}))}}catch(K){o={error:K}}finally{try{$&&!$.done&&(u=O.return)&&u.call(O)}finally{if(o)throw o.error}}}}catch(x){i={error:x}}finally{try{b&&!b.done&&(s=T.return)&&s.call(T)}finally{if(i)throw i.error}}try{for(var P=R(d),L=P.next();!L.done;L=P.next())for(var w=L.value,S=w.parent;S&&!d.has(S);)d.add(S),S=S.parent}catch(x){c={error:x}}finally{try{L&&!L.done&&(f=P.return)&&f.call(P)}finally{if(c)throw c.error}}return d}function Vr(t,e){var r=e.get(t);if(!r)return{};if(t.type==="compound"){var n=r[0];if(n){if(vt(n))return n.key}else return{}}var i={};return r.forEach(function(s){i[s.key]=Vr(s,e)}),i}function $t(t){var e,r,n=new Map;try{for(var i=R(t),s=i.next();!s.done;s=i.next()){var o=s.value;n.has(o)||n.set(o,[]),o.parent&&(n.has(o.parent)||n.set(o.parent,[]),n.get(o.parent).push(o))}}catch(u){e={error:u}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return n}function Li(t,e){var r=Ge([t],e);return Vr(t,$t(r))}function He(t,e){return Array.isArray(t)?t.some(function(r){return r===e}):t instanceof Set?t.has(e):!1}function $i(t){return V([],_(new Set(H(V([],_(t.map(function(e){return e.ownEvents})),!1)))),!1)}function yt(t,e){return e.type==="compound"?Be(e).some(function(r){return r.type==="final"&&He(t,r)}):e.type==="parallel"?Be(e).every(function(r){return yt(t,r)}):!1}function Fi(t){return t===void 0&&(t=[]),t.reduce(function(e,r){return r.meta!==void 0&&(e[r.id]=r.meta),e},{})}function Br(t){return new Set(H(t.map(function(e){return e.tags})))}function Gr(t,e){if(t===e)return!0;if(t===void 0||e===void 0)return!1;if(U(t)||U(e))return t===e;var r=Object.keys(t),n=Object.keys(e);return r.length===n.length&&r.every(function(i){return Gr(t[i],e[i])})}function qi(t){return typeof t!="object"||t===null?!1:"value"in t&&"_event"in t}function Vi(t,e){var r=t.exec,n=m(m({},t),{exec:r!==void 0?function(){return r(e.context,e.event,{action:t,state:e,_event:e._event})}:void 0});return n}var oe=function(){function t(e){var r=this,n;this.actions=[],this.activities=wr,this.meta={},this.events=[],this.value=e.value,this.context=e.context,this._event=e._event,this._sessionid=e._sessionid,this.event=this._event.data,this.historyValue=e.historyValue,this.history=e.history,this.actions=e.actions||[],this.activities=e.activities||wr,this.meta=Fi(e.configuration),this.events=e.events||[],this.matches=this.matches.bind(this),this.toStrings=this.toStrings.bind(this),this.configuration=e.configuration,this.transitions=e.transitions,this.children=e.children,this.done=!!e.done,this.tags=(n=Array.isArray(e.tags)?new Set(e.tags):e.tags)!==null&&n!==void 0?n:new Set,this.machine=e.machine,Object.defineProperty(this,"nextEvents",{get:function(){return $i(r.configuration)}})}return t.from=function(e,r){if(e instanceof t)return e.context!==r?new t({value:e.value,context:r,_event:e._event,_sessionid:null,historyValue:e.historyValue,history:e.history,actions:[],activities:e.activities,meta:{},events:[],configuration:[],transitions:[],children:{}}):e;var n=ye;return new t({value:e,context:r,_event:n,_sessionid:null,historyValue:void 0,history:void 0,actions:[],activities:void 0,meta:void 0,events:[],configuration:[],transitions:[],children:{}})},t.create=function(e){return new t(e)},t.inert=function(e,r){if(e instanceof t){if(!e.actions.length)return e;var n=ye;return new t({value:e.value,context:r,_event:n,_sessionid:null,historyValue:e.historyValue,history:e.history,activities:e.activities,configuration:e.configuration,transitions:[],children:{}})}return t.from(e,r)},t.prototype.toStrings=function(e,r){var n=this;if(e===void 0&&(e=this.value),r===void 0&&(r="."),U(e))return[e];var i=Object.keys(e);return i.concat.apply(i,V([],_(i.map(function(s){return n.toStrings(e[s],r).map(function(o){return s+r+o})})),!1))},t.prototype.toJSON=function(){var e=this;e.configuration,e.transitions;var r=e.tags;e.machine;var n=Rt(e,["configuration","transitions","tags","machine"]);return m(m({},n),{tags:Array.from(r)})},t.prototype.matches=function(e){return Dt(e,this.value)},t.prototype.hasTag=function(e){return this.tags.has(e)},t.prototype.can=function(e){var r;G&&Y(!!this.machine,"state.can(...) used outside of a machine-created State object; this will always return false.");var n=(r=this.machine)===null||r===void 0?void 0:r.getTransitionData(this,e);return!!(n!=null&&n.transitions.length)&&n.transitions.some(function(i){return i.target!==void 0||i.actions.length})},t}(),Bi={deferEvents:!1},Hr=function(){function t(e){this.processingEvent=!1,this.queue=[],this.initialized=!1,this.options=m(m({},Bi),e)}return t.prototype.initialize=function(e){if(this.initialized=!0,e){if(!this.options.deferEvents){this.schedule(e);return}this.process(e)}this.flushEvents()},t.prototype.schedule=function(e){if(!this.initialized||this.processingEvent){this.queue.push(e);return}if(this.queue.length!==0)throw new Error("Event queue should be empty when it is not processing events");this.process(e),this.flushEvents()},t.prototype.clear=function(){this.queue=[]},t.prototype.flushEvents=function(){for(var e=this.queue.shift();e;)this.process(e),e=this.queue.shift()},t.prototype.process=function(e){this.processingEvent=!0;try{e()}catch(r){throw this.clear(),r}finally{this.processingEvent=!1}},t}(),Ft=new Map,Gi=0,Ke={bookId:function(){return"x:".concat(Gi++)},register:function(t,e){return Ft.set(t,e),t},get:function(t){return Ft.get(t)},free:function(t){Ft.delete(t)}};function qt(){if(typeof globalThis!="undefined")return globalThis;if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global;G||console.warn("XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues")}function Hi(){var t=qt();if(t&&"__xstate__"in t)return t.__xstate__}function Ki(t){if(qt()){var e=Hi();e&&e.register(t)}}function zi(t,e){e===void 0&&(e={});var r=t.initialState,n=new Set,i=[],s=!1,o=function(){if(!s){for(s=!0;i.length>0;){var f=i.shift();r=t.transition(r,f,c),n.forEach(function(a){return a.next(r)})}s=!1}},u=ji({id:e.id,send:function(f){i.push(f),o()},getSnapshot:function(){return r},subscribe:function(f,a,l){var d=lt(f,a,l);return n.add(d),d.next(r),{unsubscribe:function(){n.delete(d)}}}}),c={parent:e.parent,self:u,id:e.id||"anonymous",observers:n};return r=t.start?t.start(c):r,u}var Vt={sync:!1,autoForward:!1},J;(function(t){t[t.NotStarted=0]="NotStarted",t[t.Running=1]="Running",t[t.Stopped=2]="Stopped"})(J||(J={}));var Ji=function(){function t(e,r){r===void 0&&(r=t.defaultOptions);var n=this;this.machine=e,this.delayedEventsMap={},this.listeners=new Set,this.contextListeners=new Set,this.stopListeners=new Set,this.doneListeners=new Set,this.eventListeners=new Set,this.sendListeners=new Set,this.initialized=!1,this.status=J.NotStarted,this.children=new Map,this.forwardTo=new Set,this._outgoingQueue=[],this.init=this.start,this.send=function(a,l){if(Ae(a))return n.batch(a),n.state;var d=Q(ut(a,l));if(n.status===J.Stopped)return G||Y(!1,'Event "'.concat(d.name,'" was sent to stopped service "').concat(n.machine.id,`". This service has already reached its final state, and will not transition.
15
- Event: `).concat(JSON.stringify(d.data))),n.state;if(n.status!==J.Running&&!n.options.deferEvents)throw new Error('Event "'.concat(d.name,'" was sent to uninitialized service "').concat(n.machine.id,`". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.
16
- Event: `).concat(JSON.stringify(d.data)));return n.scheduler.schedule(function(){n.forward(d);var h=n._nextState(d);n.update(h,d)}),n._state},this.sendTo=function(a,l,d){var h=n.parent&&(l===fe.Parent||n.parent.id===l),v=h?n.parent:U(l)?l===fe.Internal?n:n.children.get(l)||Ke.get(l):mi(l)?l:void 0;if(!v){if(!h)throw new Error("Unable to send event to child '".concat(l,"' from service '").concat(n.id,"'."));G||Y(!1,"Service '".concat(n.id,"' has no parent: unable to send event ").concat(a.type));return}if("machine"in v){if(n.status!==J.Stopped||n.parent!==v||n.state.done){var w=m(m({},a),{name:a.name===Nt?"".concat(Ie(n.id)):a.name,origin:n.sessionId});!d&&n.machine.config.predictableActionArguments?n._outgoingQueue.push([v,w]):v.send(w)}}else!d&&n.machine.config.predictableActionArguments?n._outgoingQueue.push([v,a.data]):v.send(a.data)},this._exec=function(a,l,d,h){h===void 0&&(h=n.machine.options.actions);var v=a.exec||ft(a.type,h),w=N(v)?v:v?v.exec:a.exec;if(w)try{return w(l,d.data,n.machine.config.predictableActionArguments?{action:a,_event:d}:{action:a,state:n.state,_event:d})}catch(B){throw n.parent&&n.parent.send({type:"xstate.error",data:B}),B}switch(a.type){case be:{var S=a;n.defer(S);break}case je:var E=a;if(typeof E.delay=="number"){n.defer(E);return}else E.to?n.sendTo(E._event,E.to,d===ye):n.send(E._event);break;case Pt:n.cancel(a.sendId);break;case Ze:{if(n.status!==J.Running)return;var T=a.activity;if(!n.machine.config.predictableActionArguments&&!n.state.activities[T.id||T.type])break;if(T.type===j.Invoke){var b=xr(T.src),O=n.machine.options.services?n.machine.options.services[b.type]:void 0,$=T.id,C=T.data;G||Y(!("forward"in T),"`forward` property is deprecated (found in invocation of '".concat(T.src,"' in in machine '").concat(n.machine.id,"'). ")+"Please use `autoForward` instead.");var P="autoForward"in T?T.autoForward:!!T.forward;if(!O){G||Y(!1,"No service found for invocation '".concat(T.src,"' in machine '").concat(n.machine.id,"'."));return}var L=C?ct(C,l,d):void 0;if(typeof O=="string")return;var x=N(O)?O(l,d.data,{data:L,src:b,meta:T.meta}):O;if(!x)return;var K=void 0;ae(x)&&(x=L?x.withContext(L):x,K={autoForward:P}),n.spawn(x,$,K)}else n.spawnActivity(T);break}case et:{n.stopChild(a.activity.id);break}case rt:var k=a,F=k.label,z=k.value;F?n.logger(F,z):n.logger(z);break;default:G||Y(!1,"No implementation found for action type '".concat(a.type,"'"));break}};var i=m(m({},t.defaultOptions),r),s=i.clock,o=i.logger,u=i.parent,c=i.id,f=c!==void 0?c:e.id;this.id=f,this.logger=o,this.clock=s,this.parent=u,this.options=i,this.scheduler=new Hr({deferEvents:this.options.deferEvents}),this.sessionId=Ke.bookId()}return Object.defineProperty(t.prototype,"initialState",{get:function(){var e=this;return this._initialState?this._initialState:xe(this,function(){return e._initialState=e.machine.initialState,e._initialState})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return G||Y(this.status!==J.NotStarted,"Attempted to read state from uninitialized service '".concat(this.id,"'. Make sure the service is started first.")),this._state},enumerable:!1,configurable:!0}),t.prototype.execute=function(e,r){var n,i;try{for(var s=R(e.actions),o=s.next();!o.done;o=s.next()){var u=o.value;this.exec(u,e,r)}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(n)throw n.error}}},t.prototype.update=function(e,r){var n,i,s,o,u,c,f,a,l=this;if(e._sessionid=this.sessionId,this._state=e,(!this.machine.config.predictableActionArguments||r===ye)&&this.options.execute)this.execute(this.state);else for(var d=void 0;d=this._outgoingQueue.shift();)d[0].send(d[1]);if(this.children.forEach(function(x){l.state.children[x.id]=x}),this.devTools&&this.devTools.send(r.data,e),e.event)try{for(var h=R(this.eventListeners),v=h.next();!v.done;v=h.next()){var w=v.value;w(e.event)}}catch(x){n={error:x}}finally{try{v&&!v.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}try{for(var S=R(this.listeners),E=S.next();!E.done;E=S.next()){var w=E.value;w(e,e.event)}}catch(x){s={error:x}}finally{try{E&&!E.done&&(o=S.return)&&o.call(S)}finally{if(s)throw s.error}}try{for(var T=R(this.contextListeners),b=T.next();!b.done;b=T.next()){var O=b.value;O(this.state.context,this.state.history?this.state.history.context:void 0)}}catch(x){u={error:x}}finally{try{b&&!b.done&&(c=T.return)&&c.call(T)}finally{if(u)throw u.error}}if(this.state.done){var $=e.configuration.find(function(x){return x.type==="final"&&x.parent===l.machine}),C=$&&$.doneData?ct($.doneData,e.context,r):void 0;this._doneEvent=qe(this.id,C);try{for(var P=R(this.doneListeners),L=P.next();!L.done;L=P.next()){var w=L.value;w(this._doneEvent)}}catch(x){f={error:x}}finally{try{L&&!L.done&&(a=P.return)&&a.call(P)}finally{if(f)throw f.error}}this._stop(),this._stopChildren(),Ke.free(this.sessionId)}},t.prototype.onTransition=function(e){return this.listeners.add(e),this.status===J.Running&&e(this.state,this.state.event),this},t.prototype.subscribe=function(e,r,n){var i=this,s=lt(e,r,n);this.listeners.add(s.next),this.status!==J.NotStarted&&s.next(this.state);var o=function(){i.doneListeners.delete(o),i.stopListeners.delete(o),s.complete()};return this.status===J.Stopped?s.complete():(this.onDone(o),this.onStop(o)),{unsubscribe:function(){i.listeners.delete(s.next),i.doneListeners.delete(o),i.stopListeners.delete(o)}}},t.prototype.onEvent=function(e){return this.eventListeners.add(e),this},t.prototype.onSend=function(e){return this.sendListeners.add(e),this},t.prototype.onChange=function(e){return this.contextListeners.add(e),this},t.prototype.onStop=function(e){return this.stopListeners.add(e),this},t.prototype.onDone=function(e){return this.status===J.Stopped&&this._doneEvent?e(this._doneEvent):this.doneListeners.add(e),this},t.prototype.off=function(e){return this.listeners.delete(e),this.eventListeners.delete(e),this.sendListeners.delete(e),this.stopListeners.delete(e),this.doneListeners.delete(e),this.contextListeners.delete(e),this},t.prototype.start=function(e){var r=this;if(this.status===J.Running)return this;this.machine._init(),Ke.register(this.sessionId,this),this.initialized=!0,this.status=J.Running;var n=e===void 0?this.initialState:xe(this,function(){return qi(e)?r.machine.resolveState(e):r.machine.resolveState(oe.from(e,r.machine.context))});return this.options.devTools&&this.attachDev(),this.scheduler.initialize(function(){r.update(n,ye)}),this},t.prototype._stopChildren=function(){this.children.forEach(function(e){N(e.stop)&&e.stop()}),this.children.clear()},t.prototype._stop=function(){var e,r,n,i,s,o,u,c,f,a;try{for(var l=R(this.listeners),d=l.next();!d.done;d=l.next()){var h=d.value;this.listeners.delete(h)}}catch(P){e={error:P}}finally{try{d&&!d.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}try{for(var v=R(this.stopListeners),w=v.next();!w.done;w=v.next()){var h=w.value;h(),this.stopListeners.delete(h)}}catch(P){n={error:P}}finally{try{w&&!w.done&&(i=v.return)&&i.call(v)}finally{if(n)throw n.error}}try{for(var S=R(this.contextListeners),E=S.next();!E.done;E=S.next()){var h=E.value;this.contextListeners.delete(h)}}catch(P){s={error:P}}finally{try{E&&!E.done&&(o=S.return)&&o.call(S)}finally{if(s)throw s.error}}try{for(var T=R(this.doneListeners),b=T.next();!b.done;b=T.next()){var h=b.value;this.doneListeners.delete(h)}}catch(P){u={error:P}}finally{try{b&&!b.done&&(c=T.return)&&c.call(T)}finally{if(u)throw u.error}}if(!this.initialized)return this;this.initialized=!1,this.status=J.Stopped,this._initialState=void 0;try{for(var O=R(Object.keys(this.delayedEventsMap)),$=O.next();!$.done;$=O.next()){var C=$.value;this.clock.clearTimeout(this.delayedEventsMap[C])}}catch(P){f={error:P}}finally{try{$&&!$.done&&(a=O.return)&&a.call(O)}finally{if(f)throw f.error}}this.scheduler.clear(),this.scheduler=new Hr({deferEvents:this.options.deferEvents})},t.prototype.stop=function(){var e=this,r=this.scheduler;return this._stop(),r.schedule(function(){var n;if(!(!((n=e._state)===null||n===void 0)&&n.done)){var i=Q({type:"xstate.stop"}),s=xe(e,function(){var o=H(V([],_(e.state.configuration),!1).sort(function(l,d){return d.order-l.order}).map(function(l){return ce(l.onExit,e.machine.options.actions)})),u=_(Ve(e.machine,e.state,e.state.context,i,[{type:"exit",actions:o}],e.machine.config.predictableActionArguments?e._exec:void 0,e.machine.config.predictableActionArguments||e.machine.config.preserveActionOrder),2),c=u[0],f=u[1],a=new oe({value:e.state.value,context:f,_event:i,_sessionid:e.sessionId,historyValue:void 0,history:e.state,actions:c.filter(function(l){return!Mt(l)}),activities:{},events:[],configuration:[],transitions:[],children:{},done:e.state.done,tags:e.state.tags,machine:e.machine});return a.changed=!0,a});e.update(s,i),e._stopChildren(),Ke.free(e.sessionId)}}),this},t.prototype.batch=function(e){var r=this;if(this.status===J.NotStarted&&this.options.deferEvents)G||Y(!1,"".concat(e.length,' event(s) were sent to uninitialized service "').concat(this.machine.id,`" and are deferred. Make sure .start() is called for this service.
17
- Event: `).concat(JSON.stringify(event)));else if(this.status!==J.Running)throw new Error("".concat(e.length,' event(s) were sent to uninitialized service "').concat(this.machine.id,'". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.'));if(e.length){var n=!!this.machine.config.predictableActionArguments&&this._exec;this.scheduler.schedule(function(){var i,s,o=r.state,u=!1,c=[],f=function(h){var v=Q(h);r.forward(v),o=xe(r,function(){return r.machine.transition(o,v,void 0,n||void 0)}),c.push.apply(c,V([],_(r.machine.config.predictableActionArguments?o.actions:o.actions.map(function(w){return Vi(w,o)})),!1)),u=u||!!o.changed};try{for(var a=R(e),l=a.next();!l.done;l=a.next()){var d=l.value;f(d)}}catch(h){i={error:h}}finally{try{l&&!l.done&&(s=a.return)&&s.call(a)}finally{if(i)throw i.error}}o.changed=u,o.actions=c,r.update(o,Q(e[e.length-1]))})}},t.prototype.sender=function(e){return this.send.bind(this,e)},t.prototype._nextState=function(e,r){var n=this;r===void 0&&(r=!!this.machine.config.predictableActionArguments&&this._exec);var i=Q(e);if(i.name.indexOf(_t)===0&&!this.state.nextEvents.some(function(o){return o.indexOf(_t)===0}))throw i.data.data;var s=xe(this,function(){return n.machine.transition(n.state,i,void 0,r||void 0)});return s},t.prototype.nextState=function(e){return this._nextState(e,!1)},t.prototype.forward=function(e){var r,n;try{for(var i=R(this.forwardTo),s=i.next();!s.done;s=i.next()){var o=s.value,u=this.children.get(o);if(!u)throw new Error("Unable to forward event '".concat(e,"' from interpreter '").concat(this.id,"' to nonexistant child '").concat(o,"'."));u.send(e)}}catch(c){r={error:c}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.defer=function(e){var r=this,n=this.clock.setTimeout(function(){"to"in e&&e.to?r.sendTo(e._event,e.to,!0):r.send(e._event)},e.delay);e.id&&(this.delayedEventsMap[e.id]=n)},t.prototype.cancel=function(e){this.clock.clearTimeout(this.delayedEventsMap[e]),delete this.delayedEventsMap[e]},t.prototype.exec=function(e,r,n){n===void 0&&(n=this.machine.options.actions),this._exec(e,r.context,r._event,n)},t.prototype.removeChild=function(e){var r;this.children.delete(e),this.forwardTo.delete(e),(r=this.state)===null||r===void 0||delete r.children[e]},t.prototype.stopChild=function(e){var r=this.children.get(e);r&&(this.removeChild(e),N(r.stop)&&r.stop())},t.prototype.spawn=function(e,r,n){if(this.status!==J.Running)return Lt(e,r);if(br(e))return this.spawnPromise(Promise.resolve(e),r);if(N(e))return this.spawnCallback(e,r);if(Mi(e))return this.spawnActor(e,r);if(yi(e))return this.spawnObservable(e,r);if(ae(e))return this.spawnMachine(e,m(m({},n),{id:r}));if(hi(e))return this.spawnBehavior(e,r);throw new Error('Unable to spawn entity "'.concat(r,'" of type "').concat(typeof e,'".'))},t.prototype.spawnMachine=function(e,r){var n=this;r===void 0&&(r={});var i=new t(e,m(m({},this.options),{parent:this,id:r.id||e.id})),s=m(m({},Vt),r);s.sync&&i.onTransition(function(u){n.send(it,{state:u,id:i.id})});var o=i;return this.children.set(i.id,o),s.autoForward&&this.forwardTo.add(i.id),i.onDone(function(u){n.removeChild(i.id),n.send(Q(u,{origin:i.id}))}).start(),o},t.prototype.spawnBehavior=function(e,r){var n=zi(e,{id:r,parent:this});return this.children.set(r,n),n},t.prototype.spawnPromise=function(e,r){var n,i=this,s=!1,o;e.then(function(c){s||(o=c,i.removeChild(r),i.send(Q(qe(r,c),{origin:r})))},function(c){if(!s){i.removeChild(r);var f=Ie(r,c);try{i.send(Q(f,{origin:r}))}catch(a){Ei(c,a,r),i.devTools&&i.devTools.send(f,i.state),i.machine.strict&&i.stop()}}});var u=(n={id:r,send:function(){},subscribe:function(c,f,a){var l=lt(c,f,a),d=!1;return e.then(function(h){d||(l.next(h),!d&&l.complete())},function(h){d||l.error(h)}),{unsubscribe:function(){return d=!0}}},stop:function(){s=!0},toJSON:function(){return{id:r}},getSnapshot:function(){return o}},n[he]=function(){return this},n);return this.children.set(r,u),u},t.prototype.spawnCallback=function(e,r){var n,i=this,s=!1,o=new Set,u=new Set,c,f=function(d){c=d,u.forEach(function(h){return h(d)}),!s&&i.send(Q(d,{origin:r}))},a;try{a=e(f,function(d){o.add(d)})}catch(d){this.send(Ie(r,d))}if(br(a))return this.spawnPromise(a,r);var l=(n={id:r,send:function(d){return o.forEach(function(h){return h(d)})},subscribe:function(d){var h=lt(d);return u.add(h.next),{unsubscribe:function(){u.delete(h.next)}}},stop:function(){s=!0,N(a)&&a()},toJSON:function(){return{id:r}},getSnapshot:function(){return c}},n[he]=function(){return this},n);return this.children.set(r,l),l},t.prototype.spawnObservable=function(e,r){var n,i=this,s,o=e.subscribe(function(c){s=c,i.send(Q(c,{origin:r}))},function(c){i.removeChild(r),i.send(Q(Ie(r,c),{origin:r}))},function(){i.removeChild(r),i.send(Q(qe(r),{origin:r}))}),u=(n={id:r,send:function(){},subscribe:function(c,f,a){return e.subscribe(c,f,a)},stop:function(){return o.unsubscribe()},getSnapshot:function(){return s},toJSON:function(){return{id:r}}},n[he]=function(){return this},n);return this.children.set(r,u),u},t.prototype.spawnActor=function(e,r){return this.children.set(r,e),e},t.prototype.spawnActivity=function(e){var r=this.machine.options&&this.machine.options.activities?this.machine.options.activities[e.type]:void 0;if(!r){G||Y(!1,"No implementation found for activity '".concat(e.type,"'"));return}var n=r(this.state.context,e);this.spawnEffect(e.id,n)},t.prototype.spawnEffect=function(e,r){var n;this.children.set(e,(n={id:e,send:function(){},subscribe:function(){return{unsubscribe:function(){}}},stop:r||void 0,getSnapshot:function(){},toJSON:function(){return{id:e}}},n[he]=function(){return this},n))},t.prototype.attachDev=function(){var e=qt();if(this.options.devTools&&e){if(e.__REDUX_DEVTOOLS_EXTENSION__){var r=typeof this.options.devTools=="object"?this.options.devTools:void 0;this.devTools=e.__REDUX_DEVTOOLS_EXTENSION__.connect(m(m({name:this.id,autoPause:!0,stateSanitizer:function(n){return{value:n.value,context:n.context,actions:n.actions}}},r),{features:m({jump:!1,skip:!1},r?r.features:void 0)}),this.machine),this.devTools.init(this.state)}Ki(this)}},t.prototype.toJSON=function(){return{id:this.id}},t.prototype[he]=function(){return this},t.prototype.getSnapshot=function(){return this.status===J.NotStarted?this.initialState:this._state},t.defaultOptions={execute:!0,deferEvents:!0,clock:{setTimeout:function(e,r){return setTimeout(e,r)},clearTimeout:function(e){return clearTimeout(e)}},logger:console.log.bind(console),devTools:!1},t.interpret=Re,t}(),Wi=function(t){return U(t)?m(m({},Vt),{name:t}):m(m(m({},Vt),{name:gi()}),t)};function Yi(t,e){var r=Wi(e);return Ui(function(n){if(!G){var i=ae(t)||N(t);Y(!!n||i,'Attempted to spawn an Actor (ID: "'.concat(ae(t)?t.id:"undefined",'") outside of a service. This will have no effect.'))}return n?n.spawn(t,r.name,r):Lt(t,r.name)})}function Re(t,e){var r=new Ji(t,e);return r}function Xi(t){if(typeof t=="string"){var e={type:t};return e.toString=function(){return t},e}return t}function mt(t){return m(m({type:nt},t),{toJSON:function(){t.onDone,t.onError;var e=Rt(t,["onDone","onError"]);return m(m({},e),{type:nt,src:Xi(t.src)})}})}var Pe="",Bt="#",ze="*",_e={},Ne=function(t){return t[0]===Bt},Qi=function(){return{actions:{},guards:{},services:{},activities:{},delays:{}}},Zi=function(t,e,r){var n=r.slice(0,-1).some(function(s){return!("cond"in s)&&!("in"in s)&&(U(s.target)||ae(s.target))}),i=e===Pe?"the transient event":"event '".concat(e,"'");Y(!n,"One or more transitions for ".concat(i," on state '").concat(t.id,"' are unreachable. ")+"Make sure that the default transition is the last one defined.")},es=function(){function t(e,r,n,i){n===void 0&&(n="context"in e?e.context:void 0);var s=this,o;this.config=e,this._context=n,this.order=-1,this.__xstatenode=!0,this.__cache={events:void 0,relativeValue:new Map,initialStateValue:void 0,initialState:void 0,on:void 0,transitions:void 0,candidates:{},delayedTransitions:void 0},this.idMap={},this.tags=[],this.options=Object.assign(Qi(),r),this.parent=i==null?void 0:i.parent,this.key=this.config.key||(i==null?void 0:i.key)||this.config.id||"(machine)",this.machine=this.parent?this.parent.machine:this,this.path=this.parent?this.parent.path.concat(this.key):[],this.delimiter=this.config.delimiter||(this.parent?this.parent.delimiter:gr),this.id=this.config.id||V([this.machine.key],_(this.path),!1).join(this.delimiter),this.version=this.parent?this.parent.version:this.config.version,this.type=this.config.type||(this.config.parallel?"parallel":this.config.states&&Object.keys(this.config.states).length?"compound":this.config.history?"history":"atomic"),this.schema=this.parent?this.machine.schema:(o=this.config.schema)!==null&&o!==void 0?o:{},this.description=this.config.description,G||Y(!("parallel"in this.config),'The "parallel" property is deprecated and will be removed in version 4.1. '.concat(this.config.parallel?"Replace with `type: 'parallel'`":"Use `type: '".concat(this.type,"'`")," in the config for state node '").concat(this.id,"' instead.")),this.initial=this.config.initial,this.states=this.config.states?$e(this.config.states,function(f,a){var l,d=new t(f,{},void 0,{parent:s,key:a});return Object.assign(s.idMap,m((l={},l[d.id]=d,l),d.idMap)),d}):_e;var u=0;function c(f){var a,l;f.order=u++;try{for(var d=R(Fr(f)),h=d.next();!h.done;h=d.next()){var v=h.value;c(v)}}catch(w){a={error:w}}finally{try{h&&!h.done&&(l=d.return)&&l.call(d)}finally{if(a)throw a.error}}}c(this),this.history=this.config.history===!0?"shallow":this.config.history||!1,this._transient=!!this.config.always||(this.config.on?Array.isArray(this.config.on)?this.config.on.some(function(f){var a=f.event;return a===Pe}):Pe in this.config.on:!1),this.strict=!!this.config.strict,this.onEntry=re(this.config.entry||this.config.onEntry).map(function(f){return Oe(f)}),this.onExit=re(this.config.exit||this.config.onExit).map(function(f){return Oe(f)}),this.meta=this.config.meta,this.doneData=this.type==="final"?this.config.data:void 0,this.invoke=re(this.config.invoke).map(function(f,a){var l,d;if(ae(f)){var h=dt(s.id,a);return s.machine.options.services=m((l={},l[h]=f,l),s.machine.options.services),mt({src:h,id:h})}else if(U(f.src)){var h=f.id||dt(s.id,a);return mt(m(m({},f),{id:h,src:f.src}))}else if(ae(f.src)||N(f.src)){var h=f.id||dt(s.id,a);return s.machine.options.services=m((d={},d[h]=f.src,d),s.machine.options.services),mt(m(m({id:h},f),{src:h}))}else{var v=f.src;return mt(m(m({id:dt(s.id,a)},f),{src:v}))}}),this.activities=re(this.config.activities).concat(this.invoke).map(function(f){return ht(f)}),this.transition=this.transition.bind(this),this.tags=re(this.config.tags)}return t.prototype._init=function(){this.__cache.transitions||qr(this).forEach(function(e){return e.on})},t.prototype.withConfig=function(e,r){var n=this.options,i=n.actions,s=n.activities,o=n.guards,u=n.services,c=n.delays;return new t(this.config,{actions:m(m({},i),e.actions),activities:m(m({},s),e.activities),guards:m(m({},o),e.guards),services:m(m({},u),e.services),delays:m(m({},c),e.delays)},r!=null?r:this.context)},t.prototype.withContext=function(e){return new t(this.config,this.options,e)},Object.defineProperty(t.prototype,"context",{get:function(){return N(this._context)?this._context():this._context},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"definition",{get:function(){return{id:this.id,key:this.key,version:this.version,context:this.context,type:this.type,initial:this.initial,history:this.history,states:$e(this.states,function(e){return e.definition}),on:this.on,transitions:this.transitions,entry:this.onEntry,exit:this.onExit,activities:this.activities||[],meta:this.meta,order:this.order||-1,data:this.doneData,invoke:this.invoke,description:this.description,tags:this.tags}},enumerable:!1,configurable:!0}),t.prototype.toJSON=function(){return this.definition},Object.defineProperty(t.prototype,"on",{get:function(){if(this.__cache.on)return this.__cache.on;var e=this.transitions;return this.__cache.on=e.reduce(function(r,n){return r[n.eventType]=r[n.eventType]||[],r[n.eventType].push(n),r},{})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"after",{get:function(){return this.__cache.delayedTransitions||(this.__cache.delayedTransitions=this.getDelayedTransitions(),this.__cache.delayedTransitions)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"transitions",{get:function(){return this.__cache.transitions||(this.__cache.transitions=this.formatTransitions(),this.__cache.transitions)},enumerable:!1,configurable:!0}),t.prototype.getCandidates=function(e){if(this.__cache.candidates[e])return this.__cache.candidates[e];var r=e===Pe,n=this.transitions.filter(function(i){var s=i.eventType===e;return r?s:s||i.eventType===ze});return this.__cache.candidates[e]=n,n},t.prototype.getDelayedTransitions=function(){var e=this,r=this.config.after;if(!r)return[];var n=function(s,o){var u=N(s)?"".concat(e.id,":delay[").concat(o,"]"):s,c=Lr(u,e.id);return e.onEntry.push(me(c,{delay:s})),e.onExit.push(Ur(c)),c},i=Ae(r)?r.map(function(s,o){var u=n(s.delay,o);return m(m({},s),{event:u})}):H(Object.keys(r).map(function(s,o){var u=r[s],c=U(u)?{target:u}:u,f=isNaN(+s)?s:+s,a=n(f,o);return re(c).map(function(l){return m(m({},l),{event:a,delay:f})})}));return i.map(function(s){var o=s.delay;return m(m({},e.formatTransition(s)),{delay:o})})},t.prototype.getStateNodes=function(e){var r,n=this;if(!e)return[];var i=e instanceof oe?e.value:Le(e,this.delimiter);if(U(i)){var s=this.getStateNode(i).initial;return s!==void 0?this.getStateNodes((r={},r[i]=s,r)):[this,this.states[i]]}var o=Object.keys(i),u=[this];return u.push.apply(u,V([],_(H(o.map(function(c){return n.getStateNode(c).getStateNodes(i[c])}))),!1)),u},t.prototype.handles=function(e){var r=Er(e);return this.events.includes(r)},t.prototype.resolveState=function(e){var r=e instanceof oe?e:oe.create(e),n=Array.from(Ge([],this.getStateNodes(r.value)));return new oe(m(m({},r),{value:this.resolve(r.value),configuration:n,done:yt(n,this),tags:Br(n),machine:this.machine}))},t.prototype.transitionLeafNode=function(e,r,n){var i=this.getStateNode(e),s=i.next(r,n);return!s||!s.transitions.length?this.next(r,n):s},t.prototype.transitionCompoundNode=function(e,r,n){var i=Object.keys(e),s=this.getStateNode(i[0]),o=s._transition(e[i[0]],r,n);return!o||!o.transitions.length?this.next(r,n):o},t.prototype.transitionParallelNode=function(e,r,n){var i,s,o={};try{for(var u=R(Object.keys(e)),c=u.next();!c.done;c=u.next()){var f=c.value,a=e[f];if(a){var l=this.getStateNode(f),d=l._transition(a,r,n);d&&(o[f]=d)}}}catch(E){i={error:E}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(i)throw i.error}}var h=Object.keys(o).map(function(E){return o[E]}),v=H(h.map(function(E){return E.transitions})),w=h.some(function(E){return E.transitions.length>0});if(!w)return this.next(r,n);var S=H(Object.keys(o).map(function(E){return o[E].configuration}));return{transitions:v,exitSet:H(h.map(function(E){return E.exitSet})),configuration:S,source:r,actions:H(Object.keys(o).map(function(E){return o[E].actions}))}},t.prototype._transition=function(e,r,n){return U(e)?this.transitionLeafNode(e,r,n):Object.keys(e).length===1?this.transitionCompoundNode(e,r,n):this.transitionParallelNode(e,r,n)},t.prototype.getTransitionData=function(e,r){return this._transition(e.value,e,Q(r))},t.prototype.next=function(e,r){var n,i,s=this,o=r.name,u=[],c=[],f;try{for(var a=R(this.getCandidates(o)),l=a.next();!l.done;l=a.next()){var d=l.value,h=d.cond,v=d.in,w=e.context,S=v?U(v)&&Ne(v)?e.matches(Le(this.getStateNodeById(v).path,this.delimiter)):Dt(Le(v,this.delimiter),li(this.path.slice(0,-2))(e.value)):!0,E=!1;try{E=!h||Ir(this.machine,h,w,r,e)}catch(O){throw new Error("Unable to evaluate guard '".concat(h.name||h.type,"' in transition for event '").concat(o,"' in state node '").concat(this.id,`':
18
- `).concat(O.message))}if(E&&S){d.target!==void 0&&(c=d.target),u.push.apply(u,V([],_(d.actions),!1)),f=d;break}}}catch(O){n={error:O}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}if(f){if(!c.length)return{transitions:[f],exitSet:[],configuration:e.value?[this]:[],source:e,actions:u};var T=H(c.map(function(O){return s.getRelativeStateNodes(O,e.historyValue)})),b=!!f.internal;return{transitions:[f],exitSet:b?[]:H(c.map(function(O){return s.getPotentiallyReenteringNodes(O)})),configuration:T,source:e,actions:u}}},t.prototype.getPotentiallyReenteringNodes=function(e){if(this.order<e.order)return[this];for(var r=[],n=this,i=e;n&&n!==i;)r.push(n),n=n.parent;return n!==i?[]:(r.push(i),r)},t.prototype.getActions=function(e,r,n,i,s,o,u){var c,f,a,l,d=this,h=o?Ge([],this.getStateNodes(o.value)):[],v=new Set;try{for(var w=R(Array.from(e).sort(function(k,F){return k.order-F.order})),S=w.next();!S.done;S=w.next()){var E=S.value;(!He(h,E)||He(n.exitSet,E)||E.parent&&v.has(E.parent))&&v.add(E)}}catch(k){c={error:k}}finally{try{S&&!S.done&&(f=w.return)&&f.call(w)}finally{if(c)throw c.error}}try{for(var T=R(h),b=T.next();!b.done;b=T.next()){var E=b.value;(!He(e,E)||He(n.exitSet,E.parent))&&n.exitSet.push(E)}}catch(k){a={error:k}}finally{try{b&&!b.done&&(l=T.return)&&l.call(T)}finally{if(a)throw a.error}}n.exitSet.sort(function(k,F){return F.order-k.order});var O=Array.from(v).sort(function(k,F){return k.order-F.order}),$=new Set(n.exitSet),C=H(O.map(function(k){var F=[];if(k.type!=="final")return F;var z=k.parent;if(!z.parent)return F;F.push(Fe(k.id,k.doneData),Fe(z.id,k.doneData?ct(k.doneData,i,s):void 0));var B=z.parent;return B.type==="parallel"&&Be(B).every(function(Ee){return yt(n.configuration,Ee)})&&F.push(Fe(B.id)),F})),P=O.map(function(k){var F=k.onEntry,z=k.activities.map(function(B){return Dr(B)});return{type:"entry",actions:ce(u?V(V([],_(F),!1),_(z),!1):V(V([],_(z),!1),_(F),!1),d.machine.options.actions)}}).concat({type:"state_done",actions:C.map(function(k){return Rr(k)})}),L=Array.from($).map(function(k){return{type:"exit",actions:ce(V(V([],_(k.onExit),!1),_(k.activities.map(function(F){return Cr(F)})),!1),d.machine.options.actions)}}),x=L.concat({type:"transition",actions:ce(n.actions,this.machine.options.actions)}).concat(P);if(r){var K=ce(H(V([],_(e),!1).sort(function(k,F){return F.order-k.order}).map(function(k){return k.onExit})),this.machine.options.actions).filter(function(k){return!Mt(k)});return x.concat({type:"stop",actions:K})}return x},t.prototype.transition=function(e,r,n,i){e===void 0&&(e=this.initialState);var s=Q(r),o;if(e instanceof oe)o=n===void 0?e:this.resolveState(oe.from(e,n));else{var u=U(e)?this.resolve(ot(this.getResolvedPath(e))):this.resolve(e),c=n!=null?n:this.machine.context;o=this.resolveState(oe.from(u,c))}if(!G&&s.name===ze)throw new Error("An event cannot have the wildcard type ('".concat(ze,"')"));if(this.strict&&!this.events.includes(s.name)&&!fi(s.name))throw new Error("Machine '".concat(this.id,"' does not accept event '").concat(s.name,"'"));var f=this._transition(o.value,o,s)||{transitions:[],configuration:[],exitSet:[],source:o,actions:[]},a=Ge([],this.getStateNodes(o.value)),l=f.configuration.length?Ge(a,f.configuration):a;return f.configuration=V([],_(l),!1),this.resolveTransition(f,o,o.context,i,s)},t.prototype.resolveRaisedTransition=function(e,r,n,i){var s,o=e.actions;return e=this.transition(e,r,void 0,i),e._event=n,e.event=n.data,(s=e.actions).unshift.apply(s,V([],_(o),!1)),e},t.prototype.resolveTransition=function(e,r,n,i,s){var o,u,c,f,a=this;s===void 0&&(s=ye);var l=e.configuration,d=!r||e.transitions.length>0,h=d?e.configuration:r?r.configuration:[],v=yt(h,this),w=d?Li(this.machine,l):void 0,S=r?r.historyValue?r.historyValue:e.source?this.machine.historyValue(r.value):void 0:void 0,E=this.getActions(new Set(h),v,e,n,s,r,i),T=r?m({},r.activities):{};try{for(var b=R(E),O=b.next();!O.done;O=b.next()){var $=O.value;try{for(var C=(c=void 0,R($.actions)),P=C.next();!P.done;P=C.next()){var L=P.value;L.type===Ze?T[L.activity.id||L.activity.type]=L:L.type===et&&(T[L.activity.id||L.activity.type]=!1)}}catch(ee){c={error:ee}}finally{try{P&&!P.done&&(f=C.return)&&f.call(C)}finally{if(c)throw c.error}}}}catch(ee){o={error:ee}}finally{try{O&&!O.done&&(u=b.return)&&u.call(b)}finally{if(o)throw o.error}}var x=_(Ve(this,r,n,s,E,i,this.machine.config.predictableActionArguments||this.machine.config.preserveActionOrder),2),K=x[0],k=x[1],F=_(pi(K,Mt),2),z=F[0],B=F[1],Ee=K.filter(function(ee){var W;return ee.type===Ze&&((W=ee.activity)===null||W===void 0?void 0:W.type)===nt}),Te=Ee.reduce(function(ee,W){return ee[W.activity.id]=Di(W.activity,a.machine,k,s),ee},r?m({},r.children):{}),p=new oe({value:w||r.value,context:k,_event:s,_sessionid:r?r._sessionid:null,historyValue:w?S?vi(S,w):void 0:r?r.historyValue:void 0,history:!w||e.source?r:void 0,actions:w?B:[],activities:w?T:r?r.activities:{},events:[],configuration:h,transitions:e.transitions,children:Te,done:v,tags:Br(h),machine:this}),g=n!==k;p.changed=s.name===it||g;var A=p.history;A&&delete A.history;var q=!v&&(this._transient||l.some(function(ee){return ee._transient}));if(!d&&(!q||s.name===Pe))return p;var D=p;if(!v)for(q&&(D=this.resolveRaisedTransition(D,{type:pr},s,i));z.length;){var M=z.shift();D=this.resolveRaisedTransition(D,M._event,s,i)}var Me=D.changed||(A?!!D.actions.length||g||typeof A.value!=typeof D.value||!Gr(D.value,A.value):void 0);return D.changed=Me,D.history=A,D},t.prototype.getStateNode=function(e){if(Ne(e))return this.machine.getStateNodeById(e);if(!this.states)throw new Error("Unable to retrieve child state '".concat(e,"' from '").concat(this.id,"'; no child states exist."));var r=this.states[e];if(!r)throw new Error("Child state '".concat(e,"' does not exist on '").concat(this.id,"'"));return r},t.prototype.getStateNodeById=function(e){var r=Ne(e)?e.slice(Bt.length):e;if(r===this.id)return this;var n=this.machine.idMap[r];if(!n)throw new Error("Child state node '#".concat(r,"' does not exist on machine '").concat(this.id,"'"));return n},t.prototype.getStateNodeByPath=function(e){if(typeof e=="string"&&Ne(e))try{return this.getStateNodeById(e.slice(1))}catch{}for(var r=Ct(e,this.delimiter).slice(),n=this;r.length;){var i=r.shift();if(!i.length)break;n=n.getStateNode(i)}return n},t.prototype.resolve=function(e){var r,n=this;if(!e)return this.initialStateValue||_e;switch(this.type){case"parallel":return $e(this.initialStateValue,function(s,o){return s?n.getStateNode(o).resolve(e[o]||s):_e});case"compound":if(U(e)){var i=this.getStateNode(e);return i.type==="parallel"||i.type==="compound"?(r={},r[e]=i.initialStateValue,r):e}return Object.keys(e).length?$e(e,function(s,o){return s?n.getStateNode(o).resolve(s):_e}):this.initialStateValue||{};default:return e||_e}},t.prototype.getResolvedPath=function(e){if(Ne(e)){var r=this.machine.idMap[e.slice(Bt.length)];if(!r)throw new Error("Unable to find state node '".concat(e,"'"));return r.path}return Ct(e,this.delimiter)},Object.defineProperty(t.prototype,"initialStateValue",{get:function(){var e;if(this.__cache.initialStateValue)return this.__cache.initialStateValue;var r;if(this.type==="parallel")r=Tr(this.states,function(n){return n.initialStateValue||_e},function(n){return n.type!=="history"});else if(this.initial!==void 0){if(!this.states[this.initial])throw new Error("Initial state '".concat(this.initial,"' not found on '").concat(this.key,"'"));r=vt(this.states[this.initial])?this.initial:(e={},e[this.initial]=this.states[this.initial].initialStateValue,e)}else r={};return this.__cache.initialStateValue=r,this.__cache.initialStateValue},enumerable:!1,configurable:!0}),t.prototype.getInitialState=function(e,r){this._init();var n=this.getStateNodes(e);return this.resolveTransition({configuration:n,exitSet:[],transitions:[],source:void 0,actions:[]},void 0,r!=null?r:this.machine.context,void 0)},Object.defineProperty(t.prototype,"initialState",{get:function(){var e=this.initialStateValue;if(!e)throw new Error("Cannot retrieve initial state from simple state '".concat(this.id,"'."));return this.getInitialState(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"target",{get:function(){var e;if(this.type==="history"){var r=this.config;U(r.target)?e=Ne(r.target)?ot(this.machine.getStateNodeById(r.target).path.slice(this.path.length-1)):r.target:e=r.target}return e},enumerable:!1,configurable:!0}),t.prototype.getRelativeStateNodes=function(e,r,n){return n===void 0&&(n=!0),n?e.type==="history"?e.resolveHistory(r):e.initialStateNodes:[e]},Object.defineProperty(t.prototype,"initialStateNodes",{get:function(){var e=this;if(vt(this))return[this];if(this.type==="compound"&&!this.initial)return G||Y(!1,"Compound state node '".concat(this.id,"' has no initial state.")),[this];var r=at(this.initialStateValue);return H(r.map(function(n){return e.getFromRelativePath(n)}))},enumerable:!1,configurable:!0}),t.prototype.getFromRelativePath=function(e){if(!e.length)return[this];var r=_(e),n=r[0],i=r.slice(1);if(!this.states)throw new Error("Cannot retrieve subPath '".concat(n,"' from node with no states"));var s=this.getStateNode(n);if(s.type==="history")return s.resolveHistory();if(!this.states[n])throw new Error("Child state '".concat(n,"' does not exist on '").concat(this.id,"'"));return this.states[n].getFromRelativePath(i)},t.prototype.historyValue=function(e){if(Object.keys(this.states).length)return{current:e||this.initialStateValue,states:Tr(this.states,function(r,n){if(!e)return r.historyValue();var i=U(e)?void 0:e[n];return r.historyValue(i||r.initialStateValue)},function(r){return!r.history})}},t.prototype.resolveHistory=function(e){var r=this;if(this.type!=="history")return[this];var n=this.parent;if(!e){var i=this.target;return i?H(at(i).map(function(o){return n.getFromRelativePath(o)})):n.initialStateNodes}var s=di(n.path,"states")(e).current;return U(s)?[n.getStateNode(s)]:H(at(s).map(function(o){return r.history==="deep"?n.getFromRelativePath(o):[n.states[o[0]]]}))},Object.defineProperty(t.prototype,"stateIds",{get:function(){var e=this,r=H(Object.keys(this.states).map(function(n){return e.states[n].stateIds}));return[this.id].concat(r)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"events",{get:function(){var e,r,n,i;if(this.__cache.events)return this.__cache.events;var s=this.states,o=new Set(this.ownEvents);if(s)try{for(var u=R(Object.keys(s)),c=u.next();!c.done;c=u.next()){var f=c.value,a=s[f];if(a.states)try{for(var l=(n=void 0,R(a.events)),d=l.next();!d.done;d=l.next()){var h=d.value;o.add("".concat(h))}}catch(v){n={error:v}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}}}catch(v){e={error:v}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}return this.__cache.events=Array.from(o)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ownEvents",{get:function(){var e=new Set(this.transitions.filter(function(r){return!(!r.target&&!r.actions.length&&r.internal)}).map(function(r){return r.eventType}));return Array.from(e)},enumerable:!1,configurable:!0}),t.prototype.resolveTarget=function(e){var r=this;if(e!==void 0)return e.map(function(n){if(!U(n))return n;var i=n[0]===r.delimiter;if(i&&!r.parent)return r.getStateNodeByPath(n.slice(1));var s=i?r.key+n:n;if(r.parent)try{var o=r.parent.getStateNodeByPath(s);return o}catch(u){throw new Error("Invalid transition definition for state node '".concat(r.id,`':
19
- `).concat(u.message))}else return r.getStateNodeByPath(s)})},t.prototype.formatTransition=function(e){var r=this,n=wi(e.target),i="internal"in e?e.internal:n?n.some(function(c){return U(c)&&c[0]===r.delimiter}):!0,s=this.machine.options.guards,o=this.resolveTarget(n),u=m(m({},e),{actions:ce(re(e.actions)),cond:Or(e.cond,s),target:o,source:this,internal:i,eventType:e.event,toJSON:function(){return m(m({},u),{target:u.target?u.target.map(function(c){return"#".concat(c.id)}):void 0,source:"#".concat(r.id)})}});return u},t.prototype.formatTransitions=function(){var e,r,n=this,i;if(!this.config.on)i=[];else if(Array.isArray(this.config.on))i=this.config.on;else{var s=this.config.on,o=ze,u=s[o],c=u===void 0?[]:u,f=Rt(s,[typeof o=="symbol"?o:o+""]);i=H(Object.keys(f).map(function(T){!G&&T===Pe&&Y(!1,"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. "+'Please check the `on` configuration for "#'.concat(n.id,'".'));var b=ke(T,f[T]);return G||Zi(n,T,b),b}).concat(ke(ze,c)))}var a=this.config.always?ke("",this.config.always):[],l=this.config.onDone?ke(String(Fe(this.id)),this.config.onDone):[];G||Y(!(this.config.onDone&&!this.parent),'Root nodes cannot have an ".onDone" transition. Please check the config of "'.concat(this.id,'".'));var d=H(this.invoke.map(function(T){var b=[];return T.onDone&&b.push.apply(b,V([],_(ke(String(qe(T.id)),T.onDone)),!1)),T.onError&&b.push.apply(b,V([],_(ke(String(Ie(T.id)),T.onError)),!1)),b})),h=this.after,v=H(V(V(V(V([],_(l),!1),_(d),!1),_(i),!1),_(a),!1).map(function(T){return re(T).map(function(b){return n.formatTransition(b)})}));try{for(var w=R(h),S=w.next();!S.done;S=w.next()){var E=S.value;v.push(E)}}catch(T){e={error:T}}finally{try{S&&!S.done&&(r=w.return)&&r.call(w)}finally{if(e)throw e.error}}return v},t}(),Kr=!1;function pe(t,e){return!G&&!("predictableActionArguments"in t)&&!Kr&&(Kr=!0,console.warn("It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html")),new es(t,e)}var I=jr,X=me;/*! js-cookie v3.0.5 | MIT */function gt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}var ts={read:function(t){return t[0]==='"'&&(t=t.slice(1,-1)),t.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(t){return encodeURIComponent(t).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function Gt(t,e){function r(i,s,o){if(typeof document!="undefined"){o=gt({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var u="";for(var c in o)o[c]&&(u+="; "+c,o[c]!==!0&&(u+="="+o[c].split(";")[0]));return document.cookie=i+"="+t.write(s,i)+u}}function n(i){if(!(typeof document=="undefined"||arguments.length&&!i)){for(var s=document.cookie?document.cookie.split("; "):[],o={},u=0;u<s.length;u++){var c=s[u].split("="),f=c.slice(1).join("=");try{var a=decodeURIComponent(c[0]);if(o[a]=t.read(f,a),i===a)break}catch{}}return i?o[i]:o}}return Object.create({set:r,get:n,remove:function(i,s){r(i,"",gt({},s,{expires:-1}))},withAttributes:function(i){return Gt(this.converter,gt({},this.attributes,i))},withConverter:function(i){return Gt(gt({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(e)},converter:{value:Object.freeze(t)}})}var Ht=Gt(ts,{path:"/"}),Kt=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function zt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function rs(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var Jt={exports:{}};(function(t,e){(function(r){function n(i){var s=i&&i.Promise||r.Promise,o=i&&i.XMLHttpRequest||r.XMLHttpRequest;return function(){var u=Object.create(r,{fetch:{value:void 0,writable:!0}});return function(c,f){f(e)}(this,function(c){var f=typeof u!="undefined"&&u||typeof self!="undefined"&&self||typeof f!="undefined"&&f,a={searchParams:"URLSearchParams"in f,iterable:"Symbol"in f&&"iterator"in Symbol,blob:"FileReader"in f&&"Blob"in f&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in f,arrayBuffer:"ArrayBuffer"in f};function l(p){return p&&DataView.prototype.isPrototypeOf(p)}if(a.arrayBuffer)var d=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],h=ArrayBuffer.isView||function(p){return p&&d.indexOf(Object.prototype.toString.call(p))>-1};function v(p){if(typeof p!="string"&&(p=String(p)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(p)||p==="")throw new TypeError("Invalid character in header field name");return p.toLowerCase()}function w(p){return typeof p!="string"&&(p=String(p)),p}function S(p){var g={next:function(){var A=p.shift();return{done:A===void 0,value:A}}};return a.iterable&&(g[Symbol.iterator]=function(){return g}),g}function E(p){this.map={},p instanceof E?p.forEach(function(g,A){this.append(A,g)},this):Array.isArray(p)?p.forEach(function(g){this.append(g[0],g[1])},this):p&&Object.getOwnPropertyNames(p).forEach(function(g){this.append(g,p[g])},this)}E.prototype.append=function(p,g){p=v(p),g=w(g);var A=this.map[p];this.map[p]=A?A+", "+g:g},E.prototype.delete=function(p){delete this.map[v(p)]},E.prototype.get=function(p){return p=v(p),this.has(p)?this.map[p]:null},E.prototype.has=function(p){return this.map.hasOwnProperty(v(p))},E.prototype.set=function(p,g){this.map[v(p)]=w(g)},E.prototype.forEach=function(p,g){for(var A in this.map)this.map.hasOwnProperty(A)&&p.call(g,this.map[A],A,this)},E.prototype.keys=function(){var p=[];return this.forEach(function(g,A){p.push(A)}),S(p)},E.prototype.values=function(){var p=[];return this.forEach(function(g){p.push(g)}),S(p)},E.prototype.entries=function(){var p=[];return this.forEach(function(g,A){p.push([A,g])}),S(p)},a.iterable&&(E.prototype[Symbol.iterator]=E.prototype.entries);function T(p){if(p.bodyUsed)return s.reject(new TypeError("Already read"));p.bodyUsed=!0}function b(p){return new s(function(g,A){p.onload=function(){g(p.result)},p.onerror=function(){A(p.error)}})}function O(p){var g=new FileReader,A=b(g);return g.readAsArrayBuffer(p),A}function $(p){var g=new FileReader,A=b(g);return g.readAsText(p),A}function C(p){for(var g=new Uint8Array(p),A=new Array(g.length),q=0;q<g.length;q++)A[q]=String.fromCharCode(g[q]);return A.join("")}function P(p){if(p.slice)return p.slice(0);var g=new Uint8Array(p.byteLength);return g.set(new Uint8Array(p)),g.buffer}function L(){return this.bodyUsed=!1,this._initBody=function(p){this.bodyUsed=this.bodyUsed,this._bodyInit=p,p?typeof p=="string"?this._bodyText=p:a.blob&&Blob.prototype.isPrototypeOf(p)?this._bodyBlob=p:a.formData&&FormData.prototype.isPrototypeOf(p)?this._bodyFormData=p:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)?this._bodyText=p.toString():a.arrayBuffer&&a.blob&&l(p)?(this._bodyArrayBuffer=P(p.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(p)||h(p))?this._bodyArrayBuffer=P(p):this._bodyText=p=Object.prototype.toString.call(p):this._bodyText="",this.headers.get("content-type")||(typeof p=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var p=T(this);if(p)return p;if(this._bodyBlob)return s.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return s.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return s.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var p=T(this);return p||(ArrayBuffer.isView(this._bodyArrayBuffer)?s.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):s.resolve(this._bodyArrayBuffer))}else return this.blob().then(O)}),this.text=function(){var p=T(this);if(p)return p;if(this._bodyBlob)return $(this._bodyBlob);if(this._bodyArrayBuffer)return s.resolve(C(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return s.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(F)}),this.json=function(){return this.text().then(JSON.parse)},this}var x=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function K(p){var g=p.toUpperCase();return x.indexOf(g)>-1?g:p}function k(p,g){if(!(this instanceof k))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');g=g||{};var A=g.body;if(p instanceof k){if(p.bodyUsed)throw new TypeError("Already read");this.url=p.url,this.credentials=p.credentials,g.headers||(this.headers=new E(p.headers)),this.method=p.method,this.mode=p.mode,this.signal=p.signal,!A&&p._bodyInit!=null&&(A=p._bodyInit,p.bodyUsed=!0)}else this.url=String(p);if(this.credentials=g.credentials||this.credentials||"same-origin",(g.headers||!this.headers)&&(this.headers=new E(g.headers)),this.method=K(g.method||this.method||"GET"),this.mode=g.mode||this.mode||null,this.signal=g.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&A)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(A),(this.method==="GET"||this.method==="HEAD")&&(g.cache==="no-store"||g.cache==="no-cache")){var q=/([?&])_=[^&]*/;if(q.test(this.url))this.url=this.url.replace(q,"$1_="+new Date().getTime());else{var D=/\?/;this.url+=(D.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}k.prototype.clone=function(){return new k(this,{body:this._bodyInit})};function F(p){var g=new FormData;return p.trim().split("&").forEach(function(A){if(A){var q=A.split("="),D=q.shift().replace(/\+/g," "),M=q.join("=").replace(/\+/g," ");g.append(decodeURIComponent(D),decodeURIComponent(M))}}),g}function z(p){var g=new E,A=p.replace(/\r?\n[\t ]+/g," ");return A.split("\r").map(function(q){return q.indexOf(`
20
- `)===0?q.substr(1,q.length):q}).forEach(function(q){var D=q.split(":"),M=D.shift().trim();if(M){var Me=D.join(":").trim();g.append(M,Me)}}),g}L.call(k.prototype);function B(p,g){if(!(this instanceof B))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');g||(g={}),this.type="default",this.status=g.status===void 0?200:g.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in g?g.statusText:"",this.headers=new E(g.headers),this.url=g.url||"",this._initBody(p)}L.call(B.prototype),B.prototype.clone=function(){return new B(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new E(this.headers),url:this.url})},B.error=function(){var p=new B(null,{status:0,statusText:""});return p.type="error",p};var Ee=[301,302,303,307,308];B.redirect=function(p,g){if(Ee.indexOf(g)===-1)throw new RangeError("Invalid status code");return new B(null,{status:g,headers:{location:p}})},c.DOMException=f.DOMException;try{new c.DOMException}catch{c.DOMException=function(g,A){this.message=g,this.name=A;var q=Error(g);this.stack=q.stack},c.DOMException.prototype=Object.create(Error.prototype),c.DOMException.prototype.constructor=c.DOMException}function Te(p,g){return new s(function(A,q){var D=new k(p,g);if(D.signal&&D.signal.aborted)return q(new c.DOMException("Aborted","AbortError"));var M=new o;function Me(){M.abort()}M.onload=function(){var W={status:M.status,statusText:M.statusText,headers:z(M.getAllResponseHeaders()||"")};W.url="responseURL"in M?M.responseURL:W.headers.get("X-Request-URL");var xt="response"in M?M.response:M.responseText;setTimeout(function(){A(new B(xt,W))},0)},M.onerror=function(){setTimeout(function(){q(new TypeError("Network request failed"))},0)},M.ontimeout=function(){setTimeout(function(){q(new TypeError("Network request failed"))},0)},M.onabort=function(){setTimeout(function(){q(new c.DOMException("Aborted","AbortError"))},0)};function ee(W){try{return W===""&&f.location.href?f.location.href:W}catch{return W}}M.open(D.method,ee(D.url),!0),D.credentials==="include"?M.withCredentials=!0:D.credentials==="omit"&&(M.withCredentials=!1),"responseType"in M&&(a.blob?M.responseType="blob":a.arrayBuffer&&D.headers.get("Content-Type")&&D.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(M.responseType="arraybuffer")),g&&typeof g.headers=="object"&&!(g.headers instanceof E)?Object.getOwnPropertyNames(g.headers).forEach(function(W){M.setRequestHeader(W,w(g.headers[W]))}):D.headers.forEach(function(W,xt){M.setRequestHeader(xt,W)}),D.signal&&(D.signal.addEventListener("abort",Me),M.onreadystatechange=function(){M.readyState===4&&D.signal.removeEventListener("abort",Me)}),M.send(typeof D._bodyInit=="undefined"?null:D._bodyInit)})}Te.polyfill=!0,f.fetch||(f.fetch=Te,f.Headers=E,f.Request=k,f.Response=B),c.Headers=E,c.Request=k,c.Response=B,c.fetch=Te,Object.defineProperty(c,"__esModule",{value:!0})}),{fetch:u.fetch,Headers:u.Headers,Request:u.Request,Response:u.Response,DOMException:u.DOMException}}()}t.exports=n})(typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:Kt)})(Jt,Jt.exports);var ns=Jt.exports;const Wt=zt(ns),Ue="nhostRefreshToken",Je="nhostRefreshTokenId",ge="nhostRefreshTokenExpiresAt",zr=3,Jr=60,Yt=5,Xt=0,Qt=1,ne=10,De=20;class Ce extends Error{constructor(e){super(e.message),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),e instanceof Error?(this.name=e.name,this.error={error:e.name,status:Qt,message:e.message}):(this.name=e.error,this.error=e)}}const ue={status:ne,error:"invalid-email",message:"Email is incorrectly formatted"},Wr={status:ne,error:"invalid-mfa-type",message:"MFA type is invalid"},Yr={status:ne,error:"invalid-mfa-code",message:"MFA code is invalid"},wt={status:ne,error:"invalid-password",message:"Password is incorrectly formatted"},Zt={status:ne,error:"invalid-phone-number",message:"Phone number is incorrectly formatted"},Xr={status:ne,error:"invalid-mfa-ticket",message:"MFA ticket is invalid"},Qr={status:ne,error:"no-mfa-ticket",message:"No MFA ticket has been provided"},Zr={status:ne,error:"no-refresh-token",message:"No refresh token has been provided"},en={status:De,error:"refresher-already-running",message:"The token refresher is already running. You must wait until is has finished before submitting a new token."},ie={status:De,error:"already-signed-in",message:"User is already signed in"},tn={status:De,error:"unauthenticated-user",message:"User is not authenticated"},is={status:De,error:"user-not-anonymous",message:"User is not anonymous"},rn={status:De,error:"unverified-user",message:"Email needs verification"},nn={status:ne,error:"invalid-refresh-token",message:"Invalid or expired refresh token"},sn={status:Qt,error:"invalid-sign-in-method",message:"Invalid sign-in method"},Et={user:null,mfa:null,accessToken:{value:null,expiresAt:null,expiresInSeconds:15},refreshTimer:{startedAt:null,attempts:0,lastAttempt:null},refreshToken:{value:null},importTokenAttempts:0,errors:{}};function ss(t){return new TextEncoder().encode(t)}function we(t){const e=new Uint8Array(t);let r="";for(const n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function er(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),r=(4-e.length%4)%4,n=e.padEnd(e.length+r,"="),i=atob(n),s=new ArrayBuffer(i.length),o=new Uint8Array(s);for(let u=0;u<i.length;u++)o[u]=i.charCodeAt(u);return s}function on(){return(window==null?void 0:window.PublicKeyCredential)!==void 0&&typeof window.PublicKeyCredential=="function"}function an(t){const{id:e}=t;return{...t,id:er(e),transports:t.transports}}function cn(t){return t==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(t)}let Z=class extends Error{constructor(e,r="WebAuthnError"){super(e),this.name=r}};function os({error:t,options:e}){var r,n;const{publicKey:i}=e;if(!i)throw Error("options was missing required publicKey property");if(t.name==="AbortError"){if(e.signal===new AbortController().signal)return new Z("Registration ceremony was sent an abort signal","AbortError")}else if(t.name==="ConstraintError"){if(((r=i.authenticatorSelection)===null||r===void 0?void 0:r.requireResidentKey)===!0)return new Z("Discoverable credentials were required but no available authenticator supported it","ConstraintError");if(((n=i.authenticatorSelection)===null||n===void 0?void 0:n.userVerification)==="required")return new Z("User verification was required but no available authenticator supported it","ConstraintError")}else{if(t.name==="InvalidStateError")return new Z("The authenticator was previously registered","InvalidStateError");if(t.name==="NotAllowedError")return new Z("User clicked cancel, or the registration ceremony timed out","NotAllowedError");if(t.name==="NotSupportedError")return i.pubKeyCredParams.filter(s=>s.type==="public-key").length===0?new Z('No entry in pubKeyCredParams was of type "public-key"',"NotSupportedError"):new Z("No available authenticator supported any of the specified pubKeyCredParams algorithms","NotSupportedError");if(t.name==="SecurityError"){const s=window.location.hostname;if(cn(s)){if(i.rp.id!==s)return new Z(`The RP ID "${i.rp.id}" is invalid for this domain`,"SecurityError")}else return new Z(`${window.location.hostname} is an invalid domain`,"SecurityError")}else if(t.name==="TypeError"){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new Z("User ID was not between 1 and 64 characters","TypeError")}else if(t.name==="UnknownError")return new Z("The authenticator was unable to process the specified options, or could not create a new credential","UnknownError")}return t}class as{createNewAbortSignal(){return this.controller&&this.controller.abort("Cancelling existing WebAuthn API call for new one"),this.controller=new AbortController,this.controller.signal}}const un=new as;async function ln(t){if(!on())throw new Error("WebAuthn is not supported in this browser");const e={publicKey:{...t,challenge:er(t.challenge),user:{...t.user,id:ss(t.user.id)},excludeCredentials:t.excludeCredentials.map(an)}};e.signal=un.createNewAbortSignal();let r;try{r=await navigator.credentials.create(e)}catch(c){throw os({error:c,options:e})}if(!r)throw new Error("Registration was not completed");const{id:n,rawId:i,response:s,type:o}=r,u={id:n,rawId:we(i),response:{attestationObject:we(s.attestationObject),clientDataJSON:we(s.clientDataJSON)},type:o,clientExtensionResults:r.getClientExtensionResults(),authenticatorAttachment:r.authenticatorAttachment};return typeof s.getTransports=="function"&&(u.transports=s.getTransports()),u}function cs(t){return new TextDecoder("utf-8").decode(t)}async function us(){const t=window.PublicKeyCredential;return t.isConditionalMediationAvailable!==void 0&&t.isConditionalMediationAvailable()}function ls({error:t,options:e}){var r;const{publicKey:n}=e;if(!n)throw Error("options was missing required publicKey property");if(t.name==="AbortError"){if(e.signal===new AbortController().signal)return new Z("Authentication ceremony was sent an abort signal","AbortError")}else{if(t.name==="NotAllowedError")return!((r=n.allowCredentials)===null||r===void 0)&&r.length?new Z("No available authenticator recognized any of the allowed credentials","NotAllowedError"):new Z("User clicked cancel, or the authentication ceremony timed out","NotAllowedError");if(t.name==="SecurityError"){const i=window.location.hostname;if(cn(i)){if(n.rpId!==i)return new Z(`The RP ID "${n.rpId}" is invalid for this domain`,"SecurityError")}else return new Z(`${window.location.hostname} is an invalid domain`,"SecurityError")}else if(t.name==="UnknownError")return new Z("The authenticator was unable to process the specified options, or could not create a new assertion signature","UnknownError")}return t}async function dn(t,e=!1){var r,n;if(!on())throw new Error("WebAuthn is not supported in this browser");let i;((r=t.allowCredentials)===null||r===void 0?void 0:r.length)!==0&&(i=(n=t.allowCredentials)===null||n===void 0?void 0:n.map(an));const s={...t,challenge:er(t.challenge),allowCredentials:i},o={};if(e){if(!await us())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete*='webauthn']").length<1)throw Error('No <input> with `"webauthn"` in its `autocomplete` attribute was detected');o.mediation="conditional",s.allowCredentials=[]}o.publicKey=s,o.signal=un.createNewAbortSignal();let u;try{u=await navigator.credentials.get(o)}catch(h){throw ls({error:h,options:o})}if(!u)throw new Error("Authentication was not completed");const{id:c,rawId:f,response:a,type:l}=u;let d;return a.userHandle&&(d=cs(a.userHandle)),{id:c,rawId:we(f),response:{authenticatorData:we(a.authenticatorData),clientDataJSON:we(a.clientDataJSON),signature:we(a.signature),userHandle:d},type:l,clientExtensionResults:u.getClientExtensionResults(),authenticatorAttachment:u.authenticatorAttachment}}const Tt=typeof window!="undefined",St=new Map,ds=t=>{var e;return Tt&&typeof localStorage!="undefined"?localStorage.getItem(t):(e=St.get(t))!=null?e:null},fs=(t,e)=>{Tt&&typeof localStorage!="undefined"?e?localStorage.setItem(t,e):localStorage.removeItem(t):e?St.set(t,e):St.has(t)&&St.delete(t)},fn=(t,e)=>{if(t==="localStorage"||t==="web")return ds;if(t==="cookie")return r=>{var n;return Tt&&(n=Ht.get(r))!=null?n:null};if(!e)throw Error(`clientStorageType is set to '${t}' but no clientStorage has been given`);if(t==="react-native")return r=>{var n;return(n=e.getItem)==null?void 0:n.call(e,r)};if(t==="capacitor")return r=>{var n;return(n=e.get)==null?void 0:n.call(e,{key:r})};if(t==="expo-secure-storage")return r=>{var n;return(n=e.getItemAsync)==null?void 0:n.call(e,r)};if(t==="custom"){if(e.getItem&&e.removeItem)return e.getItem;if(e.getItemAsync)return e.getItemAsync;throw Error(`clientStorageType is set to 'custom' but clientStorage is missing either "getItem" and "removeItem" properties or "getItemAsync" property`)}throw Error(`Unknown storage type: ${t}`)},hn=(t,e)=>{if(t==="localStorage"||t==="web")return fs;if(t==="cookie")return(r,n)=>{Tt&&(n?Ht.set(r,n,{expires:30,sameSite:"lax",httpOnly:!1}):Ht.remove(r))};if(!e)throw Error(`clientStorageType is set to '${t}' but no clienStorage has been given`);if(t==="react-native")return(r,n)=>{var i,s;return n?(i=e.setItem)==null?void 0:i.call(e,r,n):(s=e.removeItem)==null?void 0:s.call(e,r)};if(t==="capacitor")return(r,n)=>{var i,s;return n?(i=e.set)==null?void 0:i.call(e,{key:r,value:n}):(s=e.remove)==null?void 0:s.call(e,{key:r})};if(t==="expo-secure-storage")return async(r,n)=>{var i,s;return n?(i=e.setItemAsync)==null?void 0:i.call(e,r,n):(s=e.deleteItemAsync)==null?void 0:s.call(e,r)};if(t==="custom"){if(!e.removeItem)throw Error("clientStorageType is set to 'custom' but clientStorage is missing a removeItem property");if(e.setItem)return(r,n)=>{var i,s;return n?(i=e.setItem)==null?void 0:i.call(e,r,n):(s=e.removeItem)==null?void 0:s.call(e,r)};if(e.setItemAsync)return async(r,n)=>{var i,s;return n?(i=e.setItemAsync)==null?void 0:i.call(e,r,n):(s=e.removeItem)==null?void 0:s.call(e,r)};throw Error("clientStorageType is set to 'custom' but clientStorage is missing setItem or setItemAsync property")}throw Error(`Unknown storage type: ${t}`)},We=t=>!t||!t.accessToken.value||!t.accessToken.expiresAt||!t.user?null:{accessToken:t.accessToken.value,accessTokenExpiresIn:(t.accessToken.expiresAt.getTime()-Date.now())/1e3,refreshToken:t.refreshToken.value,user:t.user},le=({accessToken:t,refreshToken:e,isError:r,user:n,error:i})=>r?{session:null,error:i}:n&&t?{session:{accessToken:t,accessTokenExpiresIn:0,refreshToken:e,user:n},error:null}:{session:null,error:null},bt=()=>typeof window!="undefined";let pn=globalThis.fetch;typeof EdgeRuntime!="string"&&(pn=Wt().fetch);const vn=async(t,e,{token:r,body:n}={})=>{const i={"Content-Type":"application/json",Accept:"*/*"};r&&(i.Authorization=`Bearer ${r}`);const s={method:e,headers:i};n&&(s.body=JSON.stringify(n));try{const o=await pn(t,s);if(!o.ok){const u=await o.json();return Promise.reject({error:u})}try{return{data:await o.json(),error:null}}catch{return console.warn(`Unexpected response: can't parse the response of the server at ${t}`),{data:"OK",error:null}}}catch{const o={message:"Network Error",status:Xt,error:"network"};return Promise.reject({error:o})}},te=async(t,e,r)=>vn(t,"POST",{token:r,body:e}),yn=(t,e)=>vn(t,"GET",{token:e}),tr=(t,e)=>{const r=e&&Object.entries(e).map(([n,i])=>{const s=Array.isArray(i)?i.join(","):typeof i=="object"?JSON.stringify(i):i;return`${n}=${encodeURIComponent(s)}`}).join("&");return r?`${t}?${r}`:t},se=(t,e)=>{if(!(e!=null&&e.redirectTo))return e;const{redirectTo:r,...n}=e;if(!t)return r.startsWith("/")?n:e;const i=new URL(t),s=Object.fromEntries(new URLSearchParams(i.search)),o=new URL(r.startsWith("/")?i.origin+r:r),u=new URLSearchParams(o.search);let c=Object.fromEntries(u);r.startsWith("/")&&(c={...s,...c});let f=i.pathname;return o.pathname.length>1&&(f+=o.pathname.slice(1)),{...n,redirectTo:tr(o.origin+f,c)}};function Ye(t,e){var r;if(!e){if(typeof window=="undefined")return;e=((r=window.location)==null?void 0:r.href)||""}t=t.replace(/[\[\]]/g,"\\$&");const n=new RegExp("[?&#]"+t+"(=([^&#]*)|&|#|$)"),i=n.exec(e);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null}function rr(t){var e;if(typeof window=="undefined")return;const r=window==null?void 0:window.location;if(r&&r){const n=new URLSearchParams(r.search),i=new URLSearchParams((e=r.hash)==null?void 0:e.slice(1));n.delete(t),i.delete(t);let s=window.location.pathname;Array.from(n).length&&(s+=`?${n.toString()}`),Array.from(i).length&&(s+=`#${i.toString()}`),window.history.pushState({},"",s)}}const de=t=>!!t&&typeof t=="string"&&!!String(t).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),At=t=>!!t&&typeof t=="string"&&t.length>=zr,nr=t=>!!t&&typeof t=="string",mn=t=>t&&typeof t=="string"&&t.match(/^mfaTotp:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),gn=({backendUrl:t,clientUrl:e,clientStorageType:r="web",clientStorage:n,refreshIntervalTime:i,autoRefreshToken:s=!0,autoSignIn:o=!0})=>{const u=fn(r,n),c=hn(r,n),f=async(a,l,d)=>(await te(`${t}${a}`,l,d)).data;return pe({schema:{context:{},events:{},services:{}},tsTypes:{},context:Et,predictableActionArguments:!0,id:"nhost",type:"parallel",states:{authentication:{initial:"starting",on:{SESSION_UPDATE:[{cond:"hasSession",actions:["saveSession","resetTimer","reportTokenChanged"],target:".signedIn"}]},states:{starting:{tags:["loading"],always:{cond:"isSignedIn",target:"signedIn"},invoke:{id:"importRefreshToken",src:"importRefreshToken",onDone:[{cond:"hasSession",actions:["saveSession","reportTokenChanged"],target:"signedIn"},{target:"signedOut"}],onError:[{cond:"shouldRetryImportToken",actions:"incrementTokenImportAttempts",target:"retryTokenImport"},{actions:["saveAuthenticationError"],target:"signedOut"}]}},retryTokenImport:{tags:["loading"],after:{RETRY_IMPORT_TOKEN_DELAY:"starting"}},signedOut:{initial:"noErrors",entry:"reportSignedOut",states:{noErrors:{},success:{},needsSmsOtp:{},needsMfa:{},failed:{},signingOut:{entry:["clearContextExceptRefreshToken"],exit:["destroyRefreshToken","reportTokenChanged"],invoke:{src:"signout",id:"signingOut",onDone:{target:"success"},onError:{target:"failed",actions:["saveAuthenticationError"]}}}},on:{SIGNIN_PASSWORD:"authenticating.password",SIGNIN_ANONYMOUS:"authenticating.anonymous",SIGNIN_SECURITY_KEY_EMAIL:"authenticating.securityKeyEmail",SIGNIN_MFA_TOTP:"authenticating.mfa.totp",SIGNIN_PAT:"authenticating.pat"}},authenticating:{entry:"resetErrors",states:{password:{invoke:{src:"signInPassword",id:"authenticateUserWithPassword",onDone:[{cond:"hasMfaTicket",actions:["saveMfaTicket"],target:"#nhost.authentication.signedOut.needsMfa"},{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"}],onError:[{cond:"unverified",target:["#nhost.authentication.signedOut","#nhost.registration.incomplete.needsEmailVerification"]},{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}]}},pat:{invoke:{src:"signInPAT",id:"authenticateWithPAT",onDone:{actions:["savePATSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}}},anonymous:{invoke:{src:"signInAnonymous",id:"authenticateAnonymously",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}}},mfa:{states:{totp:{invoke:{src:"signInMfaTotp",id:"signInMfaTotp",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:["saveAuthenticationError"],target:"#nhost.authentication.signedOut.failed"}}}}},securityKeyEmail:{invoke:{src:"signInSecurityKeyEmail",id:"authenticateUserWithSecurityKey",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:[{cond:"unverified",target:["#nhost.authentication.signedOut","#nhost.registration.incomplete.needsEmailVerification"]},{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}]}}}},signedIn:{type:"parallel",entry:["reportSignedIn","cleanUrl","broadcastToken","resetErrors"],on:{SIGNOUT:"signedOut.signingOut"},states:{refreshTimer:{id:"timer",initial:"idle",states:{disabled:{type:"final"},stopped:{always:{cond:"noToken",target:"idle"}},idle:{always:[{cond:"isAutoRefreshDisabled",target:"disabled"},{cond:"isRefreshTokenPAT",target:"disabled"},{cond:"hasRefreshToken",target:"running"}]},running:{initial:"pending",entry:"resetTimer",states:{pending:{after:{1e3:{internal:!1,target:"pending"}},always:{cond:"refreshTimerShouldRefresh",target:"refreshing"}},refreshing:{invoke:{src:"refreshToken",id:"refreshToken",onDone:{actions:["saveSession","resetTimer","reportTokenChanged"],target:"pending"},onError:[{actions:"saveRefreshAttempt",target:"pending"}]}}}}}}}}}},token:{initial:"idle",states:{idle:{on:{TRY_TOKEN:"running"},initial:"noErrors",states:{noErrors:{},error:{}}},running:{invoke:{src:"refreshToken",id:"authenticateWithToken",onDone:{actions:["saveSession","reportTokenChanged"],target:["#nhost.authentication.signedIn","idle.noErrors"]},onError:[{cond:"isSignedIn",target:"idle.error"},{actions:"saveAuthenticationError",target:["#nhost.authentication.signedOut.failed","idle.error"]}]}}}},registration:{initial:"incomplete",on:{SIGNED_IN:[{cond:"isAnonymous",target:".incomplete"},".complete"]},states:{incomplete:{on:{SIGNUP_EMAIL_PASSWORD:"emailPassword",SIGNUP_SECURITY_KEY:"securityKey",PASSWORDLESS_EMAIL:"passwordlessEmail",PASSWORDLESS_SMS:"passwordlessSms",PASSWORDLESS_SMS_OTP:"passwordlessSmsOtp"},initial:"noErrors",states:{noErrors:{},needsEmailVerification:{},needsOtp:{},failed:{}}},emailPassword:{entry:["resetErrors"],invoke:{src:"signUpEmailPassword",id:"signUpEmailPassword",onDone:[{cond:"hasSession",actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsEmailVerification"]}],onError:[{cond:"unverified",target:"incomplete.needsEmailVerification"},{actions:"saveRegistrationError",target:"incomplete.failed"}]}},securityKey:{entry:["resetErrors"],invoke:{src:"signUpSecurityKey",id:"signUpSecurityKey",onDone:[{cond:"hasSession",actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsEmailVerification"]}],onError:[{cond:"unverified",target:"incomplete.needsEmailVerification"},{actions:"saveRegistrationError",target:"incomplete.failed"}]}},passwordlessEmail:{entry:["resetErrors"],invoke:{src:"passwordlessEmail",id:"passwordlessEmail",onDone:{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsEmailVerification"]},onError:{actions:"saveRegistrationError",target:"incomplete.failed"}}},passwordlessSms:{entry:["resetErrors"],invoke:{src:"passwordlessSms",id:"passwordlessSms",onDone:{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsOtp"]},onError:{actions:"saveRegistrationError",target:"incomplete.failed"}}},passwordlessSmsOtp:{entry:["resetErrors"],invoke:{src:"passwordlessSmsOtp",id:"passwordlessSmsOtp",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:"saveRegistrationError",target:"incomplete.failed"}}},complete:{on:{SIGNED_OUT:"incomplete"}}}}}},{actions:{reportSignedIn:X("SIGNED_IN"),reportSignedOut:X("SIGNED_OUT"),reportTokenChanged:X("TOKEN_CHANGED"),incrementTokenImportAttempts:I({importTokenAttempts:({importTokenAttempts:a})=>a+1}),clearContext:I(()=>(c(ge,null),c(Ue,null),c(Je,null),{...Et})),clearContextExceptRefreshToken:I(({refreshToken:{value:a}})=>(c(ge,null),{...Et,refreshToken:{value:a}})),saveSession:I({user:(a,{data:l})=>{var d;return((d=l==null?void 0:l.session)==null?void 0:d.user)||null},accessToken:(a,{data:l})=>{if(l.session){const{accessTokenExpiresIn:d,accessToken:h}=l.session,v=new Date(Date.now()+d*1e3);return c(ge,v.toISOString()),{value:h,expiresAt:v,expiresInSeconds:d}}return c(ge,null),{value:null,expiresAt:null,expiresInSeconds:null}},refreshToken:(a,{data:l})=>{var d,h;const v=((d=l.session)==null?void 0:d.refreshToken)||null,w=((h=l.session)==null?void 0:h.refreshTokenId)||null;return v&&c(Ue,v),w&&c(Je,w),{value:v}}}),savePATSession:I({user:(a,{data:l})=>{var d;return((d=l==null?void 0:l.session)==null?void 0:d.user)||null},accessToken:(a,{data:l})=>{if(l.session){const{accessTokenExpiresIn:d,accessToken:h}=l.session,v=new Date(Date.now()+d*1e3);return c(ge,v.toISOString()),{value:h,expiresAt:v,expiresInSeconds:d}}return c(ge,null),{value:null,expiresAt:null,expiresInSeconds:null}},refreshToken:(a,{data:l})=>{var d,h;const v=((d=l.session)==null?void 0:d.refreshToken)||null,w=((h=l.session)==null?void 0:h.refreshTokenId)||null;return v&&c(Ue,v),w&&c(Je,w),{value:v,isPAT:!0}}}),saveMfaTicket:I({mfa:(a,l)=>{var d;return(d=l.data)==null?void 0:d.mfa}}),resetTimer:I({refreshTimer:a=>({startedAt:new Date,attempts:0,lastAttempt:null})}),saveRefreshAttempt:I({refreshTimer:(a,l)=>({startedAt:a.refreshTimer.startedAt,attempts:a.refreshTimer.attempts+1,lastAttempt:new Date})}),saveAuthenticationError:I({errors:({errors:a},{data:{error:l}})=>({...a,authentication:l})}),resetErrors:I({errors:a=>({}),importTokenAttempts:a=>0}),saveRegistrationError:I({errors:({errors:a},{data:{error:l}})=>({...a,registration:l})}),destroyRefreshToken:I({refreshToken:a=>(c(Ue,null),c(Je,null),{value:null})}),cleanUrl:()=>{o&&Ye("refreshToken")&&(rr("refreshToken"),rr("type"))},broadcastToken:a=>{if(o)try{new BroadcastChannel("nhost").postMessage(a.refreshToken.value)}catch{}}},guards:{isAnonymous:(a,l)=>{var d;return!!((d=a.user)!=null&&d.isAnonymous)},isSignedIn:a=>!!a.user&&!!a.accessToken.value,noToken:a=>!a.refreshToken.value,isRefreshTokenPAT:a=>{var l;return!!((l=a.refreshToken)!=null&&l.isPAT)},hasRefreshToken:a=>!!a.refreshToken.value,isAutoRefreshDisabled:()=>!s,refreshTimerShouldRefresh:a=>{const{expiresAt:l}=a.accessToken;if(!l)return!1;if(l.getTime()<Date.now())return!0;if(a.refreshTimer.lastAttempt)return a.refreshTimer.attempts>Yt?!1:Date.now()-a.refreshTimer.lastAttempt.getTime()>Math.pow(2,a.refreshTimer.attempts-1)*5e3;if(i&&Date.now()-a.refreshTimer.startedAt.getTime()>i*1e3)return!0;const d=a.accessToken.expiresInSeconds;return d?l.getTime()-Date.now()-1e3*Math.min(Jr,d*.5)<=0:!1},shouldRetryImportToken:(a,l)=>a.importTokenAttempts<Yt&&(l.data.error.status===Xt||l.data.error.status>=500),unverified:(a,{data:{error:l}})=>l.status===401&&(l.message==="Email is not verified"||l.error==="unverified-user"),hasSession:(a,l)=>{var d;return!!((d=l.data)!=null&&d.session)},hasMfaTicket:(a,l)=>{var d;return!!((d=l.data)!=null&&d.mfa)}},services:{signInPassword:(a,{email:l,password:d})=>de(l)?At(d)?f("/signin/email-password",{email:l,password:d}):Promise.reject({error:wt}):Promise.reject({error:ue}),signInPAT:(a,{pat:l})=>f("/signin/pat",{personalAccessToken:l}),passwordlessSms:(a,{phoneNumber:l,options:d})=>{var h;return nr(l)?(h=a.user)!=null&&h.isAnonymous?(console.warn("Deanonymisation from a phone number is not yet implemented in hasura-auth"),f("/user/deanonymize",{signInMethod:"passwordless",connection:"sms",phoneNumber:l,options:se(e,d)},a.accessToken.value)):f("/signin/passwordless/sms",{phoneNumber:l,options:se(e,d)}):Promise.reject({error:Zt})},passwordlessSmsOtp:(a,{phoneNumber:l,otp:d})=>nr(l)?f("/signin/passwordless/sms/otp",{phoneNumber:l,otp:d}):Promise.reject({error:Zt}),passwordlessEmail:(a,{email:l,options:d})=>{var h;return de(l)?(h=a.user)!=null&&h.isAnonymous?f("/user/deanonymize",{signInMethod:"passwordless",connection:"email",email:l,options:se(e,d)},a.accessToken.value):f("/signin/passwordless/email",{email:l,options:se(e,d)}):Promise.reject({error:ue})},signInAnonymous:a=>f("/signin/anonymous"),signInMfaTotp:(a,l)=>{var d;const h=l.ticket||((d=a.mfa)==null?void 0:d.ticket);return h?mn(h)?f("/signin/mfa/totp",{ticket:h,otp:l.otp}):Promise.reject({error:Xr}):Promise.reject({error:Qr})},signInSecurityKeyEmail:async(a,{email:l})=>{if(!de(l))throw new Ce(ue);const d=await f("/signin/webauthn",{email:l});let h;try{h=await dn(d)}catch(v){throw new Ce(v)}return f("/signin/webauthn/verify",{email:l,credential:h})},refreshToken:async(a,l)=>{const d=l.type==="TRY_TOKEN"?l.token:a.refreshToken.value;return{session:await f("/token",{refreshToken:d}),error:null}},signout:(a,l)=>f("/signout",{refreshToken:a.refreshToken.value,all:!!l.all}),signUpEmailPassword:async(a,{email:l,password:d,options:h})=>{var v;return de(l)?At(d)?(v=a.user)!=null&&v.isAnonymous?f("/user/deanonymize",{signInMethod:"email-password",email:l,password:d,options:se(e,h)},a.accessToken.value):f("/signup/email-password",{email:l,password:d,options:se(e,h)}):Promise.reject({error:wt}):Promise.reject({error:ue})},signUpSecurityKey:async(a,{email:l,options:d})=>{if(!de(l))return Promise.reject({error:ue});const h=d==null?void 0:d.nickname;h&&delete d.nickname;const v=await f("/signup/webauthn",{email:l,options:d});let w;try{w=await ln(v)}catch(S){throw new Ce(S)}return f("/signup/webauthn/verify",{credential:w,options:{redirectTo:d==null?void 0:d.redirectTo,nickname:h}})},importRefreshToken:async a=>{if(a.user&&a.refreshToken.value&&a.accessToken.value&&a.accessToken.expiresAt)return{session:{accessToken:a.accessToken.value,accessTokenExpiresIn:a.accessToken.expiresAt.getTime()-Date.now(),refreshToken:a.refreshToken.value,user:a.user},error:null};let l=null;if(o){const h=Ye("refreshToken")||null;if(h)try{return{session:await f("/token",{refreshToken:h}),error:null}}catch(v){l=v.error}else{const v=Ye("error");if(v)return Promise.reject({session:null,error:{status:ne,error:v,message:Ye("errorDescription")||v}})}}const d=await u(Ue);if(d)try{return{session:await f("/token",{refreshToken:d}),error:null}}catch(h){l=h.error}return l?Promise.reject({error:l,session:null}):{error:null,session:null}}},delays:{RETRY_IMPORT_TOKEN_DELAY:({importTokenAttempts:a})=>Math.pow(2,a-1)*5e3}})},wn=({backendUrl:t,clientUrl:e,interpreter:r})=>pe({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"changeEmail",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidEmail",actions:"saveInvalidEmailError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"requestChange",id:"requestChange",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidEmailError:I({error:n=>ue}),saveRequestError:I({error:(n,{data:{error:i}})=>i}),reportError:X(n=>({type:"ERROR",error:n.error})),reportSuccess:X("SUCCESS")},guards:{invalidEmail:(n,{email:i})=>!de(i)},services:{requestChange:async(n,{email:i,options:s})=>(await te(`${t}/user/email/change`,{newEmail:i,options:se(e,s)},r==null?void 0:r.getSnapshot().context.accessToken.value)).data}}),En=({backendUrl:t,interpreter:e})=>pe({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"changePassword",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidPassword",actions:"saveInvalidPasswordError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"requestChange",id:"requestChange",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidPasswordError:I({error:r=>wt}),saveRequestError:I({error:(r,{data:{error:n}})=>n}),reportError:X(r=>({type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS")},guards:{invalidPassword:(r,{password:n})=>!At(n)},services:{requestChange:(r,{password:n,ticket:i})=>te(`${t}/user/password`,{newPassword:n,ticket:i},e==null?void 0:e.getSnapshot().context.accessToken.value)}}),hs=({backendUrl:t,interpreter:e})=>pe({schema:{context:{},events:{}},tsTypes:{},predictableActionArguments:!0,id:"enableMfa",initial:"idle",context:{error:null,imageUrl:null,secret:null},states:{idle:{initial:"initial",on:{GENERATE:"generating"},states:{initial:{},error:{}}},generating:{invoke:{src:"generate",id:"generate",onDone:{target:"generated",actions:["reportGeneratedSuccess","saveGeneration"]},onError:{actions:["saveError","reportGeneratedError"],target:"idle.error"}}},generated:{initial:"idle",states:{idle:{initial:"idle",on:{ACTIVATE:[{cond:"invalidMfaType",actions:"saveInvalidMfaTypeError",target:".error"},{cond:"invalidMfaCode",actions:"saveInvalidMfaCodeError",target:".error"},{target:"activating"}]},states:{idle:{},error:{}}},activating:{invoke:{src:"activate",id:"activate",onDone:{target:"activated",actions:"reportSuccess"},onError:{actions:["saveError","reportError"],target:"idle.error"}}},activated:{type:"final"}}}}},{actions:{saveInvalidMfaTypeError:I({error:r=>Wr}),saveInvalidMfaCodeError:I({error:r=>Yr}),saveError:I({error:(r,{data:{error:n}})=>n}),saveGeneration:I({imageUrl:(r,{data:{imageUrl:n}})=>n,secret:(r,{data:{totpSecret:n}})=>n}),reportError:X((r,n)=>(console.log("REPORT",r,n),{type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS"),reportGeneratedSuccess:X("GENERATED"),reportGeneratedError:X(r=>({type:"GENERATED_ERROR",error:r.error}))},guards:{invalidMfaCode:(r,{code:n})=>!n,invalidMfaType:(r,{activeMfaType:n})=>!n||n!=="totp"},services:{generate:async r=>{const{data:n}=await yn(`${t}/mfa/totp/generate`,e==null?void 0:e.getSnapshot().context.accessToken.value);return n},activate:(r,{code:n,activeMfaType:i})=>te(`${t}/user/mfa`,{code:n,activeMfaType:i},e==null?void 0:e.getSnapshot().context.accessToken.value)}}),Tn=({backendUrl:t,clientUrl:e})=>pe({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"changePassword",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidEmail",actions:"saveInvalidEmailError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"requestChange",id:"requestChange",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidEmailError:I({error:r=>ue}),saveRequestError:I({error:(r,{data:{error:n}})=>n}),reportError:X(r=>({type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS")},guards:{invalidEmail:(r,{email:n})=>!de(n)},services:{requestChange:(r,{email:n,options:i})=>te(`${t}/user/password/reset`,{email:n,options:se(e,i)})}}),Sn=({backendUrl:t,clientUrl:e})=>pe({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"sendVerificationEmail",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidEmail",actions:"saveInvalidEmailError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"request",id:"request",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidEmailError:I({error:r=>ue}),saveRequestError:I({error:(r,{data:{error:n}})=>n}),reportError:X(r=>({type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS")},guards:{invalidEmail:(r,{email:n})=>!de(n)},services:{request:async(r,{email:n,options:i})=>(await te(`${t}/user/email/send-verification-email`,{email:n,options:se(e,i)})).data}});class ir{constructor({clientStorageType:e="web",autoSignIn:r=!0,autoRefreshToken:n=!0,start:i=!0,backendUrl:s,clientUrl:o,devTools:u,...c}){if(this._started=!1,this._subscriptionsQueue=new Set,this._subscriptions=new Set,this.backendUrl=s,this.clientUrl=o,this._machine=gn({...c,backendUrl:s,clientUrl:o,clientStorageType:e,autoSignIn:r,autoRefreshToken:n}),i&&this.start({devTools:u}),typeof window!="undefined"&&r)try{this._channel=new BroadcastChannel("nhost"),this._channel.addEventListener("message",f=>{var a;const l=(a=this.interpreter)==null?void 0:a.getSnapshot().context.refreshToken.value;this.interpreter&&f.data!==l&&this.interpreter.send("TRY_TOKEN",{token:f.data})})}catch{}}start({devTools:e=!1,initialSession:r,interpreter:n}={}){var i,s;const o={...this.machine.context};r&&(o.user=r.user,o.refreshToken.value=(i=r.refreshToken)!=null?i:null,o.accessToken.value=(s=r.accessToken)!=null?s:null,o.accessToken.expiresAt=new Date(Date.now()+r.accessTokenExpiresIn*1e3));const u=this.machine.withContext(o);this._interpreter||(this._interpreter=n||Re(u,{devTools:e})),(!this._started||typeof window=="undefined")&&(this._interpreter.initialized&&(this._interpreter.stop(),this._subscriptions.forEach(c=>c())),this._interpreter.start(u.initialState),this._subscriptionsQueue.forEach(c=>c(this))),this._started=!0}get machine(){return this._machine}get interpreter(){return this._interpreter}get started(){return this._started}subscribe(e){if(this.started){const r=e(this);return this._subscriptions.add(r),r}else return this._subscriptionsQueue.add(e),()=>{console.log("onTokenChanged was added before the interpreter started. Cannot unsubscribe listener.")}}}class bn extends ir{constructor({...e}){super({...e,autoSignIn:bt()&&e.autoSignIn,autoRefreshToken:bt()&&e.autoRefreshToken,clientStorageType:"cookie"})}}const ps=bn,An=async({backendUrl:t,interpreter:e},r)=>{try{const{data:n}=await te(`${t}/user/webauthn/add`,{},e==null?void 0:e.getSnapshot().context.accessToken.value);let i;try{i=await ln(n)}catch(o){throw new Ce(o)}const{data:s}=await te(`${t}/user/webauthn/verify`,{credential:i,nickname:r},e==null?void 0:e.getSnapshot().context.accessToken.value);return{key:s,isError:!1,error:null,isSuccess:!0}}catch(n){const{error:i}=n;return{isError:!0,error:i,isSuccess:!1}}},kn=async(t,e,r)=>new Promise(n=>{t.send("REQUEST",{email:e,options:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,needsEmailVerification:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,needsEmailVerification:!0})})}),On=async(t,e,r)=>new Promise(n=>{t.send("REQUEST",{password:e,ticket:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,isSuccess:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,isSuccess:!0})})}),vs=t=>new Promise(e=>{t.send("GENERATE"),t.onTransition(r=>{r.matches("generated")?e({error:null,isError:!1,isGenerated:!0,qrCodeDataUrl:r.context.imageUrl||""}):r.matches({idle:"error"})&&e({error:r.context.error||null,isError:!0,isGenerated:!1,qrCodeDataUrl:""})})}),ys=(t,e)=>new Promise(r=>{t.send("ACTIVATE",{activeMfaType:"totp",code:e}),t.onTransition(n=>{n.matches({generated:"activated"})?r({error:null,isActivated:!0,isError:!1}):n.matches({generated:{idle:"error"}})&&r({error:n.context.error,isActivated:!1,isError:!0})})}),In=async(t,e,r)=>new Promise(n=>{t.send("REQUEST",{email:e,options:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,isSent:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,isSent:!0})})}),xn=(t,e,r)=>new Promise(n=>{t.send("REQUEST",{email:e,options:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,isSent:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,isSent:!0})})}),Rn=t=>new Promise(e=>{const{changed:r}=t.send("SIGNIN_ANONYMOUS");r||e({isSuccess:!1,isError:!0,error:ie,user:null,accessToken:null,refreshToken:null}),t.onTransition(n=>{n.matches({authentication:"signedIn"})&&e({isSuccess:!0,isError:!1,error:null,user:n.context.user,accessToken:n.context.accessToken.value,refreshToken:n.context.refreshToken.value}),n.matches({authentication:{signedOut:"failed"}})&&e({isSuccess:!1,isError:!0,error:n.context.errors.authentication||null,user:null,accessToken:null,refreshToken:null})})}),Pn=(t,e,r)=>new Promise(n=>{const{changed:i,context:s}=t.send("SIGNIN_PASSWORD",{email:e,password:r});if(!i)return n({accessToken:s.accessToken.value,refreshToken:s.refreshToken.value,error:ie,isError:!0,isSuccess:!1,needsEmailVerification:!1,needsMfaOtp:!1,mfa:null,user:s.user});t.onTransition(o=>{o.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?n({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,needsMfaOtp:!1,mfa:null,user:null}):o.matches({authentication:{signedOut:"needsMfa"}})?n({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!1,needsMfaOtp:!0,mfa:o.context.mfa,user:null}):o.matches({authentication:{signedOut:"failed"}})?n({accessToken:null,refreshToken:null,error:o.context.errors.authentication||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,needsMfaOtp:!1,mfa:null,user:null}):o.matches({authentication:"signedIn"})&&n({accessToken:o.context.accessToken.value,refreshToken:o.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,needsMfaOtp:!1,mfa:null,user:o.context.user})})}),sr=(t,e,r)=>new Promise(n=>{const{changed:i}=t.send("PASSWORDLESS_EMAIL",{email:e,options:r});if(!i)return n({error:ie,isError:!0,isSuccess:!1});t.onTransition(s=>{s.matches("registration.incomplete.failed")?n({error:s.context.errors.registration||null,isError:!0,isSuccess:!1}):s.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})&&n({error:null,isError:!1,isSuccess:!0})})}),_n=(t,e)=>new Promise(r=>{const{changed:n,context:i}=t.send({type:"SIGNIN_SECURITY_KEY_EMAIL",email:e});if(!n)return r({accessToken:i.accessToken.value,refreshToken:i.refreshToken.value,error:ie,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:i.user});t.onTransition(s=>{s.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?r({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,user:null}):s.matches({authentication:{signedOut:"failed"}})?r({accessToken:null,refreshToken:null,error:s.context.errors.authentication||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:null}):s.matches({authentication:"signedIn"})&&r({accessToken:s.context.accessToken.value,refreshToken:s.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,user:s.context.user})})}),Nn=(t,e)=>new Promise(async r=>{var n,i;const s=(n=t.interpreter)==null?void 0:n.getSnapshot(),o=s==null?void 0:s.context.accessToken.value,{data:u}=await te(`${t.backendUrl}/elevate/webauthn`,{email:e},o);let c;try{c=await dn(u)}catch(f){throw new Ce(f)}try{const{data:{session:f},error:a}=await te(`${t.backendUrl}/elevate/webauthn/verify`,{email:e,credential:c},o);f&&!a&&((i=t.interpreter)==null||i.send({type:"SESSION_UPDATE",data:{session:f}}),r({error:null,isError:!1,isSuccess:!0,elevated:!0}))}catch(f){const{error:a}=f;r({error:a,isError:!0,isSuccess:!1,elevated:!1})}}),Un=(t,e,r)=>new Promise(n=>{const{changed:i,context:s}=t.send("SIGNIN_MFA_TOTP",{otp:e,ticket:r});if(!i)return n({accessToken:s.accessToken.value,refreshToken:s.refreshToken.value,error:ie,isError:!0,isSuccess:!1,user:s.user});t.onTransition(o=>{o.matches({authentication:{signedOut:"failed"}})?n({accessToken:null,refreshToken:null,error:o.context.errors.authentication||null,isError:!0,isSuccess:!1,user:null}):o.matches({authentication:"signedIn"})&&n({accessToken:o.context.accessToken.value,refreshToken:o.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,user:o.context.user})})}),Dn=(t,e)=>new Promise(r=>{const{changed:n}=t.send("SIGNIN_PAT",{pat:e});n||r({isSuccess:!1,isError:!0,error:ie,user:null,accessToken:null,refreshToken:null}),t.onTransition(i=>{if(i.matches({authentication:{signedOut:"failed"}}))return r({accessToken:null,refreshToken:null,user:null,error:i.context.errors.authentication||null,isError:!0,isSuccess:!1});if(i.matches({authentication:"signedIn"}))return r({accessToken:i.context.accessToken.value,refreshToken:i.context.refreshToken.value,user:i.context.user,error:null,isError:!1,isSuccess:!0})})}),or=(t,e,r)=>new Promise(n=>{const{changed:i}=t.send("PASSWORDLESS_SMS",{phoneNumber:e,options:r});if(!i)return n({error:ie,isError:!0,isSuccess:!1,needsOtp:!1});t.onTransition(s=>{s.matches("registration.incomplete.needsOtp")?n({error:null,isError:!1,isSuccess:!1,needsOtp:!0}):s.matches("registration.incomplete.failed")&&n({error:s.context.errors.authentication||null,isError:!0,isSuccess:!1,needsOtp:!1})})}),Cn=(t,e,r)=>new Promise(n=>{const{changed:i}=t.send({type:"PASSWORDLESS_SMS_OTP",phoneNumber:e,otp:r});if(!i)return n({error:ie,isError:!0,isSuccess:!1,user:null,accessToken:null,refreshToken:null});t.onTransition(s=>{s.matches({authentication:"signedIn"})?n({error:null,isError:!1,isSuccess:!0,user:s.context.user,accessToken:s.context.accessToken.value,refreshToken:s.context.refreshToken.value}):s.matches({registration:{incomplete:"failed"}})&&n({error:s.context.errors.authentication||null,isError:!0,isSuccess:!1,user:null,accessToken:null,refreshToken:null})})}),Mn=async(t,e)=>new Promise(r=>{const{event:n}=t.send("SIGNOUT",{all:e});if(n.type!=="SIGNED_OUT")return r({isSuccess:!1,isError:!0,error:tn});t.onTransition(i=>{i.matches({authentication:{signedOut:"success"}})?r({isSuccess:!0,isError:!1,error:null}):i.matches("authentication.signedOut.failed")&&r({isSuccess:!1,isError:!0,error:i.context.errors.signout||null})})}),ar=(t,e,r,n)=>new Promise(i=>{const{changed:s,context:o}=t.send("SIGNUP_EMAIL_PASSWORD",{email:e,password:r,options:n});if(!s)return i({error:ie,accessToken:o.accessToken.value,refreshToken:o.refreshToken.value,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:o.user});t.onTransition(u=>{u.matches("registration.incomplete.failed")?i({accessToken:null,refreshToken:null,error:u.context.errors.registration||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:null}):u.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?i({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,user:null}):u.matches({authentication:"signedIn",registration:"complete"})&&i({accessToken:u.context.accessToken.value,refreshToken:u.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,user:u.context.user})})}),jn=(t,e,r)=>new Promise(n=>{const{changed:i,context:s}=t.send("SIGNUP_SECURITY_KEY",{email:e,options:r});if(!i)return n({error:ie,accessToken:s.accessToken.value,refreshToken:s.refreshToken.value,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:s.user});t.onTransition(o=>{o.matches("registration.incomplete.failed")?n({accessToken:null,refreshToken:null,error:o.context.errors.registration||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:null}):o.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?n({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,user:null}):o.matches({authentication:"signedIn",registration:"complete"})&&n({accessToken:o.context.accessToken.value,refreshToken:o.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,user:o.context.user})})}),ms=async({backendUrl:t,interpreter:e},{expiresAt:r,metadata:n})=>{try{const{data:i}=await te(`${t}/pat`,{expiresAt:r.toUTCString(),metadata:n},e==null?void 0:e.getSnapshot().context.accessToken.value);return{data:i?{id:i.id||null,personalAccessToken:i.personalAccessToken||null}:null,isError:!1,error:null,isSuccess:!0}}catch(i){const{error:s}=i;return{isError:!0,error:s,isSuccess:!1,data:null}}};class Ln{constructor({url:e,autoRefreshToken:r=!0,autoSignIn:n=!0,clientStorage:i,clientStorageType:s,refreshIntervalTime:o,start:u=!0}){var c;this.url=e,this._client=new ir({backendUrl:e,clientUrl:typeof window!="undefined"&&((c=window.location)==null?void 0:c.origin)||"",autoRefreshToken:r,autoSignIn:n,start:u,clientStorage:i,clientStorageType:s,refreshIntervalTime:o})}async signUp(e){const r=await this.waitUntilReady(),{email:n,options:i}=e;return"securityKey"in e?le(await jn(r,n,i)):le(await ar(r,n,e.password,i))}async signIn(e){const r=await this.waitUntilReady();if(!e){const n=await Rn(r);return{...le(n),mfa:null}}if("provider"in e){const{provider:n,options:i}=e,s=tr(`${this._client.backendUrl}/signin/provider/${n}`,se(this._client.clientUrl,i));return bt()&&(window.location.href=s),{providerUrl:s,provider:n,session:null,mfa:null,error:null}}if("email"in e&&"password"in e){const n=await Pn(r,e.email,e.password);return n.needsEmailVerification?{session:null,mfa:null,error:rn}:n.needsMfaOtp?{session:null,mfa:n.mfa,error:null}:{...le(n),mfa:null}}if("email"in e&&"securityKey"in e){if(e.securityKey!==!0)throw Error("securityKey must be true");const n=await _n(r,e.email);return{...le(n),mfa:null}}if("email"in e){const{email:n,options:i}=e,{error:s}=await sr(r,n,i);return{session:null,mfa:null,error:s}}if("phoneNumber"in e&&"otp"in e){const n=await Cn(r,e.phoneNumber,e.otp);return{...le(n),mfa:null}}if("phoneNumber"in e){const{error:n}=await or(r,e.phoneNumber,e.options);return{error:n,mfa:null,session:null}}if("otp"in e){const n=await Un(r,e.otp,e.ticket);return{...le(n),mfa:null}}return{error:sn,mfa:null,session:null}}async signInPAT(e){const r=await this.waitUntilReady(),n=await Dn(r,e);return le(n)}async signOut(e){const r=await this.waitUntilReady(),{error:n}=await Mn(r,e==null?void 0:e.all);return{error:n}}async resetPassword({email:e,options:r}){const n=Re(Tn(this._client)).start(),{error:i}=await In(n,e,r);return{error:i}}async changePassword({newPassword:e,ticket:r}){const n=Re(En(this._client)).start(),{error:i}=await On(n,e,r);return{error:i}}async sendVerificationEmail({email:e,options:r}){const n=Re(Sn(this._client)).start(),{error:i}=await xn(n,e,r);return{error:i}}async changeEmail({newEmail:e,options:r}){const n=Re(wn(this._client)).start(),{error:i}=await kn(n,e,r);return{error:i}}async deanonymize(e){const r=await this.waitUntilReady();if(e.signInMethod==="passwordless"){if(e.connection==="email"){const{error:n}=await sr(r,e.email,e.options);return{error:n}}if(e.connection==="sms"){const{error:n}=await or(r,e.phoneNumber,e.options);return{error:n}}}if(e.signInMethod==="email-password"){const{error:n}=await ar(r,e.email,e.password,e.options);return{error:n}}throw Error("Unknown deanonymization method")}async addSecurityKey(e){const{error:r,key:n}=await An(this._client,e);return{error:r,key:n}}async elevateEmailSecurityKey(e){if(!e)throw Error("A user email is required");return{...await Nn(this._client,e),mfa:null}}async createPAT(e,r){return ms(this._client,{expiresAt:e,metadata:r})}onTokenChanged(e){return this._client.subscribe(()=>{var r;const n=(r=this._client.interpreter)==null?void 0:r.onTransition(({event:i,context:s})=>{i.type==="TOKEN_CHANGED"&&e(We(s))});return()=>n==null?void 0:n.stop()})}onAuthStateChanged(e){return this._client.subscribe(()=>{var r;const n=(r=this._client.interpreter)==null?void 0:r.onTransition(({event:i,context:s})=>{(i.type==="SIGNED_IN"||i.type==="SIGNED_OUT")&&e(i.type,We(s))});return()=>n==null?void 0:n.stop()})}isAuthenticated(){var e;return!!((e=this._client.interpreter)!=null&&e.getSnapshot().matches({authentication:"signedIn"}))}async isAuthenticatedAsync(){return(await this.waitUntilReady()).getSnapshot().matches({authentication:"signedIn"})}getAuthenticationStatus(){var e;const r=((e=this.client.interpreter)==null?void 0:e.getSnapshot().context.importTokenAttempts)||0;return this.isReady()?{isAuthenticated:this.isAuthenticated(),isLoading:!1,connectionAttempts:r}:{isAuthenticated:!1,isLoading:!0,connectionAttempts:r}}getAccessToken(){var e,r;return(r=(e=this._client.interpreter)==null?void 0:e.getSnapshot().context.accessToken.value)!=null?r:void 0}getDecodedAccessToken(){const e=this.getAccessToken();return e?hr(e):null}getHasuraClaims(){var e;return((e=this.getDecodedAccessToken())==null?void 0:e["https://hasura.io/jwt/claims"])||null}getHasuraClaim(e){var r;return((r=this.getHasuraClaims())==null?void 0:r[e.startsWith("x-hasura-")?e:`x-hasura-${e}`])||null}async refreshSession(e){try{const r=await this.waitUntilReady();return new Promise(n=>{const i=e||r.getSnapshot().context.refreshToken.value;if(!i)return n({session:null,error:Zr});const{changed:s}=r.send("TRY_TOKEN",{token:i});if(!s)return n({session:null,error:en});r.onTransition(o=>{o.matches({token:{idle:"error"}})?n({session:null,error:nn}):o.event.type==="TOKEN_CHANGED"&&n({session:We(o.context),error:null})})})}catch(r){return{session:null,error:r.message}}}getSession(){var e,r;return We((r=(e=this._client.interpreter)==null?void 0:e.getSnapshot())==null?void 0:r.context)}getUser(){var e,r,n;return((n=(r=(e=this._client.interpreter)==null?void 0:e.getSnapshot())==null?void 0:r.context)==null?void 0:n.user)||null}waitUntilReady(){const e=this._client.interpreter;if(!e)throw Error("Auth interpreter not set");return e.getSnapshot().hasTag("loading")?new Promise((r,n)=>{let i=setTimeout(()=>n("The state machine is not yet ready after 15 seconds."),15e3);e.onTransition(s=>{if(!s.hasTag("loading"))return clearTimeout(i),r(e)})}):Promise.resolve(e)}isReady(){var e,r;return!((r=(e=this._client.interpreter)==null?void 0:e.getSnapshot())!=null&&r.hasTag("loading"))}get client(){return this._client}}var gs=typeof self=="object"?self.FormData:window.FormData;const cr=zt(gs);let $n=globalThis.fetch;const ur=async(t,e,{accessToken:r,name:n,fileId:i,bucketId:s,adminSecret:o,onUploadProgress:u,headers:c={}}={})=>{var f;const a={...c};s&&e.append("bucket-id",s),o&&(a["x-hasura-admin-secret"]=o),r&&(a.Authorization=`Bearer ${r}`);const l=`${t}/files`;if(typeof XMLHttpRequest=="undefined")try{e instanceof cr&&($n=Wt().fetch);const d=await $n(l,{method:"POST",headers:a,body:e}),h=await d.json();return d.ok?{fileMetadata:h,error:null}:{error:{status:d.status,message:((f=h==null?void 0:h.error)==null?void 0:f.message)||d.statusText,error:d.statusText},fileMetadata:null}}catch(d){return{error:{status:0,message:d.message,error:d.message},fileMetadata:null}}return new Promise(d=>{let h=new XMLHttpRequest;h.responseType="json",h.onload=()=>{var v,w,S,E,T;return h.status<200||h.status>=300?d({fileMetadata:null,error:{error:(w=(v=h.response)==null?void 0:v.error)!=null?w:h.response,message:(T=(E=(S=h.response)==null?void 0:S.error)==null?void 0:E.message)!=null?T:h.response,status:h.status}}):d({fileMetadata:h.response,error:null})},h.onerror=()=>d({fileMetadata:null,error:{error:h.statusText,message:h.statusText,status:h.status}}),u&&h.upload.addEventListener("progress",u,!1),h.open("POST",l,!0),Object.entries(a).forEach(([v,w])=>{h.setRequestHeader(v,w)}),h.send(e)})};function kt(t,e){if(!e||Object.keys(e).length===0)return t;const r=new URL(t),n=Object.entries(e).reduce((i,[s,o])=>({...i,[s.charAt(0)]:o}),{});return Object.entries(n).forEach(([i,s])=>{s&&r.searchParams.set(i,s)}),r.toString()}let Xe;typeof Xe=="undefined"&&(Xe=Wt().fetch);class Fn{constructor({url:e}){this.url=e}async uploadFormData({formData:e,headers:r,bucketId:n}){const{error:i,fileMetadata:s}=await ur(this.url,e,{accessToken:this.accessToken,adminSecret:this.adminSecret,bucketId:n,headers:r});return i?{fileMetadata:null,error:i}:s&&!("processedFiles"in s)?{fileMetadata:{processedFiles:[s]},error:null}:{fileMetadata:s,error:null}}async uploadFile({file:e,bucketId:r,id:n,name:i}){const s=typeof window=="undefined"?new cr:new FormData;s.append("file[]",e),s.append("metadata[]",JSON.stringify({id:n,name:i}));const{error:o,fileMetadata:u}=await ur(this.url,s,{accessToken:this.accessToken,adminSecret:this.adminSecret,bucketId:r,fileId:n,name:i});return o?{fileMetadata:null,error:o}:u&&"processedFiles"in u?{fileMetadata:u.processedFiles[0],error:null}:{fileMetadata:u,error:null}}async downloadFile(e){try{const{fileId:r,headers:n={},...i}=e,s=kt(`${this.url}/files/${r}`,i),o=await Xe(s,{method:"GET",headers:{...this.generateAuthHeaders(),...n}});if(!o.ok)throw new Error(await o.text());return{file:await o.blob(),error:null}}catch(r){return{file:null,error:r}}}async getPresignedUrl(e){try{const{fileId:r}=e,n=await Xe(`${this.url}/files/${r}/presignedurl`,{method:"GET",headers:this.generateAuthHeaders()});if(!n.ok)throw new Error(await n.text());return{presignedUrl:await n.json(),error:null}}catch(r){return{presignedUrl:null,error:r}}}async delete(e){try{const{fileId:r}=e,n=await Xe(`${this.url}/files/${r}`,{method:"DELETE",headers:this.generateAuthHeaders()});if(!n.ok)throw new Error(await n.text());return{error:null}}catch(r){return{error:r}}}setAccessToken(e){return this.accessToken=e,this}setAdminSecret(e){return this.adminSecret=e,this}generateAuthHeaders(){if(!(!this.adminSecret&&!this.accessToken))return this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:{Authorization:`Bearer ${this.accessToken}`}}}class qn{constructor({url:e,adminSecret:r}){this.url=e,this.api=new Fn({url:e}),this.setAdminSecret(r)}async upload(e){return"file"in e?this.api.uploadFile(e):this.api.uploadFormData(e)}getPublicUrl(e){const{fileId:r,...n}=e;return kt(`${this.url}/files/${r}`,n)}async getPresignedUrl(e){const{fileId:r,...n}=e,{presignedUrl:i,error:s}=await this.api.getPresignedUrl(e);if(s)return{presignedUrl:null,error:s};if(!i)return{presignedUrl:null,error:new Error("Invalid file id")};const o=kt(i.url,n);return{presignedUrl:{...i,url:o},error:null}}async download(e){const{file:r,error:n}=await this.api.downloadFile(e);return n?{file:null,error:n}:r?{file:r,error:null}:{file:null,error:new Error("File does not exist")}}async delete(e){const{error:r}=await this.api.delete(e);return r?{error:r}:{error:null}}setAccessToken(e){return this.api.setAccessToken(e),this}setAdminSecret(e){return this.api.setAdminSecret(e),this}}let lr;typeof lr=="undefined"&&(lr=cr);const Ot={progress:null,loaded:0,error:null,bucketId:void 0,file:void 0,id:void 0},Vn=()=>pe({predictableActionArguments:!0,schema:{context:{},events:{}},tsTypes:{},context:{...Ot},initial:"idle",on:{DESTROY:{actions:"sendDestroy",target:"stopped"}},states:{idle:{on:{ADD:{actions:"addFile"},UPLOAD:{cond:"hasFile",target:"uploading"}}},uploading:{entry:"resetProgress",on:{UPLOAD_PROGRESS:{actions:["incrementProgress","sendProgress"]},UPLOAD_DONE:"uploaded",UPLOAD_ERROR:"error",CANCEL:"idle"},invoke:{src:"uploadFile"}},uploaded:{entry:["setFileMetadata","sendDone"],on:{ADD:{actions:"addFile",target:"idle"},UPLOAD:{actions:"resetContext",target:"uploading"}}},error:{entry:["setError","sendError"],on:{ADD:{actions:"addFile",target:"idle"},UPLOAD:{actions:"resetContext",target:"uploading"}}},stopped:{type:"final"}}},{guards:{hasFile:(t,e)=>!!t.file||!!e.file},actions:{incrementProgress:I({loaded:(t,{loaded:e})=>e,progress:(t,{progress:e})=>e}),setFileMetadata:I({id:(t,{id:e})=>e,bucketId:(t,{bucketId:e})=>e,progress:t=>100}),setError:I({error:(t,{error:e})=>e}),sendProgress:()=>{},sendError:()=>{},sendDestroy:()=>{},sendDone:()=>{},resetProgress:I({progress:t=>null,loaded:t=>0}),resetContext:I(t=>Ot),addFile:I({file:(t,{file:e})=>e,bucketId:(t,{bucketId:e})=>e,id:(t,{id:e})=>e})},services:{uploadFile:(t,e)=>r=>{const n=e.file||t.file,i=new lr;i.append("file[]",n);let s=0;return ur(e.url,i,{fileId:e.id||t.id,bucketId:e.bucketId||t.bucketId,accessToken:e.accessToken,adminSecret:e.adminSecret,name:e.name||n.name,onUploadProgress:o=>{const u=o.total?Math.round(o.loaded*n.size/o.total):0,c=u-s;s=u,r({type:"UPLOAD_PROGRESS",progress:o.total?Math.round(u*100/o.total):0,loaded:u,additions:c})}}).then(({fileMetadata:o,error:u})=>{if(u&&r({type:"UPLOAD_ERROR",error:u}),o&&!("processedFiles"in o)){const{id:c,bucketId:f}=o;r({type:"UPLOAD_DONE",id:c,bucketId:f})}if(o&&"processedFiles"in o){const{id:c,bucketId:f}=o.processedFiles[0];r({type:"UPLOAD_DONE",id:c,bucketId:f})}}),()=>{}}}}),{pure:dr,sendParent:It}=Ni,ws=()=>pe({id:"files-list",schema:{context:{},events:{}},tsTypes:{},predictableActionArguments:!0,context:{progress:null,files:[],loaded:0,total:0},initial:"idle",on:{UPLOAD:{cond:"hasFileToDownload",actions:"addItem",target:"uploading"},ADD:{actions:"addItem"},REMOVE:{actions:"removeItem"}},states:{idle:{entry:["resetProgress","resetLoaded","resetTotal"],on:{CLEAR:{actions:"clearList",target:"idle"}}},uploading:{entry:["upload","startProgress","resetLoaded","resetTotal"],on:{UPLOAD_PROGRESS:{actions:["incrementProgress"]},UPLOAD_DONE:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],UPLOAD_ERROR:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],CANCEL:{actions:"cancel",target:"idle"}}},uploaded:{entry:"setUploaded",on:{CLEAR:{actions:"clearList",target:"idle"}}},error:{on:{CLEAR:{actions:"clearList",target:"idle"}}}}},{guards:{hasFileToDownload:(t,e)=>t.files.some(r=>r.getSnapshot().matches("idle"))||!!e.files,isAllUploaded:t=>t.files.every(e=>{var r;return(r=e.getSnapshot())==null?void 0:r.matches("uploaded")}),isAllUploadedOrError:t=>t.files.every(e=>{const r=e.getSnapshot();return(r==null?void 0:r.matches("error"))||(r==null?void 0:r.matches("uploaded"))})},actions:{incrementProgress:I((t,e)=>{const r=t.loaded+e.additions,n=Math.round(r*100/t.total);return{...t,loaded:r,progress:n}}),setUploaded:I({progress:t=>100,loaded:({files:t})=>t.map(e=>e.getSnapshot()).filter(e=>e.matches("uploaded")).reduce((e,r)=>{var n;return e+((n=r.context.file)==null?void 0:n.size)},0)}),resetTotal:I({total:({files:t})=>t.map(e=>e.getSnapshot()).filter(e=>!e.matches("uploaded")).reduce((e,r)=>{var n;return e+((n=r.context.file)==null?void 0:n.size)},0)}),resetLoaded:I({loaded:t=>0}),startProgress:I({progress:t=>0}),resetProgress:I({progress:t=>null}),addItem:I((t,{files:e,bucketId:r})=>{const n=e?Array.isArray(e)?e:"item"in e?Array.from(e):[e]:[],i=t.total+n.reduce((o,u)=>o+u.size,0),s=Math.round(t.loaded*100/i);return{files:[...t.files,...n.map(o=>Yi(Vn().withConfig({actions:{sendProgress:It((u,{additions:c})=>({type:"UPLOAD_PROGRESS",additions:c})),sendDone:It("UPLOAD_DONE"),sendError:It("UPLOAD_ERROR"),sendDestroy:It("REMOVE")}}).withContext({...Ot,file:o,bucketId:r}),{sync:!0}))],total:i,loaded:t.loaded,progress:s}}),removeItem:I({files:t=>t.files.filter(e=>{var r,n;const i=(r=e.getSnapshot())==null?void 0:r.matches("stopped");return i&&((n=e.stop)==null||n.call(e)),!i})}),clearList:dr(t=>t.files.map(e=>X({type:"DESTROY"},{to:e.id}))),upload:dr((t,e)=>t.files.map(r=>X(e,{to:r.id}))),cancel:dr(t=>t.files.map(e=>X({type:"CANCEL"},{to:e.id})))}}),Es=async(t,e)=>new Promise(r=>{e.send({type:"UPLOAD",...t}),e.subscribe(n=>{var i;n.matches("error")?r({error:n.context.error,isError:!0,isUploaded:!1}):n.matches("uploaded")&&r({error:null,isError:!1,isUploaded:!0,id:n.context.id,bucketId:n.context.id,name:(i=n.context.file)==null?void 0:i.name})})}),Ts=async(t,e)=>new Promise(r=>{e.send({type:"UPLOAD",...t,files:t.files}),e.onTransition(n=>{n.matches("error")?r({errors:n.context.files.filter(i=>{var s;return(s=i.getSnapshot())==null?void 0:s.context.error}),isError:!0,files:[]}):n.matches("uploaded")&&r({errors:[],isError:!1,files:n.context.files})})}),Ss=/^((?<protocol>http[s]?):\/\/)?(?<host>(localhost|local))(:(?<port>(\d+|__\w+__)))?$/;function Qe(t,e){const{subdomain:r,region:n}=t;if(!r)throw new Error("A `subdomain` must be set.");const i=r.match(Ss);if(i!=null&&i.groups){const{protocol:s,host:o,port:u}=i.groups,c=ks(e);return c||(o==="localhost"?(console.warn('The `subdomain` is set to "localhost". Support for this will be removed in a future release. Please use "local" instead.'),`${s||"http"}://localhost:${u||1337}/v1/${e}`):u?`${s||"https"}://local.${e}.nhost.run:${u}/v1`:`${s||"https"}://local.${e}.nhost.run/v1`)}if(!n)throw new Error('`region` must be set when using a `subdomain` other than "local".');return`https://${r}.${e}.${n}.nhost.run/v1`}function bs(){return typeof window!="undefined"}function As(){return typeof process!="undefined"&&process.env}function ks(t){return bs()||!As()?null:process.env[`NHOST_${t.toUpperCase()}_URL`]}function Os(t,e){const n=e.startsWith("/")?e:`/${e}`;return t+n}function Bn(t){const e="subdomain"in t?Qe(t,"auth"):t.authUrl;if(!e)throw new Error("Please provide `subdomain` or `authUrl`.");return new Ln({url:e,...t})}function Is(t,e){return e=e||{},new Promise(function(r,n){var i=new XMLHttpRequest,s=[],o=[],u={},c=function(){return{ok:(i.status/100|0)==2,statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:c,headers:{keys:function(){return s},entries:function(){return o},get:function(a){return u[a.toLowerCase()]},has:function(a){return a.toLowerCase()in u}}}};for(var f in i.open(e.method||"get",t,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(a,l,d){s.push(l=l.toLowerCase()),o.push([l,d]),u[l]=u[l]?u[l]+","+d:d}),r(c())},i.onerror=n,i.withCredentials=e.credentials=="include",e.headers)i.setRequestHeader(f,e.headers[f]);i.send(e.body||null)})}const Gn=rs(Object.freeze(Object.defineProperty({__proto__:null,default:Is},Symbol.toStringTag,{value:"Module"})));var xs=self.fetch||(self.fetch=Gn.default||Gn);const Hn=zt(xs);function Kn(t){const e="subdomain"in t?Qe(t,"functions"):t.functionsUrl;if(!e)throw new Error("Please provide `subdomain` or `functionsUrl`.");return new zn({url:e,...t})}class zn{constructor(e){const{url:r,adminSecret:n}=e;this.url=r,this.accessToken=null,this.adminSecret=n}async call(e,r,n){var o,u;const i={"Content-Type":"application/json",...this.generateAccessTokenHeaders(),...n==null?void 0:n.headers},s=Os(this.url,e);try{const c=await Hn(s,{body:r?JSON.stringify(r):null,headers:i,method:"POST"});if(!c.ok){let a;return(o=c.headers.get("content-type"))!=null&&o.includes("application/json")?a=await c.json():a=await c.text(),{res:null,error:{message:a,error:c.statusText,status:c.status}}}let f;return(u=c.headers.get("content-type"))!=null&&u.includes("application/json")?f=await c.json():f=await c.text(),{res:{data:f,status:c.status,statusText:c.statusText},error:null}}catch(c){const f=c;return{res:null,error:{message:f.message,status:f.name==="AbortError"?0:500,error:f.name==="AbortError"?"abort-error":"unknown"}}}}setAccessToken(e){if(!e){this.accessToken=null;return}this.accessToken=e}generateAccessTokenHeaders(){return this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:this.accessToken?{Authorization:`Bearer ${this.accessToken}`}:{}}}function Rs(t,e,r){return t.document?t:{document:t,variables:e,config:r}}function Jn(t){var e;let r;const n=t.definitions.filter(i=>i.kind==="OperationDefinition");return n.length===1&&(r=(e=n[0].name)==null?void 0:e.value),r}function Ps(t){if(typeof t=="string"){let r;try{const n=Se.parse(t);r=Jn(n)}catch{}return{query:t,operationName:r}}const e=Jn(t);return{query:Se.print(t),operationName:e}}class _s{constructor(e){this.isAccessTokenValidOrNull=()=>{if(!this.accessToken)return!0;try{const i=hr(this.accessToken);return i.exp!=null&&i.exp*1e3>Date.now()}catch(i){return console.error("Error decoding token:",i),!1}},this.awaitForValidAccessTokenOrNull=async()=>{if(this.isAccessTokenValidOrNull())return!0;const i=()=>this.isAccessTokenValidOrNull()?Promise.resolve(!0):new Promise(s=>{setTimeout(()=>i().then(s),100)});return i()};const{url:r,adminSecret:n}=e;this._url=r,this.accessToken=null,this.adminSecret=n}async request(e,...r){const[n,i]=r,s=Rs(e,n,i),{headers:o,...u}=i||{},{query:c,operationName:f}=Ps(s.document);process.env.TEST_MODE||await this.awaitForValidAccessTokenOrNull();try{const a=await Hn(this.httpUrl,{method:"POST",body:JSON.stringify({operationName:f,query:c,variables:n}),headers:{"Content-Type":"application/json",...this.generateAccessTokenHeaders(),...o},...u});if(!a.ok)return{data:null,error:{error:a.statusText,message:a.statusText,status:a.status}};const{data:l,errors:d}=await a.json();return d?{data:null,error:d}:typeof l!="object"||Array.isArray(l)||l===null?{data:null,error:{error:"invalid-response",message:"incorrect response data from GraphQL server",status:0}}:{data:l,error:null}}catch(a){const l=a;return{data:null,error:{message:l.message,status:l.name==="AbortError"?0:500,error:l.name==="AbortError"?"abort-error":"unknown"}}}}get httpUrl(){return this._url}get wsUrl(){return this._url.replace(/^(http)(s?):\/\//,"ws$2://")}get url(){return this._url}getUrl(){return this._url}setAccessToken(e){if(!e){this.accessToken=null;return}this.accessToken=e}generateAccessTokenHeaders(){return this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:this.accessToken?{Authorization:`Bearer ${this.accessToken}`}:{}}}function Wn(t){const e="subdomain"in t?Qe(t,"graphql"):t.graphqlUrl;if(!e)throw new Error("Please provide `subdomain` or `graphqlUrl`.");return new _s({url:e,...t})}function Yn(t){const e="subdomain"in t?Qe(t,"storage"):t.storageUrl;if(!e)throw new Error("Please provide `subdomain` or `storageUrl`.");return new qn({url:e,...t})}const Ns=t=>new Xn(t);class Xn{constructor({refreshIntervalTime:e,clientStorage:r,clientStorageType:n,autoRefreshToken:i,autoSignIn:s,adminSecret:o,devTools:u,start:c=!0,...f}){this.auth=Bn({refreshIntervalTime:e,clientStorage:r,clientStorageType:n,autoRefreshToken:i,autoSignIn:s,start:c,...f}),this.storage=Yn({adminSecret:o,...f}),this.functions=Kn({adminSecret:o,...f}),this.graphql=Wn({adminSecret:o,...f}),this.auth.onAuthStateChanged((a,l)=>{if(a==="SIGNED_OUT"){this.storage.setAccessToken(void 0),this.functions.setAccessToken(void 0),this.graphql.setAccessToken(void 0);return}const d=l==null?void 0:l.accessToken;this.storage.setAccessToken(d),this.functions.setAccessToken(d),this.graphql.setAccessToken(d)}),this.auth.onTokenChanged(a=>{const l=a==null?void 0:a.accessToken;this.storage.setAccessToken(l),this.functions.setAccessToken(l),this.graphql.setAccessToken(l)}),this._adminSecret=o,this.devTools=u}get adminSecret(){return this._adminSecret}set adminSecret(e){this._adminSecret=e,this.storage.setAdminSecret(e)}}y.AuthClient=ir,y.AuthClientSSR=ps,y.AuthCookieClient=bn,y.CodifiedError=Ce,y.EMAIL_NEEDS_VERIFICATION=rn,y.HasuraAuthClient=Ln,y.HasuraStorageApi=Fn,y.HasuraStorageClient=qn,y.INITIAL_FILE_CONTEXT=Ot,y.INITIAL_MACHINE_CONTEXT=Et,y.INVALID_EMAIL_ERROR=ue,y.INVALID_MFA_CODE_ERROR=Yr,y.INVALID_MFA_TICKET_ERROR=Xr,y.INVALID_MFA_TYPE_ERROR=Wr,y.INVALID_PASSWORD_ERROR=wt,y.INVALID_PHONE_NUMBER_ERROR=Zt,y.INVALID_REFRESH_TOKEN=nn,y.INVALID_SIGN_IN_METHOD=sn,y.MIN_PASSWORD_LENGTH=zr,y.NETWORK_ERROR_CODE=Xt,y.NHOST_JWT_EXPIRES_AT_KEY=ge,y.NHOST_REFRESH_TOKEN_ID_KEY=Je,y.NHOST_REFRESH_TOKEN_KEY=Ue,y.NO_MFA_TICKET_ERROR=Qr,y.NO_REFRESH_TOKEN=Zr,y.NhostClient=Xn,y.NhostFunctionsClient=zn,y.OTHER_ERROR_CODE=Qt,y.REFRESH_TOKEN_MAX_ATTEMPTS=Yt,y.STATE_ERROR_CODE=De,y.TOKEN_REFRESHER_RUNNING_ERROR=en,y.TOKEN_REFRESH_MARGIN_SECONDS=Jr,y.USER_ALREADY_SIGNED_IN=ie,y.USER_NOT_ANONYMOUS=is,y.USER_UNAUTHENTICATED=tn,y.VALIDATION_ERROR_CODE=ne,y.activateMfaPromise=ys,y.addSecurityKeyPromise=An,y.appendImageTransformationParameters=kt,y.changeEmailPromise=kn,y.changePasswordPromise=On,y.createAuthClient=Bn,y.createAuthMachine=gn,y.createChangeEmailMachine=wn,y.createChangePasswordMachine=En,y.createEnableMfaMachine=hs,y.createFileUploadMachine=Vn,y.createFunctionsClient=Kn,y.createGraphqlClient=Wn,y.createMultipleFilesUploadMachine=ws,y.createNhostClient=Ns,y.createResetPasswordMachine=Tn,y.createSendVerificationEmailMachine=Sn,y.createStorageClient=Yn,y.elevateEmailSecurityKeyPromise=Nn,y.encodeQueryParameters=tr,y.generateQrCodePromise=vs,y.getAuthenticationResult=le,y.getFetch=yn,y.getParameterByName=Ye,y.getSession=We,y.isBrowser=bt,y.isValidEmail=de,y.isValidPassword=At,y.isValidPhoneNumber=nr,y.isValidTicket=mn,y.localStorageGetter=fn,y.localStorageSetter=hn,y.postFetch=te,y.removeParameterFromWindow=rr,y.resetPasswordPromise=In,y.rewriteRedirectTo=se,y.sendVerificationEmailPromise=xn,y.signInAnonymousPromise=Rn,y.signInEmailPasswordPromise=Pn,y.signInEmailPasswordlessPromise=sr,y.signInEmailSecurityKeyPromise=_n,y.signInMfaTotpPromise=Un,y.signInPATPromise=Dn,y.signInSmsPasswordlessOtpPromise=Cn,y.signInSmsPasswordlessPromise=or,y.signOutPromise=Mn,y.signUpEmailPasswordPromise=ar,y.signUpEmailSecurityKeyPromise=jn,y.uploadFilePromise=Es,y.uploadMultipleFilesPromise=Ts,y.urlFromSubdomain=Qe,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
14
+ ***************************************************************************** */var g=function(){return g=Object.assign||function(e){for(var r,n=1,i=arguments.length;n<i;n++){r=arguments[n];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},g.apply(this,arguments)};function xt(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r}function _(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function P(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s}function V(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))}var L;(function(t){t.Start="xstate.start",t.Stop="xstate.stop",t.Raise="xstate.raise",t.Send="xstate.send",t.Cancel="xstate.cancel",t.NullEvent="",t.Assign="xstate.assign",t.After="xstate.after",t.DoneState="done.state",t.DoneInvoke="done.invoke",t.Log="xstate.log",t.Init="xstate.init",t.Invoke="xstate.invoke",t.ErrorExecution="error.execution",t.ErrorCommunication="error.communication",t.ErrorPlatform="error.platform",t.ErrorCustom="xstate.error",t.Update="xstate.update",t.Pure="xstate.pure",t.Choose="xstate.choose"})(L||(L={}));var he;(function(t){t.Parent="#_parent",t.Internal="#_internal"})(he||(he={}));var et=L.Start,tt=L.Stop,be=L.Raise,Le=L.Send,Pt=L.Cancel,vr=L.NullEvent,rt=L.Assign,oi=L.After,ai=L.DoneState,nt=L.Log,yr=L.Init,it=L.Invoke,ci=L.ErrorExecution,Nt=L.ErrorPlatform,Ut=L.ErrorCustom,st=L.Update,mr=L.Choose,gr=L.Pure;const ui=Object.freeze(Object.defineProperty({__proto__:null,after:oi,assign:rt,cancel:Pt,choose:mr,doneState:ai,error:Ut,errorExecution:ci,errorPlatform:Nt,init:yr,invoke:it,log:nt,nullEvent:vr,pure:gr,raise:be,send:Le,start:et,stop:tt,update:st},Symbol.toStringTag,{value:"Module"}));var wr=".",Er={},Dt="xstate.guard",li="",B=process.env.NODE_ENV==="production",ot;function Ct(t,e,r){r===void 0&&(r=wr);var n=je(t,r),i=je(e,r);return U(i)?U(n)?i===n:!1:U(n)?n in i:Object.keys(n).every(function(s){return s in i?Ct(n[s],i[s]):!1})}function Tr(t){try{return U(t)||typeof t=="number"?"".concat(t):t.type}catch{throw new Error("Events must be strings or objects with a string event.type property.")}}function Mt(t,e){try{return Ae(t)?t:t.toString().split(e)}catch{throw new Error("'".concat(t,"' is not a valid state path."))}}function di(t){return typeof t=="object"&&"value"in t&&"context"in t&&"event"in t&&"_event"in t}function je(t,e){if(di(t))return t.value;if(Ae(t))return at(t);if(typeof t!="string")return t;var r=Mt(t,e);return at(r)}function at(t){if(t.length===1)return t[0];for(var e={},r=e,n=0;n<t.length-1;n++)n===t.length-2?r[t[n]]=t[n+1]:(r[t[n]]={},r=r[t[n]]);return e}function $e(t,e){for(var r={},n=Object.keys(t),i=0;i<n.length;i++){var s=n[i];r[s]=e(t[s],s,t,i)}return r}function Sr(t,e,r){var n,i,s={};try{for(var o=_(Object.keys(t)),u=o.next();!u.done;u=o.next()){var c=u.value,f=t[c];r(f)&&(s[c]=e(f,c,t))}}catch(a){n={error:a}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return s}var fi=function(t){return function(e){var r,n,i=e;try{for(var s=_(t),o=s.next();!o.done;o=s.next()){var u=o.value;i=i[u]}}catch(c){r={error:c}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return i}};function hi(t,e){return function(r){var n,i,s=r;try{for(var o=_(t),u=o.next();!u.done;u=o.next()){var c=u.value;s=s[e][c]}}catch(f){n={error:f}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return s}}function ct(t){if(!t)return[[]];if(U(t))return[[t]];var e=H(Object.keys(t).map(function(r){var n=t[r];return typeof n!="string"&&(!n||!Object.keys(n).length)?[[r]]:ct(t[r]).map(function(i){return[r].concat(i)})}));return e}function H(t){var e;return(e=[]).concat.apply(e,V([],P(t),!1))}function br(t){return Ae(t)?t:[t]}function ne(t){return t===void 0?[]:br(t)}function ut(t,e,r){var n,i;if(N(t))return t(e,r.data);var s={};try{for(var o=_(Object.keys(t)),u=o.next();!u.done;u=o.next()){var c=u.value,f=t[c];N(f)?s[c]=f(e,r.data):s[c]=f}}catch(a){n={error:a}}finally{try{u&&!u.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return s}function pi(t){return/^(done|error)\./.test(t)}function Ar(t){return!!(t instanceof Promise||t!==null&&(N(t)||typeof t=="object")&&N(t.then))}function vi(t){return t!==null&&typeof t=="object"&&"transition"in t&&typeof t.transition=="function"}function yi(t,e){var r,n,i=P([[],[]],2),s=i[0],o=i[1];try{for(var u=_(t),c=u.next();!c.done;c=u.next()){var f=c.value;e(f)?s.push(f):o.push(f)}}catch(a){r={error:a}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}return[s,o]}function kr(t,e){return $e(t.states,function(r,n){if(r){var i=(U(e)?void 0:e[n])||(r?r.current:void 0);if(i)return{current:i,states:kr(r,i)}}})}function mi(t,e){return{current:e,states:kr(t,e)}}function Or(t,e,r,n){B||Y(!!t,"Attempting to update undefined context");var i=t&&r.reduce(function(s,o){var u,c,f=o.assignment,a={state:n,action:o,_event:e},d={};if(N(f))d=f(s,e.data,a);else try{for(var l=_(Object.keys(f)),h=l.next();!h.done;h=l.next()){var v=h.value,y=f[v];d[v]=N(y)?y(s,e.data,a):y}}catch(S){u={error:S}}finally{try{h&&!h.done&&(c=l.return)&&c.call(l)}finally{if(u)throw u.error}}return Object.assign({},s,d)},t);return i}var Y=function(){};B||(Y=function(t,e){var r=t instanceof Error?t:void 0;if(!(!r&&t)&&console!==void 0){var n=["Warning: ".concat(e)];r&&n.push(r),console.warn.apply(console,n)}});function Ae(t){return Array.isArray(t)}function N(t){return typeof t=="function"}function U(t){return typeof t=="string"}function Rr(t,e){if(t)return U(t)?{type:Dt,name:t,predicate:e?e[t]:void 0}:N(t)?{type:Dt,name:t.name,predicate:t}:t}function gi(t){try{return"subscribe"in t&&N(t.subscribe)}catch{return!1}}var pe=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();ot={},ot[pe]=function(){return this},ot[Symbol.observable]=function(){return this};function ae(t){return!!t&&"__xstatenode"in t}function wi(t){return!!t&&typeof t.send=="function"}var Ei=function(){var t=0;return function(){return t++,t.toString(16)}}();function lt(t,e){return U(t)||typeof t=="number"?g({type:t},e):t}function Q(t,e){if(!U(t)&&"$$type"in t&&t.$$type==="scxml")return t;var r=lt(t);return g({name:r.type,data:r,$$type:"scxml",type:"external"},e)}function ke(t,e){var r=br(e).map(function(n){return typeof n=="undefined"||typeof n=="string"||ae(n)?{target:n,event:t}:g(g({},n),{event:t})});return r}function Ti(t){if(!(t===void 0||t===li))return ne(t)}function Si(t,e,r){if(!B){var n=t.stack?" Stacktrace was '".concat(t.stack,"'"):"";if(t===e)console.error("Missing onError handler for invocation '".concat(r,"', error was '").concat(t,"'.").concat(n));else{var i=e.stack?" Stacktrace was '".concat(e.stack,"'"):"";console.error("Missing onError handler and/or unhandled exception/promise rejection for invocation '".concat(r,"'. ")+"Original error: '".concat(t,"'. ").concat(n," Current error is '").concat(e,"'.").concat(i))}}}function Ir(t,e,r,n,i){var s=t.options.guards,o={state:i,cond:e,_event:n};if(e.type===Dt)return((s==null?void 0:s[e.name])||e.predicate)(r,n.data,o);var u=s==null?void 0:s[e.type];if(!u)throw new Error("Guard '".concat(e.type,"' is not implemented on machine '").concat(t.id,"'."));return u(r,n.data,o)}function _r(t){return typeof t=="string"?{type:t}:t}function dt(t,e,r){var n=function(){},i=typeof t=="object",s=i?t:null;return{next:((i?t.next:t)||n).bind(s),error:((i?t.error:e)||n).bind(s),complete:((i?t.complete:r)||n).bind(s)}}function ft(t,e){return"".concat(t,":invocation[").concat(e,"]")}function Lt(t){return(t.type===be||t.type===Le&&t.to===he.Internal)&&typeof t.delay!="number"}var me=Q({type:yr});function ht(t,e){return e&&e[t]||void 0}function Oe(t,e){var r;if(U(t)||typeof t=="number"){var n=ht(t,e);N(n)?r={type:t,exec:n}:n?r=n:r={type:t,exec:void 0}}else if(N(t))r={type:t.name||t.toString(),exec:t};else{var n=ht(t.type,e);if(N(n))r=g(g({},t),{exec:n});else if(n){var i=n.type||t.type;r=g(g(g({},n),t),{type:i})}else r=t}return r}var ce=function(t,e){if(!t)return[];var r=Ae(t)?t:[t];return r.map(function(n){return Oe(n,e)})};function pt(t){var e=Oe(t);return g(g({id:U(t)?t:e.id},e),{type:e.type})}function xr(t,e){return{type:be,event:typeof t=="function"?t:lt(t),delay:e?e.delay:void 0,id:e==null?void 0:e.id}}function Pr(t,e,r,n){var i={_event:r},s=Q(N(t.event)?t.event(e,r.data,i):t.event),o;if(U(t.delay)){var u=n&&n[t.delay];o=N(u)?u(e,r.data,i):u}else o=N(t.delay)?t.delay(e,r.data,i):t.delay;return g(g({},t),{type:be,_event:s,delay:o})}function ge(t,e){return{to:e?e.to:void 0,type:Le,event:N(t)?t:lt(t),delay:e?e.delay:void 0,id:e&&e.id!==void 0?e.id:N(t)?t.name:Tr(t)}}function Nr(t,e,r,n){var i={_event:r},s=Q(N(t.event)?t.event(e,r.data,i):t.event),o;if(U(t.delay)){var u=n&&n[t.delay];o=N(u)?u(e,r.data,i):u}else o=N(t.delay)?t.delay(e,r.data,i):t.delay;var c=N(t.to)?t.to(e,r.data,i):t.to;return g(g({},t),{to:c,_event:s,event:s.data,delay:o})}function jt(t,e){return ge(t,g(g({},e),{to:he.Parent}))}function bi(t,e,r){return ge(e,g(g({},r),{to:t}))}function Ai(){return jt(st)}function ki(t,e){return ge(t,g(g({},e),{to:function(r,n,i){var s=i._event;return s.origin}}))}var Oi=function(t,e){return{context:t,event:e}};function Ri(t,e){return t===void 0&&(t=Oi),{type:nt,label:e,expr:t}}var Ur=function(t,e,r){return g(g({},t),{value:U(t.expr)?t.expr:t.expr(e,r.data,{_event:r})})},Dr=function(t){return{type:Pt,sendId:t}};function Cr(t){var e=pt(t);return{type:L.Start,activity:e,exec:void 0}}function Mr(t){var e=N(t)?t:pt(t);return{type:L.Stop,activity:e,exec:void 0}}function Lr(t,e,r){var n=N(t.activity)?t.activity(e,r.data):t.activity,i=typeof n=="string"?{id:n}:n,s={type:L.Stop,activity:i};return s}var jr=function(t){return{type:rt,assignment:t}};function Ii(t){return typeof t=="object"&&"type"in t}function $r(t,e){var r=e?"#".concat(e):"";return"".concat(L.After,"(").concat(t,")").concat(r)}function Fe(t,e){var r="".concat(L.DoneState,".").concat(t),n={type:r,data:e};return n.toString=function(){return r},n}function qe(t,e){var r="".concat(L.DoneInvoke,".").concat(t),n={type:r,data:e};return n.toString=function(){return r},n}function Re(t,e){var r="".concat(L.ErrorPlatform,".").concat(t),n={type:r,data:e};return n.toString=function(){return r},n}function _i(t){return{type:L.Pure,get:t}}function xi(t,e){if(!B&&(!t||typeof t=="function")){var r=t;t=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var s=typeof r=="function"?r.apply(void 0,V([],P(n),!1)):r;if(!s)throw new Error("Attempted to forward event to undefined actor. This risks an infinite loop in the sender.");return s}}return ge(function(n,i){return i},g(g({},e),{to:t}))}function Pi(t,e){return jt(function(r,n,i){return{type:Ut,data:N(t)?t(r,n,i):t}},g(g({},e),{to:he.Parent}))}function Ni(t){return{type:L.Choose,conds:t}}var Ui=function(t){var e,r,n=[];try{for(var i=_(t),s=i.next();!s.done;s=i.next())for(var o=s.value,u=0;u<o.actions.length;){if(o.actions[u].type===rt){n.push(o.actions[u]),o.actions.splice(u,1);continue}u++}}catch(c){e={error:c}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return n};function Ve(t,e,r,n,i,s,o){o===void 0&&(o=!1);var u=o?[]:Ui(i),c=u.length?Or(r,n,u,e):r,f=o?[r]:void 0,a=[];function d(v,y){var S;switch(y.type){case be:{var E=Pr(y,c,n,t.options.delays);return s&&typeof E.delay=="number"&&s(E,c,n),E}case Le:var T=Nr(y,c,n,t.options.delays);if(!B){var b=y.delay;Y(!U(b)||typeof T.delay=="number","No delay reference for delay expression '".concat(b,"' was found on machine '").concat(t.id,"'"))}return s&&T.to!==he.Internal&&(v==="entry"?a.push(T):s(T,c,n)),T;case nt:{var O=Ur(y,c,n);return s==null||s(O,c,n),O}case mr:{var $=y,C=(S=$.conds.find(function(p){var w=Rr(p.cond,t.options.guards);return!w||Ir(t,w,c,n,s?void 0:e)}))===null||S===void 0?void 0:S.actions;if(!C)return[];var x=P(Ve(t,e,c,n,[{type:v,actions:ce(ne(C),t.options.actions)}],s,o),2),j=x[0],I=x[1];return c=I,f==null||f.push(c),j}case gr:{var C=y.get(c,n.data);if(!C)return[];var K=P(Ve(t,e,c,n,[{type:v,actions:ce(ne(C),t.options.actions)}],s,o),2),k=K[0],F=K[1];return c=F,f==null||f.push(c),k}case tt:{var O=Lr(y,c,n);return s==null||s(O,r,n),O}case rt:{c=Or(c,n,[y],s?void 0:e),f==null||f.push(c);break}default:var z=Oe(y,t.options.actions),G=z.exec;if(s)s(z,c,n);else if(G&&f){var Ee=f.length-1,Te=g(g({},z),{exec:function(p){for(var w=[],A=1;A<arguments.length;A++)w[A-1]=arguments[A];G.apply(void 0,V([f[Ee]],P(w),!1))}});z=Te}return z}}function l(v){var y,S,E=[];try{for(var T=_(v.actions),b=T.next();!b.done;b=T.next()){var O=b.value,$=d(v.type,O);$&&(E=E.concat($))}}catch(C){y={error:C}}finally{try{b&&!b.done&&(S=T.return)&&S.call(T)}finally{if(y)throw y.error}}return a.forEach(function(C){s(C,c,n)}),a.length=0,E}var h=H(i.map(l));return[h,c]}const Di=Object.freeze(Object.defineProperty({__proto__:null,actionTypes:ui,after:$r,assign:jr,cancel:Dr,choose:Ni,done:Fe,doneInvoke:qe,error:Re,escalate:Pi,forwardTo:xi,getActionFunction:ht,initEvent:me,isActionObject:Ii,log:Ri,pure:_i,raise:xr,resolveActions:Ve,resolveLog:Ur,resolveRaise:Pr,resolveSend:Nr,resolveStop:Lr,respond:ki,send:ge,sendParent:jt,sendTo:bi,sendUpdate:Ai,start:Cr,stop:Mr,toActionObject:Oe,toActionObjects:ce,toActivityDefinition:pt},Symbol.toStringTag,{value:"Module"}));var vt=[],Ie=function(t,e){vt.push(t);var r=e(t);return vt.pop(),r},Ci=function(t){return t(vt[vt.length-1])};function Fr(t){var e;return e={id:t,send:function(){},subscribe:function(){return{unsubscribe:function(){}}},getSnapshot:function(){},toJSON:function(){return{id:t}}},e[pe]=function(){return this},e}function Mi(t,e,r,n){var i,s=_r(t.src),o=(i=e==null?void 0:e.options.services)===null||i===void 0?void 0:i[s.type],u=t.data?ut(t.data,r,n):void 0,c=o?$t(o,t.id,u):Fr(t.id);return c.meta=t,c}function $t(t,e,r){var n=Fr(e);if(n.deferred=!0,ae(t)){var i=n.state=Ie(void 0,function(){return(r?t.withContext(r):t).initialState});n.getSnapshot=function(){return i}}return n}function Li(t){try{return typeof t.send=="function"}catch{return!1}}function ji(t){return Li(t)&&"id"in t}function $i(t){var e;return g((e={subscribe:function(){return{unsubscribe:function(){}}},id:"anonymous",getSnapshot:function(){}},e[pe]=function(){return this},e),t)}var yt=function(t){return t.type==="atomic"||t.type==="final"};function qr(t){return Object.keys(t.states).map(function(e){return t.states[e]})}function Ge(t){return qr(t).filter(function(e){return e.type!=="history"})}function Vr(t){var e=[t];return yt(t)?e:e.concat(H(Ge(t).map(Vr)))}function Be(t,e){var r,n,i,s,o,u,c,f,a=new Set(t),d=Ft(a),l=new Set(e);try{for(var h=_(l),v=h.next();!v.done;v=h.next())for(var y=v.value,S=y.parent;S&&!l.has(S);)l.add(S),S=S.parent}catch(I){r={error:I}}finally{try{v&&!v.done&&(n=h.return)&&n.call(h)}finally{if(r)throw r.error}}var E=Ft(l);try{for(var T=_(l),b=T.next();!b.done;b=T.next()){var y=b.value;if(y.type==="compound"&&(!E.get(y)||!E.get(y).length))d.get(y)?d.get(y).forEach(function(K){return l.add(K)}):y.initialStateNodes.forEach(function(K){return l.add(K)});else if(y.type==="parallel")try{for(var O=(o=void 0,_(Ge(y))),$=O.next();!$.done;$=O.next()){var C=$.value;l.has(C)||(l.add(C),d.get(C)?d.get(C).forEach(function(K){return l.add(K)}):C.initialStateNodes.forEach(function(K){return l.add(K)}))}}catch(K){o={error:K}}finally{try{$&&!$.done&&(u=O.return)&&u.call(O)}finally{if(o)throw o.error}}}}catch(I){i={error:I}}finally{try{b&&!b.done&&(s=T.return)&&s.call(T)}finally{if(i)throw i.error}}try{for(var x=_(l),j=x.next();!j.done;j=x.next())for(var y=j.value,S=y.parent;S&&!l.has(S);)l.add(S),S=S.parent}catch(I){c={error:I}}finally{try{j&&!j.done&&(f=x.return)&&f.call(x)}finally{if(c)throw c.error}}return l}function Gr(t,e){var r=e.get(t);if(!r)return{};if(t.type==="compound"){var n=r[0];if(n){if(yt(n))return n.key}else return{}}var i={};return r.forEach(function(s){i[s.key]=Gr(s,e)}),i}function Ft(t){var e,r,n=new Map;try{for(var i=_(t),s=i.next();!s.done;s=i.next()){var o=s.value;n.has(o)||n.set(o,[]),o.parent&&(n.has(o.parent)||n.set(o.parent,[]),n.get(o.parent).push(o))}}catch(u){e={error:u}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return n}function Fi(t,e){var r=Be([t],e);return Gr(t,Ft(r))}function He(t,e){return Array.isArray(t)?t.some(function(r){return r===e}):t instanceof Set?t.has(e):!1}function qi(t){return V([],P(new Set(H(V([],P(t.map(function(e){return e.ownEvents})),!1)))),!1)}function mt(t,e){return e.type==="compound"?Ge(e).some(function(r){return r.type==="final"&&He(t,r)}):e.type==="parallel"?Ge(e).every(function(r){return mt(t,r)}):!1}function Vi(t){return t===void 0&&(t=[]),t.reduce(function(e,r){return r.meta!==void 0&&(e[r.id]=r.meta),e},{})}function Br(t){return new Set(H(t.map(function(e){return e.tags})))}function Hr(t,e){if(t===e)return!0;if(t===void 0||e===void 0)return!1;if(U(t)||U(e))return t===e;var r=Object.keys(t),n=Object.keys(e);return r.length===n.length&&r.every(function(i){return Hr(t[i],e[i])})}function Gi(t){return typeof t!="object"||t===null?!1:"value"in t&&"_event"in t}function Bi(t,e){var r=t.exec,n=g(g({},t),{exec:r!==void 0?function(){return r(e.context,e.event,{action:t,state:e,_event:e._event})}:void 0});return n}var oe=function(){function t(e){var r=this,n;this.actions=[],this.activities=Er,this.meta={},this.events=[],this.value=e.value,this.context=e.context,this._event=e._event,this._sessionid=e._sessionid,this.event=this._event.data,this.historyValue=e.historyValue,this.history=e.history,this.actions=e.actions||[],this.activities=e.activities||Er,this.meta=Vi(e.configuration),this.events=e.events||[],this.matches=this.matches.bind(this),this.toStrings=this.toStrings.bind(this),this.configuration=e.configuration,this.transitions=e.transitions,this.children=e.children,this.done=!!e.done,this.tags=(n=Array.isArray(e.tags)?new Set(e.tags):e.tags)!==null&&n!==void 0?n:new Set,this.machine=e.machine,Object.defineProperty(this,"nextEvents",{get:function(){return qi(r.configuration)}})}return t.from=function(e,r){if(e instanceof t)return e.context!==r?new t({value:e.value,context:r,_event:e._event,_sessionid:null,historyValue:e.historyValue,history:e.history,actions:[],activities:e.activities,meta:{},events:[],configuration:[],transitions:[],children:{}}):e;var n=me;return new t({value:e,context:r,_event:n,_sessionid:null,historyValue:void 0,history:void 0,actions:[],activities:void 0,meta:void 0,events:[],configuration:[],transitions:[],children:{}})},t.create=function(e){return new t(e)},t.inert=function(e,r){if(e instanceof t){if(!e.actions.length)return e;var n=me;return new t({value:e.value,context:r,_event:n,_sessionid:null,historyValue:e.historyValue,history:e.history,activities:e.activities,configuration:e.configuration,transitions:[],children:{}})}return t.from(e,r)},t.prototype.toStrings=function(e,r){var n=this;if(e===void 0&&(e=this.value),r===void 0&&(r="."),U(e))return[e];var i=Object.keys(e);return i.concat.apply(i,V([],P(i.map(function(s){return n.toStrings(e[s],r).map(function(o){return s+r+o})})),!1))},t.prototype.toJSON=function(){var e=this;e.configuration,e.transitions;var r=e.tags;e.machine;var n=xt(e,["configuration","transitions","tags","machine"]);return g(g({},n),{tags:Array.from(r)})},t.prototype.matches=function(e){return Ct(e,this.value)},t.prototype.hasTag=function(e){return this.tags.has(e)},t.prototype.can=function(e){var r;B&&Y(!!this.machine,"state.can(...) used outside of a machine-created State object; this will always return false.");var n=(r=this.machine)===null||r===void 0?void 0:r.getTransitionData(this,e);return!!(n!=null&&n.transitions.length)&&n.transitions.some(function(i){return i.target!==void 0||i.actions.length})},t}(),Hi={deferEvents:!1},Kr=function(){function t(e){this.processingEvent=!1,this.queue=[],this.initialized=!1,this.options=g(g({},Hi),e)}return t.prototype.initialize=function(e){if(this.initialized=!0,e){if(!this.options.deferEvents){this.schedule(e);return}this.process(e)}this.flushEvents()},t.prototype.schedule=function(e){if(!this.initialized||this.processingEvent){this.queue.push(e);return}if(this.queue.length!==0)throw new Error("Event queue should be empty when it is not processing events");this.process(e),this.flushEvents()},t.prototype.clear=function(){this.queue=[]},t.prototype.flushEvents=function(){for(var e=this.queue.shift();e;)this.process(e),e=this.queue.shift()},t.prototype.process=function(e){this.processingEvent=!0;try{e()}catch(r){throw this.clear(),r}finally{this.processingEvent=!1}},t}(),qt=new Map,Ki=0,Ke={bookId:function(){return"x:".concat(Ki++)},register:function(t,e){return qt.set(t,e),t},get:function(t){return qt.get(t)},free:function(t){qt.delete(t)}};function Vt(){if(typeof globalThis!="undefined")return globalThis;if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global;B||console.warn("XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues")}function zi(){var t=Vt();if(t&&"__xstate__"in t)return t.__xstate__}function Wi(t){if(Vt()){var e=zi();e&&e.register(t)}}function Ji(t,e){e===void 0&&(e={});var r=t.initialState,n=new Set,i=[],s=!1,o=function(){if(!s){for(s=!0;i.length>0;){var f=i.shift();r=t.transition(r,f,c),n.forEach(function(a){return a.next(r)})}s=!1}},u=$i({id:e.id,send:function(f){i.push(f),o()},getSnapshot:function(){return r},subscribe:function(f,a,d){var l=dt(f,a,d);return n.add(l),l.next(r),{unsubscribe:function(){n.delete(l)}}}}),c={parent:e.parent,self:u,id:e.id||"anonymous",observers:n};return r=t.start?t.start(c):r,u}var Gt={sync:!1,autoForward:!1},W;(function(t){t[t.NotStarted=0]="NotStarted",t[t.Running=1]="Running",t[t.Stopped=2]="Stopped"})(W||(W={}));var Yi=function(){function t(e,r){r===void 0&&(r=t.defaultOptions);var n=this;this.machine=e,this.delayedEventsMap={},this.listeners=new Set,this.contextListeners=new Set,this.stopListeners=new Set,this.doneListeners=new Set,this.eventListeners=new Set,this.sendListeners=new Set,this.initialized=!1,this.status=W.NotStarted,this.children=new Map,this.forwardTo=new Set,this._outgoingQueue=[],this.init=this.start,this.send=function(a,d){if(Ae(a))return n.batch(a),n.state;var l=Q(lt(a,d));if(n.status===W.Stopped)return B||Y(!1,'Event "'.concat(l.name,'" was sent to stopped service "').concat(n.machine.id,`". This service has already reached its final state, and will not transition.
15
+ Event: `).concat(JSON.stringify(l.data))),n.state;if(n.status!==W.Running&&!n.options.deferEvents)throw new Error('Event "'.concat(l.name,'" was sent to uninitialized service "').concat(n.machine.id,`". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.
16
+ Event: `).concat(JSON.stringify(l.data)));return n.scheduler.schedule(function(){n.forward(l);var h=n._nextState(l);n.update(h,l)}),n._state},this.sendTo=function(a,d,l){var h=n.parent&&(d===he.Parent||n.parent.id===d),v=h?n.parent:U(d)?d===he.Internal?n:n.children.get(d)||Ke.get(d):wi(d)?d:void 0;if(!v){if(!h)throw new Error("Unable to send event to child '".concat(d,"' from service '").concat(n.id,"'."));B||Y(!1,"Service '".concat(n.id,"' has no parent: unable to send event ").concat(a.type));return}if("machine"in v){if(n.status!==W.Stopped||n.parent!==v||n.state.done){var y=g(g({},a),{name:a.name===Ut?"".concat(Re(n.id)):a.name,origin:n.sessionId});!l&&n.machine.config.predictableActionArguments?n._outgoingQueue.push([v,y]):v.send(y)}}else!l&&n.machine.config.predictableActionArguments?n._outgoingQueue.push([v,a.data]):v.send(a.data)},this._exec=function(a,d,l,h){h===void 0&&(h=n.machine.options.actions);var v=a.exec||ht(a.type,h),y=N(v)?v:v?v.exec:a.exec;if(y)try{return y(d,l.data,n.machine.config.predictableActionArguments?{action:a,_event:l}:{action:a,state:n.state,_event:l})}catch(G){throw n.parent&&n.parent.send({type:"xstate.error",data:G}),G}switch(a.type){case be:{var S=a;n.defer(S);break}case Le:var E=a;if(typeof E.delay=="number"){n.defer(E);return}else E.to?n.sendTo(E._event,E.to,l===me):n.send(E._event);break;case Pt:n.cancel(a.sendId);break;case et:{if(n.status!==W.Running)return;var T=a.activity;if(!n.machine.config.predictableActionArguments&&!n.state.activities[T.id||T.type])break;if(T.type===L.Invoke){var b=_r(T.src),O=n.machine.options.services?n.machine.options.services[b.type]:void 0,$=T.id,C=T.data;B||Y(!("forward"in T),"`forward` property is deprecated (found in invocation of '".concat(T.src,"' in in machine '").concat(n.machine.id,"'). ")+"Please use `autoForward` instead.");var x="autoForward"in T?T.autoForward:!!T.forward;if(!O){B||Y(!1,"No service found for invocation '".concat(T.src,"' in machine '").concat(n.machine.id,"'."));return}var j=C?ut(C,d,l):void 0;if(typeof O=="string")return;var I=N(O)?O(d,l.data,{data:j,src:b,meta:T.meta}):O;if(!I)return;var K=void 0;ae(I)&&(I=j?I.withContext(j):I,K={autoForward:x}),n.spawn(I,$,K)}else n.spawnActivity(T);break}case tt:{n.stopChild(a.activity.id);break}case nt:var k=a,F=k.label,z=k.value;F?n.logger(F,z):n.logger(z);break;default:B||Y(!1,"No implementation found for action type '".concat(a.type,"'"));break}};var i=g(g({},t.defaultOptions),r),s=i.clock,o=i.logger,u=i.parent,c=i.id,f=c!==void 0?c:e.id;this.id=f,this.logger=o,this.clock=s,this.parent=u,this.options=i,this.scheduler=new Kr({deferEvents:this.options.deferEvents}),this.sessionId=Ke.bookId()}return Object.defineProperty(t.prototype,"initialState",{get:function(){var e=this;return this._initialState?this._initialState:Ie(this,function(){return e._initialState=e.machine.initialState,e._initialState})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return B||Y(this.status!==W.NotStarted,"Attempted to read state from uninitialized service '".concat(this.id,"'. Make sure the service is started first.")),this._state},enumerable:!1,configurable:!0}),t.prototype.execute=function(e,r){var n,i;try{for(var s=_(e.actions),o=s.next();!o.done;o=s.next()){var u=o.value;this.exec(u,e,r)}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(n)throw n.error}}},t.prototype.update=function(e,r){var n,i,s,o,u,c,f,a,d=this;if(e._sessionid=this.sessionId,this._state=e,(!this.machine.config.predictableActionArguments||r===me)&&this.options.execute)this.execute(this.state);else for(var l=void 0;l=this._outgoingQueue.shift();)l[0].send(l[1]);if(this.children.forEach(function(I){d.state.children[I.id]=I}),this.devTools&&this.devTools.send(r.data,e),e.event)try{for(var h=_(this.eventListeners),v=h.next();!v.done;v=h.next()){var y=v.value;y(e.event)}}catch(I){n={error:I}}finally{try{v&&!v.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}try{for(var S=_(this.listeners),E=S.next();!E.done;E=S.next()){var y=E.value;y(e,e.event)}}catch(I){s={error:I}}finally{try{E&&!E.done&&(o=S.return)&&o.call(S)}finally{if(s)throw s.error}}try{for(var T=_(this.contextListeners),b=T.next();!b.done;b=T.next()){var O=b.value;O(this.state.context,this.state.history?this.state.history.context:void 0)}}catch(I){u={error:I}}finally{try{b&&!b.done&&(c=T.return)&&c.call(T)}finally{if(u)throw u.error}}if(this.state.done){var $=e.configuration.find(function(I){return I.type==="final"&&I.parent===d.machine}),C=$&&$.doneData?ut($.doneData,e.context,r):void 0;this._doneEvent=qe(this.id,C);try{for(var x=_(this.doneListeners),j=x.next();!j.done;j=x.next()){var y=j.value;y(this._doneEvent)}}catch(I){f={error:I}}finally{try{j&&!j.done&&(a=x.return)&&a.call(x)}finally{if(f)throw f.error}}this._stop(),this._stopChildren(),Ke.free(this.sessionId)}},t.prototype.onTransition=function(e){return this.listeners.add(e),this.status===W.Running&&e(this.state,this.state.event),this},t.prototype.subscribe=function(e,r,n){var i=this,s=dt(e,r,n);this.listeners.add(s.next),this.status!==W.NotStarted&&s.next(this.state);var o=function(){i.doneListeners.delete(o),i.stopListeners.delete(o),s.complete()};return this.status===W.Stopped?s.complete():(this.onDone(o),this.onStop(o)),{unsubscribe:function(){i.listeners.delete(s.next),i.doneListeners.delete(o),i.stopListeners.delete(o)}}},t.prototype.onEvent=function(e){return this.eventListeners.add(e),this},t.prototype.onSend=function(e){return this.sendListeners.add(e),this},t.prototype.onChange=function(e){return this.contextListeners.add(e),this},t.prototype.onStop=function(e){return this.stopListeners.add(e),this},t.prototype.onDone=function(e){return this.status===W.Stopped&&this._doneEvent?e(this._doneEvent):this.doneListeners.add(e),this},t.prototype.off=function(e){return this.listeners.delete(e),this.eventListeners.delete(e),this.sendListeners.delete(e),this.stopListeners.delete(e),this.doneListeners.delete(e),this.contextListeners.delete(e),this},t.prototype.start=function(e){var r=this;if(this.status===W.Running)return this;this.machine._init(),Ke.register(this.sessionId,this),this.initialized=!0,this.status=W.Running;var n=e===void 0?this.initialState:Ie(this,function(){return Gi(e)?r.machine.resolveState(e):r.machine.resolveState(oe.from(e,r.machine.context))});return this.options.devTools&&this.attachDev(),this.scheduler.initialize(function(){r.update(n,me)}),this},t.prototype._stopChildren=function(){this.children.forEach(function(e){N(e.stop)&&e.stop()}),this.children.clear()},t.prototype._stop=function(){var e,r,n,i,s,o,u,c,f,a;try{for(var d=_(this.listeners),l=d.next();!l.done;l=d.next()){var h=l.value;this.listeners.delete(h)}}catch(x){e={error:x}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}try{for(var v=_(this.stopListeners),y=v.next();!y.done;y=v.next()){var h=y.value;h(),this.stopListeners.delete(h)}}catch(x){n={error:x}}finally{try{y&&!y.done&&(i=v.return)&&i.call(v)}finally{if(n)throw n.error}}try{for(var S=_(this.contextListeners),E=S.next();!E.done;E=S.next()){var h=E.value;this.contextListeners.delete(h)}}catch(x){s={error:x}}finally{try{E&&!E.done&&(o=S.return)&&o.call(S)}finally{if(s)throw s.error}}try{for(var T=_(this.doneListeners),b=T.next();!b.done;b=T.next()){var h=b.value;this.doneListeners.delete(h)}}catch(x){u={error:x}}finally{try{b&&!b.done&&(c=T.return)&&c.call(T)}finally{if(u)throw u.error}}if(!this.initialized)return this;this.initialized=!1,this.status=W.Stopped,this._initialState=void 0;try{for(var O=_(Object.keys(this.delayedEventsMap)),$=O.next();!$.done;$=O.next()){var C=$.value;this.clock.clearTimeout(this.delayedEventsMap[C])}}catch(x){f={error:x}}finally{try{$&&!$.done&&(a=O.return)&&a.call(O)}finally{if(f)throw f.error}}this.scheduler.clear(),this.scheduler=new Kr({deferEvents:this.options.deferEvents})},t.prototype.stop=function(){var e=this,r=this.scheduler;return this._stop(),r.schedule(function(){var n;if(!(!((n=e._state)===null||n===void 0)&&n.done)){var i=Q({type:"xstate.stop"}),s=Ie(e,function(){var o=H(V([],P(e.state.configuration),!1).sort(function(d,l){return l.order-d.order}).map(function(d){return ce(d.onExit,e.machine.options.actions)})),u=P(Ve(e.machine,e.state,e.state.context,i,[{type:"exit",actions:o}],e.machine.config.predictableActionArguments?e._exec:void 0,e.machine.config.predictableActionArguments||e.machine.config.preserveActionOrder),2),c=u[0],f=u[1],a=new oe({value:e.state.value,context:f,_event:i,_sessionid:e.sessionId,historyValue:void 0,history:e.state,actions:c.filter(function(d){return!Lt(d)}),activities:{},events:[],configuration:[],transitions:[],children:{},done:e.state.done,tags:e.state.tags,machine:e.machine});return a.changed=!0,a});e.update(s,i),e._stopChildren(),Ke.free(e.sessionId)}}),this},t.prototype.batch=function(e){var r=this;if(this.status===W.NotStarted&&this.options.deferEvents)B||Y(!1,"".concat(e.length,' event(s) were sent to uninitialized service "').concat(this.machine.id,`" and are deferred. Make sure .start() is called for this service.
17
+ Event: `).concat(JSON.stringify(event)));else if(this.status!==W.Running)throw new Error("".concat(e.length,' event(s) were sent to uninitialized service "').concat(this.machine.id,'". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.'));if(e.length){var n=!!this.machine.config.predictableActionArguments&&this._exec;this.scheduler.schedule(function(){var i,s,o=r.state,u=!1,c=[],f=function(h){var v=Q(h);r.forward(v),o=Ie(r,function(){return r.machine.transition(o,v,void 0,n||void 0)}),c.push.apply(c,V([],P(r.machine.config.predictableActionArguments?o.actions:o.actions.map(function(y){return Bi(y,o)})),!1)),u=u||!!o.changed};try{for(var a=_(e),d=a.next();!d.done;d=a.next()){var l=d.value;f(l)}}catch(h){i={error:h}}finally{try{d&&!d.done&&(s=a.return)&&s.call(a)}finally{if(i)throw i.error}}o.changed=u,o.actions=c,r.update(o,Q(e[e.length-1]))})}},t.prototype.sender=function(e){return this.send.bind(this,e)},t.prototype._nextState=function(e,r){var n=this;r===void 0&&(r=!!this.machine.config.predictableActionArguments&&this._exec);var i=Q(e);if(i.name.indexOf(Nt)===0&&!this.state.nextEvents.some(function(o){return o.indexOf(Nt)===0}))throw i.data.data;var s=Ie(this,function(){return n.machine.transition(n.state,i,void 0,r||void 0)});return s},t.prototype.nextState=function(e){return this._nextState(e,!1)},t.prototype.forward=function(e){var r,n;try{for(var i=_(this.forwardTo),s=i.next();!s.done;s=i.next()){var o=s.value,u=this.children.get(o);if(!u)throw new Error("Unable to forward event '".concat(e,"' from interpreter '").concat(this.id,"' to nonexistant child '").concat(o,"'."));u.send(e)}}catch(c){r={error:c}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.defer=function(e){var r=this,n=this.clock.setTimeout(function(){"to"in e&&e.to?r.sendTo(e._event,e.to,!0):r.send(e._event)},e.delay);e.id&&(this.delayedEventsMap[e.id]=n)},t.prototype.cancel=function(e){this.clock.clearTimeout(this.delayedEventsMap[e]),delete this.delayedEventsMap[e]},t.prototype.exec=function(e,r,n){n===void 0&&(n=this.machine.options.actions),this._exec(e,r.context,r._event,n)},t.prototype.removeChild=function(e){var r;this.children.delete(e),this.forwardTo.delete(e),(r=this.state)===null||r===void 0||delete r.children[e]},t.prototype.stopChild=function(e){var r=this.children.get(e);r&&(this.removeChild(e),N(r.stop)&&r.stop())},t.prototype.spawn=function(e,r,n){if(this.status!==W.Running)return $t(e,r);if(Ar(e))return this.spawnPromise(Promise.resolve(e),r);if(N(e))return this.spawnCallback(e,r);if(ji(e))return this.spawnActor(e,r);if(gi(e))return this.spawnObservable(e,r);if(ae(e))return this.spawnMachine(e,g(g({},n),{id:r}));if(vi(e))return this.spawnBehavior(e,r);throw new Error('Unable to spawn entity "'.concat(r,'" of type "').concat(typeof e,'".'))},t.prototype.spawnMachine=function(e,r){var n=this;r===void 0&&(r={});var i=new t(e,g(g({},this.options),{parent:this,id:r.id||e.id})),s=g(g({},Gt),r);s.sync&&i.onTransition(function(u){n.send(st,{state:u,id:i.id})});var o=i;return this.children.set(i.id,o),s.autoForward&&this.forwardTo.add(i.id),i.onDone(function(u){n.removeChild(i.id),n.send(Q(u,{origin:i.id}))}).start(),o},t.prototype.spawnBehavior=function(e,r){var n=Ji(e,{id:r,parent:this});return this.children.set(r,n),n},t.prototype.spawnPromise=function(e,r){var n,i=this,s=!1,o;e.then(function(c){s||(o=c,i.removeChild(r),i.send(Q(qe(r,c),{origin:r})))},function(c){if(!s){i.removeChild(r);var f=Re(r,c);try{i.send(Q(f,{origin:r}))}catch(a){Si(c,a,r),i.devTools&&i.devTools.send(f,i.state),i.machine.strict&&i.stop()}}});var u=(n={id:r,send:function(){},subscribe:function(c,f,a){var d=dt(c,f,a),l=!1;return e.then(function(h){l||(d.next(h),!l&&d.complete())},function(h){l||d.error(h)}),{unsubscribe:function(){return l=!0}}},stop:function(){s=!0},toJSON:function(){return{id:r}},getSnapshot:function(){return o}},n[pe]=function(){return this},n);return this.children.set(r,u),u},t.prototype.spawnCallback=function(e,r){var n,i=this,s=!1,o=new Set,u=new Set,c,f=function(l){c=l,u.forEach(function(h){return h(l)}),!s&&i.send(Q(l,{origin:r}))},a;try{a=e(f,function(l){o.add(l)})}catch(l){this.send(Re(r,l))}if(Ar(a))return this.spawnPromise(a,r);var d=(n={id:r,send:function(l){return o.forEach(function(h){return h(l)})},subscribe:function(l){var h=dt(l);return u.add(h.next),{unsubscribe:function(){u.delete(h.next)}}},stop:function(){s=!0,N(a)&&a()},toJSON:function(){return{id:r}},getSnapshot:function(){return c}},n[pe]=function(){return this},n);return this.children.set(r,d),d},t.prototype.spawnObservable=function(e,r){var n,i=this,s,o=e.subscribe(function(c){s=c,i.send(Q(c,{origin:r}))},function(c){i.removeChild(r),i.send(Q(Re(r,c),{origin:r}))},function(){i.removeChild(r),i.send(Q(qe(r),{origin:r}))}),u=(n={id:r,send:function(){},subscribe:function(c,f,a){return e.subscribe(c,f,a)},stop:function(){return o.unsubscribe()},getSnapshot:function(){return s},toJSON:function(){return{id:r}}},n[pe]=function(){return this},n);return this.children.set(r,u),u},t.prototype.spawnActor=function(e,r){return this.children.set(r,e),e},t.prototype.spawnActivity=function(e){var r=this.machine.options&&this.machine.options.activities?this.machine.options.activities[e.type]:void 0;if(!r){B||Y(!1,"No implementation found for activity '".concat(e.type,"'"));return}var n=r(this.state.context,e);this.spawnEffect(e.id,n)},t.prototype.spawnEffect=function(e,r){var n;this.children.set(e,(n={id:e,send:function(){},subscribe:function(){return{unsubscribe:function(){}}},stop:r||void 0,getSnapshot:function(){},toJSON:function(){return{id:e}}},n[pe]=function(){return this},n))},t.prototype.attachDev=function(){var e=Vt();if(this.options.devTools&&e){if(e.__REDUX_DEVTOOLS_EXTENSION__){var r=typeof this.options.devTools=="object"?this.options.devTools:void 0;this.devTools=e.__REDUX_DEVTOOLS_EXTENSION__.connect(g(g({name:this.id,autoPause:!0,stateSanitizer:function(n){return{value:n.value,context:n.context,actions:n.actions}}},r),{features:g({jump:!1,skip:!1},r?r.features:void 0)}),this.machine),this.devTools.init(this.state)}Wi(this)}},t.prototype.toJSON=function(){return{id:this.id}},t.prototype[pe]=function(){return this},t.prototype.getSnapshot=function(){return this.status===W.NotStarted?this.initialState:this._state},t.defaultOptions={execute:!0,deferEvents:!0,clock:{setTimeout:function(e,r){return setTimeout(e,r)},clearTimeout:function(e){return clearTimeout(e)}},logger:console.log.bind(console),devTools:!1},t.interpret=_e,t}(),Xi=function(t){return U(t)?g(g({},Gt),{name:t}):g(g(g({},Gt),{name:Ei()}),t)};function Qi(t,e){var r=Xi(e);return Ci(function(n){if(!B){var i=ae(t)||N(t);Y(!!n||i,'Attempted to spawn an Actor (ID: "'.concat(ae(t)?t.id:"undefined",'") outside of a service. This will have no effect.'))}return n?n.spawn(t,r.name,r):$t(t,r.name)})}function _e(t,e){var r=new Yi(t,e);return r}function Zi(t){if(typeof t=="string"){var e={type:t};return e.toString=function(){return t},e}return t}function gt(t){return g(g({type:it},t),{toJSON:function(){t.onDone,t.onError;var e=xt(t,["onDone","onError"]);return g(g({},e),{type:it,src:Zi(t.src)})}})}var xe="",Bt="#",ze="*",Pe={},Ne=function(t){return t[0]===Bt},es=function(){return{actions:{},guards:{},services:{},activities:{},delays:{}}},ts=function(t,e,r){var n=r.slice(0,-1).some(function(s){return!("cond"in s)&&!("in"in s)&&(U(s.target)||ae(s.target))}),i=e===xe?"the transient event":"event '".concat(e,"'");Y(!n,"One or more transitions for ".concat(i," on state '").concat(t.id,"' are unreachable. ")+"Make sure that the default transition is the last one defined.")},rs=function(){function t(e,r,n,i){n===void 0&&(n="context"in e?e.context:void 0);var s=this,o;this.config=e,this._context=n,this.order=-1,this.__xstatenode=!0,this.__cache={events:void 0,relativeValue:new Map,initialStateValue:void 0,initialState:void 0,on:void 0,transitions:void 0,candidates:{},delayedTransitions:void 0},this.idMap={},this.tags=[],this.options=Object.assign(es(),r),this.parent=i==null?void 0:i.parent,this.key=this.config.key||(i==null?void 0:i.key)||this.config.id||"(machine)",this.machine=this.parent?this.parent.machine:this,this.path=this.parent?this.parent.path.concat(this.key):[],this.delimiter=this.config.delimiter||(this.parent?this.parent.delimiter:wr),this.id=this.config.id||V([this.machine.key],P(this.path),!1).join(this.delimiter),this.version=this.parent?this.parent.version:this.config.version,this.type=this.config.type||(this.config.parallel?"parallel":this.config.states&&Object.keys(this.config.states).length?"compound":this.config.history?"history":"atomic"),this.schema=this.parent?this.machine.schema:(o=this.config.schema)!==null&&o!==void 0?o:{},this.description=this.config.description,B||Y(!("parallel"in this.config),'The "parallel" property is deprecated and will be removed in version 4.1. '.concat(this.config.parallel?"Replace with `type: 'parallel'`":"Use `type: '".concat(this.type,"'`")," in the config for state node '").concat(this.id,"' instead.")),this.initial=this.config.initial,this.states=this.config.states?$e(this.config.states,function(f,a){var d,l=new t(f,{},void 0,{parent:s,key:a});return Object.assign(s.idMap,g((d={},d[l.id]=l,d),l.idMap)),l}):Pe;var u=0;function c(f){var a,d;f.order=u++;try{for(var l=_(qr(f)),h=l.next();!h.done;h=l.next()){var v=h.value;c(v)}}catch(y){a={error:y}}finally{try{h&&!h.done&&(d=l.return)&&d.call(l)}finally{if(a)throw a.error}}}c(this),this.history=this.config.history===!0?"shallow":this.config.history||!1,this._transient=!!this.config.always||(this.config.on?Array.isArray(this.config.on)?this.config.on.some(function(f){var a=f.event;return a===xe}):xe in this.config.on:!1),this.strict=!!this.config.strict,this.onEntry=ne(this.config.entry||this.config.onEntry).map(function(f){return Oe(f)}),this.onExit=ne(this.config.exit||this.config.onExit).map(function(f){return Oe(f)}),this.meta=this.config.meta,this.doneData=this.type==="final"?this.config.data:void 0,this.invoke=ne(this.config.invoke).map(function(f,a){var d,l;if(ae(f)){var h=ft(s.id,a);return s.machine.options.services=g((d={},d[h]=f,d),s.machine.options.services),gt({src:h,id:h})}else if(U(f.src)){var h=f.id||ft(s.id,a);return gt(g(g({},f),{id:h,src:f.src}))}else if(ae(f.src)||N(f.src)){var h=f.id||ft(s.id,a);return s.machine.options.services=g((l={},l[h]=f.src,l),s.machine.options.services),gt(g(g({id:h},f),{src:h}))}else{var v=f.src;return gt(g(g({id:ft(s.id,a)},f),{src:v}))}}),this.activities=ne(this.config.activities).concat(this.invoke).map(function(f){return pt(f)}),this.transition=this.transition.bind(this),this.tags=ne(this.config.tags)}return t.prototype._init=function(){this.__cache.transitions||Vr(this).forEach(function(e){return e.on})},t.prototype.withConfig=function(e,r){var n=this.options,i=n.actions,s=n.activities,o=n.guards,u=n.services,c=n.delays;return new t(this.config,{actions:g(g({},i),e.actions),activities:g(g({},s),e.activities),guards:g(g({},o),e.guards),services:g(g({},u),e.services),delays:g(g({},c),e.delays)},r!=null?r:this.context)},t.prototype.withContext=function(e){return new t(this.config,this.options,e)},Object.defineProperty(t.prototype,"context",{get:function(){return N(this._context)?this._context():this._context},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"definition",{get:function(){return{id:this.id,key:this.key,version:this.version,context:this.context,type:this.type,initial:this.initial,history:this.history,states:$e(this.states,function(e){return e.definition}),on:this.on,transitions:this.transitions,entry:this.onEntry,exit:this.onExit,activities:this.activities||[],meta:this.meta,order:this.order||-1,data:this.doneData,invoke:this.invoke,description:this.description,tags:this.tags}},enumerable:!1,configurable:!0}),t.prototype.toJSON=function(){return this.definition},Object.defineProperty(t.prototype,"on",{get:function(){if(this.__cache.on)return this.__cache.on;var e=this.transitions;return this.__cache.on=e.reduce(function(r,n){return r[n.eventType]=r[n.eventType]||[],r[n.eventType].push(n),r},{})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"after",{get:function(){return this.__cache.delayedTransitions||(this.__cache.delayedTransitions=this.getDelayedTransitions(),this.__cache.delayedTransitions)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"transitions",{get:function(){return this.__cache.transitions||(this.__cache.transitions=this.formatTransitions(),this.__cache.transitions)},enumerable:!1,configurable:!0}),t.prototype.getCandidates=function(e){if(this.__cache.candidates[e])return this.__cache.candidates[e];var r=e===xe,n=this.transitions.filter(function(i){var s=i.eventType===e;return r?s:s||i.eventType===ze});return this.__cache.candidates[e]=n,n},t.prototype.getDelayedTransitions=function(){var e=this,r=this.config.after;if(!r)return[];var n=function(s,o){var u=N(s)?"".concat(e.id,":delay[").concat(o,"]"):s,c=$r(u,e.id);return e.onEntry.push(ge(c,{delay:s})),e.onExit.push(Dr(c)),c},i=Ae(r)?r.map(function(s,o){var u=n(s.delay,o);return g(g({},s),{event:u})}):H(Object.keys(r).map(function(s,o){var u=r[s],c=U(u)?{target:u}:u,f=isNaN(+s)?s:+s,a=n(f,o);return ne(c).map(function(d){return g(g({},d),{event:a,delay:f})})}));return i.map(function(s){var o=s.delay;return g(g({},e.formatTransition(s)),{delay:o})})},t.prototype.getStateNodes=function(e){var r,n=this;if(!e)return[];var i=e instanceof oe?e.value:je(e,this.delimiter);if(U(i)){var s=this.getStateNode(i).initial;return s!==void 0?this.getStateNodes((r={},r[i]=s,r)):[this,this.states[i]]}var o=Object.keys(i),u=[this];return u.push.apply(u,V([],P(H(o.map(function(c){return n.getStateNode(c).getStateNodes(i[c])}))),!1)),u},t.prototype.handles=function(e){var r=Tr(e);return this.events.includes(r)},t.prototype.resolveState=function(e){var r=e instanceof oe?e:oe.create(e),n=Array.from(Be([],this.getStateNodes(r.value)));return new oe(g(g({},r),{value:this.resolve(r.value),configuration:n,done:mt(n,this),tags:Br(n),machine:this.machine}))},t.prototype.transitionLeafNode=function(e,r,n){var i=this.getStateNode(e),s=i.next(r,n);return!s||!s.transitions.length?this.next(r,n):s},t.prototype.transitionCompoundNode=function(e,r,n){var i=Object.keys(e),s=this.getStateNode(i[0]),o=s._transition(e[i[0]],r,n);return!o||!o.transitions.length?this.next(r,n):o},t.prototype.transitionParallelNode=function(e,r,n){var i,s,o={};try{for(var u=_(Object.keys(e)),c=u.next();!c.done;c=u.next()){var f=c.value,a=e[f];if(a){var d=this.getStateNode(f),l=d._transition(a,r,n);l&&(o[f]=l)}}}catch(E){i={error:E}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(i)throw i.error}}var h=Object.keys(o).map(function(E){return o[E]}),v=H(h.map(function(E){return E.transitions})),y=h.some(function(E){return E.transitions.length>0});if(!y)return this.next(r,n);var S=H(Object.keys(o).map(function(E){return o[E].configuration}));return{transitions:v,exitSet:H(h.map(function(E){return E.exitSet})),configuration:S,source:r,actions:H(Object.keys(o).map(function(E){return o[E].actions}))}},t.prototype._transition=function(e,r,n){return U(e)?this.transitionLeafNode(e,r,n):Object.keys(e).length===1?this.transitionCompoundNode(e,r,n):this.transitionParallelNode(e,r,n)},t.prototype.getTransitionData=function(e,r){return this._transition(e.value,e,Q(r))},t.prototype.next=function(e,r){var n,i,s=this,o=r.name,u=[],c=[],f;try{for(var a=_(this.getCandidates(o)),d=a.next();!d.done;d=a.next()){var l=d.value,h=l.cond,v=l.in,y=e.context,S=v?U(v)&&Ne(v)?e.matches(je(this.getStateNodeById(v).path,this.delimiter)):Ct(je(v,this.delimiter),fi(this.path.slice(0,-2))(e.value)):!0,E=!1;try{E=!h||Ir(this.machine,h,y,r,e)}catch(O){throw new Error("Unable to evaluate guard '".concat(h.name||h.type,"' in transition for event '").concat(o,"' in state node '").concat(this.id,`':
18
+ `).concat(O.message))}if(E&&S){l.target!==void 0&&(c=l.target),u.push.apply(u,V([],P(l.actions),!1)),f=l;break}}}catch(O){n={error:O}}finally{try{d&&!d.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}if(f){if(!c.length)return{transitions:[f],exitSet:[],configuration:e.value?[this]:[],source:e,actions:u};var T=H(c.map(function(O){return s.getRelativeStateNodes(O,e.historyValue)})),b=!!f.internal;return{transitions:[f],exitSet:b?[]:H(c.map(function(O){return s.getPotentiallyReenteringNodes(O)})),configuration:T,source:e,actions:u}}},t.prototype.getPotentiallyReenteringNodes=function(e){if(this.order<e.order)return[this];for(var r=[],n=this,i=e;n&&n!==i;)r.push(n),n=n.parent;return n!==i?[]:(r.push(i),r)},t.prototype.getActions=function(e,r,n,i,s,o,u){var c,f,a,d,l=this,h=o?Be([],this.getStateNodes(o.value)):[],v=new Set;try{for(var y=_(Array.from(e).sort(function(k,F){return k.order-F.order})),S=y.next();!S.done;S=y.next()){var E=S.value;(!He(h,E)||He(n.exitSet,E)||E.parent&&v.has(E.parent))&&v.add(E)}}catch(k){c={error:k}}finally{try{S&&!S.done&&(f=y.return)&&f.call(y)}finally{if(c)throw c.error}}try{for(var T=_(h),b=T.next();!b.done;b=T.next()){var E=b.value;(!He(e,E)||He(n.exitSet,E.parent))&&n.exitSet.push(E)}}catch(k){a={error:k}}finally{try{b&&!b.done&&(d=T.return)&&d.call(T)}finally{if(a)throw a.error}}n.exitSet.sort(function(k,F){return F.order-k.order});var O=Array.from(v).sort(function(k,F){return k.order-F.order}),$=new Set(n.exitSet),C=H(O.map(function(k){var F=[];if(k.type!=="final")return F;var z=k.parent;if(!z.parent)return F;F.push(Fe(k.id,k.doneData),Fe(z.id,k.doneData?ut(k.doneData,i,s):void 0));var G=z.parent;return G.type==="parallel"&&Ge(G).every(function(Ee){return mt(n.configuration,Ee)})&&F.push(Fe(G.id)),F})),x=O.map(function(k){var F=k.onEntry,z=k.activities.map(function(G){return Cr(G)});return{type:"entry",actions:ce(u?V(V([],P(F),!1),P(z),!1):V(V([],P(z),!1),P(F),!1),l.machine.options.actions)}}).concat({type:"state_done",actions:C.map(function(k){return xr(k)})}),j=Array.from($).map(function(k){return{type:"exit",actions:ce(V(V([],P(k.onExit),!1),P(k.activities.map(function(F){return Mr(F)})),!1),l.machine.options.actions)}}),I=j.concat({type:"transition",actions:ce(n.actions,this.machine.options.actions)}).concat(x);if(r){var K=ce(H(V([],P(e),!1).sort(function(k,F){return F.order-k.order}).map(function(k){return k.onExit})),this.machine.options.actions).filter(function(k){return!Lt(k)});return I.concat({type:"stop",actions:K})}return I},t.prototype.transition=function(e,r,n,i){e===void 0&&(e=this.initialState);var s=Q(r),o;if(e instanceof oe)o=n===void 0?e:this.resolveState(oe.from(e,n));else{var u=U(e)?this.resolve(at(this.getResolvedPath(e))):this.resolve(e),c=n!=null?n:this.machine.context;o=this.resolveState(oe.from(u,c))}if(!B&&s.name===ze)throw new Error("An event cannot have the wildcard type ('".concat(ze,"')"));if(this.strict&&!this.events.includes(s.name)&&!pi(s.name))throw new Error("Machine '".concat(this.id,"' does not accept event '").concat(s.name,"'"));var f=this._transition(o.value,o,s)||{transitions:[],configuration:[],exitSet:[],source:o,actions:[]},a=Be([],this.getStateNodes(o.value)),d=f.configuration.length?Be(a,f.configuration):a;return f.configuration=V([],P(d),!1),this.resolveTransition(f,o,o.context,i,s)},t.prototype.resolveRaisedTransition=function(e,r,n,i){var s,o=e.actions;return e=this.transition(e,r,void 0,i),e._event=n,e.event=n.data,(s=e.actions).unshift.apply(s,V([],P(o),!1)),e},t.prototype.resolveTransition=function(e,r,n,i,s){var o,u,c,f,a=this;s===void 0&&(s=me);var d=e.configuration,l=!r||e.transitions.length>0,h=l?e.configuration:r?r.configuration:[],v=mt(h,this),y=l?Fi(this.machine,d):void 0,S=r?r.historyValue?r.historyValue:e.source?this.machine.historyValue(r.value):void 0:void 0,E=this.getActions(new Set(h),v,e,n,s,r,i),T=r?g({},r.activities):{};try{for(var b=_(E),O=b.next();!O.done;O=b.next()){var $=O.value;try{for(var C=(c=void 0,_($.actions)),x=C.next();!x.done;x=C.next()){var j=x.value;j.type===et?T[j.activity.id||j.activity.type]=j:j.type===tt&&(T[j.activity.id||j.activity.type]=!1)}}catch(ee){c={error:ee}}finally{try{x&&!x.done&&(f=C.return)&&f.call(C)}finally{if(c)throw c.error}}}}catch(ee){o={error:ee}}finally{try{O&&!O.done&&(u=b.return)&&u.call(b)}finally{if(o)throw o.error}}var I=P(Ve(this,r,n,s,E,i,this.machine.config.predictableActionArguments||this.machine.config.preserveActionOrder),2),K=I[0],k=I[1],F=P(yi(K,Lt),2),z=F[0],G=F[1],Ee=K.filter(function(ee){var J;return ee.type===et&&((J=ee.activity)===null||J===void 0?void 0:J.type)===it}),Te=Ee.reduce(function(ee,J){return ee[J.activity.id]=Mi(J.activity,a.machine,k,s),ee},r?g({},r.children):{}),p=new oe({value:y||r.value,context:k,_event:s,_sessionid:r?r._sessionid:null,historyValue:y?S?mi(S,y):void 0:r?r.historyValue:void 0,history:!y||e.source?r:void 0,actions:y?G:[],activities:y?T:r?r.activities:{},events:[],configuration:h,transitions:e.transitions,children:Te,done:v,tags:Br(h),machine:this}),w=n!==k;p.changed=s.name===st||w;var A=p.history;A&&delete A.history;var q=!v&&(this._transient||d.some(function(ee){return ee._transient}));if(!l&&(!q||s.name===xe))return p;var D=p;if(!v)for(q&&(D=this.resolveRaisedTransition(D,{type:vr},s,i));z.length;){var M=z.shift();D=this.resolveRaisedTransition(D,M._event,s,i)}var Me=D.changed||(A?!!D.actions.length||w||typeof A.value!=typeof D.value||!Hr(D.value,A.value):void 0);return D.changed=Me,D.history=A,D},t.prototype.getStateNode=function(e){if(Ne(e))return this.machine.getStateNodeById(e);if(!this.states)throw new Error("Unable to retrieve child state '".concat(e,"' from '").concat(this.id,"'; no child states exist."));var r=this.states[e];if(!r)throw new Error("Child state '".concat(e,"' does not exist on '").concat(this.id,"'"));return r},t.prototype.getStateNodeById=function(e){var r=Ne(e)?e.slice(Bt.length):e;if(r===this.id)return this;var n=this.machine.idMap[r];if(!n)throw new Error("Child state node '#".concat(r,"' does not exist on machine '").concat(this.id,"'"));return n},t.prototype.getStateNodeByPath=function(e){if(typeof e=="string"&&Ne(e))try{return this.getStateNodeById(e.slice(1))}catch{}for(var r=Mt(e,this.delimiter).slice(),n=this;r.length;){var i=r.shift();if(!i.length)break;n=n.getStateNode(i)}return n},t.prototype.resolve=function(e){var r,n=this;if(!e)return this.initialStateValue||Pe;switch(this.type){case"parallel":return $e(this.initialStateValue,function(s,o){return s?n.getStateNode(o).resolve(e[o]||s):Pe});case"compound":if(U(e)){var i=this.getStateNode(e);return i.type==="parallel"||i.type==="compound"?(r={},r[e]=i.initialStateValue,r):e}return Object.keys(e).length?$e(e,function(s,o){return s?n.getStateNode(o).resolve(s):Pe}):this.initialStateValue||{};default:return e||Pe}},t.prototype.getResolvedPath=function(e){if(Ne(e)){var r=this.machine.idMap[e.slice(Bt.length)];if(!r)throw new Error("Unable to find state node '".concat(e,"'"));return r.path}return Mt(e,this.delimiter)},Object.defineProperty(t.prototype,"initialStateValue",{get:function(){var e;if(this.__cache.initialStateValue)return this.__cache.initialStateValue;var r;if(this.type==="parallel")r=Sr(this.states,function(n){return n.initialStateValue||Pe},function(n){return n.type!=="history"});else if(this.initial!==void 0){if(!this.states[this.initial])throw new Error("Initial state '".concat(this.initial,"' not found on '").concat(this.key,"'"));r=yt(this.states[this.initial])?this.initial:(e={},e[this.initial]=this.states[this.initial].initialStateValue,e)}else r={};return this.__cache.initialStateValue=r,this.__cache.initialStateValue},enumerable:!1,configurable:!0}),t.prototype.getInitialState=function(e,r){this._init();var n=this.getStateNodes(e);return this.resolveTransition({configuration:n,exitSet:[],transitions:[],source:void 0,actions:[]},void 0,r!=null?r:this.machine.context,void 0)},Object.defineProperty(t.prototype,"initialState",{get:function(){var e=this.initialStateValue;if(!e)throw new Error("Cannot retrieve initial state from simple state '".concat(this.id,"'."));return this.getInitialState(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"target",{get:function(){var e;if(this.type==="history"){var r=this.config;U(r.target)?e=Ne(r.target)?at(this.machine.getStateNodeById(r.target).path.slice(this.path.length-1)):r.target:e=r.target}return e},enumerable:!1,configurable:!0}),t.prototype.getRelativeStateNodes=function(e,r,n){return n===void 0&&(n=!0),n?e.type==="history"?e.resolveHistory(r):e.initialStateNodes:[e]},Object.defineProperty(t.prototype,"initialStateNodes",{get:function(){var e=this;if(yt(this))return[this];if(this.type==="compound"&&!this.initial)return B||Y(!1,"Compound state node '".concat(this.id,"' has no initial state.")),[this];var r=ct(this.initialStateValue);return H(r.map(function(n){return e.getFromRelativePath(n)}))},enumerable:!1,configurable:!0}),t.prototype.getFromRelativePath=function(e){if(!e.length)return[this];var r=P(e),n=r[0],i=r.slice(1);if(!this.states)throw new Error("Cannot retrieve subPath '".concat(n,"' from node with no states"));var s=this.getStateNode(n);if(s.type==="history")return s.resolveHistory();if(!this.states[n])throw new Error("Child state '".concat(n,"' does not exist on '").concat(this.id,"'"));return this.states[n].getFromRelativePath(i)},t.prototype.historyValue=function(e){if(Object.keys(this.states).length)return{current:e||this.initialStateValue,states:Sr(this.states,function(r,n){if(!e)return r.historyValue();var i=U(e)?void 0:e[n];return r.historyValue(i||r.initialStateValue)},function(r){return!r.history})}},t.prototype.resolveHistory=function(e){var r=this;if(this.type!=="history")return[this];var n=this.parent;if(!e){var i=this.target;return i?H(ct(i).map(function(o){return n.getFromRelativePath(o)})):n.initialStateNodes}var s=hi(n.path,"states")(e).current;return U(s)?[n.getStateNode(s)]:H(ct(s).map(function(o){return r.history==="deep"?n.getFromRelativePath(o):[n.states[o[0]]]}))},Object.defineProperty(t.prototype,"stateIds",{get:function(){var e=this,r=H(Object.keys(this.states).map(function(n){return e.states[n].stateIds}));return[this.id].concat(r)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"events",{get:function(){var e,r,n,i;if(this.__cache.events)return this.__cache.events;var s=this.states,o=new Set(this.ownEvents);if(s)try{for(var u=_(Object.keys(s)),c=u.next();!c.done;c=u.next()){var f=c.value,a=s[f];if(a.states)try{for(var d=(n=void 0,_(a.events)),l=d.next();!l.done;l=d.next()){var h=l.value;o.add("".concat(h))}}catch(v){n={error:v}}finally{try{l&&!l.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}}}catch(v){e={error:v}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}return this.__cache.events=Array.from(o)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ownEvents",{get:function(){var e=new Set(this.transitions.filter(function(r){return!(!r.target&&!r.actions.length&&r.internal)}).map(function(r){return r.eventType}));return Array.from(e)},enumerable:!1,configurable:!0}),t.prototype.resolveTarget=function(e){var r=this;if(e!==void 0)return e.map(function(n){if(!U(n))return n;var i=n[0]===r.delimiter;if(i&&!r.parent)return r.getStateNodeByPath(n.slice(1));var s=i?r.key+n:n;if(r.parent)try{var o=r.parent.getStateNodeByPath(s);return o}catch(u){throw new Error("Invalid transition definition for state node '".concat(r.id,`':
19
+ `).concat(u.message))}else return r.getStateNodeByPath(s)})},t.prototype.formatTransition=function(e){var r=this,n=Ti(e.target),i="internal"in e?e.internal:n?n.some(function(c){return U(c)&&c[0]===r.delimiter}):!0,s=this.machine.options.guards,o=this.resolveTarget(n),u=g(g({},e),{actions:ce(ne(e.actions)),cond:Rr(e.cond,s),target:o,source:this,internal:i,eventType:e.event,toJSON:function(){return g(g({},u),{target:u.target?u.target.map(function(c){return"#".concat(c.id)}):void 0,source:"#".concat(r.id)})}});return u},t.prototype.formatTransitions=function(){var e,r,n=this,i;if(!this.config.on)i=[];else if(Array.isArray(this.config.on))i=this.config.on;else{var s=this.config.on,o=ze,u=s[o],c=u===void 0?[]:u,f=xt(s,[typeof o=="symbol"?o:o+""]);i=H(Object.keys(f).map(function(T){!B&&T===xe&&Y(!1,"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. "+'Please check the `on` configuration for "#'.concat(n.id,'".'));var b=ke(T,f[T]);return B||ts(n,T,b),b}).concat(ke(ze,c)))}var a=this.config.always?ke("",this.config.always):[],d=this.config.onDone?ke(String(Fe(this.id)),this.config.onDone):[];B||Y(!(this.config.onDone&&!this.parent),'Root nodes cannot have an ".onDone" transition. Please check the config of "'.concat(this.id,'".'));var l=H(this.invoke.map(function(T){var b=[];return T.onDone&&b.push.apply(b,V([],P(ke(String(qe(T.id)),T.onDone)),!1)),T.onError&&b.push.apply(b,V([],P(ke(String(Re(T.id)),T.onError)),!1)),b})),h=this.after,v=H(V(V(V(V([],P(d),!1),P(l),!1),P(i),!1),P(a),!1).map(function(T){return ne(T).map(function(b){return n.formatTransition(b)})}));try{for(var y=_(h),S=y.next();!S.done;S=y.next()){var E=S.value;v.push(E)}}catch(T){e={error:T}}finally{try{S&&!S.done&&(r=y.return)&&r.call(y)}finally{if(e)throw e.error}}return v},t}(),zr=!1;function ve(t,e){return!B&&!("predictableActionArguments"in t)&&!zr&&(zr=!0,console.warn("It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html")),new rs(t,e)}var R=jr,X=ge;/*! js-cookie v3.0.5 | MIT */function wt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}var ns={read:function(t){return t[0]==='"'&&(t=t.slice(1,-1)),t.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(t){return encodeURIComponent(t).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function Ht(t,e){function r(i,s,o){if(typeof document!="undefined"){o=wt({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var u="";for(var c in o)o[c]&&(u+="; "+c,o[c]!==!0&&(u+="="+o[c].split(";")[0]));return document.cookie=i+"="+t.write(s,i)+u}}function n(i){if(!(typeof document=="undefined"||arguments.length&&!i)){for(var s=document.cookie?document.cookie.split("; "):[],o={},u=0;u<s.length;u++){var c=s[u].split("="),f=c.slice(1).join("=");try{var a=decodeURIComponent(c[0]);if(o[a]=t.read(f,a),i===a)break}catch{}}return i?o[i]:o}}return Object.create({set:r,get:n,remove:function(i,s){r(i,"",wt({},s,{expires:-1}))},withAttributes:function(i){return Ht(this.converter,wt({},this.attributes,i))},withConverter:function(i){return Ht(wt({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(e)},converter:{value:Object.freeze(t)}})}var Kt=Ht(ns,{path:"/"}),zt=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Wt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function is(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var Jt={exports:{}};(function(t,e){(function(r){function n(i){var s=i&&i.Promise||r.Promise,o=i&&i.XMLHttpRequest||r.XMLHttpRequest;return function(){var u=Object.create(r,{fetch:{value:void 0,writable:!0}});return function(c,f){f(e)}(this,function(c){var f=typeof u!="undefined"&&u||typeof self!="undefined"&&self||typeof f!="undefined"&&f,a={searchParams:"URLSearchParams"in f,iterable:"Symbol"in f&&"iterator"in Symbol,blob:"FileReader"in f&&"Blob"in f&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in f,arrayBuffer:"ArrayBuffer"in f};function d(p){return p&&DataView.prototype.isPrototypeOf(p)}if(a.arrayBuffer)var l=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],h=ArrayBuffer.isView||function(p){return p&&l.indexOf(Object.prototype.toString.call(p))>-1};function v(p){if(typeof p!="string"&&(p=String(p)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(p)||p==="")throw new TypeError("Invalid character in header field name");return p.toLowerCase()}function y(p){return typeof p!="string"&&(p=String(p)),p}function S(p){var w={next:function(){var A=p.shift();return{done:A===void 0,value:A}}};return a.iterable&&(w[Symbol.iterator]=function(){return w}),w}function E(p){this.map={},p instanceof E?p.forEach(function(w,A){this.append(A,w)},this):Array.isArray(p)?p.forEach(function(w){this.append(w[0],w[1])},this):p&&Object.getOwnPropertyNames(p).forEach(function(w){this.append(w,p[w])},this)}E.prototype.append=function(p,w){p=v(p),w=y(w);var A=this.map[p];this.map[p]=A?A+", "+w:w},E.prototype.delete=function(p){delete this.map[v(p)]},E.prototype.get=function(p){return p=v(p),this.has(p)?this.map[p]:null},E.prototype.has=function(p){return this.map.hasOwnProperty(v(p))},E.prototype.set=function(p,w){this.map[v(p)]=y(w)},E.prototype.forEach=function(p,w){for(var A in this.map)this.map.hasOwnProperty(A)&&p.call(w,this.map[A],A,this)},E.prototype.keys=function(){var p=[];return this.forEach(function(w,A){p.push(A)}),S(p)},E.prototype.values=function(){var p=[];return this.forEach(function(w){p.push(w)}),S(p)},E.prototype.entries=function(){var p=[];return this.forEach(function(w,A){p.push([A,w])}),S(p)},a.iterable&&(E.prototype[Symbol.iterator]=E.prototype.entries);function T(p){if(p.bodyUsed)return s.reject(new TypeError("Already read"));p.bodyUsed=!0}function b(p){return new s(function(w,A){p.onload=function(){w(p.result)},p.onerror=function(){A(p.error)}})}function O(p){var w=new FileReader,A=b(w);return w.readAsArrayBuffer(p),A}function $(p){var w=new FileReader,A=b(w);return w.readAsText(p),A}function C(p){for(var w=new Uint8Array(p),A=new Array(w.length),q=0;q<w.length;q++)A[q]=String.fromCharCode(w[q]);return A.join("")}function x(p){if(p.slice)return p.slice(0);var w=new Uint8Array(p.byteLength);return w.set(new Uint8Array(p)),w.buffer}function j(){return this.bodyUsed=!1,this._initBody=function(p){this.bodyUsed=this.bodyUsed,this._bodyInit=p,p?typeof p=="string"?this._bodyText=p:a.blob&&Blob.prototype.isPrototypeOf(p)?this._bodyBlob=p:a.formData&&FormData.prototype.isPrototypeOf(p)?this._bodyFormData=p:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)?this._bodyText=p.toString():a.arrayBuffer&&a.blob&&d(p)?(this._bodyArrayBuffer=x(p.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(p)||h(p))?this._bodyArrayBuffer=x(p):this._bodyText=p=Object.prototype.toString.call(p):this._bodyText="",this.headers.get("content-type")||(typeof p=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var p=T(this);if(p)return p;if(this._bodyBlob)return s.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return s.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return s.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var p=T(this);return p||(ArrayBuffer.isView(this._bodyArrayBuffer)?s.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):s.resolve(this._bodyArrayBuffer))}else return this.blob().then(O)}),this.text=function(){var p=T(this);if(p)return p;if(this._bodyBlob)return $(this._bodyBlob);if(this._bodyArrayBuffer)return s.resolve(C(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return s.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(F)}),this.json=function(){return this.text().then(JSON.parse)},this}var I=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function K(p){var w=p.toUpperCase();return I.indexOf(w)>-1?w:p}function k(p,w){if(!(this instanceof k))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');w=w||{};var A=w.body;if(p instanceof k){if(p.bodyUsed)throw new TypeError("Already read");this.url=p.url,this.credentials=p.credentials,w.headers||(this.headers=new E(p.headers)),this.method=p.method,this.mode=p.mode,this.signal=p.signal,!A&&p._bodyInit!=null&&(A=p._bodyInit,p.bodyUsed=!0)}else this.url=String(p);if(this.credentials=w.credentials||this.credentials||"same-origin",(w.headers||!this.headers)&&(this.headers=new E(w.headers)),this.method=K(w.method||this.method||"GET"),this.mode=w.mode||this.mode||null,this.signal=w.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&A)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(A),(this.method==="GET"||this.method==="HEAD")&&(w.cache==="no-store"||w.cache==="no-cache")){var q=/([?&])_=[^&]*/;if(q.test(this.url))this.url=this.url.replace(q,"$1_="+new Date().getTime());else{var D=/\?/;this.url+=(D.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}k.prototype.clone=function(){return new k(this,{body:this._bodyInit})};function F(p){var w=new FormData;return p.trim().split("&").forEach(function(A){if(A){var q=A.split("="),D=q.shift().replace(/\+/g," "),M=q.join("=").replace(/\+/g," ");w.append(decodeURIComponent(D),decodeURIComponent(M))}}),w}function z(p){var w=new E,A=p.replace(/\r?\n[\t ]+/g," ");return A.split("\r").map(function(q){return q.indexOf(`
20
+ `)===0?q.substr(1,q.length):q}).forEach(function(q){var D=q.split(":"),M=D.shift().trim();if(M){var Me=D.join(":").trim();w.append(M,Me)}}),w}j.call(k.prototype);function G(p,w){if(!(this instanceof G))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');w||(w={}),this.type="default",this.status=w.status===void 0?200:w.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in w?w.statusText:"",this.headers=new E(w.headers),this.url=w.url||"",this._initBody(p)}j.call(G.prototype),G.prototype.clone=function(){return new G(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new E(this.headers),url:this.url})},G.error=function(){var p=new G(null,{status:0,statusText:""});return p.type="error",p};var Ee=[301,302,303,307,308];G.redirect=function(p,w){if(Ee.indexOf(w)===-1)throw new RangeError("Invalid status code");return new G(null,{status:w,headers:{location:p}})},c.DOMException=f.DOMException;try{new c.DOMException}catch{c.DOMException=function(w,A){this.message=w,this.name=A;var q=Error(w);this.stack=q.stack},c.DOMException.prototype=Object.create(Error.prototype),c.DOMException.prototype.constructor=c.DOMException}function Te(p,w){return new s(function(A,q){var D=new k(p,w);if(D.signal&&D.signal.aborted)return q(new c.DOMException("Aborted","AbortError"));var M=new o;function Me(){M.abort()}M.onload=function(){var J={status:M.status,statusText:M.statusText,headers:z(M.getAllResponseHeaders()||"")};J.url="responseURL"in M?M.responseURL:J.headers.get("X-Request-URL");var _t="response"in M?M.response:M.responseText;setTimeout(function(){A(new G(_t,J))},0)},M.onerror=function(){setTimeout(function(){q(new TypeError("Network request failed"))},0)},M.ontimeout=function(){setTimeout(function(){q(new TypeError("Network request failed"))},0)},M.onabort=function(){setTimeout(function(){q(new c.DOMException("Aborted","AbortError"))},0)};function ee(J){try{return J===""&&f.location.href?f.location.href:J}catch{return J}}M.open(D.method,ee(D.url),!0),D.credentials==="include"?M.withCredentials=!0:D.credentials==="omit"&&(M.withCredentials=!1),"responseType"in M&&(a.blob?M.responseType="blob":a.arrayBuffer&&D.headers.get("Content-Type")&&D.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(M.responseType="arraybuffer")),w&&typeof w.headers=="object"&&!(w.headers instanceof E)?Object.getOwnPropertyNames(w.headers).forEach(function(J){M.setRequestHeader(J,y(w.headers[J]))}):D.headers.forEach(function(J,_t){M.setRequestHeader(_t,J)}),D.signal&&(D.signal.addEventListener("abort",Me),M.onreadystatechange=function(){M.readyState===4&&D.signal.removeEventListener("abort",Me)}),M.send(typeof D._bodyInit=="undefined"?null:D._bodyInit)})}Te.polyfill=!0,f.fetch||(f.fetch=Te,f.Headers=E,f.Request=k,f.Response=G),c.Headers=E,c.Request=k,c.Response=G,c.fetch=Te,Object.defineProperty(c,"__esModule",{value:!0})}),{fetch:u.fetch,Headers:u.Headers,Request:u.Request,Response:u.Response,DOMException:u.DOMException}}()}t.exports=n})(typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:zt)})(Jt,Jt.exports);var ss=Jt.exports;const Yt=Wt(ss),Ue="nhostRefreshToken",We="nhostRefreshTokenId",we="nhostRefreshTokenExpiresAt",Wr=3,Jr=60,Xt=5,Qt=0,Zt=1,ie=10,De=20;class Ce extends Error{constructor(e){super(e.message),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),e instanceof Error?(this.name=e.name,this.error={error:e.name,status:Zt,message:e.message}):(this.name=e.error,this.error=e)}}const ue={status:ie,error:"invalid-email",message:"Email is incorrectly formatted"},Yr={status:ie,error:"invalid-mfa-type",message:"MFA type is invalid"},Xr={status:ie,error:"invalid-mfa-code",message:"MFA code is invalid"},Et={status:ie,error:"invalid-password",message:"Password is incorrectly formatted"},er={status:ie,error:"invalid-phone-number",message:"Phone number is incorrectly formatted"},Qr={status:ie,error:"invalid-mfa-ticket",message:"MFA ticket is invalid"},Zr={status:ie,error:"no-mfa-ticket",message:"No MFA ticket has been provided"},en={status:ie,error:"no-refresh-token",message:"No refresh token has been provided"},tn={status:De,error:"refresher-already-running",message:"The token refresher is already running. You must wait until is has finished before submitting a new token."},se={status:De,error:"already-signed-in",message:"User is already signed in"},rn={status:De,error:"unauthenticated-user",message:"User is not authenticated"},os={status:De,error:"user-not-anonymous",message:"User is not anonymous"},nn={status:De,error:"unverified-user",message:"Email needs verification"},sn={status:ie,error:"invalid-refresh-token",message:"Invalid or expired refresh token"},on={status:Zt,error:"invalid-sign-in-method",message:"Invalid sign-in method"},Tt={user:null,mfa:null,accessToken:{value:null,expiresAt:null,expiresInSeconds:15},refreshTimer:{startedAt:null,attempts:0,lastAttempt:null},refreshToken:{value:null},importTokenAttempts:0,errors:{}};function as(t){return new TextEncoder().encode(t)}function le(t){const e=new Uint8Array(t);let r="";for(const n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function tr(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),r=(4-e.length%4)%4,n=e.padEnd(e.length+r,"="),i=atob(n),s=new ArrayBuffer(i.length),o=new Uint8Array(s);for(let u=0;u<i.length;u++)o[u]=i.charCodeAt(u);return s}function an(){return(window==null?void 0:window.PublicKeyCredential)!==void 0&&typeof window.PublicKeyCredential=="function"}function cn(t){const{id:e}=t;return{...t,id:tr(e),transports:t.transports}}function un(t){return t==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(t)}let Z=class extends Error{constructor({message:e,code:r,cause:n,name:i}){super(e,{cause:n}),this.name=i!=null?i:n.name,this.code=r}};function cs({error:t,options:e}){var r,n;const{publicKey:i}=e;if(!i)throw Error("options was missing required publicKey property");if(t.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Z({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:t})}else if(t.name==="ConstraintError"){if(((r=i.authenticatorSelection)==null?void 0:r.requireResidentKey)===!0)return new Z({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:t});if(((n=i.authenticatorSelection)==null?void 0:n.userVerification)==="required")return new Z({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:t})}else{if(t.name==="InvalidStateError")return new Z({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:t});if(t.name==="NotAllowedError")return new Z({message:t.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t});if(t.name==="NotSupportedError")return i.pubKeyCredParams.filter(s=>s.type==="public-key").length===0?new Z({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:t}):new Z({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:t});if(t.name==="SecurityError"){const s=window.location.hostname;if(un(s)){if(i.rp.id!==s)return new Z({message:`The RP ID "${i.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:t})}else return new Z({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:t})}else if(t.name==="TypeError"){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new Z({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:t})}else if(t.name==="UnknownError")return new Z({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:t})}return t}class us{createNewAbortSignal(){if(this.controller){const r=new Error("Cancelling existing WebAuthn API call for new one");r.name="AbortError",this.controller.abort(r)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}}const ln=new us,ls=["cross-platform","platform"];function dn(t){if(t&&!(ls.indexOf(t)<0))return t}async function fn(t){var e;if(!an())throw new Error("WebAuthn is not supported in this browser");const r={publicKey:{...t,challenge:tr(t.challenge),user:{...t.user,id:as(t.user.id)},excludeCredentials:(e=t.excludeCredentials)==null?void 0:e.map(cn)}};r.signal=ln.createNewAbortSignal();let n;try{n=await navigator.credentials.create(r)}catch(l){throw cs({error:l,options:r})}if(!n)throw new Error("Registration was not completed");const{id:i,rawId:s,response:o,type:u}=n;let c;typeof o.getTransports=="function"&&(c=o.getTransports());let f;if(typeof o.getPublicKeyAlgorithm=="function")try{f=o.getPublicKeyAlgorithm()}catch(l){rr("getPublicKeyAlgorithm()",l)}let a;if(typeof o.getPublicKey=="function")try{const l=o.getPublicKey();l!==null&&(a=le(l))}catch(l){rr("getPublicKey()",l)}let d;if(typeof o.getAuthenticatorData=="function")try{d=le(o.getAuthenticatorData())}catch(l){rr("getAuthenticatorData()",l)}return{id:i,rawId:le(s),response:{attestationObject:le(o.attestationObject),clientDataJSON:le(o.clientDataJSON),transports:c,publicKeyAlgorithm:f,publicKey:a,authenticatorData:d},type:u,clientExtensionResults:n.getClientExtensionResults(),authenticatorAttachment:dn(n.authenticatorAttachment)}}function rr(t,e){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${t}. You should report this error to them.
21
+ `,e)}function ds(t){return new TextDecoder("utf-8").decode(t)}function fs(){const t=window.PublicKeyCredential;return t.isConditionalMediationAvailable===void 0?new Promise(e=>e(!1)):t.isConditionalMediationAvailable()}function hs({error:t,options:e}){const{publicKey:r}=e;if(!r)throw Error("options was missing required publicKey property");if(t.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Z({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:t})}else{if(t.name==="NotAllowedError")return new Z({message:t.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t});if(t.name==="SecurityError"){const n=window.location.hostname;if(un(n)){if(r.rpId!==n)return new Z({message:`The RP ID "${r.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:t})}else return new Z({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:t})}else if(t.name==="UnknownError")return new Z({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:t})}return t}async function hn(t,e=!1){var r,n;if(!an())throw new Error("WebAuthn is not supported in this browser");let i;((r=t.allowCredentials)==null?void 0:r.length)!==0&&(i=(n=t.allowCredentials)==null?void 0:n.map(cn));const s={...t,challenge:tr(t.challenge),allowCredentials:i},o={};if(e){if(!await fs())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation="conditional",s.allowCredentials=[]}o.publicKey=s,o.signal=ln.createNewAbortSignal();let u;try{u=await navigator.credentials.get(o)}catch(h){throw hs({error:h,options:o})}if(!u)throw new Error("Authentication was not completed");const{id:c,rawId:f,response:a,type:d}=u;let l;return a.userHandle&&(l=ds(a.userHandle)),{id:c,rawId:le(f),response:{authenticatorData:le(a.authenticatorData),clientDataJSON:le(a.clientDataJSON),signature:le(a.signature),userHandle:l},type:d,clientExtensionResults:u.getClientExtensionResults(),authenticatorAttachment:dn(u.authenticatorAttachment)}}const St=typeof window!="undefined",bt=new Map,ps=t=>{var e;return St&&typeof localStorage!="undefined"?localStorage.getItem(t):(e=bt.get(t))!=null?e:null},vs=(t,e)=>{St&&typeof localStorage!="undefined"?e?localStorage.setItem(t,e):localStorage.removeItem(t):e?bt.set(t,e):bt.has(t)&&bt.delete(t)},pn=(t,e)=>{if(t==="localStorage"||t==="web")return ps;if(t==="cookie")return r=>{var n;return St&&(n=Kt.get(r))!=null?n:null};if(!e)throw Error(`clientStorageType is set to '${t}' but no clientStorage has been given`);if(t==="react-native")return r=>{var n;return(n=e.getItem)==null?void 0:n.call(e,r)};if(t==="capacitor")return r=>{var n;return(n=e.get)==null?void 0:n.call(e,{key:r})};if(t==="expo-secure-storage")return r=>{var n;return(n=e.getItemAsync)==null?void 0:n.call(e,r)};if(t==="custom"){if(e.getItem&&e.removeItem)return e.getItem;if(e.getItemAsync)return e.getItemAsync;throw Error(`clientStorageType is set to 'custom' but clientStorage is missing either "getItem" and "removeItem" properties or "getItemAsync" property`)}throw Error(`Unknown storage type: ${t}`)},vn=(t,e)=>{if(t==="localStorage"||t==="web")return vs;if(t==="cookie")return(r,n)=>{St&&(n?Kt.set(r,n,{expires:30,sameSite:"lax",httpOnly:!1}):Kt.remove(r))};if(!e)throw Error(`clientStorageType is set to '${t}' but no clienStorage has been given`);if(t==="react-native")return(r,n)=>{var i,s;return n?(i=e.setItem)==null?void 0:i.call(e,r,n):(s=e.removeItem)==null?void 0:s.call(e,r)};if(t==="capacitor")return(r,n)=>{var i,s;return n?(i=e.set)==null?void 0:i.call(e,{key:r,value:n}):(s=e.remove)==null?void 0:s.call(e,{key:r})};if(t==="expo-secure-storage")return async(r,n)=>{var i,s;return n?(i=e.setItemAsync)==null?void 0:i.call(e,r,n):(s=e.deleteItemAsync)==null?void 0:s.call(e,r)};if(t==="custom"){if(!e.removeItem)throw Error("clientStorageType is set to 'custom' but clientStorage is missing a removeItem property");if(e.setItem)return(r,n)=>{var i,s;return n?(i=e.setItem)==null?void 0:i.call(e,r,n):(s=e.removeItem)==null?void 0:s.call(e,r)};if(e.setItemAsync)return async(r,n)=>{var i,s;return n?(i=e.setItemAsync)==null?void 0:i.call(e,r,n):(s=e.removeItem)==null?void 0:s.call(e,r)};throw Error("clientStorageType is set to 'custom' but clientStorage is missing setItem or setItemAsync property")}throw Error(`Unknown storage type: ${t}`)},Je=t=>!t||!t.accessToken.value||!t.accessToken.expiresAt||!t.user?null:{accessToken:t.accessToken.value,accessTokenExpiresIn:(t.accessToken.expiresAt.getTime()-Date.now())/1e3,refreshToken:t.refreshToken.value,user:t.user},de=({accessToken:t,refreshToken:e,isError:r,user:n,error:i})=>r?{session:null,error:i}:n&&t?{session:{accessToken:t,accessTokenExpiresIn:0,refreshToken:e,user:n},error:null}:{session:null,error:null},Ye=()=>typeof window!="undefined";let yn=globalThis.fetch;typeof EdgeRuntime!="string"&&(yn=Yt().fetch);const mn=async(t,e,{token:r,body:n}={})=>{const i={"Content-Type":"application/json",Accept:"*/*"};r&&(i.Authorization=`Bearer ${r}`);const s={method:e,headers:i};n&&(s.body=JSON.stringify(n));try{const o=await yn(t,s);if(!o.ok){const u=await o.json();return Promise.reject({error:u})}try{return{data:await o.json(),error:null}}catch{return console.warn(`Unexpected response: can't parse the response of the server at ${t}`),{data:"OK",error:null}}}catch{const o={message:"Network Error",status:Qt,error:"network"};return Promise.reject({error:o})}},te=async(t,e,r)=>mn(t,"POST",{token:r,body:e}),gn=(t,e)=>mn(t,"GET",{token:e}),At=(t,e)=>{const r=e&&Object.entries(e).map(([n,i])=>{const s=Array.isArray(i)?i.join(","):typeof i=="object"?JSON.stringify(i):i;return`${n}=${encodeURIComponent(s)}`}).join("&");return r?`${t}?${r}`:t},re=(t,e)=>{if(!(e!=null&&e.redirectTo))return e;const{redirectTo:r,...n}=e;if(!t)return r.startsWith("/")?n:e;const i=new URL(t),s=Object.fromEntries(new URLSearchParams(i.search)),o=new URL(r.startsWith("/")?i.origin+r:r),u=new URLSearchParams(o.search);let c=Object.fromEntries(u);r.startsWith("/")&&(c={...s,...c});let f=i.pathname;return o.pathname.length>1&&(f+=o.pathname.slice(1)),{...n,redirectTo:At(o.origin+f,c)}};function Xe(t,e){var r;if(!e){if(typeof window=="undefined")return;e=((r=window.location)==null?void 0:r.href)||""}t=t.replace(/[\[\]]/g,"\\$&");const n=new RegExp("[?&#]"+t+"(=([^&#]*)|&|#|$)"),i=n.exec(e);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null}function nr(t){var e;if(typeof window=="undefined")return;const r=window==null?void 0:window.location;if(r&&r){const n=new URLSearchParams(r.search),i=new URLSearchParams((e=r.hash)==null?void 0:e.slice(1));n.delete(t),i.delete(t);let s=window.location.pathname;Array.from(n).length&&(s+=`?${n.toString()}`),Array.from(i).length&&(s+=`#${i.toString()}`),window.history.pushState({},"",s)}}const fe=t=>!!t&&typeof t=="string"&&!!String(t).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),kt=t=>!!t&&typeof t=="string"&&t.length>=Wr,ir=t=>!!t&&typeof t=="string",wn=t=>t&&typeof t=="string"&&t.match(/^mfaTotp:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),En=({backendUrl:t,clientUrl:e,clientStorageType:r="web",clientStorage:n,refreshIntervalTime:i,autoRefreshToken:s=!0,autoSignIn:o=!0})=>{const u=pn(r,n),c=vn(r,n),f=async(a,d,l)=>(await te(`${t}${a}`,d,l)).data;return ve({schema:{context:{},events:{},services:{}},tsTypes:{},context:Tt,predictableActionArguments:!0,id:"nhost",type:"parallel",states:{authentication:{initial:"starting",on:{SESSION_UPDATE:[{cond:"hasSession",actions:["saveSession","resetTimer","reportTokenChanged"],target:".signedIn"}]},states:{starting:{tags:["loading"],always:{cond:"isSignedIn",target:"signedIn"},invoke:{id:"importRefreshToken",src:"importRefreshToken",onDone:[{cond:"hasSession",actions:["saveSession","reportTokenChanged"],target:"signedIn"},{target:"signedOut"}],onError:[{cond:"shouldRetryImportToken",actions:"incrementTokenImportAttempts",target:"retryTokenImport"},{actions:["saveAuthenticationError"],target:"signedOut"}]}},retryTokenImport:{tags:["loading"],after:{RETRY_IMPORT_TOKEN_DELAY:"starting"}},signedOut:{initial:"noErrors",entry:"reportSignedOut",states:{noErrors:{},success:{},needsSmsOtp:{},needsMfa:{},failed:{},signingOut:{entry:["clearContextExceptRefreshToken"],exit:["destroyRefreshToken","reportTokenChanged"],invoke:{src:"signout",id:"signingOut",onDone:{target:"success"},onError:{target:"failed",actions:["saveAuthenticationError"]}}}},on:{SIGNIN_PASSWORD:"authenticating.password",SIGNIN_ANONYMOUS:"authenticating.anonymous",SIGNIN_SECURITY_KEY_EMAIL:"authenticating.securityKeyEmail",SIGNIN_MFA_TOTP:"authenticating.mfa.totp",SIGNIN_PAT:"authenticating.pat"}},authenticating:{entry:"resetErrors",states:{password:{invoke:{src:"signInPassword",id:"authenticateUserWithPassword",onDone:[{cond:"hasMfaTicket",actions:["saveMfaTicket"],target:"#nhost.authentication.signedOut.needsMfa"},{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"}],onError:[{cond:"unverified",target:["#nhost.authentication.signedOut","#nhost.registration.incomplete.needsEmailVerification"]},{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}]}},pat:{invoke:{src:"signInPAT",id:"authenticateWithPAT",onDone:{actions:["savePATSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}}},anonymous:{invoke:{src:"signInAnonymous",id:"authenticateAnonymously",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}}},mfa:{states:{totp:{invoke:{src:"signInMfaTotp",id:"signInMfaTotp",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:["saveAuthenticationError"],target:"#nhost.authentication.signedOut.failed"}}}}},securityKeyEmail:{invoke:{src:"signInSecurityKeyEmail",id:"authenticateUserWithSecurityKey",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:[{cond:"unverified",target:["#nhost.authentication.signedOut","#nhost.registration.incomplete.needsEmailVerification"]},{actions:"saveAuthenticationError",target:"#nhost.authentication.signedOut.failed"}]}}}},signedIn:{type:"parallel",entry:["reportSignedIn","cleanUrl","broadcastToken","resetErrors"],on:{SIGNOUT:"signedOut.signingOut"},states:{refreshTimer:{id:"timer",initial:"idle",states:{disabled:{type:"final"},stopped:{always:{cond:"noToken",target:"idle"}},idle:{always:[{cond:"isAutoRefreshDisabled",target:"disabled"},{cond:"isRefreshTokenPAT",target:"disabled"},{cond:"hasRefreshToken",target:"running"}]},running:{initial:"pending",entry:"resetTimer",states:{pending:{after:{1e3:{internal:!1,target:"pending"}},always:{cond:"refreshTimerShouldRefresh",target:"refreshing"}},refreshing:{invoke:{src:"refreshToken",id:"refreshToken",onDone:{actions:["saveSession","resetTimer","reportTokenChanged"],target:"pending"},onError:[{actions:"saveRefreshAttempt",target:"pending"}]}}}}}}}}}},token:{initial:"idle",states:{idle:{on:{TRY_TOKEN:"running"},initial:"noErrors",states:{noErrors:{},error:{}}},running:{invoke:{src:"refreshToken",id:"authenticateWithToken",onDone:{actions:["saveSession","reportTokenChanged"],target:["#nhost.authentication.signedIn","idle.noErrors"]},onError:[{cond:"isSignedIn",target:"idle.error"},{actions:"saveAuthenticationError",target:["#nhost.authentication.signedOut.failed","idle.error"]}]}}}},registration:{initial:"incomplete",on:{SIGNED_IN:[{cond:"isAnonymous",target:".incomplete"},".complete"]},states:{incomplete:{on:{SIGNUP_EMAIL_PASSWORD:"emailPassword",SIGNUP_SECURITY_KEY:"securityKey",PASSWORDLESS_EMAIL:"passwordlessEmail",PASSWORDLESS_SMS:"passwordlessSms",PASSWORDLESS_SMS_OTP:"passwordlessSmsOtp"},initial:"noErrors",states:{noErrors:{},needsEmailVerification:{},needsOtp:{},failed:{}}},emailPassword:{entry:["resetErrors"],invoke:{src:"signUpEmailPassword",id:"signUpEmailPassword",onDone:[{cond:"hasSession",actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsEmailVerification"]}],onError:[{cond:"unverified",target:"incomplete.needsEmailVerification"},{actions:"saveRegistrationError",target:"incomplete.failed"}]}},securityKey:{entry:["resetErrors"],invoke:{src:"signUpSecurityKey",id:"signUpSecurityKey",onDone:[{cond:"hasSession",actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsEmailVerification"]}],onError:[{cond:"unverified",target:"incomplete.needsEmailVerification"},{actions:"saveRegistrationError",target:"incomplete.failed"}]}},passwordlessEmail:{entry:["resetErrors"],invoke:{src:"passwordlessEmail",id:"passwordlessEmail",onDone:{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsEmailVerification"]},onError:{actions:"saveRegistrationError",target:"incomplete.failed"}}},passwordlessSms:{entry:["resetErrors"],invoke:{src:"passwordlessSms",id:"passwordlessSms",onDone:{actions:"clearContext",target:["#nhost.authentication.signedOut","incomplete.needsOtp"]},onError:{actions:"saveRegistrationError",target:"incomplete.failed"}}},passwordlessSmsOtp:{entry:["resetErrors"],invoke:{src:"passwordlessSmsOtp",id:"passwordlessSmsOtp",onDone:{actions:["saveSession","reportTokenChanged"],target:"#nhost.authentication.signedIn"},onError:{actions:"saveRegistrationError",target:"incomplete.failed"}}},complete:{on:{SIGNED_OUT:"incomplete"}}}}}},{actions:{reportSignedIn:X("SIGNED_IN"),reportSignedOut:X("SIGNED_OUT"),reportTokenChanged:X("TOKEN_CHANGED"),incrementTokenImportAttempts:R({importTokenAttempts:({importTokenAttempts:a})=>a+1}),clearContext:R(()=>(c(we,null),c(Ue,null),c(We,null),{...Tt})),clearContextExceptRefreshToken:R(({refreshToken:{value:a}})=>(c(we,null),{...Tt,refreshToken:{value:a}})),saveSession:R({user:(a,{data:d})=>{var l;return((l=d==null?void 0:d.session)==null?void 0:l.user)||null},accessToken:(a,{data:d})=>{if(d.session){const{accessTokenExpiresIn:l,accessToken:h}=d.session,v=new Date(Date.now()+l*1e3);return c(we,v.toISOString()),{value:h,expiresAt:v,expiresInSeconds:l}}return c(we,null),{value:null,expiresAt:null,expiresInSeconds:null}},refreshToken:(a,{data:d})=>{var l,h;const v=((l=d.session)==null?void 0:l.refreshToken)||null,y=((h=d.session)==null?void 0:h.refreshTokenId)||null;return v&&c(Ue,v),y&&c(We,y),{value:v}}}),savePATSession:R({user:(a,{data:d})=>{var l;return((l=d==null?void 0:d.session)==null?void 0:l.user)||null},accessToken:(a,{data:d})=>{if(d.session){const{accessTokenExpiresIn:l,accessToken:h}=d.session,v=new Date(Date.now()+l*1e3);return c(we,v.toISOString()),{value:h,expiresAt:v,expiresInSeconds:l}}return c(we,null),{value:null,expiresAt:null,expiresInSeconds:null}},refreshToken:(a,{data:d})=>{var l,h;const v=((l=d.session)==null?void 0:l.refreshToken)||null,y=((h=d.session)==null?void 0:h.refreshTokenId)||null;return v&&c(Ue,v),y&&c(We,y),{value:v,isPAT:!0}}}),saveMfaTicket:R({mfa:(a,d)=>{var l;return(l=d.data)==null?void 0:l.mfa}}),resetTimer:R({refreshTimer:a=>({startedAt:new Date,attempts:0,lastAttempt:null})}),saveRefreshAttempt:R({refreshTimer:(a,d)=>({startedAt:a.refreshTimer.startedAt,attempts:a.refreshTimer.attempts+1,lastAttempt:new Date})}),saveAuthenticationError:R({errors:({errors:a},{data:{error:d}})=>({...a,authentication:d})}),resetErrors:R({errors:a=>({}),importTokenAttempts:a=>0}),saveRegistrationError:R({errors:({errors:a},{data:{error:d}})=>({...a,registration:d})}),destroyRefreshToken:R({refreshToken:a=>(c(Ue,null),c(We,null),{value:null})}),cleanUrl:()=>{o&&Xe("refreshToken")&&(nr("refreshToken"),nr("type"))},broadcastToken:a=>{if(o)try{new BroadcastChannel("nhost").postMessage(a.refreshToken.value)}catch{}}},guards:{isAnonymous:(a,d)=>{var l;return!!((l=a.user)!=null&&l.isAnonymous)},isSignedIn:a=>!!a.user&&!!a.accessToken.value,noToken:a=>!a.refreshToken.value,isRefreshTokenPAT:a=>{var d;return!!((d=a.refreshToken)!=null&&d.isPAT)},hasRefreshToken:a=>!!a.refreshToken.value,isAutoRefreshDisabled:()=>!s,refreshTimerShouldRefresh:a=>{const{expiresAt:d}=a.accessToken;if(!d)return!1;if(d.getTime()<Date.now())return!0;if(a.refreshTimer.lastAttempt)return a.refreshTimer.attempts>Xt?!1:Date.now()-a.refreshTimer.lastAttempt.getTime()>Math.pow(2,a.refreshTimer.attempts-1)*5e3;if(i&&Date.now()-a.refreshTimer.startedAt.getTime()>i*1e3)return!0;const l=a.accessToken.expiresInSeconds;return l?d.getTime()-Date.now()-1e3*Math.min(Jr,l*.5)<=0:!1},shouldRetryImportToken:(a,d)=>a.importTokenAttempts<Xt&&(d.data.error.status===Qt||d.data.error.status>=500),unverified:(a,{data:{error:d}})=>d.status===401&&(d.message==="Email is not verified"||d.error==="unverified-user"),hasSession:(a,d)=>{var l;return!!((l=d.data)!=null&&l.session)},hasMfaTicket:(a,d)=>{var l;return!!((l=d.data)!=null&&l.mfa)}},services:{signInPassword:(a,{email:d,password:l})=>fe(d)?kt(l)?f("/signin/email-password",{email:d,password:l}):Promise.reject({error:Et}):Promise.reject({error:ue}),signInPAT:(a,{pat:d})=>f("/signin/pat",{personalAccessToken:d}),passwordlessSms:(a,{phoneNumber:d,options:l})=>{var h;return ir(d)?(h=a.user)!=null&&h.isAnonymous?(console.warn("Deanonymisation from a phone number is not yet implemented in hasura-auth"),f("/user/deanonymize",{signInMethod:"passwordless",connection:"sms",phoneNumber:d,options:re(e,l)},a.accessToken.value)):f("/signin/passwordless/sms",{phoneNumber:d,options:re(e,l)}):Promise.reject({error:er})},passwordlessSmsOtp:(a,{phoneNumber:d,otp:l})=>ir(d)?f("/signin/passwordless/sms/otp",{phoneNumber:d,otp:l}):Promise.reject({error:er}),passwordlessEmail:(a,{email:d,options:l})=>{var h;return fe(d)?(h=a.user)!=null&&h.isAnonymous?f("/user/deanonymize",{signInMethod:"passwordless",connection:"email",email:d,options:re(e,l)},a.accessToken.value):f("/signin/passwordless/email",{email:d,options:re(e,l)}):Promise.reject({error:ue})},signInAnonymous:a=>f("/signin/anonymous"),signInMfaTotp:(a,d)=>{var l;const h=d.ticket||((l=a.mfa)==null?void 0:l.ticket);return h?wn(h)?f("/signin/mfa/totp",{ticket:h,otp:d.otp}):Promise.reject({error:Qr}):Promise.reject({error:Zr})},signInSecurityKeyEmail:async(a,{email:d})=>{if(!fe(d))throw new Ce(ue);const l=await f("/signin/webauthn",{email:d});let h;try{h=await hn(l)}catch(v){throw new Ce(v)}return f("/signin/webauthn/verify",{email:d,credential:h})},refreshToken:async(a,d)=>{const l=d.type==="TRY_TOKEN"?d.token:a.refreshToken.value;return{session:await f("/token",{refreshToken:l}),error:null}},signout:(a,d)=>f("/signout",{refreshToken:a.refreshToken.value,all:!!d.all}),signUpEmailPassword:async(a,{email:d,password:l,options:h})=>{var v;return fe(d)?kt(l)?(v=a.user)!=null&&v.isAnonymous?f("/user/deanonymize",{signInMethod:"email-password",email:d,password:l,options:re(e,h)},a.accessToken.value):f("/signup/email-password",{email:d,password:l,options:re(e,h)}):Promise.reject({error:Et}):Promise.reject({error:ue})},signUpSecurityKey:async(a,{email:d,options:l})=>{if(!fe(d))return Promise.reject({error:ue});const h=l==null?void 0:l.nickname;h&&delete l.nickname;const v=await f("/signup/webauthn",{email:d,options:l});let y;try{y=await fn(v)}catch(S){throw new Ce(S)}return f("/signup/webauthn/verify",{credential:y,options:{redirectTo:l==null?void 0:l.redirectTo,nickname:h}})},importRefreshToken:async a=>{if(a.user&&a.refreshToken.value&&a.accessToken.value&&a.accessToken.expiresAt)return{session:{accessToken:a.accessToken.value,accessTokenExpiresIn:a.accessToken.expiresAt.getTime()-Date.now(),refreshToken:a.refreshToken.value,user:a.user},error:null};let d=null;if(o){const h=Xe("refreshToken")||null;if(h)try{return{session:await f("/token",{refreshToken:h}),error:null}}catch(v){d=v.error}else{const v=Xe("error"),y=Xe("errorDescription");if(v&&y!=="social user already exists")return Promise.reject({session:null,error:{status:ie,error:v,message:y||v}})}}const l=await u(Ue);if(l)try{return{session:await f("/token",{refreshToken:l}),error:null}}catch(h){d=h.error}return d?Promise.reject({error:d,session:null}):{error:null,session:null}}},delays:{RETRY_IMPORT_TOKEN_DELAY:({importTokenAttempts:a})=>Math.pow(2,a-1)*5e3}})},Tn=({backendUrl:t,clientUrl:e,interpreter:r})=>ve({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"changeEmail",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidEmail",actions:"saveInvalidEmailError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"requestChange",id:"requestChange",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidEmailError:R({error:n=>ue}),saveRequestError:R({error:(n,{data:{error:i}})=>i}),reportError:X(n=>({type:"ERROR",error:n.error})),reportSuccess:X("SUCCESS")},guards:{invalidEmail:(n,{email:i})=>!fe(i)},services:{requestChange:async(n,{email:i,options:s})=>(await te(`${t}/user/email/change`,{newEmail:i,options:re(e,s)},r==null?void 0:r.getSnapshot().context.accessToken.value)).data}}),Sn=({backendUrl:t,interpreter:e})=>ve({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"changePassword",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidPassword",actions:"saveInvalidPasswordError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"requestChange",id:"requestChange",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidPasswordError:R({error:r=>Et}),saveRequestError:R({error:(r,{data:{error:n}})=>n}),reportError:X(r=>({type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS")},guards:{invalidPassword:(r,{password:n})=>!kt(n)},services:{requestChange:(r,{password:n,ticket:i})=>te(`${t}/user/password`,{newPassword:n,ticket:i},e==null?void 0:e.getSnapshot().context.accessToken.value)}}),ys=({backendUrl:t,interpreter:e})=>ve({schema:{context:{},events:{}},tsTypes:{},predictableActionArguments:!0,id:"enableMfa",initial:"idle",context:{error:null,imageUrl:null,secret:null},states:{idle:{initial:"initial",on:{GENERATE:"generating"},states:{initial:{},error:{}}},generating:{invoke:{src:"generate",id:"generate",onDone:{target:"generated",actions:["reportGeneratedSuccess","saveGeneration"]},onError:{actions:["saveError","reportGeneratedError"],target:"idle.error"}}},generated:{initial:"idle",states:{idle:{initial:"idle",on:{ACTIVATE:[{cond:"invalidMfaType",actions:"saveInvalidMfaTypeError",target:".error"},{cond:"invalidMfaCode",actions:"saveInvalidMfaCodeError",target:".error"},{target:"activating"}]},states:{idle:{},error:{}}},activating:{invoke:{src:"activate",id:"activate",onDone:{target:"activated",actions:"reportSuccess"},onError:{actions:["saveError","reportError"],target:"idle.error"}}},activated:{type:"final"}}}}},{actions:{saveInvalidMfaTypeError:R({error:r=>Yr}),saveInvalidMfaCodeError:R({error:r=>Xr}),saveError:R({error:(r,{data:{error:n}})=>n}),saveGeneration:R({imageUrl:(r,{data:{imageUrl:n}})=>n,secret:(r,{data:{totpSecret:n}})=>n}),reportError:X((r,n)=>(console.log("REPORT",r,n),{type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS"),reportGeneratedSuccess:X("GENERATED"),reportGeneratedError:X(r=>({type:"GENERATED_ERROR",error:r.error}))},guards:{invalidMfaCode:(r,{code:n})=>!n,invalidMfaType:(r,{activeMfaType:n})=>!n||n!=="totp"},services:{generate:async r=>{const{data:n}=await gn(`${t}/mfa/totp/generate`,e==null?void 0:e.getSnapshot().context.accessToken.value);return n},activate:(r,{code:n,activeMfaType:i})=>te(`${t}/user/mfa`,{code:n,activeMfaType:i},e==null?void 0:e.getSnapshot().context.accessToken.value)}}),bn=({backendUrl:t,clientUrl:e})=>ve({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"changePassword",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidEmail",actions:"saveInvalidEmailError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"requestChange",id:"requestChange",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidEmailError:R({error:r=>ue}),saveRequestError:R({error:(r,{data:{error:n}})=>n}),reportError:X(r=>({type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS")},guards:{invalidEmail:(r,{email:n})=>!fe(n)},services:{requestChange:(r,{email:n,options:i})=>te(`${t}/user/password/reset`,{email:n,options:re(e,i)})}}),An=({backendUrl:t,clientUrl:e})=>ve({schema:{context:{},events:{},services:{}},tsTypes:{},predictableActionArguments:!0,id:"sendVerificationEmail",initial:"idle",context:{error:null},states:{idle:{on:{REQUEST:[{cond:"invalidEmail",actions:"saveInvalidEmailError",target:".error"},{target:"requesting"}]},initial:"initial",states:{initial:{},success:{},error:{}}},requesting:{invoke:{src:"request",id:"request",onDone:{target:"idle.success",actions:"reportSuccess"},onError:{actions:["saveRequestError","reportError"],target:"idle.error"}}}}},{actions:{saveInvalidEmailError:R({error:r=>ue}),saveRequestError:R({error:(r,{data:{error:n}})=>n}),reportError:X(r=>({type:"ERROR",error:r.error})),reportSuccess:X("SUCCESS")},guards:{invalidEmail:(r,{email:n})=>!fe(n)},services:{request:async(r,{email:n,options:i})=>(await te(`${t}/user/email/send-verification-email`,{email:n,options:re(e,i)})).data}});class sr{constructor({clientStorageType:e="web",autoSignIn:r=!0,autoRefreshToken:n=!0,start:i=!0,backendUrl:s,clientUrl:o,devTools:u,...c}){if(this._started=!1,this._subscriptionsQueue=new Set,this._subscriptions=new Set,this.backendUrl=s,this.clientUrl=o,this._machine=En({...c,backendUrl:s,clientUrl:o,clientStorageType:e,autoSignIn:r,autoRefreshToken:n}),i&&this.start({devTools:u}),typeof window!="undefined"&&r)try{this._channel=new BroadcastChannel("nhost"),this._channel.addEventListener("message",f=>{var a;const d=(a=this.interpreter)==null?void 0:a.getSnapshot().context.refreshToken.value;this.interpreter&&f.data!==d&&this.interpreter.send("TRY_TOKEN",{token:f.data})})}catch{}}start({devTools:e=!1,initialSession:r,interpreter:n}={}){var i,s;const o={...this.machine.context};r&&(o.user=r.user,o.refreshToken.value=(i=r.refreshToken)!=null?i:null,o.accessToken.value=(s=r.accessToken)!=null?s:null,o.accessToken.expiresAt=new Date(Date.now()+r.accessTokenExpiresIn*1e3));const u=this.machine.withContext(o);this._interpreter||(this._interpreter=n||_e(u,{devTools:e})),(!this._started||typeof window=="undefined")&&(this._interpreter.initialized&&(this._interpreter.stop(),this._subscriptions.forEach(c=>c())),this._interpreter.start(u.initialState),this._subscriptionsQueue.forEach(c=>c(this))),this._started=!0}get machine(){return this._machine}get interpreter(){return this._interpreter}get started(){return this._started}subscribe(e){if(this.started){const r=e(this);return this._subscriptions.add(r),r}else return this._subscriptionsQueue.add(e),()=>{console.log("onTokenChanged was added before the interpreter started. Cannot unsubscribe listener.")}}}class kn extends sr{constructor({...e}){super({...e,autoSignIn:Ye()&&e.autoSignIn,autoRefreshToken:Ye()&&e.autoRefreshToken,clientStorageType:"cookie"})}}const ms=kn,On=async({backendUrl:t,interpreter:e},r)=>{try{const{data:n}=await te(`${t}/user/webauthn/add`,{},e==null?void 0:e.getSnapshot().context.accessToken.value);let i;try{i=await fn(n)}catch(o){throw new Ce(o)}const{data:s}=await te(`${t}/user/webauthn/verify`,{credential:i,nickname:r},e==null?void 0:e.getSnapshot().context.accessToken.value);return{key:s,isError:!1,error:null,isSuccess:!0}}catch(n){const{error:i}=n;return{isError:!0,error:i,isSuccess:!1}}},Rn=async(t,e,r)=>new Promise(n=>{t.send("REQUEST",{email:e,options:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,needsEmailVerification:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,needsEmailVerification:!0})})}),In=async(t,e,r)=>new Promise(n=>{t.send("REQUEST",{password:e,ticket:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,isSuccess:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,isSuccess:!0})})}),gs=t=>new Promise(e=>{t.send("GENERATE"),t.onTransition(r=>{r.matches("generated")?e({error:null,isError:!1,isGenerated:!0,qrCodeDataUrl:r.context.imageUrl||""}):r.matches({idle:"error"})&&e({error:r.context.error||null,isError:!0,isGenerated:!1,qrCodeDataUrl:""})})}),ws=(t,e)=>new Promise(r=>{t.send("ACTIVATE",{activeMfaType:"totp",code:e}),t.onTransition(n=>{n.matches({generated:"activated"})?r({error:null,isActivated:!0,isError:!1}):n.matches({generated:{idle:"error"}})&&r({error:n.context.error,isActivated:!1,isError:!0})})}),_n=async(t,e,r)=>new Promise(n=>{t.send("REQUEST",{email:e,options:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,isSent:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,isSent:!0})})}),xn=(t,e,r)=>new Promise(n=>{t.send("REQUEST",{email:e,options:r}),t.onTransition(i=>{i.matches({idle:"error"})?n({error:i.context.error,isError:!0,isSent:!1}):i.matches({idle:"success"})&&n({error:null,isError:!1,isSent:!0})})}),Pn=t=>new Promise(e=>{const{changed:r}=t.send("SIGNIN_ANONYMOUS");r||e({isSuccess:!1,isError:!0,error:se,user:null,accessToken:null,refreshToken:null}),t.onTransition(n=>{n.matches({authentication:"signedIn"})&&e({isSuccess:!0,isError:!1,error:null,user:n.context.user,accessToken:n.context.accessToken.value,refreshToken:n.context.refreshToken.value}),n.matches({authentication:{signedOut:"failed"}})&&e({isSuccess:!1,isError:!0,error:n.context.errors.authentication||null,user:null,accessToken:null,refreshToken:null})})}),Nn=(t,e,r)=>new Promise(n=>{const{changed:i,context:s}=t.send("SIGNIN_PASSWORD",{email:e,password:r});if(!i)return n({accessToken:s.accessToken.value,refreshToken:s.refreshToken.value,error:se,isError:!0,isSuccess:!1,needsEmailVerification:!1,needsMfaOtp:!1,mfa:null,user:s.user});t.onTransition(o=>{o.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?n({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,needsMfaOtp:!1,mfa:null,user:null}):o.matches({authentication:{signedOut:"needsMfa"}})?n({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!1,needsMfaOtp:!0,mfa:o.context.mfa,user:null}):o.matches({authentication:{signedOut:"failed"}})?n({accessToken:null,refreshToken:null,error:o.context.errors.authentication||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,needsMfaOtp:!1,mfa:null,user:null}):o.matches({authentication:"signedIn"})&&n({accessToken:o.context.accessToken.value,refreshToken:o.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,needsMfaOtp:!1,mfa:null,user:o.context.user})})}),or=(t,e,r)=>new Promise(n=>{const{changed:i}=t.send("PASSWORDLESS_EMAIL",{email:e,options:r});if(!i)return n({error:se,isError:!0,isSuccess:!1});t.onTransition(s=>{s.matches("registration.incomplete.failed")?n({error:s.context.errors.registration||null,isError:!0,isSuccess:!1}):s.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})&&n({error:null,isError:!1,isSuccess:!0})})}),Un=(t,e)=>new Promise(r=>{const{changed:n,context:i}=t.send({type:"SIGNIN_SECURITY_KEY_EMAIL",email:e});if(!n)return r({accessToken:i.accessToken.value,refreshToken:i.refreshToken.value,error:se,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:i.user});t.onTransition(s=>{s.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?r({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,user:null}):s.matches({authentication:{signedOut:"failed"}})?r({accessToken:null,refreshToken:null,error:s.context.errors.authentication||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:null}):s.matches({authentication:"signedIn"})&&r({accessToken:s.context.accessToken.value,refreshToken:s.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,user:s.context.user})})}),Dn=(t,e)=>new Promise(async r=>{var n,i;const s=(n=t.interpreter)==null?void 0:n.getSnapshot(),o=s==null?void 0:s.context.accessToken.value,{data:u}=await te(`${t.backendUrl}/elevate/webauthn`,{email:e},o);let c;try{c=await hn(u)}catch(f){throw new Ce(f)}try{const{data:{session:f},error:a}=await te(`${t.backendUrl}/elevate/webauthn/verify`,{email:e,credential:c},o);f&&!a&&((i=t.interpreter)==null||i.send({type:"SESSION_UPDATE",data:{session:f}}),r({error:null,isError:!1,isSuccess:!0,elevated:!0}))}catch(f){const{error:a}=f;r({error:a,isError:!0,isSuccess:!1,elevated:!1})}}),Cn=(t,e,r)=>new Promise(n=>{const{changed:i,context:s}=t.send("SIGNIN_MFA_TOTP",{otp:e,ticket:r});if(!i)return n({accessToken:s.accessToken.value,refreshToken:s.refreshToken.value,error:se,isError:!0,isSuccess:!1,user:s.user});t.onTransition(o=>{o.matches({authentication:{signedOut:"failed"}})?n({accessToken:null,refreshToken:null,error:o.context.errors.authentication||null,isError:!0,isSuccess:!1,user:null}):o.matches({authentication:"signedIn"})&&n({accessToken:o.context.accessToken.value,refreshToken:o.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,user:o.context.user})})}),Mn=(t,e)=>new Promise(r=>{const{changed:n}=t.send("SIGNIN_PAT",{pat:e});n||r({isSuccess:!1,isError:!0,error:se,user:null,accessToken:null,refreshToken:null}),t.onTransition(i=>{if(i.matches({authentication:{signedOut:"failed"}}))return r({accessToken:null,refreshToken:null,user:null,error:i.context.errors.authentication||null,isError:!0,isSuccess:!1});if(i.matches({authentication:"signedIn"}))return r({accessToken:i.context.accessToken.value,refreshToken:i.context.refreshToken.value,user:i.context.user,error:null,isError:!1,isSuccess:!0})})}),ar=(t,e,r)=>new Promise(n=>{const{changed:i}=t.send("PASSWORDLESS_SMS",{phoneNumber:e,options:r});if(!i)return n({error:se,isError:!0,isSuccess:!1,needsOtp:!1});t.onTransition(s=>{s.matches("registration.incomplete.needsOtp")?n({error:null,isError:!1,isSuccess:!1,needsOtp:!0}):s.matches("registration.incomplete.failed")&&n({error:s.context.errors.authentication||null,isError:!0,isSuccess:!1,needsOtp:!1})})}),Ln=(t,e,r)=>new Promise(n=>{const{changed:i}=t.send({type:"PASSWORDLESS_SMS_OTP",phoneNumber:e,otp:r});if(!i)return n({error:se,isError:!0,isSuccess:!1,user:null,accessToken:null,refreshToken:null});t.onTransition(s=>{s.matches({authentication:"signedIn"})?n({error:null,isError:!1,isSuccess:!0,user:s.context.user,accessToken:s.context.accessToken.value,refreshToken:s.context.refreshToken.value}):s.matches({registration:{incomplete:"failed"}})&&n({error:s.context.errors.authentication||null,isError:!0,isSuccess:!1,user:null,accessToken:null,refreshToken:null})})}),jn=async(t,e)=>new Promise(r=>{const{event:n}=t.send("SIGNOUT",{all:e});if(n.type!=="SIGNED_OUT")return r({isSuccess:!1,isError:!0,error:rn});t.onTransition(i=>{i.matches({authentication:{signedOut:"success"}})?r({isSuccess:!0,isError:!1,error:null}):i.matches("authentication.signedOut.failed")&&r({isSuccess:!1,isError:!0,error:i.context.errors.signout||null})})}),cr=(t,e,r,n)=>new Promise(i=>{const{changed:s,context:o}=t.send("SIGNUP_EMAIL_PASSWORD",{email:e,password:r,options:n});if(!s)return i({error:se,accessToken:o.accessToken.value,refreshToken:o.refreshToken.value,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:o.user});t.onTransition(u=>{u.matches("registration.incomplete.failed")?i({accessToken:null,refreshToken:null,error:u.context.errors.registration||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:null}):u.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?i({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,user:null}):u.matches({authentication:"signedIn",registration:"complete"})&&i({accessToken:u.context.accessToken.value,refreshToken:u.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,user:u.context.user})})}),$n=(t,e,r)=>new Promise(n=>{const{changed:i,context:s}=t.send("SIGNUP_SECURITY_KEY",{email:e,options:r});if(!i)return n({error:se,accessToken:s.accessToken.value,refreshToken:s.refreshToken.value,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:s.user});t.onTransition(o=>{o.matches("registration.incomplete.failed")?n({accessToken:null,refreshToken:null,error:o.context.errors.registration||null,isError:!0,isSuccess:!1,needsEmailVerification:!1,user:null}):o.matches({authentication:{signedOut:"noErrors"},registration:{incomplete:"needsEmailVerification"}})?n({accessToken:null,refreshToken:null,error:null,isError:!1,isSuccess:!1,needsEmailVerification:!0,user:null}):o.matches({authentication:"signedIn",registration:"complete"})&&n({accessToken:o.context.accessToken.value,refreshToken:o.context.refreshToken.value,error:null,isError:!1,isSuccess:!0,needsEmailVerification:!1,user:o.context.user})})}),Es=async({backendUrl:t,interpreter:e},{expiresAt:r,metadata:n})=>{try{const{data:i}=await te(`${t}/pat`,{expiresAt:r.toUTCString(),metadata:n},e==null?void 0:e.getSnapshot().context.accessToken.value);return{data:i?{id:i.id||null,personalAccessToken:i.personalAccessToken||null}:null,isError:!1,error:null,isSuccess:!0}}catch(i){const{error:s}=i;return{isError:!0,error:s,isSuccess:!1,data:null}}};class Fn{constructor({url:e,autoRefreshToken:r=!0,autoSignIn:n=!0,clientStorage:i,clientStorageType:s,refreshIntervalTime:o,start:u=!0}){var c;this.url=e,this._client=new sr({backendUrl:e,clientUrl:typeof window!="undefined"&&((c=window.location)==null?void 0:c.origin)||"",autoRefreshToken:r,autoSignIn:n,start:u,clientStorage:i,clientStorageType:s,refreshIntervalTime:o})}async signUp(e){const r=await this.waitUntilReady(),{email:n,options:i}=e;return"securityKey"in e?de(await $n(r,n,i)):de(await cr(r,n,e.password,i))}async connectProvider(e){const r=(await this.waitUntilReady()).getSnapshot().context.accessToken.value,{provider:n,options:i}=e,s=At(`${this._client.backendUrl}/signin/provider/${n}`,re(this._client.clientUrl,{...i,connect:r}));return Ye()&&(window.location.href=s),{providerUrl:s}}async signIn(e){const r=await this.waitUntilReady();if(!e){const n=await Pn(r);return{...de(n),mfa:null}}if("provider"in e){const{provider:n,options:i}=e,s=At(`${this._client.backendUrl}/signin/provider/${n}`,re(this._client.clientUrl,i));return Ye()&&(window.location.href=s),{providerUrl:s,provider:n,session:null,mfa:null,error:null}}if("email"in e&&"password"in e){const n=await Nn(r,e.email,e.password);return n.needsEmailVerification?{session:null,mfa:null,error:nn}:n.needsMfaOtp?{session:null,mfa:n.mfa,error:null}:{...de(n),mfa:null}}if("email"in e&&"securityKey"in e){if(e.securityKey!==!0)throw Error("securityKey must be true");const n=await Un(r,e.email);return{...de(n),mfa:null}}if("email"in e){const{email:n,options:i}=e,{error:s}=await or(r,n,i);return{session:null,mfa:null,error:s}}if("phoneNumber"in e&&"otp"in e){const n=await Ln(r,e.phoneNumber,e.otp);return{...de(n),mfa:null}}if("phoneNumber"in e){const{error:n}=await ar(r,e.phoneNumber,e.options);return{error:n,mfa:null,session:null}}if("otp"in e){const n=await Cn(r,e.otp,e.ticket);return{...de(n),mfa:null}}return{error:on,mfa:null,session:null}}async signInPAT(e){const r=await this.waitUntilReady(),n=await Mn(r,e);return de(n)}async signOut(e){const r=await this.waitUntilReady(),{error:n}=await jn(r,e==null?void 0:e.all);return{error:n}}async resetPassword({email:e,options:r}){const n=_e(bn(this._client)).start(),{error:i}=await _n(n,e,r);return{error:i}}async changePassword({newPassword:e,ticket:r}){const n=_e(Sn(this._client)).start(),{error:i}=await In(n,e,r);return{error:i}}async sendVerificationEmail({email:e,options:r}){const n=_e(An(this._client)).start(),{error:i}=await xn(n,e,r);return{error:i}}async changeEmail({newEmail:e,options:r}){const n=_e(Tn(this._client)).start(),{error:i}=await Rn(n,e,r);return{error:i}}async deanonymize(e){const r=await this.waitUntilReady();if(e.signInMethod==="passwordless"){if(e.connection==="email"){const{error:n}=await or(r,e.email,e.options);return{error:n}}if(e.connection==="sms"){const{error:n}=await ar(r,e.phoneNumber,e.options);return{error:n}}}if(e.signInMethod==="email-password"){const{error:n}=await cr(r,e.email,e.password,e.options);return{error:n}}throw Error("Unknown deanonymization method")}async addSecurityKey(e){const{error:r,key:n}=await On(this._client,e);return{error:r,key:n}}async elevateEmailSecurityKey(e){if(!e)throw Error("A user email is required");return{...await Dn(this._client,e),mfa:null}}async createPAT(e,r){return Es(this._client,{expiresAt:e,metadata:r})}onTokenChanged(e){return this._client.subscribe(()=>{var r;const n=(r=this._client.interpreter)==null?void 0:r.onTransition(({event:i,context:s})=>{i.type==="TOKEN_CHANGED"&&e(Je(s))});return()=>n==null?void 0:n.stop()})}onAuthStateChanged(e){return this._client.subscribe(()=>{var r;const n=(r=this._client.interpreter)==null?void 0:r.onTransition(({event:i,context:s})=>{(i.type==="SIGNED_IN"||i.type==="SIGNED_OUT")&&e(i.type,Je(s))});return()=>n==null?void 0:n.stop()})}isAuthenticated(){var e;return!!((e=this._client.interpreter)!=null&&e.getSnapshot().matches({authentication:"signedIn"}))}async isAuthenticatedAsync(){return(await this.waitUntilReady()).getSnapshot().matches({authentication:"signedIn"})}getAuthenticationStatus(){var e;const r=((e=this.client.interpreter)==null?void 0:e.getSnapshot().context.importTokenAttempts)||0;return this.isReady()?{isAuthenticated:this.isAuthenticated(),isLoading:!1,connectionAttempts:r}:{isAuthenticated:!1,isLoading:!0,connectionAttempts:r}}getAccessToken(){var e,r;return(r=(e=this._client.interpreter)==null?void 0:e.getSnapshot().context.accessToken.value)!=null?r:void 0}getDecodedAccessToken(){const e=this.getAccessToken();return e?pr(e):null}getHasuraClaims(){var e;return((e=this.getDecodedAccessToken())==null?void 0:e["https://hasura.io/jwt/claims"])||null}getHasuraClaim(e){var r;return((r=this.getHasuraClaims())==null?void 0:r[e.startsWith("x-hasura-")?e:`x-hasura-${e}`])||null}async refreshSession(e){try{const r=await this.waitUntilReady();return new Promise(n=>{const i=e||r.getSnapshot().context.refreshToken.value;if(!i)return n({session:null,error:en});const{changed:s}=r.send("TRY_TOKEN",{token:i});if(!s)return n({session:null,error:tn});r.onTransition(o=>{o.matches({token:{idle:"error"}})?n({session:null,error:sn}):o.event.type==="TOKEN_CHANGED"&&n({session:Je(o.context),error:null})})})}catch(r){return{session:null,error:r.message}}}getSession(){var e,r;return Je((r=(e=this._client.interpreter)==null?void 0:e.getSnapshot())==null?void 0:r.context)}getUser(){var e,r,n;return((n=(r=(e=this._client.interpreter)==null?void 0:e.getSnapshot())==null?void 0:r.context)==null?void 0:n.user)||null}waitUntilReady(){const e=this._client.interpreter;if(!e)throw Error("Auth interpreter not set");return e.getSnapshot().hasTag("loading")?new Promise((r,n)=>{let i=setTimeout(()=>n("The state machine is not yet ready after 15 seconds."),15e3);e.onTransition(s=>{if(!s.hasTag("loading"))return clearTimeout(i),r(e)})}):Promise.resolve(e)}isReady(){var e,r;return!((r=(e=this._client.interpreter)==null?void 0:e.getSnapshot())!=null&&r.hasTag("loading"))}get client(){return this._client}}var Ts=typeof self=="object"?self.FormData:window.FormData;const ur=Wt(Ts);let qn=globalThis.fetch;const lr=async(t,e,{accessToken:r,name:n,fileId:i,bucketId:s,adminSecret:o,onUploadProgress:u,headers:c={}}={})=>{var f;const a={...c};s&&e.append("bucket-id",s),o&&(a["x-hasura-admin-secret"]=o),r&&(a.Authorization=`Bearer ${r}`);const d=`${t}/files`;if(typeof XMLHttpRequest=="undefined")try{e instanceof ur&&(qn=Yt().fetch);const l=await qn(d,{method:"POST",headers:a,body:e}),h=await l.json();return l.ok?{fileMetadata:h,error:null}:{error:{status:l.status,message:((f=h==null?void 0:h.error)==null?void 0:f.message)||l.statusText,error:l.statusText},fileMetadata:null}}catch(l){return{error:{status:0,message:l.message,error:l.message},fileMetadata:null}}return new Promise(l=>{let h=new XMLHttpRequest;h.responseType="json",h.onload=()=>{var v,y,S,E,T;return h.status<200||h.status>=300?l({fileMetadata:null,error:{error:(y=(v=h.response)==null?void 0:v.error)!=null?y:h.response,message:(T=(E=(S=h.response)==null?void 0:S.error)==null?void 0:E.message)!=null?T:h.response,status:h.status}}):l({fileMetadata:h.response,error:null})},h.onerror=()=>l({fileMetadata:null,error:{error:h.statusText,message:h.statusText,status:h.status}}),u&&h.upload.addEventListener("progress",u,!1),h.open("POST",d,!0),Object.entries(a).forEach(([v,y])=>{h.setRequestHeader(v,y)}),h.send(e)})};function Ot(t,e){if(!e||Object.keys(e).length===0)return t;const r=new URL(t),n=Object.entries(e).reduce((i,[s,o])=>({...i,[s.charAt(0)]:o}),{});return Object.entries(n).forEach(([i,s])=>{s&&r.searchParams.set(i,s)}),r.toString()}let Qe;typeof Qe=="undefined"&&(Qe=Yt().fetch);class Vn{constructor({url:e}){this.url=e}async uploadFormData({formData:e,headers:r,bucketId:n}){const{error:i,fileMetadata:s}=await lr(this.url,e,{accessToken:this.accessToken,adminSecret:this.adminSecret,bucketId:n,headers:r});return i?{fileMetadata:null,error:i}:s&&!("processedFiles"in s)?{fileMetadata:{processedFiles:[s]},error:null}:{fileMetadata:s,error:null}}async uploadFile({file:e,bucketId:r,id:n,name:i}){const s=typeof window=="undefined"?new ur:new FormData;s.append("file[]",e),s.append("metadata[]",JSON.stringify({id:n,name:i}));const{error:o,fileMetadata:u}=await lr(this.url,s,{accessToken:this.accessToken,adminSecret:this.adminSecret,bucketId:r,fileId:n,name:i});return o?{fileMetadata:null,error:o}:u&&"processedFiles"in u?{fileMetadata:u.processedFiles[0],error:null}:{fileMetadata:u,error:null}}async downloadFile(e){try{const{fileId:r,headers:n={},...i}=e,s=Ot(`${this.url}/files/${r}`,i),o=await Qe(s,{method:"GET",headers:{...this.generateAuthHeaders(),...n}});if(!o.ok)throw new Error(await o.text());return{file:await o.blob(),error:null}}catch(r){return{file:null,error:r}}}async getPresignedUrl(e){try{const{fileId:r}=e,n=await Qe(`${this.url}/files/${r}/presignedurl`,{method:"GET",headers:this.generateAuthHeaders()});if(!n.ok)throw new Error(await n.text());return{presignedUrl:await n.json(),error:null}}catch(r){return{presignedUrl:null,error:r}}}async delete(e){try{const{fileId:r}=e,n=await Qe(`${this.url}/files/${r}`,{method:"DELETE",headers:this.generateAuthHeaders()});if(!n.ok)throw new Error(await n.text());return{error:null}}catch(r){return{error:r}}}setAccessToken(e){return this.accessToken=e,this}setAdminSecret(e){return this.adminSecret=e,this}generateAuthHeaders(){if(!(!this.adminSecret&&!this.accessToken))return this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:{Authorization:`Bearer ${this.accessToken}`}}}class Gn{constructor({url:e,adminSecret:r}){this.url=e,this.api=new Vn({url:e}),this.setAdminSecret(r)}async upload(e){return"file"in e?this.api.uploadFile(e):this.api.uploadFormData(e)}getPublicUrl(e){const{fileId:r,...n}=e;return Ot(`${this.url}/files/${r}`,n)}async getPresignedUrl(e){const{fileId:r,...n}=e,{presignedUrl:i,error:s}=await this.api.getPresignedUrl(e);if(s)return{presignedUrl:null,error:s};if(!i)return{presignedUrl:null,error:new Error("Invalid file id")};const o=Ot(i.url,n);return{presignedUrl:{...i,url:o},error:null}}async download(e){const{file:r,error:n}=await this.api.downloadFile(e);return n?{file:null,error:n}:r?{file:r,error:null}:{file:null,error:new Error("File does not exist")}}async delete(e){const{error:r}=await this.api.delete(e);return r?{error:r}:{error:null}}setAccessToken(e){return this.api.setAccessToken(e),this}setAdminSecret(e){return this.api.setAdminSecret(e),this}}let dr;typeof dr=="undefined"&&(dr=ur);const Rt={progress:null,loaded:0,error:null,bucketId:void 0,file:void 0,id:void 0},Bn=()=>ve({predictableActionArguments:!0,schema:{context:{},events:{}},tsTypes:{},context:{...Rt},initial:"idle",on:{DESTROY:{actions:"sendDestroy",target:"stopped"}},states:{idle:{on:{ADD:{actions:"addFile"},UPLOAD:{cond:"hasFile",target:"uploading"}}},uploading:{entry:"resetProgress",on:{UPLOAD_PROGRESS:{actions:["incrementProgress","sendProgress"]},UPLOAD_DONE:"uploaded",UPLOAD_ERROR:"error",CANCEL:"idle"},invoke:{src:"uploadFile"}},uploaded:{entry:["setFileMetadata","sendDone"],on:{ADD:{actions:"addFile",target:"idle"},UPLOAD:{actions:"resetContext",target:"uploading"}}},error:{entry:["setError","sendError"],on:{ADD:{actions:"addFile",target:"idle"},UPLOAD:{actions:"resetContext",target:"uploading"}}},stopped:{type:"final"}}},{guards:{hasFile:(t,e)=>!!t.file||!!e.file},actions:{incrementProgress:R({loaded:(t,{loaded:e})=>e,progress:(t,{progress:e})=>e}),setFileMetadata:R({id:(t,{id:e})=>e,bucketId:(t,{bucketId:e})=>e,progress:t=>100}),setError:R({error:(t,{error:e})=>e}),sendProgress:()=>{},sendError:()=>{},sendDestroy:()=>{},sendDone:()=>{},resetProgress:R({progress:t=>null,loaded:t=>0}),resetContext:R(t=>Rt),addFile:R({file:(t,{file:e})=>e,bucketId:(t,{bucketId:e})=>e,id:(t,{id:e})=>e})},services:{uploadFile:(t,e)=>r=>{const n=e.file||t.file,i=new dr;i.append("file[]",n);let s=0;return lr(e.url,i,{fileId:e.id||t.id,bucketId:e.bucketId||t.bucketId,accessToken:e.accessToken,adminSecret:e.adminSecret,name:e.name||n.name,onUploadProgress:o=>{const u=o.total?Math.round(o.loaded*n.size/o.total):0,c=u-s;s=u,r({type:"UPLOAD_PROGRESS",progress:o.total?Math.round(u*100/o.total):0,loaded:u,additions:c})}}).then(({fileMetadata:o,error:u})=>{if(u&&r({type:"UPLOAD_ERROR",error:u}),o&&!("processedFiles"in o)){const{id:c,bucketId:f}=o;r({type:"UPLOAD_DONE",id:c,bucketId:f})}if(o&&"processedFiles"in o){const{id:c,bucketId:f}=o.processedFiles[0];r({type:"UPLOAD_DONE",id:c,bucketId:f})}}),()=>{}}}}),{pure:fr,sendParent:It}=Di,Ss=()=>ve({id:"files-list",schema:{context:{},events:{}},tsTypes:{},predictableActionArguments:!0,context:{progress:null,files:[],loaded:0,total:0},initial:"idle",on:{UPLOAD:{cond:"hasFileToDownload",actions:"addItem",target:"uploading"},ADD:{actions:"addItem"},REMOVE:{actions:"removeItem"}},states:{idle:{entry:["resetProgress","resetLoaded","resetTotal"],on:{CLEAR:{actions:"clearList",target:"idle"}}},uploading:{entry:["upload","startProgress","resetLoaded","resetTotal"],on:{UPLOAD_PROGRESS:{actions:["incrementProgress"]},UPLOAD_DONE:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],UPLOAD_ERROR:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],CANCEL:{actions:"cancel",target:"idle"}}},uploaded:{entry:"setUploaded",on:{CLEAR:{actions:"clearList",target:"idle"}}},error:{on:{CLEAR:{actions:"clearList",target:"idle"}}}}},{guards:{hasFileToDownload:(t,e)=>t.files.some(r=>r.getSnapshot().matches("idle"))||!!e.files,isAllUploaded:t=>t.files.every(e=>{var r;return(r=e.getSnapshot())==null?void 0:r.matches("uploaded")}),isAllUploadedOrError:t=>t.files.every(e=>{const r=e.getSnapshot();return(r==null?void 0:r.matches("error"))||(r==null?void 0:r.matches("uploaded"))})},actions:{incrementProgress:R((t,e)=>{const r=t.loaded+e.additions,n=Math.round(r*100/t.total);return{...t,loaded:r,progress:n}}),setUploaded:R({progress:t=>100,loaded:({files:t})=>t.map(e=>e.getSnapshot()).filter(e=>e.matches("uploaded")).reduce((e,r)=>{var n;return e+((n=r.context.file)==null?void 0:n.size)},0)}),resetTotal:R({total:({files:t})=>t.map(e=>e.getSnapshot()).filter(e=>!e.matches("uploaded")).reduce((e,r)=>{var n;return e+((n=r.context.file)==null?void 0:n.size)},0)}),resetLoaded:R({loaded:t=>0}),startProgress:R({progress:t=>0}),resetProgress:R({progress:t=>null}),addItem:R((t,{files:e,bucketId:r})=>{const n=e?Array.isArray(e)?e:"item"in e?Array.from(e):[e]:[],i=t.total+n.reduce((o,u)=>o+u.size,0),s=Math.round(t.loaded*100/i);return{files:[...t.files,...n.map(o=>Qi(Bn().withConfig({actions:{sendProgress:It((u,{additions:c})=>({type:"UPLOAD_PROGRESS",additions:c})),sendDone:It("UPLOAD_DONE"),sendError:It("UPLOAD_ERROR"),sendDestroy:It("REMOVE")}}).withContext({...Rt,file:o,bucketId:r}),{sync:!0}))],total:i,loaded:t.loaded,progress:s}}),removeItem:R({files:t=>t.files.filter(e=>{var r,n;const i=(r=e.getSnapshot())==null?void 0:r.matches("stopped");return i&&((n=e.stop)==null||n.call(e)),!i})}),clearList:fr(t=>t.files.map(e=>X({type:"DESTROY"},{to:e.id}))),upload:fr((t,e)=>t.files.map(r=>X(e,{to:r.id}))),cancel:fr(t=>t.files.map(e=>X({type:"CANCEL"},{to:e.id})))}}),bs=async(t,e)=>new Promise(r=>{e.send({type:"UPLOAD",...t}),e.subscribe(n=>{var i;n.matches("error")?r({error:n.context.error,isError:!0,isUploaded:!1}):n.matches("uploaded")&&r({error:null,isError:!1,isUploaded:!0,id:n.context.id,bucketId:n.context.id,name:(i=n.context.file)==null?void 0:i.name})})}),As=async(t,e)=>new Promise(r=>{e.send({type:"UPLOAD",...t,files:t.files}),e.onTransition(n=>{n.matches("error")?r({errors:n.context.files.filter(i=>{var s;return(s=i.getSnapshot())==null?void 0:s.context.error}),isError:!0,files:[]}):n.matches("uploaded")&&r({errors:[],isError:!1,files:n.context.files})})}),ks=/^((?<protocol>http[s]?):\/\/)?(?<host>(localhost|local))(:(?<port>(\d+|__\w+__)))?$/;function Ze(t,e){const{subdomain:r,region:n}=t;if(!r)throw new Error("A `subdomain` must be set.");const i=r.match(ks);if(i!=null&&i.groups){const{protocol:s,host:o,port:u}=i.groups,c=Is(e);return c||(o==="localhost"?(console.warn('The `subdomain` is set to "localhost". Support for this will be removed in a future release. Please use "local" instead.'),`${s||"http"}://localhost:${u||1337}/v1/${e}`):u?`${s||"https"}://local.${e}.nhost.run:${u}/v1`:`${s||"https"}://local.${e}.nhost.run/v1`)}if(!n)throw new Error('`region` must be set when using a `subdomain` other than "local".');return`https://${r}.${e}.${n}.nhost.run/v1`}function Os(){return typeof window!="undefined"}function Rs(){return typeof process!="undefined"&&process.env}function Is(t){return Os()||!Rs()?null:process.env[`NHOST_${t.toUpperCase()}_URL`]}function _s(t,e){const n=e.startsWith("/")?e:`/${e}`;return t+n}function Hn(t){const e="subdomain"in t?Ze(t,"auth"):t.authUrl;if(!e)throw new Error("Please provide `subdomain` or `authUrl`.");return new Fn({url:e,...t})}function xs(t,e){return e=e||{},new Promise(function(r,n){var i=new XMLHttpRequest,s=[],o=[],u={},c=function(){return{ok:(i.status/100|0)==2,statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:c,headers:{keys:function(){return s},entries:function(){return o},get:function(a){return u[a.toLowerCase()]},has:function(a){return a.toLowerCase()in u}}}};for(var f in i.open(e.method||"get",t,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(a,d,l){s.push(d=d.toLowerCase()),o.push([d,l]),u[d]=u[d]?u[d]+","+l:l}),r(c())},i.onerror=n,i.withCredentials=e.credentials=="include",e.headers)i.setRequestHeader(f,e.headers[f]);i.send(e.body||null)})}const Kn=is(Object.freeze(Object.defineProperty({__proto__:null,default:xs},Symbol.toStringTag,{value:"Module"})));var Ps=self.fetch||(self.fetch=Kn.default||Kn);const zn=Wt(Ps);function Wn(t){const e="subdomain"in t?Ze(t,"functions"):t.functionsUrl;if(!e)throw new Error("Please provide `subdomain` or `functionsUrl`.");return new Jn({url:e,...t})}class Jn{constructor(e){const{url:r,adminSecret:n}=e;this.url=r,this.accessToken=null,this.adminSecret=n}async call(e,r,n){var o,u;const i={"Content-Type":"application/json",...this.generateAccessTokenHeaders(),...n==null?void 0:n.headers},s=_s(this.url,e);try{const c=await zn(s,{body:r?JSON.stringify(r):null,headers:i,method:"POST"});if(!c.ok){let a;return(o=c.headers.get("content-type"))!=null&&o.includes("application/json")?a=await c.json():a=await c.text(),{res:null,error:{message:a,error:c.statusText,status:c.status}}}let f;return(u=c.headers.get("content-type"))!=null&&u.includes("application/json")?f=await c.json():f=await c.text(),{res:{data:f,status:c.status,statusText:c.statusText},error:null}}catch(c){const f=c;return{res:null,error:{message:f.message,status:f.name==="AbortError"?0:500,error:f.name==="AbortError"?"abort-error":"unknown"}}}}setAccessToken(e){if(!e){this.accessToken=null;return}this.accessToken=e}generateAccessTokenHeaders(){return this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:this.accessToken?{Authorization:`Bearer ${this.accessToken}`}:{}}}function Ns(t,e,r){return t.document?t:{document:t,variables:e,config:r}}function Yn(t){var e;let r;const n=t.definitions.filter(i=>i.kind==="OperationDefinition");return n.length===1&&(r=(e=n[0].name)==null?void 0:e.value),r}function Us(t){if(typeof t=="string"){let r;try{const n=Se.parse(t);r=Yn(n)}catch{}return{query:t,operationName:r}}const e=Yn(t);return{query:Se.print(t),operationName:e}}class Ds{constructor(e){this.isAccessTokenValidOrNull=()=>{if(!this.accessToken)return!0;try{const i=pr(this.accessToken);return i.exp!=null&&i.exp*1e3>Date.now()}catch(i){return console.error("Error decoding token:",i),!1}},this.awaitForValidAccessTokenOrNull=async()=>{if(this.isAccessTokenValidOrNull())return!0;const i=()=>this.isAccessTokenValidOrNull()?Promise.resolve(!0):new Promise(s=>{setTimeout(()=>i().then(s),100)});return i()};const{url:r,adminSecret:n}=e;this._url=r,this.accessToken=null,this.adminSecret=n}async request(e,...r){const[n,i]=r,s=Ns(e,n,i),{headers:o,...u}=i||{},{query:c,operationName:f}=Us(s.document);typeof process!="undefined"&&!process.env.TEST_MODE&&await this.awaitForValidAccessTokenOrNull();try{const a=await zn(this.httpUrl,{method:"POST",body:JSON.stringify({operationName:f,query:c,variables:n}),headers:{"Content-Type":"application/json",...this.generateAccessTokenHeaders(),...o},...u});if(!a.ok)return{data:null,error:{error:a.statusText,message:a.statusText,status:a.status}};const{data:d,errors:l}=await a.json();return l?{data:null,error:l}:typeof d!="object"||Array.isArray(d)||d===null?{data:null,error:{error:"invalid-response",message:"incorrect response data from GraphQL server",status:0}}:{data:d,error:null}}catch(a){const d=a;return{data:null,error:{message:d.message,status:d.name==="AbortError"?0:500,error:d.name==="AbortError"?"abort-error":"unknown"}}}}get httpUrl(){return this._url}get wsUrl(){return this._url.replace(/^(http)(s?):\/\//,"ws$2://")}get url(){return this._url}getUrl(){return this._url}setAccessToken(e){if(!e){this.accessToken=null;return}this.accessToken=e}generateAccessTokenHeaders(){return this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:this.accessToken?{Authorization:`Bearer ${this.accessToken}`}:{}}}function Xn(t){const e="subdomain"in t?Ze(t,"graphql"):t.graphqlUrl;if(!e)throw new Error("Please provide `subdomain` or `graphqlUrl`.");return new Ds({url:e,...t})}function Qn(t){const e="subdomain"in t?Ze(t,"storage"):t.storageUrl;if(!e)throw new Error("Please provide `subdomain` or `storageUrl`.");return new Gn({url:e,...t})}const Cs=t=>new Zn(t);class Zn{constructor({refreshIntervalTime:e,clientStorage:r,clientStorageType:n,autoRefreshToken:i,autoSignIn:s,adminSecret:o,devTools:u,start:c=!0,...f}){this.auth=Hn({refreshIntervalTime:e,clientStorage:r,clientStorageType:n,autoRefreshToken:i,autoSignIn:s,start:c,...f}),this.storage=Qn({adminSecret:o,...f}),this.functions=Wn({adminSecret:o,...f}),this.graphql=Xn({adminSecret:o,...f}),this.auth.onAuthStateChanged((a,d)=>{if(a==="SIGNED_OUT"){this.storage.setAccessToken(void 0),this.functions.setAccessToken(void 0),this.graphql.setAccessToken(void 0);return}const l=d==null?void 0:d.accessToken;this.storage.setAccessToken(l),this.functions.setAccessToken(l),this.graphql.setAccessToken(l)}),this.auth.onTokenChanged(a=>{const d=a==null?void 0:a.accessToken;this.storage.setAccessToken(d),this.functions.setAccessToken(d),this.graphql.setAccessToken(d)}),this._adminSecret=o,this.devTools=u}get adminSecret(){return this._adminSecret}set adminSecret(e){this._adminSecret=e,this.storage.setAdminSecret(e)}}m.AuthClient=sr,m.AuthClientSSR=ms,m.AuthCookieClient=kn,m.CodifiedError=Ce,m.EMAIL_NEEDS_VERIFICATION=nn,m.HasuraAuthClient=Fn,m.HasuraStorageApi=Vn,m.HasuraStorageClient=Gn,m.INITIAL_FILE_CONTEXT=Rt,m.INITIAL_MACHINE_CONTEXT=Tt,m.INVALID_EMAIL_ERROR=ue,m.INVALID_MFA_CODE_ERROR=Xr,m.INVALID_MFA_TICKET_ERROR=Qr,m.INVALID_MFA_TYPE_ERROR=Yr,m.INVALID_PASSWORD_ERROR=Et,m.INVALID_PHONE_NUMBER_ERROR=er,m.INVALID_REFRESH_TOKEN=sn,m.INVALID_SIGN_IN_METHOD=on,m.MIN_PASSWORD_LENGTH=Wr,m.NETWORK_ERROR_CODE=Qt,m.NHOST_JWT_EXPIRES_AT_KEY=we,m.NHOST_REFRESH_TOKEN_ID_KEY=We,m.NHOST_REFRESH_TOKEN_KEY=Ue,m.NO_MFA_TICKET_ERROR=Zr,m.NO_REFRESH_TOKEN=en,m.NhostClient=Zn,m.NhostFunctionsClient=Jn,m.OTHER_ERROR_CODE=Zt,m.REFRESH_TOKEN_MAX_ATTEMPTS=Xt,m.STATE_ERROR_CODE=De,m.TOKEN_REFRESHER_RUNNING_ERROR=tn,m.TOKEN_REFRESH_MARGIN_SECONDS=Jr,m.USER_ALREADY_SIGNED_IN=se,m.USER_NOT_ANONYMOUS=os,m.USER_UNAUTHENTICATED=rn,m.VALIDATION_ERROR_CODE=ie,m.activateMfaPromise=ws,m.addSecurityKeyPromise=On,m.appendImageTransformationParameters=Ot,m.changeEmailPromise=Rn,m.changePasswordPromise=In,m.createAuthClient=Hn,m.createAuthMachine=En,m.createChangeEmailMachine=Tn,m.createChangePasswordMachine=Sn,m.createEnableMfaMachine=ys,m.createFileUploadMachine=Bn,m.createFunctionsClient=Wn,m.createGraphqlClient=Xn,m.createMultipleFilesUploadMachine=Ss,m.createNhostClient=Cs,m.createResetPasswordMachine=bn,m.createSendVerificationEmailMachine=An,m.createStorageClient=Qn,m.elevateEmailSecurityKeyPromise=Dn,m.encodeQueryParameters=At,m.generateQrCodePromise=gs,m.getAuthenticationResult=de,m.getFetch=gn,m.getParameterByName=Xe,m.getSession=Je,m.isBrowser=Ye,m.isValidEmail=fe,m.isValidPassword=kt,m.isValidPhoneNumber=ir,m.isValidTicket=wn,m.localStorageGetter=pn,m.localStorageSetter=vn,m.postFetch=te,m.removeParameterFromWindow=nr,m.resetPasswordPromise=_n,m.rewriteRedirectTo=re,m.sendVerificationEmailPromise=xn,m.signInAnonymousPromise=Pn,m.signInEmailPasswordPromise=Nn,m.signInEmailPasswordlessPromise=or,m.signInEmailSecurityKeyPromise=Un,m.signInMfaTotpPromise=Cn,m.signInPATPromise=Mn,m.signInSmsPasswordlessOtpPromise=Ln,m.signInSmsPasswordlessPromise=ar,m.signOutPromise=jn,m.signUpEmailPasswordPromise=cr,m.signUpEmailSecurityKeyPromise=$n,m.uploadFilePromise=bs,m.uploadMultipleFilesPromise=As,m.urlFromSubdomain=Ze,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
21
22
  //# sourceMappingURL=nhost-js.umd.js.map