@dtect/security-sdk-js 0.0.17 → 0.0.19
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.
- package/README.md +24 -0
- package/dist/index.d.mts +22 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -143,6 +143,30 @@ dtect
|
|
|
143
143
|
</script>
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
+
## Testing
|
|
147
|
+
|
|
148
|
+
This package uses [Vitest](https://vitest.dev/) with a JSDOM environment for deterministic unit tests.
|
|
149
|
+
|
|
150
|
+
- Run the full unit test suite:
|
|
151
|
+
|
|
152
|
+
```sh
|
|
153
|
+
yarn test
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
- Run tests in watch mode while developing:
|
|
157
|
+
|
|
158
|
+
```sh
|
|
159
|
+
yarn test:watch
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
- Run tests with coverage flag
|
|
163
|
+
|
|
164
|
+
```sh
|
|
165
|
+
yarn test --coverage
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
The test configuration is defined in `vitest.config.ts`, and coverage thresholds are enforced for the `src/` directory.
|
|
169
|
+
|
|
146
170
|
## Errors
|
|
147
171
|
|
|
148
172
|
_Read full documentation about errors on [our official docs](https://docs.dtect.io/errors)_
|
package/dist/index.d.mts
CHANGED
|
@@ -93,6 +93,26 @@ interface ISecurityResultResponse {
|
|
|
93
93
|
interface ISecurityTokenResponse {
|
|
94
94
|
token: string;
|
|
95
95
|
}
|
|
96
|
+
interface BaseQuestion {
|
|
97
|
+
id: string;
|
|
98
|
+
text: string;
|
|
99
|
+
}
|
|
100
|
+
interface SingleSelectQuestion extends BaseQuestion {
|
|
101
|
+
type: "single_select";
|
|
102
|
+
options: QuestionOption[];
|
|
103
|
+
}
|
|
104
|
+
interface OpenEndQuestion extends BaseQuestion {
|
|
105
|
+
type: "open_end";
|
|
106
|
+
}
|
|
107
|
+
interface MultiSelectQuestion extends BaseQuestion {
|
|
108
|
+
type: "multi_select";
|
|
109
|
+
options: QuestionOption[];
|
|
110
|
+
}
|
|
111
|
+
interface QuestionOption {
|
|
112
|
+
id: string;
|
|
113
|
+
text: string;
|
|
114
|
+
}
|
|
115
|
+
type IQualityQuestionsResponse = (SingleSelectQuestion | OpenEndQuestion | MultiSelectQuestion)[];
|
|
96
116
|
|
|
97
117
|
interface ISecurityAPIInitProps {
|
|
98
118
|
clientId: string;
|
|
@@ -107,7 +127,7 @@ interface Idtect {
|
|
|
107
127
|
getSecurityToken: (props: ISecurityCheckInput) => Promise<ISecurityResultResponse | ISecurityTokenResponse>;
|
|
108
128
|
isAIUsageDetected: (props: IIsAiUsageDetectedInput) => Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
109
129
|
checkQualityQuestions: (props: ICheckQualityQuestionsInput) => Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
110
|
-
getQualityQuestions: (props: IGetQualityQuestionsInput) => Promise<
|
|
130
|
+
getQualityQuestions: (props: IGetQualityQuestionsInput) => Promise<IQualityQuestionsResponse | undefined>;
|
|
111
131
|
QualityQuestionsRespondentTypes: typeof QualityQuestionsRespondentTypes;
|
|
112
132
|
LanguageCodes: typeof LanguageCodes;
|
|
113
133
|
}
|
|
@@ -128,7 +148,7 @@ declare const SecurityAPIError: {
|
|
|
128
148
|
};
|
|
129
149
|
declare function getSecurityResult(props: ISecurityCheckInput): Promise<ISecurityResultResponse | ISecurityTokenResponse>;
|
|
130
150
|
declare function getSecurityToken(props: ISecurityCheckInput): Promise<ISecurityResultResponse | ISecurityTokenResponse>;
|
|
131
|
-
declare function getQualityQuestions(props: IGetQualityQuestionsInput): Promise<
|
|
151
|
+
declare function getQualityQuestions(props: IGetQualityQuestionsInput): Promise<IQualityQuestionsResponse | undefined>;
|
|
132
152
|
declare function checkQualityQuestions(props: ICheckQualityQuestionsInput): Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
133
153
|
declare function isAIUsageDetected(props: IIsAiUsageDetectedInput): Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
134
154
|
declare function init(props: ISecurityAPIInitProps): Promise<IdtectModule>;
|
package/dist/index.d.ts
CHANGED
|
@@ -93,6 +93,26 @@ interface ISecurityResultResponse {
|
|
|
93
93
|
interface ISecurityTokenResponse {
|
|
94
94
|
token: string;
|
|
95
95
|
}
|
|
96
|
+
interface BaseQuestion {
|
|
97
|
+
id: string;
|
|
98
|
+
text: string;
|
|
99
|
+
}
|
|
100
|
+
interface SingleSelectQuestion extends BaseQuestion {
|
|
101
|
+
type: "single_select";
|
|
102
|
+
options: QuestionOption[];
|
|
103
|
+
}
|
|
104
|
+
interface OpenEndQuestion extends BaseQuestion {
|
|
105
|
+
type: "open_end";
|
|
106
|
+
}
|
|
107
|
+
interface MultiSelectQuestion extends BaseQuestion {
|
|
108
|
+
type: "multi_select";
|
|
109
|
+
options: QuestionOption[];
|
|
110
|
+
}
|
|
111
|
+
interface QuestionOption {
|
|
112
|
+
id: string;
|
|
113
|
+
text: string;
|
|
114
|
+
}
|
|
115
|
+
type IQualityQuestionsResponse = (SingleSelectQuestion | OpenEndQuestion | MultiSelectQuestion)[];
|
|
96
116
|
|
|
97
117
|
interface ISecurityAPIInitProps {
|
|
98
118
|
clientId: string;
|
|
@@ -107,7 +127,7 @@ interface Idtect {
|
|
|
107
127
|
getSecurityToken: (props: ISecurityCheckInput) => Promise<ISecurityResultResponse | ISecurityTokenResponse>;
|
|
108
128
|
isAIUsageDetected: (props: IIsAiUsageDetectedInput) => Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
109
129
|
checkQualityQuestions: (props: ICheckQualityQuestionsInput) => Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
110
|
-
getQualityQuestions: (props: IGetQualityQuestionsInput) => Promise<
|
|
130
|
+
getQualityQuestions: (props: IGetQualityQuestionsInput) => Promise<IQualityQuestionsResponse | undefined>;
|
|
111
131
|
QualityQuestionsRespondentTypes: typeof QualityQuestionsRespondentTypes;
|
|
112
132
|
LanguageCodes: typeof LanguageCodes;
|
|
113
133
|
}
|
|
@@ -128,7 +148,7 @@ declare const SecurityAPIError: {
|
|
|
128
148
|
};
|
|
129
149
|
declare function getSecurityResult(props: ISecurityCheckInput): Promise<ISecurityResultResponse | ISecurityTokenResponse>;
|
|
130
150
|
declare function getSecurityToken(props: ISecurityCheckInput): Promise<ISecurityResultResponse | ISecurityTokenResponse>;
|
|
131
|
-
declare function getQualityQuestions(props: IGetQualityQuestionsInput): Promise<
|
|
151
|
+
declare function getQualityQuestions(props: IGetQualityQuestionsInput): Promise<IQualityQuestionsResponse | undefined>;
|
|
132
152
|
declare function checkQualityQuestions(props: ICheckQualityQuestionsInput): Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
133
153
|
declare function isAIUsageDetected(props: IIsAiUsageDetectedInput): Promise<ISecurityResultResponse | ISecurityTokenResponse | undefined>;
|
|
134
154
|
declare function init(props: ISecurityAPIInitProps): Promise<IdtectModule>;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var re=Object.defineProperty;var ut=Object.getOwnPropertyDescriptor;var lt=Object.getOwnPropertyNames;var ht=Object.prototype.hasOwnProperty;var ft=(e,t)=>{for(var r in t)re(e,r,{get:t[r],enumerable:!0})},dt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of lt(t))!ht.call(e,i)&&i!==r&&re(e,i,{get:()=>t[i],enumerable:!(n=ut(t,i))||n.enumerable});return e};var Et=e=>dt(re({},"__esModule",{value:!0}),e);var _r={};ft(_r,{LanguageCodes:()=>x,QualityQuestionsRespondentTypes:()=>q,SecurityAPIError:()=>nt,checkQualityQuestions:()=>ve,default:()=>Or,getQualityQuestions:()=>_e,getSecurityResult:()=>Te,getSecurityToken:()=>Oe,init:()=>at,isAIUsageDetected:()=>ge});module.exports=Et(_r);function Rt(e,t){return function(r,n){return Object.prototype.hasOwnProperty.call(r,n)}(e,t)?e[t]:void 0}function mt(e,t,r,n){let i=document,o="securitypolicyviolation",c,s=d=>{let u=new URL(e,location.href),{blockedURI:l}=d;l!==u.href&&l!==u.protocol.slice(0,-1)&&l!==u.origin||(c=d,a())};i.addEventListener(o,s);let a=()=>i.removeEventListener(o,s);return n?.then(a,a),Promise.resolve().then(t).then(d=>(a(),d),d=>new Promise(u=>{let l=new MessageChannel;l.port1.onmessage=()=>u(),l.port2.postMessage(null)}).then(()=>{if(a(),c)return r(c);throw d}))}function g(e){let t="";for(let r=0;r<e.length;++r)if(r>0){let n=e[r].toLowerCase();n!==e[r]?t+=` ${n}`:t+=e[r]}else t+=e[r].toUpperCase();return t}var pt={default:"endpoint"},yt={default:"tlsEndpoint"},It="Client timeout",Tt="Network connection error",Ot="Network request aborted",_t="Response cannot be parsed",ne="Blocked by CSP",ie="The endpoint parameter is not a valid URL",vt="Handle on demand agent data error",gt=g("WrongRegion"),At=g("SubscriptionNotActive"),Dt=g("UnsupportedVersion"),wt=g("InstallationMethodRestricted"),Nt=g("HostnameRestricted"),bt=g("IntegrationFailed"),Pt=g("NetworkRestricted"),St=g("InvalidProxyIntegrationSecret"),kt=g("InvalidProxyIntegrationHeaders"),Mt=g("ProxyIntegrationSecretEnvironmentMismatch"),se="API key required",Ae="API key not found",De="API key expired",Lt="Request cannot be parsed",Ut="Request failed",Ft="Request failed to process",xt="Too many requests, rate limit exceeded",qt="Not available for this origin",Kt="Not available with restricted header",Gt=se,Bt=Ae,jt=De,Ct="3.12.0",V="Failed to load the JS script of the agent",oe="9319";function Vt(e,t){let r=[],[n,i]=function(s){let a=function(l){let m=[...l];return{current:()=>m[0],postpone(){let p=m.shift();p!==void 0&&m.push(p)},exclude(){m.shift()}}}(s),d=function(l,m){let p=0;return()=>Math.random()*Math.min(m,l*Math.pow(2,p++))}(100,3e3),u=new Set;return[a.current(),(l,m)=>{let p,E=m instanceof Error?m.message:"";if(E===ne||E===ie)a.exclude(),p=0;else if(E===oe)a.exclude();else if(E===V){let O=Date.now()-l.getTime()<50,h=a.current();h&&O&&!u.has(h)&&(u.add(h),p=0),a.postpone()}else a.postpone();let f=a.current();return f===void 0?void 0:[f,p??l.getTime()+d()-Date.now()]}]}(e),o;if(n===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));let c=s=>{let a=new Date,d=l=>r.push({url:s,startedAt:a,finishedAt:new Date,error:l}),u=t(s);return u.then(()=>d(),d),u.catch(l=>{if(o!=null||(o=l),r.length>=5)throw o;let m=i(a,l);if(!m)throw o;let[p,E]=m;return(f=E,new Promise(O=>setTimeout(O,f))).then(()=>c(p));var f})};return c(n).then(s=>[s,r])}var we="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",Qt=we;function Yt(e){var t,r;let{picked:n,rest:i}=function(u,l){let m={},p={};for(let[E,f]of Object.entries(u))l.includes(E)?m[E]=f:p[E]=f;return{picked:m,rest:p}}(e,["scriptUrlPattern","token","apiKey"]),o=n.token,c=(t=n.apiKey)!==null&&t!==void 0?t:o,s=(r=Rt(e,"scriptUrlPattern"))!==null&&r!==void 0?r:we,[a,d]=function(){let u=[],l=()=>{u.push({time:new Date,state:document.visibilityState})},m=function(p,E,f,O){return p.addEventListener(E,f,O),()=>p.removeEventListener(E,f,O)}(document,"visibilitychange",l);return l(),[u,m]}();return Promise.resolve().then(()=>{if(!c||typeof c!="string")throw new Error(se);let u=function(l,m){return(Array.isArray(l)?l:[l]).map(p=>function(E,f){let O=encodeURIComponent;return E.replace(/<[^<>]+>/g,h=>h==="<version>"?"3":h==="<apiKey>"?O(f):h==="<loaderVersion>"?O(Ct):h)}(String(p),m))}(s,c);return Vt(u,$t)}).catch(u=>{throw d(),function(l){return l instanceof Error&&l.message===oe?new Error(V):l}(u)}).then(([u,l])=>(d(),u.load({...i,ldi:{attempts:l,visibilityStates:a}})))}function $t(e){return mt(e,()=>function(t){return new Promise((r,n)=>{if(function(s){if(URL.prototype)try{return new URL(s,location.href),!1}catch(a){if(a instanceof Error&&a.name==="TypeError")return!0;throw a}}(t))throw new Error(ie);let i=document.createElement("script"),o=()=>{var s;return(s=i.parentNode)===null||s===void 0?void 0:s.removeChild(i)},c=document.head||document.getElementsByTagName("head")[0];i.onload=()=>{o(),r()},i.onerror=()=>{o(),n(new Error(V))},i.async=!0,i.src=t,c.appendChild(i)})}(e),()=>{throw new Error(ne)}).then(Xt)}function Xt(){let e=window,t="__fpjs_p_l_b",r=e[t];if(function(n,i){var o;let c=(o=Object.getOwnPropertyDescriptor)===null||o===void 0?void 0:o.call(Object,n,i);c?.configurable?delete n[i]:c&&!c.writable||(n[i]=void 0)}(e,t),typeof r?.load!="function")throw new Error(oe);return r}var k={load:Yt,defaultScriptUrlPattern:Qt,ERROR_SCRIPT_LOAD_FAIL:V,ERROR_API_KEY_EXPIRED:De,ERROR_API_KEY_INVALID:Ae,ERROR_API_KEY_MISSING:se,ERROR_BAD_REQUEST_FORMAT:Lt,ERROR_BAD_RESPONSE_FORMAT:_t,ERROR_CLIENT_TIMEOUT:It,ERROR_CSP_BLOCK:ne,ERROR_FORBIDDEN_ENDPOINT:Nt,ERROR_FORBIDDEN_HEADER:Kt,ERROR_FORBIDDEN_ORIGIN:qt,ERROR_GENERAL_SERVER_FAILURE:Ut,ERROR_HANDLE_AGENT_DATA:vt,ERROR_INSTALLATION_METHOD_RESTRICTED:wt,ERROR_INTEGRATION_FAILURE:bt,ERROR_INVALID_ENDPOINT:ie,ERROR_INVALID_PROXY_INTEGRATION_HEADERS:kt,ERROR_INVALID_PROXY_INTEGRATION_SECRET:St,ERROR_NETWORK_ABORT:Ot,ERROR_NETWORK_CONNECTION:Tt,ERROR_NETWORK_RESTRICTED:Pt,ERROR_PROXY_INTEGRATION_SECRET_ENVIRONMENT_MISMATCH:Mt,ERROR_RATE_LIMIT:xt,ERROR_SERVER_TIMEOUT:Ft,ERROR_SUBSCRIPTION_NOT_ACTIVE:At,ERROR_TOKEN_EXPIRED:jt,ERROR_TOKEN_INVALID:Bt,ERROR_TOKEN_MISSING:Gt,ERROR_UNSUPPORTED_VERSION:Dt,ERROR_WRONG_REGION:gt,defaultEndpoint:pt,defaultTlsEndpoint:yt};var _=[];for(let e=0;e<256;++e)_.push((e+256).toString(16).slice(1));function Ne(e,t=0){return(_[e[t+0]]+_[e[t+1]]+_[e[t+2]]+_[e[t+3]]+"-"+_[e[t+4]]+_[e[t+5]]+"-"+_[e[t+6]]+_[e[t+7]]+"-"+_[e[t+8]]+_[e[t+9]]+"-"+_[e[t+10]]+_[e[t+11]]+_[e[t+12]]+_[e[t+13]]+_[e[t+14]]+_[e[t+15]]).toLowerCase()}var ae,Wt=new Uint8Array(16);function ce(){if(!ae){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");ae=crypto.getRandomValues.bind(crypto)}return ae(Wt)}var zt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ue={randomUUID:zt};function Jt(e,t,r){if(ue.randomUUID&&!t&&!e)return ue.randomUUID();e=e||{};let n=e.random??e.rng?.()??ce();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Ne(n)}var Q=Jt;var Zt={UNAUTHORIZED:"Unauthorized"},Ht={EXPIRED:"EXPIRED_TOKEN",INVALID_API_KEY:"INVALID_API_KEY",MISSING_AUTHENTICATION_TOKEN:"MISSING_AUTHENTICATION_TOKEN"},be={INTERNAL_SERVER_ERROR:"Internal Server Error during API Request",MISSING_CREDENTIALS:"Missing Public Client ID or Public API Key",MAINTENANCE_MODE:"API Under Maintenance",RATE_LIMIT_REACHED:"Too many requests. Rate limit exceeded"},Pe={SDK_INIT_ERROR:"Internal Server Error during SDK Initialization",DUPLICATE_INITIALIZATION:"Multiple SDK Initializations Detected",NOT_INITIALIZED:"SDK Not Initialized"},Se={INVALID_CREDENTIALS:"Invalid Public Client ID or Public API Key"},ke={FAILED_TO_GET_SECURITY_RESULT:"Failed to Retrieve Security Result"},Me={FAILED_TO_GET_SECURITY_TOKEN:" Failed to Generate Security Token"},R={...Zt,...Ht,...be,...Pe,...Se,...ke,...Me},Le={...be,...Pe,...Se,...ke,...Me};var x=(h=>(h.AR="ar",h.BN="bn",h.DE="de",h.EN="en",h.ES="es",h.FR="fr",h.HI="hi",h.ID="id",h.IT="it",h.JA="ja",h.KO="ko",h.MS="ms",h.NL="nl",h.PT="pt",h.RU="ru",h.YU="yu",h.ZH="zh",h))(x||{}),q=(y=>(y.GeneralConsumer="general-consumer",y.HRManagerDirector="hr-manager-director",y.WebDeveloper="web-developer",y.SoftwareEngineer="software-engineer",y.ITDirector="it-director",y.BusinessAdministrator="business-administrator",y.AccountsPayableManager="accounts-payable-manager",y.Accountant="accountant",y.FinanceDirector="finance-director",y.SmallBusinessOwner="small-business-owner",y.GeneralContractor="general-contractor",y.MarketingManagerDirector="marketing-manager-director",y.ConsumerShopper="consumer-shopper",y.Travel="travel",y.Entertainment="entertainment",y.FinanceAndBanking="finance-and-banking",y.General="general",y.B2BWhiteCollar="b2b-white-collar",y.B2BBlueCollar="b2b-blue-collar",y.Lawyer="lawyer",y))(q||{});var er=(e,t={})=>({"Content-Type":"application/json",...e?.accessToken&&{Authorization:`Bearer ${e?.accessToken}`},...t}),tr=async(e,t)=>{if(!e.ok){let r=await e.text();throw new Error(r)}return t==="file"?e.blob():t==="json"?e.json():t==="text"?e.text():null},Ue=async({url:e,auth:t,body:r,method:n="GET",headers:i={},responseType:o="json"})=>{let c={method:n,headers:er(t,i),...r?{body:r instanceof FormData?r:JSON.stringify(r)}:{}},s=await fetch(e,c);return tr(s,o)},le=e=>Ue({...e,method:"GET"}),Y=e=>Ue({...e,method:"POST"});function Fe(){let e=!1,t=!1,r=!1,n=null,i=0,o=()=>{e=!1,t=!1,r=!1,n=void 0,i=0},c=()=>{let u=window?.getSelection()?.toString();u&&u.length>0&&(i=Date.now(),e=!0)},s=d=>{let u=d.clipboardData?.getData("text"),l=d.target instanceof HTMLInputElement||d.target instanceof HTMLTextAreaElement;u&&l&&(r=!0)},a=()=>{t=!0;let d=Date.now();if(i){let u=(d-i)/1e3;(n===void 0||u<n)&&(n=u)}};return document?.addEventListener("copy",c),document?.addEventListener("paste",s),window?.addEventListener("blur",a),{get qbc(){return e},get mas(){return t},get apd(){return r},get scb(){return n},reset:o,destroy(){document?.removeEventListener("copy",c),document?.removeEventListener("paste",s),window?.removeEventListener("blur",a)}}}var A=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var D=typeof window>"u"||"Deno"in globalThis;function v(){}function Ke(e,t){return typeof e=="function"?e(t):e}function Ge(e){return typeof e=="number"&&e>=0&&e!==1/0}function Be(e,t){return Math.max(e+(t||0)-Date.now(),0)}function fe(e,t){return typeof e=="function"?e(t):e}function je(e,t){return typeof e=="function"?e(t):e}function de(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:c,stale:s}=e;if(c){if(n){if(t.queryHash!==K(c,t.options))return!1}else if(!L(t.queryKey,c))return!1}if(r!=="all"){let a=t.isActive();if(r==="active"&&!a||r==="inactive"&&a)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||i&&i!==t.state.fetchStatus||o&&!o(t))}function Ee(e,t){let{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(M(t.options.mutationKey)!==M(o))return!1}else if(!L(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function K(e,t){return(t?.queryKeyHashFn||M)(e)}function M(e){return JSON.stringify(e,(t,r)=>he(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function L(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(r=>!L(e[r],t[r])):!1}function Ce(e,t){if(e===t)return e;let r=xe(e)&&xe(t);if(r||he(e)&&he(t)){let n=r?e:Object.keys(e),i=n.length,o=r?t:Object.keys(t),c=o.length,s=r?[]:{},a=0;for(let d=0;d<c;d++){let u=r?d:o[d];(!r&&n.includes(u)||r)&&e[u]===void 0&&t[u]===void 0?(s[u]=void 0,a++):(s[u]=Ce(e[u],t[u]),s[u]===e[u]&&e[u]!==void 0&&a++)}return i===c&&a===i?e:s}return t}function xe(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function he(e){if(!qe(e))return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(!qe(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function qe(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ve(e){return new Promise(t=>{setTimeout(t,e)})}function Qe(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?Ce(e,t):t}function Ye(e,t,r=0){let n=[...e,t];return r&&n.length>r?n.slice(1):n}function $e(e,t,r=0){let n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var G=Symbol();function $(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===G?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var rr=class extends A{#e;#t;#r;constructor(){super(),this.#r=e=>{if(!D&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},X=new rr;var nr=class extends A{#e=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!D&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},U=new nr;function Xe(){let e,t,r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}function ir(e){return Math.min(1e3*2**e,3e4)}function Re(e){return(e??"online")==="online"?U.isOnline():!0}var We=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function W(e){return e instanceof We}function z(e){let t=!1,r=0,n=!1,i,o=Xe(),c=f=>{n||(m(new We(f)),e.abort?.())},s=()=>{t=!0},a=()=>{t=!1},d=()=>X.isFocused()&&(e.networkMode==="always"||U.isOnline())&&e.canRun(),u=()=>Re(e.networkMode)&&e.canRun(),l=f=>{n||(n=!0,e.onSuccess?.(f),i?.(),o.resolve(f))},m=f=>{n||(n=!0,e.onError?.(f),i?.(),o.reject(f))},p=()=>new Promise(f=>{i=O=>{(n||d())&&f(O)},e.onPause?.()}).then(()=>{i=void 0,n||e.onContinue?.()}),E=()=>{if(n)return;let f,O=r===0?e.initialPromise:void 0;try{f=O??e.fn()}catch(h){f=Promise.reject(h)}Promise.resolve(f).then(l).catch(h=>{if(n)return;let N=e.retry??(D?0:3),S=e.retryDelay??ir,y=typeof S=="function"?S(r,h):S,ct=N===!0||typeof N=="number"&&r<N||typeof N=="function"&&N(r,h);if(t||!ct){m(h);return}r++,e.onFail?.(r,h),Ve(y).then(()=>d()?void 0:p()).then(()=>{t?m(h):E()})})};return{promise:o,cancel:c,continue:()=>(i?.(),o),cancelRetry:s,continueRetry:a,canStart:u,start:()=>(u()?E():p().then(E),o)}}function sr(){let e=[],t=0,r=s=>{s()},n=s=>{s()},i=s=>setTimeout(s,0),o=s=>{t?e.push(s):i(()=>{r(s)})},c=()=>{let s=e;e=[],s.length&&i(()=>{n(()=>{s.forEach(a=>{r(a)})})})};return{batch:s=>{let a;t++;try{a=s()}finally{t--,t||c()}return a},batchCalls:s=>(...a)=>{o(()=>{s(...a)})},schedule:o,setNotifyFunction:s=>{r=s},setBatchNotifyFunction:s=>{n=s},setScheduler:s=>{i=s}}}var T=sr();var J=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ge(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(D?1/0:5*60*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}};var ze=class extends J{#e;#t;#r;#n;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=ar(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(e){this.options={...this.#o,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,t){let r=Qe(this.state.data,e,this.options);return this.#i({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){let t=this.#n?.promise;return this.#n?.cancel(e),t?t.then(v).catch(v):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>je(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===G||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!Be(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#n&&(this.#s?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(e,t){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){let s=this.observers.find(a=>a.options.queryFn);s&&this.setOptions(s.options)}let r=new AbortController,n=s=>{Object.defineProperty(s,"signal",{enumerable:!0,get:()=>(this.#s=!0,r.signal)})},i=()=>{let s=$(this.options,t),a={queryKey:this.queryKey,meta:this.meta};return n(a),this.#s=!1,this.options.persister?this.options.persister(s,a,this):s(a)},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};n(o),this.options.behavior?.onFetch(o,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#i({type:"fetch",meta:o.fetchOptions?.meta});let c=s=>{W(s)&&s.silent||this.#i({type:"error",error:s}),W(s)||(this.#r.config.onError?.(s,this),this.#r.config.onSettled?.(this.state.data,s,this)),this.scheduleGc()};return this.#n=z({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:r.abort.bind(r),onSuccess:s=>{if(s===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(s)}catch(a){c(a);return}this.#r.config.onSuccess?.(s,this),this.#r.config.onSettled?.(s,this.state.error,this),this.scheduleGc()},onError:c,onFail:(s,a)=>{this.#i({type:"failed",failureCount:s,error:a})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#n.start()}#i(e){let t=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...or(r.data,this.options),fetchMeta:e.meta??null};case"success":return{...r,data:e.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":let n=e.error;return W(n)&&n.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...r,error:n,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=t(this.state),T.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function or(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Re(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function ar(e){let t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var B=class extends A{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,r){let n=t.queryKey,i=t.queryHash??K(n,t),o=this.get(i);return o||(o=new ze({cache:this,queryKey:n,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(n)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){T.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(r=>de(t,r))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(r=>de(e,r)):t}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){T.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){T.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}};var Je=class extends J{#e;#t;#r;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||cr(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){this.#r=z({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(n,i)=>{this.#n({type:"failed",failureCount:n,error:i})},onPause:()=>{this.#n({type:"pause"})},onContinue:()=>{this.#n({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});let t=this.state.status==="pending",r=!this.#r.canStart();try{if(!t){this.#n({type:"pending",variables:e,isPaused:r}),await this.#t.config.onMutate?.(e,this);let i=await this.options.onMutate?.(e);i!==this.state.context&&this.#n({type:"pending",context:i,variables:e,isPaused:r})}let n=await this.#r.start();return await this.#t.config.onSuccess?.(n,e,this.state.context,this),await this.options.onSuccess?.(n,e,this.state.context),await this.#t.config.onSettled?.(n,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(n,null,e,this.state.context),this.#n({type:"success",data:n}),n}catch(n){try{throw await this.#t.config.onError?.(n,e,this.state.context,this),await this.options.onError?.(n,e,this.state.context),await this.#t.config.onSettled?.(void 0,n,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,n,e,this.state.context),n}finally{this.#n({type:"error",error:n})}}finally{this.#t.runNext(this)}}#n(e){let t=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),T.batch(()=>{this.#e.forEach(r=>{r.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function cr(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var j=class extends A{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#r=0}#e;#t;#r;build(e,t,r){let n=new Je({mutationCache:this,mutationId:++this.#r,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#e.add(e);let t=Z(e);if(typeof t=="string"){let r=this.#t.get(t);r?r.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){let t=Z(e);if(typeof t=="string"){let r=this.#t.get(t);if(r)if(r.length>1){let n=r.indexOf(e);n!==-1&&r.splice(n,1)}else r[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=Z(e);if(typeof t=="string"){let n=this.#t.get(t)?.find(i=>i.state.status==="pending");return!n||n===e}else return!0}runNext(e){let t=Z(e);return typeof t=="string"?this.#t.get(t)?.find(n=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){T.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(r=>Ee(t,r))}findAll(e={}){return this.getAll().filter(t=>Ee(e,t))}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(t=>t.state.isPaused);return T.batch(()=>Promise.all(e.map(t=>t.continue().catch(v))))}};function Z(e){return e.options.scope?.id}function me(e){return{onFetch:(t,r)=>{let n=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],c=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},a=0,d=async()=>{let u=!1,l=E=>{Object.defineProperty(E,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},m=$(t.options,t.fetchOptions),p=async(E,f,O)=>{if(u)return Promise.reject();if(f==null&&E.pages.length)return Promise.resolve(E);let h={queryKey:t.queryKey,pageParam:f,direction:O?"backward":"forward",meta:t.options.meta};l(h);let N=await m(h),{maxPages:S}=t.options,y=O?$e:Ye;return{pages:y(E.pages,N,S),pageParams:y(E.pageParams,f,S)}};if(i&&o.length){let E=i==="backward",f=E?ur:Ze,O={pages:o,pageParams:c},h=f(n,O);s=await p(O,h,E)}else{let E=e??o.length;do{let f=a===0?c[0]??n.initialPageParam:Ze(n,s);if(a>0&&f==null)break;s=await p(s,f),a++}while(a<E)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(d,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=d}}}function Ze(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function ur(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}var pe=class{#e;#t;#r;#n;#o;#s;#i;#a;constructor(e={}){this.#e=e.queryCache||new B,this.#t=e.mutationCache||new j,this.#r=e.defaultOptions||{},this.#n=new Map,this.#o=new Map,this.#s=0}mount(){this.#s++,this.#s===1&&(this.#i=X.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#a=U.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#s--,this.#s===0&&(this.#i?.(),this.#i=void 0,this.#a?.(),this.#a=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#e.build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(fe(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:r})=>{let n=r.data;return[t,n]})}setQueryData(e,t,r){let n=this.defaultQueryOptions({queryKey:e}),o=this.#e.get(n.queryHash)?.state.data,c=Ke(t,o);if(c!==void 0)return this.#e.build(this,n).setData(c,{...r,manual:!0})}setQueriesData(e,t,r){return T.batch(()=>this.#e.findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;T.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){let r=this.#e,n={type:"active",...e};return T.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries(n,t)))}cancelQueries(e,t={}){let r={revert:!0,...t},n=T.batch(()=>this.#e.findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(v).catch(v)}invalidateQueries(e,t={}){return T.batch(()=>{if(this.#e.findAll(e).forEach(n=>{n.invalidate()}),e?.refetchType==="none")return Promise.resolve();let r={...e,type:e?.refetchType??e?.type??"active"};return this.refetchQueries(r,t)})}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0},n=T.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(v)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(v)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let r=this.#e.build(this,t);return r.isStaleByTime(fe(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(v).catch(v)}fetchInfiniteQuery(e){return e.behavior=me(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(v).catch(v)}ensureInfiniteQueryData(e){return e.behavior=me(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return U.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(e){this.#r=e}setQueryDefaults(e,t){this.#n.set(M(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#n.values()],r={};return t.forEach(n=>{L(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){this.#o.set(M(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#o.values()],r={};return t.forEach(n=>{L(e,n.mutationKey)&&(r={...r,...n.defaultOptions})}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#r.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=K(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===G&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#r.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};var lr=new pe({defaultOptions:{queries:{staleTime:3e4}},queryCache:new B({onError:(e,t)=>{}}),mutationCache:new j}),He=lr;var H,b="https://api.dtect.io/security",ee=`${b}/client/check`,w="",P="",tt="0.0.17",ye,rt,et,hr="20000000-aaaa-bbbb-cccc-000000000002",te,I={isLoading:!1,token:"",visitorId:"",projectId:"",questionData:null,clientData:null,aiCheckData:null,tokens:null};var nt=Le,C;async function fr({clientId:e,apiKey:t,endpoint:r}){return await He.fetchQuery({queryKey:["getClientConfig",e,t],queryFn:()=>le({url:`${r}/client/config`,headers:{"client-id":w,"x-api-key":P}})})}function Ie(e){if(e instanceof Error){if(e?.message?.includes("maintenance_mode"))throw new Error(R.MAINTENANCE_MODE);if(e?.message?.includes("rate-limited"))throw new Error(R.RATE_LIMIT_REACHED);switch(e?.message){case k.ERROR_RATE_LIMIT:throw new Error(R.RATE_LIMIT_REACHED);default:throw new Error(R.INTERNAL_SERVER_ERROR)}}throw new Error(R.FAILED_TO_GET_SECURITY_TOKEN)}function F(){let e=window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///"),t=document.querySelector("#dtect-h-captcha");return!!(H&&(t||e))}function it(){return!!(w&&P)}function dr(){return new Promise(e=>{let t=()=>{window?.hcaptcha?e():requestAnimationFrame(t)};t()})}var st=()=>window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///");async function Er({behaviorKey:e}){if(H=await k.load({apiKey:e,endpoint:["https://fp.dtect.io",k.defaultEndpoint],scriptUrlPattern:["https://fp.dtect.io/web/v<version>/<apiKey>/loader_v<loaderVersion>.js",k.defaultScriptUrlPattern]}),st()||(await dr(),await window.hcaptcha.render("dtect-h-captcha",{sitekey:ye,size:"invisible"})),!H)throw new Error(R.SDK_INIT_ERROR)}async function Rr(){if(I.tokens)return I.tokens;let e=new Promise(i=>{let o=H?.get();i(o)}),t=new Promise(async i=>{st()&&i({response:hr});let c=await window?.hcaptcha?.execute({async:!0});i(c)}),[r,n]=await Promise.all([t,e]);return I.tokens={behaviorRequestId:n?.requestId,behaviorToken:n?.sealedResult,automationToken:r?.response},I.tokens}async function ot(e,t){if(!F())throw new Error(R.NOT_INITIALIZED);if(!it())throw new Error(R.MISSING_CREDENTIALS);let{projectId:r,visitorId:n}=mr(e);if(!e||!r?.trim())throw new Error(R.FAILED_TO_GET_SECURITY_RESULT);try{let i=await Rr();if(i?.behaviorToken&&i?.behaviorRequestId&&i?.automationToken){let o={behaviorToken:i.behaviorToken,automationToken:i.automationToken,behaviorRequestId:i.behaviorRequestId,entryLink:window?.location?.href,securitySettings:e.securitySettings,metaData:e.metaData};I.clientData=o;let c={...e,projectId:r?.trim(),visitorId:n?.trim()||Q(),clientData:o,version:"0.0.17",token:I.token,questionData:I.questionData,aiCheckData:I.aiCheckData};et=performance.now();let s=(et-rt).toFixed(),a=await Y({url:`${t}?clientId=${w}&diff=${s}`,body:{...c},headers:{"client-id":w,"x-api-key":P}});if("token"in a||"results"in a)return a}throw new Error(R.INTERNAL_SERVER_ERROR)}catch(i){if(i instanceof Error){if(i?.message?.includes("maintenance_mode"))throw new Error(R.MAINTENANCE_MODE);if(i?.message?.includes("rate-limited")||i?.message?.includes("429"))throw new Error(R.RATE_LIMIT_REACHED);switch(i?.message){case k.ERROR_RATE_LIMIT:throw new Error(R.RATE_LIMIT_REACHED);default:throw new Error(R.INTERNAL_SERVER_ERROR)}}throw new Error(R.FAILED_TO_GET_SECURITY_RESULT)}}async function Te(e){return await ot(e,`${b}/client/check/result`)}async function Oe(e){return await ot(e,`${b}/client/check`)}function mr(e){let t=e?.projectId,r=e?.visitorId;return(typeof e?.projectId=="number"||typeof e?.visitorId=="number")&&(t=`${e?.projectId}`,r=`${e?.visitorId}`),{visitorId:r,projectId:t}}async function _e(e){if(!F())throw new Error(R.NOT_INITIALIZED);let{respondentType:t,language:r}=e;try{let n=await le({url:`${b}/client/quality-questions/${t}/${r}`,headers:{"client-id":w,"x-api-key":P}});if(n)return n;throw new Error(R.INTERNAL_SERVER_ERROR)}catch(n){Ie(n)}}async function ve(e){if(!F())throw new Error(R.NOT_INITIALIZED);I.questionData={questions:e.questions};try{let t=await Y({url:ee,headers:{"client-id":w,"x-api-key":P},body:{token:I.token,visitorId:e.visitorId,projectId:e.projectId,version:tt,questionData:I.questionData,aiCheckData:I.aiCheckData,clientData:I.clientData}});if(t)return t;throw new Error(R.INTERNAL_SERVER_ERROR)}catch(t){Ie(t)}}async function ge(e){if(!F())throw new Error(R.NOT_INITIALIZED);I.aiCheckData={timeTakenSeconds:e.timeTakenSeconds,qbc:e.qbc||C.qbc,mas:e.mas||C.mas,scb:e.scb||C.scb,apd:e.apd||C.apd};try{let t=await Y({url:ee,headers:{"client-id":w,"x-api-key":P},body:{token:I.token,visitorId:e.visitorId,projectId:e.projectId,version:tt,clientData:I.clientData,questionData:I.questionData,aiCheckData:I.aiCheckData}});if(t)return t;throw new Error(R.INTERNAL_SERVER_ERROR)}catch(t){Ie(t)}}async function pr(){return Q()}function yr(){let e=document.querySelector("head"),t=document.querySelector("body");if(!(window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///"))){t?.insertAdjacentHTML("beforeend",'<div id="dtect-h-captcha" ></div>');let n=document.createElement("script");n.setAttribute("src","https://js.hcaptcha.com/1/api.js"),n.setAttribute("async","true"),n.setAttribute("defer","true"),e?.append(n)}}function Ir(){return!!ye}function Tr(e){return e?.automationKey&&e?.behaviorKey}async function at(e){if(!e?.clientId||!e?.apiKey)throw new Error(R.MISSING_CREDENTIALS);rt=performance.now();let{clientId:t,apiKey:r,endpoint:n="https://api.dtect.io/security",includeResults:i}=e;b=n,ee=`${b}/client/check`;let o=await pr();if(I.isLoading){if(F())return te;throw new Error(R.DUPLICATE_INITIALIZATION)}if(C=Fe(),w=t,P=r,i&&(ee=`${b}/client/check/result`),I={...I,isLoading:!0,token:o||""},!it())throw new Error(R.MISSING_CREDENTIALS);if(F())return te;yr();try{let c=await fr({clientId:t,apiKey:r,endpoint:n});if(!Tr(c)||Ir())throw new Error;return ye=c.automationKey,Er({behaviorKey:c.behaviorKey}).then(()=>({getSecurityResult:Te,getSecurityToken:Oe,SecurityAPIError:nt,isAIUsageDetected:ge,checkQualityQuestions:ve,getQualityQuestions:_e,LanguageCodes:x,QualityQuestionsRespondentTypes:q})).catch(s=>{throw new Error(s.message)})}catch(c){if(c instanceof Error){if(c?.message?.includes("maintenance_mode"))throw new Error(R.MAINTENANCE_MODE);if([R.INVALID_API_KEY,R.UNAUTHORIZED].includes(c?.message))throw new Error(R.INVALID_CREDENTIALS)}throw new Error(R.SDK_INIT_ERROR)}finally{I={...I,isLoading:!1,token:o}}}te={init:at,getSecurityResult:Te,getSecurityToken:Oe,isAIUsageDetected:ge,checkQualityQuestions:ve,getQualityQuestions:_e,QualityQuestionsRespondentTypes:q,LanguageCodes:x};var Or=te;
|
|
1
|
+
"use strict";var pe=Object.defineProperty;var It=Object.getOwnPropertyDescriptor;var Tt=Object.getOwnPropertyNames;var Ot=Object.prototype.hasOwnProperty;var gt=(e,t)=>{for(var r in t)pe(e,r,{get:t[r],enumerable:!0})},vt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Tt(t))!Ot.call(e,i)&&i!==r&&pe(e,i,{get:()=>t[i],enumerable:!(n=It(t,i))||n.enumerable});return e};var _t=e=>vt(pe({},"__esModule",{value:!0}),e);var br={};gt(br,{LanguageCodes:()=>q,QualityQuestionsRespondentTypes:()=>K,SecurityAPIError:()=>dt,checkQualityQuestions:()=>le,default:()=>Nr,getQualityQuestions:()=>ue,getSecurityResult:()=>ae,getSecurityToken:()=>ce,init:()=>Rt,isAIUsageDetected:()=>he});module.exports=_t(br);function At(e,t){return function(r,n){return Object.prototype.hasOwnProperty.call(r,n)}(e,t)?e[t]:void 0}function Dt(e,t,r,n){let i=document,o="securitypolicyviolation",c,s=p=>{let l=new URL(e,location.href),{blockedURI:h}=p;h!==l.href&&h!==l.protocol.slice(0,-1)&&h!==l.origin||(c=p,a())};i.addEventListener(o,s);let a=()=>i.removeEventListener(o,s);return n?.then(a,a),Promise.resolve().then(t).then(p=>(a(),p),p=>new Promise(l=>{let h=new MessageChannel;h.port1.onmessage=()=>l(),h.port2.postMessage(null)}).then(()=>{if(a(),c)return r(c);throw p}))}function w(e){let t="";for(let r=0;r<e.length;++r)if(r>0){let n=e[r].toLowerCase();n!==e[r]?t+=` ${n}`:t+=e[r]}else t+=e[r].toUpperCase();return t}var wt={default:"endpoint"},Nt={default:"tlsEndpoint"},bt="Client timeout",Pt="Network connection error",kt="Network request aborted",St="Response cannot be parsed",Ee="Blocked by CSP",me="The endpoint parameter is not a valid URL",Mt="Handle on demand agent data error",Lt=w("WrongRegion"),Ft=w("SubscriptionNotActive"),xt=w("UnsupportedVersion"),Ut=w("InstallationMethodRestricted"),qt=w("HostnameRestricted"),Kt=w("IntegrationFailed"),Gt=w("NetworkRestricted"),Bt=w("InvalidProxyIntegrationSecret"),Qt=w("InvalidProxyIntegrationHeaders"),Ct=w("ProxyIntegrationSecretEnvironmentMismatch"),Re="API key required",Se="API key not found",Me="API key expired",jt="Request cannot be parsed",Vt="Request failed",Yt="Request failed to process",$t="Too many requests, rate limit exceeded",Xt="Not available for this origin",Wt="Not available with restricted header",Jt=Re,zt=Se,Zt=Me,Ht="3.12.0",W="Failed to load the JS script of the agent",ye="9319";function er(e,t){let r=[],[n,i]=function(s){let a=function(h){let R=[...h];return{current:()=>R[0],postpone(){let y=R.shift();y!==void 0&&R.push(y)},exclude(){R.shift()}}}(s),p=function(h,R){let y=0;return()=>Math.random()*Math.min(R,h*Math.pow(2,y++))}(100,3e3),l=new Set;return[a.current(),(h,R)=>{let y,m=R instanceof Error?R.message:"";if(m===Ee||m===me)a.exclude(),y=0;else if(m===ye)a.exclude();else if(m===W){let g=Date.now()-h.getTime()<50,f=a.current();f&&g&&!l.has(f)&&(l.add(f),y=0),a.postpone()}else a.postpone();let d=a.current();return d===void 0?void 0:[d,y??h.getTime()+p()-Date.now()]}]}(e),o;if(n===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));let c=s=>{let a=new Date,p=h=>r.push({url:s,startedAt:a,finishedAt:new Date,error:h}),l=t(s);return l.then(()=>p(),p),l.catch(h=>{if(o!=null||(o=h),r.length>=5)throw o;let R=i(a,h);if(!R)throw o;let[y,m]=R;return(d=m,new Promise(g=>setTimeout(g,d))).then(()=>c(y));var d})};return c(n).then(s=>[s,r])}var Le="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",tr=Le;function rr(e){var t,r;let{picked:n,rest:i}=function(l,h){let R={},y={};for(let[m,d]of Object.entries(l))h.includes(m)?R[m]=d:y[m]=d;return{picked:R,rest:y}}(e,["scriptUrlPattern","token","apiKey"]),o=n.token,c=(t=n.apiKey)!==null&&t!==void 0?t:o,s=(r=At(e,"scriptUrlPattern"))!==null&&r!==void 0?r:Le,[a,p]=function(){let l=[],h=()=>{l.push({time:new Date,state:document.visibilityState})},R=function(y,m,d,g){return y.addEventListener(m,d,g),()=>y.removeEventListener(m,d,g)}(document,"visibilitychange",h);return h(),[l,R]}();return Promise.resolve().then(()=>{if(!c||typeof c!="string")throw new Error(Re);let l=function(h,R){return(Array.isArray(h)?h:[h]).map(y=>function(m,d){let g=encodeURIComponent;return m.replace(/<[^<>]+>/g,f=>f==="<version>"?"3":f==="<apiKey>"?g(d):f==="<loaderVersion>"?g(Ht):f)}(String(y),R))}(s,c);return er(l,nr)}).catch(l=>{throw p(),function(h){return h instanceof Error&&h.message===ye?new Error(W):h}(l)}).then(([l,h])=>(p(),l.load({...i,ldi:{attempts:h,visibilityStates:a}})))}function nr(e){return Dt(e,()=>function(t){return new Promise((r,n)=>{if(function(s){if(URL.prototype)try{return new URL(s,location.href),!1}catch(a){if(a instanceof Error&&a.name==="TypeError")return!0;throw a}}(t))throw new Error(me);let i=document.createElement("script"),o=()=>{var s;return(s=i.parentNode)===null||s===void 0?void 0:s.removeChild(i)},c=document.head||document.getElementsByTagName("head")[0];i.onload=()=>{o(),r()},i.onerror=()=>{o(),n(new Error(W))},i.async=!0,i.src=t,c.appendChild(i)})}(e),()=>{throw new Error(Ee)}).then(ir)}function ir(){let e=window,t="__fpjs_p_l_b",r=e[t];if(function(n,i){var o;let c=(o=Object.getOwnPropertyDescriptor)===null||o===void 0?void 0:o.call(Object,n,i);c?.configurable?delete n[i]:c&&!c.writable||(n[i]=void 0)}(e,t),typeof r?.load!="function")throw new Error(ye);return r}var U={load:rr,defaultScriptUrlPattern:tr,ERROR_SCRIPT_LOAD_FAIL:W,ERROR_API_KEY_EXPIRED:Me,ERROR_API_KEY_INVALID:Se,ERROR_API_KEY_MISSING:Re,ERROR_BAD_REQUEST_FORMAT:jt,ERROR_BAD_RESPONSE_FORMAT:St,ERROR_CLIENT_TIMEOUT:bt,ERROR_CSP_BLOCK:Ee,ERROR_FORBIDDEN_ENDPOINT:qt,ERROR_FORBIDDEN_HEADER:Wt,ERROR_FORBIDDEN_ORIGIN:Xt,ERROR_GENERAL_SERVER_FAILURE:Vt,ERROR_HANDLE_AGENT_DATA:Mt,ERROR_INSTALLATION_METHOD_RESTRICTED:Ut,ERROR_INTEGRATION_FAILURE:Kt,ERROR_INVALID_ENDPOINT:me,ERROR_INVALID_PROXY_INTEGRATION_HEADERS:Qt,ERROR_INVALID_PROXY_INTEGRATION_SECRET:Bt,ERROR_NETWORK_ABORT:kt,ERROR_NETWORK_CONNECTION:Pt,ERROR_NETWORK_RESTRICTED:Gt,ERROR_PROXY_INTEGRATION_SECRET_ENVIRONMENT_MISMATCH:Ct,ERROR_RATE_LIMIT:$t,ERROR_SERVER_TIMEOUT:Yt,ERROR_SUBSCRIPTION_NOT_ACTIVE:Ft,ERROR_TOKEN_EXPIRED:Zt,ERROR_TOKEN_INVALID:zt,ERROR_TOKEN_MISSING:Jt,ERROR_UNSUPPORTED_VERSION:xt,ERROR_WRONG_REGION:Lt,defaultEndpoint:wt,defaultTlsEndpoint:Nt};var v=[];for(let e=0;e<256;++e)v.push((e+256).toString(16).slice(1));function Fe(e,t=0){return(v[e[t+0]]+v[e[t+1]]+v[e[t+2]]+v[e[t+3]]+"-"+v[e[t+4]]+v[e[t+5]]+"-"+v[e[t+6]]+v[e[t+7]]+"-"+v[e[t+8]]+v[e[t+9]]+"-"+v[e[t+10]]+v[e[t+11]]+v[e[t+12]]+v[e[t+13]]+v[e[t+14]]+v[e[t+15]]).toLowerCase()}var Ie,sr=new Uint8Array(16);function Te(){if(!Ie){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ie=crypto.getRandomValues.bind(crypto)}return Ie(sr)}var or=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Oe={randomUUID:or};function ar(e,t,r){if(Oe.randomUUID&&!t&&!e)return Oe.randomUUID();e=e||{};let n=e.random??e.rng?.()??Te();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Fe(n)}var C=ar;var cr={UNAUTHORIZED:"Unauthorized"},ur={EXPIRED:"EXPIRED_TOKEN",INVALID_API_KEY:"INVALID_API_KEY",MISSING_AUTHENTICATION_TOKEN:"MISSING_AUTHENTICATION_TOKEN"},xe={INTERNAL_SERVER_ERROR:"Internal Server Error during API Request",MISSING_CREDENTIALS:"Missing Public Client ID or Public API Key",MAINTENANCE_MODE:"API Under Maintenance",RATE_LIMIT_REACHED:"Too many requests. Rate limit exceeded"},Ue={SDK_INIT_ERROR:"Internal Server Error during SDK Initialization",DUPLICATE_INITIALIZATION:"Multiple SDK Initializations Detected",NOT_INITIALIZED:"SDK Not Initialized"},qe={INVALID_CREDENTIALS:"Invalid Public Client ID or Public API Key"},Ke={FAILED_TO_GET_SECURITY_RESULT:"Failed to Retrieve Security Result"},Ge={FAILED_TO_GET_SECURITY_TOKEN:" Failed to Generate Security Token"},E={...cr,...ur,...xe,...Ue,...qe,...Ke,...Ge},Be={...xe,...Ue,...qe,...Ke,...Ge};var q=(f=>(f.AR="ar",f.BN="bn",f.DE="de",f.EN="en",f.ES="es",f.FR="fr",f.HI="hi",f.ID="id",f.IT="it",f.JA="ja",f.KO="ko",f.MS="ms",f.NL="nl",f.PT="pt",f.RU="ru",f.YU="yu",f.ZH="zh",f))(q||{}),K=(I=>(I.GeneralConsumer="general-consumer",I.HRManagerDirector="hr-manager-director",I.WebDeveloper="web-developer",I.SoftwareEngineer="software-engineer",I.ITDirector="it-director",I.BusinessAdministrator="business-administrator",I.AccountsPayableManager="accounts-payable-manager",I.Accountant="accountant",I.FinanceDirector="finance-director",I.SmallBusinessOwner="small-business-owner",I.GeneralContractor="general-contractor",I.MarketingManagerDirector="marketing-manager-director",I.ConsumerShopper="consumer-shopper",I.Travel="travel",I.Entertainment="entertainment",I.FinanceAndBanking="finance-and-banking",I.General="general",I.B2BWhiteCollar="b2b-white-collar",I.B2BBlueCollar="b2b-blue-collar",I.Lawyer="lawyer",I))(K||{});var lr=(e,t={})=>({"Content-Type":"application/json",...e?.accessToken&&{Authorization:`Bearer ${e?.accessToken}`},...t}),hr=async(e,t)=>{if(!e.ok){let r=await e.text();throw new Error(r)}return t==="file"?e.blob():t==="json"?e.json():t==="text"?e.text():null},Qe=async({url:e,auth:t,body:r,method:n="GET",headers:i={},responseType:o="json"})=>{let c={method:n,headers:lr(t,i),...r?{body:r instanceof FormData?r:JSON.stringify(r)}:{}},s=await fetch(e,c);return hr(s,o)},ge=e=>Qe({...e,method:"GET"}),J=e=>Qe({...e,method:"POST"});function Ce(e){let t=e?.qbc||!1,r=e?.mas||!1,n=e?.apd||!1,i=e?.scb||null,o=0,c=()=>{t=!1,r=!1,n=!1,i=void 0,o=0},s=()=>{let h=window?.getSelection()?.toString();h&&h.length>0&&(o=Date.now(),t=!0)},a=l=>{let h=l.clipboardData?.getData("text"),R=l.target instanceof HTMLInputElement||l.target instanceof HTMLTextAreaElement;h&&R&&(n=!0)},p=()=>{r=!0;let l=Date.now();if(o){let h=(l-o)/1e3;(i===void 0||h<i)&&(i=h)}};return document?.addEventListener("copy",s),document?.addEventListener("paste",a),window?.addEventListener("blur",p),{get qbc(){return t},get mas(){return r},get apd(){return n},get scb(){return i},reset:c,destroy(){document?.removeEventListener("copy",s),document?.removeEventListener("paste",a),window?.removeEventListener("blur",p)}}}var b=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var P=typeof window>"u"||"Deno"in globalThis;function A(){}function Ye(e,t){return typeof e=="function"?e(t):e}function $e(e){return typeof e=="number"&&e>=0&&e!==1/0}function Xe(e,t){return Math.max(e+(t||0)-Date.now(),0)}function _e(e,t){return typeof e=="function"?e(t):e}function We(e,t){return typeof e=="function"?e(t):e}function Ae(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:c,stale:s}=e;if(c){if(n){if(t.queryHash!==j(c,t.options))return!1}else if(!B(t.queryKey,c))return!1}if(r!=="all"){let a=t.isActive();if(r==="active"&&!a||r==="inactive"&&a)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||i&&i!==t.state.fetchStatus||o&&!o(t))}function De(e,t){let{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(G(t.options.mutationKey)!==G(o))return!1}else if(!B(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function j(e,t){return(t?.queryKeyHashFn||G)(e)}function G(e){return JSON.stringify(e,(t,r)=>ve(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function B(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(r=>!B(e[r],t[r])):!1}function Je(e,t){if(e===t)return e;let r=je(e)&&je(t);if(r||ve(e)&&ve(t)){let n=r?e:Object.keys(e),i=n.length,o=r?t:Object.keys(t),c=o.length,s=r?[]:{},a=0;for(let p=0;p<c;p++){let l=r?p:o[p];(!r&&n.includes(l)||r)&&e[l]===void 0&&t[l]===void 0?(s[l]=void 0,a++):(s[l]=Je(e[l],t[l]),s[l]===e[l]&&e[l]!==void 0&&a++)}return i===c&&a===i?e:s}return t}function je(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function ve(e){if(!Ve(e))return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(!Ve(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Ve(e){return Object.prototype.toString.call(e)==="[object Object]"}function ze(e){return new Promise(t=>{setTimeout(t,e)})}function Ze(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?Je(e,t):t}function He(e,t,r=0){let n=[...e,t];return r&&n.length>r?n.slice(1):n}function et(e,t,r=0){let n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var V=Symbol();function z(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===V?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var fr=class extends b{#e;#t;#r;constructor(){super(),this.#r=e=>{if(!P&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Z=new fr;var dr=class extends b{#e=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!P&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},Q=new dr;function tt(){let e,t,r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}function pr(e){return Math.min(1e3*2**e,3e4)}function we(e){return(e??"online")==="online"?Q.isOnline():!0}var rt=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function H(e){return e instanceof rt}function ee(e){let t=!1,r=0,n=!1,i,o=tt(),c=d=>{n||(R(new rt(d)),e.abort?.())},s=()=>{t=!0},a=()=>{t=!1},p=()=>Z.isFocused()&&(e.networkMode==="always"||Q.isOnline())&&e.canRun(),l=()=>we(e.networkMode)&&e.canRun(),h=d=>{n||(n=!0,e.onSuccess?.(d),i?.(),o.resolve(d))},R=d=>{n||(n=!0,e.onError?.(d),i?.(),o.reject(d))},y=()=>new Promise(d=>{i=g=>{(n||p())&&d(g)},e.onPause?.()}).then(()=>{i=void 0,n||e.onContinue?.()}),m=()=>{if(n)return;let d,g=r===0?e.initialPromise:void 0;try{d=g??e.fn()}catch(f){d=Promise.reject(f)}Promise.resolve(d).then(h).catch(f=>{if(n)return;let k=e.retry??(P?0:3),x=e.retryDelay??pr,I=typeof x=="function"?x(r,f):x,yt=k===!0||typeof k=="number"&&r<k||typeof k=="function"&&k(r,f);if(t||!yt){R(f);return}r++,e.onFail?.(r,f),ze(I).then(()=>p()?void 0:y()).then(()=>{t?R(f):m()})})};return{promise:o,cancel:c,continue:()=>(i?.(),o),cancelRetry:s,continueRetry:a,canStart:l,start:()=>(l()?m():y().then(m),o)}}function Er(){let e=[],t=0,r=s=>{s()},n=s=>{s()},i=s=>setTimeout(s,0),o=s=>{t?e.push(s):i(()=>{r(s)})},c=()=>{let s=e;e=[],s.length&&i(()=>{n(()=>{s.forEach(a=>{r(a)})})})};return{batch:s=>{let a;t++;try{a=s()}finally{t--,t||c()}return a},batchCalls:s=>(...a)=>{o(()=>{s(...a)})},schedule:o,setNotifyFunction:s=>{r=s},setBatchNotifyFunction:s=>{n=s},setScheduler:s=>{i=s}}}var O=Er();var te=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),$e(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(P?1/0:5*60*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}};var nt=class extends te{#e;#t;#r;#n;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Rr(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(e){this.options={...this.#o,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,t){let r=Ze(this.state.data,e,this.options);return this.#i({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){let t=this.#n?.promise;return this.#n?.cancel(e),t?t.then(A).catch(A):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>We(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===V||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!Xe(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#n&&(this.#s?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(e,t){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){let s=this.observers.find(a=>a.options.queryFn);s&&this.setOptions(s.options)}let r=new AbortController,n=s=>{Object.defineProperty(s,"signal",{enumerable:!0,get:()=>(this.#s=!0,r.signal)})},i=()=>{let s=z(this.options,t),a={queryKey:this.queryKey,meta:this.meta};return n(a),this.#s=!1,this.options.persister?this.options.persister(s,a,this):s(a)},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};n(o),this.options.behavior?.onFetch(o,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#i({type:"fetch",meta:o.fetchOptions?.meta});let c=s=>{H(s)&&s.silent||this.#i({type:"error",error:s}),H(s)||(this.#r.config.onError?.(s,this),this.#r.config.onSettled?.(this.state.data,s,this)),this.scheduleGc()};return this.#n=ee({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:r.abort.bind(r),onSuccess:s=>{if(s===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(s)}catch(a){c(a);return}this.#r.config.onSuccess?.(s,this),this.#r.config.onSettled?.(s,this.state.error,this),this.scheduleGc()},onError:c,onFail:(s,a)=>{this.#i({type:"failed",failureCount:s,error:a})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#n.start()}#i(e){let t=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...mr(r.data,this.options),fetchMeta:e.meta??null};case"success":return{...r,data:e.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":let n=e.error;return H(n)&&n.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...r,error:n,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=t(this.state),O.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function mr(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:we(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Rr(e){let t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Y=class extends b{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,r){let n=t.queryKey,i=t.queryHash??j(n,t),o=this.get(i);return o||(o=new nt({cache:this,queryKey:n,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(n)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){O.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(r=>Ae(t,r))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(r=>Ae(e,r)):t}notify(e){O.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){O.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){O.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}};var it=class extends te{#e;#t;#r;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||yr(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){this.#r=ee({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(n,i)=>{this.#n({type:"failed",failureCount:n,error:i})},onPause:()=>{this.#n({type:"pause"})},onContinue:()=>{this.#n({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});let t=this.state.status==="pending",r=!this.#r.canStart();try{if(!t){this.#n({type:"pending",variables:e,isPaused:r}),await this.#t.config.onMutate?.(e,this);let i=await this.options.onMutate?.(e);i!==this.state.context&&this.#n({type:"pending",context:i,variables:e,isPaused:r})}let n=await this.#r.start();return await this.#t.config.onSuccess?.(n,e,this.state.context,this),await this.options.onSuccess?.(n,e,this.state.context),await this.#t.config.onSettled?.(n,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(n,null,e,this.state.context),this.#n({type:"success",data:n}),n}catch(n){try{throw await this.#t.config.onError?.(n,e,this.state.context,this),await this.options.onError?.(n,e,this.state.context),await this.#t.config.onSettled?.(void 0,n,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,n,e,this.state.context),n}finally{this.#n({type:"error",error:n})}}finally{this.#t.runNext(this)}}#n(e){let t=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),O.batch(()=>{this.#e.forEach(r=>{r.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function yr(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var $=class extends b{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#r=0}#e;#t;#r;build(e,t,r){let n=new it({mutationCache:this,mutationId:++this.#r,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#e.add(e);let t=re(e);if(typeof t=="string"){let r=this.#t.get(t);r?r.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){let t=re(e);if(typeof t=="string"){let r=this.#t.get(t);if(r)if(r.length>1){let n=r.indexOf(e);n!==-1&&r.splice(n,1)}else r[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=re(e);if(typeof t=="string"){let n=this.#t.get(t)?.find(i=>i.state.status==="pending");return!n||n===e}else return!0}runNext(e){let t=re(e);return typeof t=="string"?this.#t.get(t)?.find(n=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){O.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(r=>De(t,r))}findAll(e={}){return this.getAll().filter(t=>De(e,t))}notify(e){O.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(t=>t.state.isPaused);return O.batch(()=>Promise.all(e.map(t=>t.continue().catch(A))))}};function re(e){return e.options.scope?.id}function Ne(e){return{onFetch:(t,r)=>{let n=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],c=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},a=0,p=async()=>{let l=!1,h=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(t.signal.aborted?l=!0:t.signal.addEventListener("abort",()=>{l=!0}),t.signal)})},R=z(t.options,t.fetchOptions),y=async(m,d,g)=>{if(l)return Promise.reject();if(d==null&&m.pages.length)return Promise.resolve(m);let f={queryKey:t.queryKey,pageParam:d,direction:g?"backward":"forward",meta:t.options.meta};h(f);let k=await R(f),{maxPages:x}=t.options,I=g?et:He;return{pages:I(m.pages,k,x),pageParams:I(m.pageParams,d,x)}};if(i&&o.length){let m=i==="backward",d=m?Ir:st,g={pages:o,pageParams:c},f=d(n,g);s=await y(g,f,m)}else{let m=e??o.length;do{let d=a===0?c[0]??n.initialPageParam:st(n,s);if(a>0&&d==null)break;s=await y(s,d),a++}while(a<m)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(p,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=p}}}function st(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function Ir(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}var be=class{#e;#t;#r;#n;#o;#s;#i;#a;constructor(e={}){this.#e=e.queryCache||new Y,this.#t=e.mutationCache||new $,this.#r=e.defaultOptions||{},this.#n=new Map,this.#o=new Map,this.#s=0}mount(){this.#s++,this.#s===1&&(this.#i=Z.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#a=Q.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#s--,this.#s===0&&(this.#i?.(),this.#i=void 0,this.#a?.(),this.#a=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#e.build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(_e(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:r})=>{let n=r.data;return[t,n]})}setQueryData(e,t,r){let n=this.defaultQueryOptions({queryKey:e}),o=this.#e.get(n.queryHash)?.state.data,c=Ye(t,o);if(c!==void 0)return this.#e.build(this,n).setData(c,{...r,manual:!0})}setQueriesData(e,t,r){return O.batch(()=>this.#e.findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;O.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){let r=this.#e,n={type:"active",...e};return O.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries(n,t)))}cancelQueries(e,t={}){let r={revert:!0,...t},n=O.batch(()=>this.#e.findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(A).catch(A)}invalidateQueries(e,t={}){return O.batch(()=>{if(this.#e.findAll(e).forEach(n=>{n.invalidate()}),e?.refetchType==="none")return Promise.resolve();let r={...e,type:e?.refetchType??e?.type??"active"};return this.refetchQueries(r,t)})}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0},n=O.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(A)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(A)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let r=this.#e.build(this,t);return r.isStaleByTime(_e(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(A).catch(A)}fetchInfiniteQuery(e){return e.behavior=Ne(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(A).catch(A)}ensureInfiniteQueryData(e){return e.behavior=Ne(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Q.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(e){this.#r=e}setQueryDefaults(e,t){this.#n.set(G(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#n.values()],r={};return t.forEach(n=>{B(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){this.#o.set(G(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#o.values()],r={};return t.forEach(n=>{B(e,n.mutationKey)&&(r={...r,...n.defaultOptions})}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#r.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=j(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===V&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#r.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};var Tr=new be({defaultOptions:{queries:{staleTime:3e4}},queryCache:new Y({onError:(e,t)=>{}}),mutationCache:new $}),ot=Tr;var at="dtect_security_sdk_state",ct=typeof window<"u",ut={isLoading:!1,token:"",visitorId:"",projectId:"",questionData:null,clientData:null,aiCheckData:null,tokens:null},ne={state:{...ut},securityKeys:{behaviorKey:"",automationKey:""}};function lt(){if(!ct)return ne;try{let e=sessionStorage.getItem(at);if(!e)return ne;let t=JSON.parse(e);return t.expiresAt&&t.expiresAt<Date.now()?ne:{state:{...ut,...t.state},securityKeys:t.securityKeys||{behaviorKey:"",automationKey:""}}}catch{return ne}}function S(e){if(ct)try{let t=Date.now()+864e5,r={...e,expiresAt:t};sessionStorage.setItem(at,JSON.stringify(r))}catch{}}function ht(e){return e.token||C()}async function _(e,t="info",r={}){let n=`${r.endpoint??"https://api.dtect.io/security"}/log`,i={message:e,type:t,payload:r};navigator.sendBeacon(n,JSON.stringify(i))}var ie,T="https://api.dtect.io/security",se=`${T}/client/check`,L="",F="",ft="0.0.19";var Or="20000000-aaaa-bbbb-cccc-000000000002",oe;var{state:u,securityKeys:{automationKey:D,behaviorKey:N}}=lt(),dt=Be,X;async function gr({clientId:e,apiKey:t,endpoint:r}){if(fe({automationKey:D,behaviorKey:N}))return{automationKey:D,behaviorKey:N};let n=await ot.fetchQuery({queryKey:["getClientConfig",e,t],queryFn:()=>ge({url:`${r}/client/config`,headers:{"client-id":L,"x-api-key":F}})});if(!fe(n))throw new Error;return D=n.automationKey,N=n.behaviorKey,S({state:u,securityKeys:n}),n}function Pe(e){if(e instanceof Error){if(e?.message?.includes("maintenance_mode"))throw new Error(E.MAINTENANCE_MODE);if(e?.message?.includes("rate-limited"))throw new Error(E.RATE_LIMIT_REACHED);switch(e?.message){case U.ERROR_RATE_LIMIT:throw new Error(E.RATE_LIMIT_REACHED);default:throw new Error(E.INTERNAL_SERVER_ERROR)}}throw new Error(E.FAILED_TO_GET_SECURITY_TOKEN)}function M(){if(mt(u)&&fe({automationKey:D,behaviorKey:N}))return!0;let e=de(),t=document.querySelector("#dtect-h-captcha");return!!ie&&!!(t||e)}function pt(){return!!(L&&F)}function vr(){return new Promise(e=>{let t=()=>{window?.hcaptcha?e():requestAnimationFrame(t)};t()})}var de=()=>window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///");async function _r({behaviorKey:e}){if(ie=await U.load({apiKey:e,endpoint:["https://fp.dtect.io",U.defaultEndpoint],scriptUrlPattern:["https://fp.dtect.io/web/v<version>/<apiKey>/loader_v<loaderVersion>.js",U.defaultScriptUrlPattern]}),de()||(await vr(),await window.hcaptcha.render("dtect-h-captcha",{sitekey:D,size:"invisible"})),!ie)throw new Error(E.SDK_INIT_ERROR)}async function Ar(){let e=performance.now();if(u.tokens){let a=(performance.now()-e).toFixed();return _(`getTokens finishes in ${a}ms`,"info",{function:"getTokens",endpoint:T,diff:a,token:u.token}),u.tokens}let t=new Promise(s=>{let a=ie?.get();s(a)}),r=new Promise(async s=>{de()&&s({response:Or});let p=await window?.hcaptcha?.execute({async:!0});s(p)}),[n,i]=await Promise.all([r,t]);u.tokens={behaviorRequestId:i?.requestId,behaviorToken:i?.sealedResult,automationToken:n?.response};let c=(performance.now()-e).toFixed();return _(`getTokens finishes in ${c}ms`,"info",{function:"getTokens",endpoint:T,diff:c,token:u.token}),u.tokens}function Dr(e){let t=e?.projectId,r=e?.visitorId||C();return(typeof e?.projectId=="number"||typeof e?.visitorId=="number")&&(t=`${e?.projectId}`,r=`${e?.visitorId}`),{visitorId:r,projectId:t}}function ke(e){if(u.projectId&&u.visitorId)return{visitorId:u.visitorId,projectId:u.projectId};let{projectId:t,visitorId:r}=Dr(e);return{projectId:t,visitorId:r}}async function Et(e,t){let r=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);if(!pt())throw new Error(E.MISSING_CREDENTIALS);let{projectId:n,visitorId:i}=ke(e);if(u.projectId=n,u.visitorId=i,!e||!n?.trim())throw new Error(E.FAILED_TO_GET_SECURITY_RESULT);try{let o=await Ar();if(o?.behaviorToken&&o?.behaviorRequestId&&o?.automationToken){let c={behaviorToken:o.behaviorToken,automationToken:o.automationToken,behaviorRequestId:o.behaviorRequestId,entryLink:window?.location?.href,securitySettings:e.securitySettings,metaData:e.metaData};u.clientData=c;let s={...e,projectId:n,visitorId:i,clientData:c,version:"0.0.19",token:u.token,questionData:u.questionData,aiCheckData:u.aiCheckData},a=await J({url:`${t}`,body:{...s},headers:{"client-id":L,"x-api-key":F}});if("token"in a||"results"in a){S({state:u,securityKeys:{automationKey:D,behaviorKey:N}});let l=(performance.now()-r).toFixed();return _(`getResultBase finishes in ${l}ms`,"info",{function:"getResultBase",endpoint:T,diff:l,token:u.token}),a}}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(o){let s=(performance.now()-r).toFixed();if(_("getResultBase error","error",{function:"getResultBase",endpoint:T,error:o,diff:s,token:u.token}),o instanceof Error){if(o?.message?.includes("maintenance_mode"))throw new Error(E.MAINTENANCE_MODE);if(o?.message?.includes("rate-limited")||o?.message?.includes("429"))throw new Error(E.RATE_LIMIT_REACHED);switch(o?.message){case U.ERROR_RATE_LIMIT:throw new Error(E.RATE_LIMIT_REACHED);default:throw new Error(E.INTERNAL_SERVER_ERROR)}}throw new Error(E.FAILED_TO_GET_SECURITY_RESULT)}}async function ae(e){return await Et(e,`${T}/client/check/result`)}async function ce(e){return await Et(e,`${T}/client/check`)}async function ue(e){let t=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);let{respondentType:r,language:n}=e;try{let i=await ge({url:`${T}/client/quality-questions/${r}/${n}`,headers:{"client-id":L,"x-api-key":F}});if(i){let c=(performance.now()-t).toFixed();return _(`getQualityQuestions finishes in ${c}ms`,"info",{function:"getQualityQuestions",endpoint:T,diff:c,token:u.token}),i}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(i){let c=(performance.now()-t).toFixed();_("getQualityQuestions error","error",{endpoint:T,error:i,diff:c,token:u.token}),Pe(i)}}async function le(e){let t=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);u.questionData||(u.questionData={questions:e.questions});let{visitorId:r,projectId:n}=ke(e);u.visitorId=r,u.projectId=n;try{let i=await J({url:se,headers:{"client-id":L,"x-api-key":F},body:{token:u.token,visitorId:r,projectId:n,version:ft,questionData:u.questionData,aiCheckData:u.aiCheckData,clientData:u.clientData}});if(i){S({state:u,securityKeys:{automationKey:D,behaviorKey:N}});let c=(performance.now()-t).toFixed();return _(`checkQualityQuestions finishes in ${c}ms`,"info",{function:"checkQualityQuestions",endpoint:T,diff:c,token:u.token}),i}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(i){let c=(performance.now()-t).toFixed();_("checkQualityQuestions error","error",{endpoint:T,error:i,diff:c,token:u.token}),Pe(i)}}async function he(e){let t=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);u.aiCheckData={timeTakenSeconds:e.timeTakenSeconds,qbc:e.qbc||X.qbc,mas:e.mas||X.mas,scb:e.scb||X.scb,apd:e.apd||X.apd};let{visitorId:r,projectId:n}=ke(e);u.visitorId=r,u.projectId=n;try{let i=await J({url:se,headers:{"client-id":L,"x-api-key":F},body:{token:u.token,visitorId:r,projectId:n,version:ft,clientData:u.clientData,questionData:u.questionData,aiCheckData:u.aiCheckData}});if(i){S({state:u,securityKeys:{automationKey:D,behaviorKey:N}});let c=(performance.now()-t).toFixed();return _(`isAIUsageDetected finishes in ${c}ms`,"info",{function:"isAIUsageDetected",endpoint:T,diff:c,token:u.token}),i}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(i){let c=(performance.now()-t).toFixed();_("isAIUsageDetected error","error",{endpoint:T,error:i,diff:c,token:u.token}),Pe(i)}}function wr(){let e=performance.now(),t=document.querySelector("head"),r=document.querySelector("body");if(!de()){r?.insertAdjacentHTML("beforeend",'<div id="dtect-h-captcha" ></div>');let i=document.createElement("script");i.setAttribute("src","https://js.hcaptcha.com/1/api.js"),i.setAttribute("async","true"),i.setAttribute("defer","true"),t?.append(i);let c=(performance.now()-e).toFixed();_(`loadHCaptcha finishes in ${c}ms`,"info",{function:"loadHCaptcha",endpoint:T,diff:c,token:u.token})}}function fe(e){return e?.automationKey&&e?.behaviorKey}function mt(e){let t=e.tokens;return!!(t&&t.behaviorToken&&t.behaviorRequestId&&t.automationToken)}async function Rt(e){let t=performance.now();if(!e?.clientId||!e?.apiKey)throw _(E.MISSING_CREDENTIALS,"error",{endpoint:T,...e}),new Error(E.MISSING_CREDENTIALS);let{clientId:r,apiKey:n,endpoint:i="https://api.dtect.io/security",includeResults:o}=e;T=i,se=`${T}/client/check`;let c=ht(u);if(u.isLoading){if(M())return oe;throw _(E.DUPLICATE_INITIALIZATION,"error",{endpoint:T,clientId:r,apiKey:n,token:u.token}),new Error(E.DUPLICATE_INITIALIZATION)}if(X=Ce(u.aiCheckData),L=r,F=n,o&&(se=`${T}/client/check/result`),u={...u,isLoading:!0,token:c||""},mt(u)&&fe({automationKey:D,behaviorKey:N}))return u={...u,isLoading:!1,token:c},S({state:u,securityKeys:{automationKey:D,behaviorKey:N}}),{getSecurityResult:ae,getSecurityToken:ce,isAIUsageDetected:he,checkQualityQuestions:le,getQualityQuestions:ue,LanguageCodes:q,QualityQuestionsRespondentTypes:K};if(!pt())throw _(E.MISSING_CREDENTIALS,"error",{endpoint:T,...e}),new Error(E.MISSING_CREDENTIALS);if(M())return oe;wr();try{let a=await gr({clientId:r,apiKey:n,endpoint:i});if(M())throw new Error;return _r({behaviorKey:a.behaviorKey}).then(()=>{let l=(performance.now()-t).toFixed();return _(`init() finishes ${l}ms`,"info",{endpoint:T,function:"init",diff:l,token:u.token}),{getSecurityResult:ae,getSecurityToken:ce,SecurityAPIError:dt,isAIUsageDetected:he,checkQualityQuestions:le,getQualityQuestions:ue,LanguageCodes:q,QualityQuestionsRespondentTypes:K}}).catch(p=>{throw new Error(p.message)})}catch(a){if(a instanceof Error){if(_(a.message,"error",{function:"init",endpoint:T,error:a,token:u.token}),a?.message?.includes("maintenance_mode"))throw new Error(E.MAINTENANCE_MODE);if([E.INVALID_API_KEY,E.UNAUTHORIZED].includes(a?.message))throw new Error(E.INVALID_CREDENTIALS)}throw new Error(E.SDK_INIT_ERROR)}finally{u={...u,isLoading:!1,token:c},S({state:u,securityKeys:{automationKey:D,behaviorKey:N}})}}oe={init:Rt,getSecurityResult:ae,getSecurityToken:ce,isAIUsageDetected:he,checkQualityQuestions:le,getQualityQuestions:ue,QualityQuestionsRespondentTypes:K,LanguageCodes:q};var Nr=oe;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function ot(e,t){return function(r,n){return Object.prototype.hasOwnProperty.call(r,n)}(e,t)?e[t]:void 0}function at(e,t,r,n){let i=document,o="securitypolicyviolation",c,s=d=>{let u=new URL(e,location.href),{blockedURI:l}=d;l!==u.href&&l!==u.protocol.slice(0,-1)&&l!==u.origin||(c=d,a())};i.addEventListener(o,s);let a=()=>i.removeEventListener(o,s);return n?.then(a,a),Promise.resolve().then(t).then(d=>(a(),d),d=>new Promise(u=>{let l=new MessageChannel;l.port1.onmessage=()=>u(),l.port2.postMessage(null)}).then(()=>{if(a(),c)return r(c);throw d}))}function g(e){let t="";for(let r=0;r<e.length;++r)if(r>0){let n=e[r].toLowerCase();n!==e[r]?t+=` ${n}`:t+=e[r]}else t+=e[r].toUpperCase();return t}var ct={default:"endpoint"},ut={default:"tlsEndpoint"},lt="Client timeout",ht="Network connection error",ft="Network request aborted",dt="Response cannot be parsed",re="Blocked by CSP",ne="The endpoint parameter is not a valid URL",Et="Handle on demand agent data error",Rt=g("WrongRegion"),mt=g("SubscriptionNotActive"),pt=g("UnsupportedVersion"),yt=g("InstallationMethodRestricted"),It=g("HostnameRestricted"),Tt=g("IntegrationFailed"),Ot=g("NetworkRestricted"),_t=g("InvalidProxyIntegrationSecret"),vt=g("InvalidProxyIntegrationHeaders"),gt=g("ProxyIntegrationSecretEnvironmentMismatch"),ie="API key required",Ie="API key not found",Te="API key expired",At="Request cannot be parsed",Dt="Request failed",wt="Request failed to process",Nt="Too many requests, rate limit exceeded",bt="Not available for this origin",Pt="Not available with restricted header",St=ie,kt=Ie,Mt=Te,Lt="3.12.0",j="Failed to load the JS script of the agent",se="9319";function Ut(e,t){let r=[],[n,i]=function(s){let a=function(l){let m=[...l];return{current:()=>m[0],postpone(){let p=m.shift();p!==void 0&&m.push(p)},exclude(){m.shift()}}}(s),d=function(l,m){let p=0;return()=>Math.random()*Math.min(m,l*Math.pow(2,p++))}(100,3e3),u=new Set;return[a.current(),(l,m)=>{let p,E=m instanceof Error?m.message:"";if(E===re||E===ne)a.exclude(),p=0;else if(E===se)a.exclude();else if(E===j){let O=Date.now()-l.getTime()<50,h=a.current();h&&O&&!u.has(h)&&(u.add(h),p=0),a.postpone()}else a.postpone();let f=a.current();return f===void 0?void 0:[f,p??l.getTime()+d()-Date.now()]}]}(e),o;if(n===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));let c=s=>{let a=new Date,d=l=>r.push({url:s,startedAt:a,finishedAt:new Date,error:l}),u=t(s);return u.then(()=>d(),d),u.catch(l=>{if(o!=null||(o=l),r.length>=5)throw o;let m=i(a,l);if(!m)throw o;let[p,E]=m;return(f=E,new Promise(O=>setTimeout(O,f))).then(()=>c(p));var f})};return c(n).then(s=>[s,r])}var Oe="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",Ft=Oe;function xt(e){var t,r;let{picked:n,rest:i}=function(u,l){let m={},p={};for(let[E,f]of Object.entries(u))l.includes(E)?m[E]=f:p[E]=f;return{picked:m,rest:p}}(e,["scriptUrlPattern","token","apiKey"]),o=n.token,c=(t=n.apiKey)!==null&&t!==void 0?t:o,s=(r=ot(e,"scriptUrlPattern"))!==null&&r!==void 0?r:Oe,[a,d]=function(){let u=[],l=()=>{u.push({time:new Date,state:document.visibilityState})},m=function(p,E,f,O){return p.addEventListener(E,f,O),()=>p.removeEventListener(E,f,O)}(document,"visibilitychange",l);return l(),[u,m]}();return Promise.resolve().then(()=>{if(!c||typeof c!="string")throw new Error(ie);let u=function(l,m){return(Array.isArray(l)?l:[l]).map(p=>function(E,f){let O=encodeURIComponent;return E.replace(/<[^<>]+>/g,h=>h==="<version>"?"3":h==="<apiKey>"?O(f):h==="<loaderVersion>"?O(Lt):h)}(String(p),m))}(s,c);return Ut(u,qt)}).catch(u=>{throw d(),function(l){return l instanceof Error&&l.message===se?new Error(j):l}(u)}).then(([u,l])=>(d(),u.load({...i,ldi:{attempts:l,visibilityStates:a}})))}function qt(e){return at(e,()=>function(t){return new Promise((r,n)=>{if(function(s){if(URL.prototype)try{return new URL(s,location.href),!1}catch(a){if(a instanceof Error&&a.name==="TypeError")return!0;throw a}}(t))throw new Error(ne);let i=document.createElement("script"),o=()=>{var s;return(s=i.parentNode)===null||s===void 0?void 0:s.removeChild(i)},c=document.head||document.getElementsByTagName("head")[0];i.onload=()=>{o(),r()},i.onerror=()=>{o(),n(new Error(j))},i.async=!0,i.src=t,c.appendChild(i)})}(e),()=>{throw new Error(re)}).then(Kt)}function Kt(){let e=window,t="__fpjs_p_l_b",r=e[t];if(function(n,i){var o;let c=(o=Object.getOwnPropertyDescriptor)===null||o===void 0?void 0:o.call(Object,n,i);c?.configurable?delete n[i]:c&&!c.writable||(n[i]=void 0)}(e,t),typeof r?.load!="function")throw new Error(se);return r}var k={load:xt,defaultScriptUrlPattern:Ft,ERROR_SCRIPT_LOAD_FAIL:j,ERROR_API_KEY_EXPIRED:Te,ERROR_API_KEY_INVALID:Ie,ERROR_API_KEY_MISSING:ie,ERROR_BAD_REQUEST_FORMAT:At,ERROR_BAD_RESPONSE_FORMAT:dt,ERROR_CLIENT_TIMEOUT:lt,ERROR_CSP_BLOCK:re,ERROR_FORBIDDEN_ENDPOINT:It,ERROR_FORBIDDEN_HEADER:Pt,ERROR_FORBIDDEN_ORIGIN:bt,ERROR_GENERAL_SERVER_FAILURE:Dt,ERROR_HANDLE_AGENT_DATA:Et,ERROR_INSTALLATION_METHOD_RESTRICTED:yt,ERROR_INTEGRATION_FAILURE:Tt,ERROR_INVALID_ENDPOINT:ne,ERROR_INVALID_PROXY_INTEGRATION_HEADERS:vt,ERROR_INVALID_PROXY_INTEGRATION_SECRET:_t,ERROR_NETWORK_ABORT:ft,ERROR_NETWORK_CONNECTION:ht,ERROR_NETWORK_RESTRICTED:Ot,ERROR_PROXY_INTEGRATION_SECRET_ENVIRONMENT_MISMATCH:gt,ERROR_RATE_LIMIT:Nt,ERROR_SERVER_TIMEOUT:wt,ERROR_SUBSCRIPTION_NOT_ACTIVE:mt,ERROR_TOKEN_EXPIRED:Mt,ERROR_TOKEN_INVALID:kt,ERROR_TOKEN_MISSING:St,ERROR_UNSUPPORTED_VERSION:pt,ERROR_WRONG_REGION:Rt,defaultEndpoint:ct,defaultTlsEndpoint:ut};var _=[];for(let e=0;e<256;++e)_.push((e+256).toString(16).slice(1));function _e(e,t=0){return(_[e[t+0]]+_[e[t+1]]+_[e[t+2]]+_[e[t+3]]+"-"+_[e[t+4]]+_[e[t+5]]+"-"+_[e[t+6]]+_[e[t+7]]+"-"+_[e[t+8]]+_[e[t+9]]+"-"+_[e[t+10]]+_[e[t+11]]+_[e[t+12]]+_[e[t+13]]+_[e[t+14]]+_[e[t+15]]).toLowerCase()}var oe,Gt=new Uint8Array(16);function ae(){if(!oe){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");oe=crypto.getRandomValues.bind(crypto)}return oe(Gt)}var Bt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ce={randomUUID:Bt};function jt(e,t,r){if(ce.randomUUID&&!t&&!e)return ce.randomUUID();e=e||{};let n=e.random??e.rng?.()??ae();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return _e(n)}var C=jt;var Ct={UNAUTHORIZED:"Unauthorized"},Vt={EXPIRED:"EXPIRED_TOKEN",INVALID_API_KEY:"INVALID_API_KEY",MISSING_AUTHENTICATION_TOKEN:"MISSING_AUTHENTICATION_TOKEN"},ve={INTERNAL_SERVER_ERROR:"Internal Server Error during API Request",MISSING_CREDENTIALS:"Missing Public Client ID or Public API Key",MAINTENANCE_MODE:"API Under Maintenance",RATE_LIMIT_REACHED:"Too many requests. Rate limit exceeded"},ge={SDK_INIT_ERROR:"Internal Server Error during SDK Initialization",DUPLICATE_INITIALIZATION:"Multiple SDK Initializations Detected",NOT_INITIALIZED:"SDK Not Initialized"},Ae={INVALID_CREDENTIALS:"Invalid Public Client ID or Public API Key"},De={FAILED_TO_GET_SECURITY_RESULT:"Failed to Retrieve Security Result"},we={FAILED_TO_GET_SECURITY_TOKEN:" Failed to Generate Security Token"},R={...Ct,...Vt,...ve,...ge,...Ae,...De,...we},Ne={...ve,...ge,...Ae,...De,...we};var V=(h=>(h.AR="ar",h.BN="bn",h.DE="de",h.EN="en",h.ES="es",h.FR="fr",h.HI="hi",h.ID="id",h.IT="it",h.JA="ja",h.KO="ko",h.MS="ms",h.NL="nl",h.PT="pt",h.RU="ru",h.YU="yu",h.ZH="zh",h))(V||{}),Q=(y=>(y.GeneralConsumer="general-consumer",y.HRManagerDirector="hr-manager-director",y.WebDeveloper="web-developer",y.SoftwareEngineer="software-engineer",y.ITDirector="it-director",y.BusinessAdministrator="business-administrator",y.AccountsPayableManager="accounts-payable-manager",y.Accountant="accountant",y.FinanceDirector="finance-director",y.SmallBusinessOwner="small-business-owner",y.GeneralContractor="general-contractor",y.MarketingManagerDirector="marketing-manager-director",y.ConsumerShopper="consumer-shopper",y.Travel="travel",y.Entertainment="entertainment",y.FinanceAndBanking="finance-and-banking",y.General="general",y.B2BWhiteCollar="b2b-white-collar",y.B2BBlueCollar="b2b-blue-collar",y.Lawyer="lawyer",y))(Q||{});var Qt=(e,t={})=>({"Content-Type":"application/json",...e?.accessToken&&{Authorization:`Bearer ${e?.accessToken}`},...t}),Yt=async(e,t)=>{if(!e.ok){let r=await e.text();throw new Error(r)}return t==="file"?e.blob():t==="json"?e.json():t==="text"?e.text():null},be=async({url:e,auth:t,body:r,method:n="GET",headers:i={},responseType:o="json"})=>{let c={method:n,headers:Qt(t,i),...r?{body:r instanceof FormData?r:JSON.stringify(r)}:{}},s=await fetch(e,c);return Yt(s,o)},ue=e=>be({...e,method:"GET"}),Y=e=>be({...e,method:"POST"});function Pe(){let e=!1,t=!1,r=!1,n=null,i=0,o=()=>{e=!1,t=!1,r=!1,n=void 0,i=0},c=()=>{let u=window?.getSelection()?.toString();u&&u.length>0&&(i=Date.now(),e=!0)},s=d=>{let u=d.clipboardData?.getData("text"),l=d.target instanceof HTMLInputElement||d.target instanceof HTMLTextAreaElement;u&&l&&(r=!0)},a=()=>{t=!0;let d=Date.now();if(i){let u=(d-i)/1e3;(n===void 0||u<n)&&(n=u)}};return document?.addEventListener("copy",c),document?.addEventListener("paste",s),window?.addEventListener("blur",a),{get qbc(){return e},get mas(){return t},get apd(){return r},get scb(){return n},reset:o,destroy(){document?.removeEventListener("copy",c),document?.removeEventListener("paste",s),window?.removeEventListener("blur",a)}}}var A=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var D=typeof window>"u"||"Deno"in globalThis;function v(){}function Me(e,t){return typeof e=="function"?e(t):e}function Le(e){return typeof e=="number"&&e>=0&&e!==1/0}function Ue(e,t){return Math.max(e+(t||0)-Date.now(),0)}function he(e,t){return typeof e=="function"?e(t):e}function Fe(e,t){return typeof e=="function"?e(t):e}function fe(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:c,stale:s}=e;if(c){if(n){if(t.queryHash!==x(c,t.options))return!1}else if(!L(t.queryKey,c))return!1}if(r!=="all"){let a=t.isActive();if(r==="active"&&!a||r==="inactive"&&a)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||i&&i!==t.state.fetchStatus||o&&!o(t))}function de(e,t){let{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(M(t.options.mutationKey)!==M(o))return!1}else if(!L(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function x(e,t){return(t?.queryKeyHashFn||M)(e)}function M(e){return JSON.stringify(e,(t,r)=>le(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function L(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(r=>!L(e[r],t[r])):!1}function xe(e,t){if(e===t)return e;let r=Se(e)&&Se(t);if(r||le(e)&&le(t)){let n=r?e:Object.keys(e),i=n.length,o=r?t:Object.keys(t),c=o.length,s=r?[]:{},a=0;for(let d=0;d<c;d++){let u=r?d:o[d];(!r&&n.includes(u)||r)&&e[u]===void 0&&t[u]===void 0?(s[u]=void 0,a++):(s[u]=xe(e[u],t[u]),s[u]===e[u]&&e[u]!==void 0&&a++)}return i===c&&a===i?e:s}return t}function Se(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function le(e){if(!ke(e))return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(!ke(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function ke(e){return Object.prototype.toString.call(e)==="[object Object]"}function qe(e){return new Promise(t=>{setTimeout(t,e)})}function Ke(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?xe(e,t):t}function Ge(e,t,r=0){let n=[...e,t];return r&&n.length>r?n.slice(1):n}function Be(e,t,r=0){let n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var q=Symbol();function $(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===q?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var $t=class extends A{#e;#t;#r;constructor(){super(),this.#r=e=>{if(!D&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},X=new $t;var Xt=class extends A{#e=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!D&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},U=new Xt;function je(){let e,t,r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}function Wt(e){return Math.min(1e3*2**e,3e4)}function Ee(e){return(e??"online")==="online"?U.isOnline():!0}var Ce=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function W(e){return e instanceof Ce}function z(e){let t=!1,r=0,n=!1,i,o=je(),c=f=>{n||(m(new Ce(f)),e.abort?.())},s=()=>{t=!0},a=()=>{t=!1},d=()=>X.isFocused()&&(e.networkMode==="always"||U.isOnline())&&e.canRun(),u=()=>Ee(e.networkMode)&&e.canRun(),l=f=>{n||(n=!0,e.onSuccess?.(f),i?.(),o.resolve(f))},m=f=>{n||(n=!0,e.onError?.(f),i?.(),o.reject(f))},p=()=>new Promise(f=>{i=O=>{(n||d())&&f(O)},e.onPause?.()}).then(()=>{i=void 0,n||e.onContinue?.()}),E=()=>{if(n)return;let f,O=r===0?e.initialPromise:void 0;try{f=O??e.fn()}catch(h){f=Promise.reject(h)}Promise.resolve(f).then(l).catch(h=>{if(n)return;let N=e.retry??(D?0:3),S=e.retryDelay??Wt,y=typeof S=="function"?S(r,h):S,st=N===!0||typeof N=="number"&&r<N||typeof N=="function"&&N(r,h);if(t||!st){m(h);return}r++,e.onFail?.(r,h),qe(y).then(()=>d()?void 0:p()).then(()=>{t?m(h):E()})})};return{promise:o,cancel:c,continue:()=>(i?.(),o),cancelRetry:s,continueRetry:a,canStart:u,start:()=>(u()?E():p().then(E),o)}}function zt(){let e=[],t=0,r=s=>{s()},n=s=>{s()},i=s=>setTimeout(s,0),o=s=>{t?e.push(s):i(()=>{r(s)})},c=()=>{let s=e;e=[],s.length&&i(()=>{n(()=>{s.forEach(a=>{r(a)})})})};return{batch:s=>{let a;t++;try{a=s()}finally{t--,t||c()}return a},batchCalls:s=>(...a)=>{o(()=>{s(...a)})},schedule:o,setNotifyFunction:s=>{r=s},setBatchNotifyFunction:s=>{n=s},setScheduler:s=>{i=s}}}var T=zt();var J=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Le(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(D?1/0:5*60*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}};var Ve=class extends J{#e;#t;#r;#n;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Zt(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(e){this.options={...this.#o,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,t){let r=Ke(this.state.data,e,this.options);return this.#i({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){let t=this.#n?.promise;return this.#n?.cancel(e),t?t.then(v).catch(v):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>Fe(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===q||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!Ue(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#n&&(this.#s?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(e,t){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){let s=this.observers.find(a=>a.options.queryFn);s&&this.setOptions(s.options)}let r=new AbortController,n=s=>{Object.defineProperty(s,"signal",{enumerable:!0,get:()=>(this.#s=!0,r.signal)})},i=()=>{let s=$(this.options,t),a={queryKey:this.queryKey,meta:this.meta};return n(a),this.#s=!1,this.options.persister?this.options.persister(s,a,this):s(a)},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};n(o),this.options.behavior?.onFetch(o,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#i({type:"fetch",meta:o.fetchOptions?.meta});let c=s=>{W(s)&&s.silent||this.#i({type:"error",error:s}),W(s)||(this.#r.config.onError?.(s,this),this.#r.config.onSettled?.(this.state.data,s,this)),this.scheduleGc()};return this.#n=z({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:r.abort.bind(r),onSuccess:s=>{if(s===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(s)}catch(a){c(a);return}this.#r.config.onSuccess?.(s,this),this.#r.config.onSettled?.(s,this.state.error,this),this.scheduleGc()},onError:c,onFail:(s,a)=>{this.#i({type:"failed",failureCount:s,error:a})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#n.start()}#i(e){let t=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Jt(r.data,this.options),fetchMeta:e.meta??null};case"success":return{...r,data:e.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":let n=e.error;return W(n)&&n.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...r,error:n,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=t(this.state),T.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function Jt(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ee(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Zt(e){let t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var K=class extends A{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,r){let n=t.queryKey,i=t.queryHash??x(n,t),o=this.get(i);return o||(o=new Ve({cache:this,queryKey:n,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(n)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){T.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(r=>fe(t,r))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(r=>fe(e,r)):t}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){T.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){T.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}};var Qe=class extends J{#e;#t;#r;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||Ht(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){this.#r=z({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(n,i)=>{this.#n({type:"failed",failureCount:n,error:i})},onPause:()=>{this.#n({type:"pause"})},onContinue:()=>{this.#n({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});let t=this.state.status==="pending",r=!this.#r.canStart();try{if(!t){this.#n({type:"pending",variables:e,isPaused:r}),await this.#t.config.onMutate?.(e,this);let i=await this.options.onMutate?.(e);i!==this.state.context&&this.#n({type:"pending",context:i,variables:e,isPaused:r})}let n=await this.#r.start();return await this.#t.config.onSuccess?.(n,e,this.state.context,this),await this.options.onSuccess?.(n,e,this.state.context),await this.#t.config.onSettled?.(n,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(n,null,e,this.state.context),this.#n({type:"success",data:n}),n}catch(n){try{throw await this.#t.config.onError?.(n,e,this.state.context,this),await this.options.onError?.(n,e,this.state.context),await this.#t.config.onSettled?.(void 0,n,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,n,e,this.state.context),n}finally{this.#n({type:"error",error:n})}}finally{this.#t.runNext(this)}}#n(e){let t=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),T.batch(()=>{this.#e.forEach(r=>{r.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function Ht(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var G=class extends A{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#r=0}#e;#t;#r;build(e,t,r){let n=new Qe({mutationCache:this,mutationId:++this.#r,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#e.add(e);let t=Z(e);if(typeof t=="string"){let r=this.#t.get(t);r?r.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){let t=Z(e);if(typeof t=="string"){let r=this.#t.get(t);if(r)if(r.length>1){let n=r.indexOf(e);n!==-1&&r.splice(n,1)}else r[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=Z(e);if(typeof t=="string"){let n=this.#t.get(t)?.find(i=>i.state.status==="pending");return!n||n===e}else return!0}runNext(e){let t=Z(e);return typeof t=="string"?this.#t.get(t)?.find(n=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){T.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(r=>de(t,r))}findAll(e={}){return this.getAll().filter(t=>de(e,t))}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(t=>t.state.isPaused);return T.batch(()=>Promise.all(e.map(t=>t.continue().catch(v))))}};function Z(e){return e.options.scope?.id}function Re(e){return{onFetch:(t,r)=>{let n=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],c=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},a=0,d=async()=>{let u=!1,l=E=>{Object.defineProperty(E,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},m=$(t.options,t.fetchOptions),p=async(E,f,O)=>{if(u)return Promise.reject();if(f==null&&E.pages.length)return Promise.resolve(E);let h={queryKey:t.queryKey,pageParam:f,direction:O?"backward":"forward",meta:t.options.meta};l(h);let N=await m(h),{maxPages:S}=t.options,y=O?Be:Ge;return{pages:y(E.pages,N,S),pageParams:y(E.pageParams,f,S)}};if(i&&o.length){let E=i==="backward",f=E?er:Ye,O={pages:o,pageParams:c},h=f(n,O);s=await p(O,h,E)}else{let E=e??o.length;do{let f=a===0?c[0]??n.initialPageParam:Ye(n,s);if(a>0&&f==null)break;s=await p(s,f),a++}while(a<E)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(d,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=d}}}function Ye(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function er(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}var me=class{#e;#t;#r;#n;#o;#s;#i;#a;constructor(e={}){this.#e=e.queryCache||new K,this.#t=e.mutationCache||new G,this.#r=e.defaultOptions||{},this.#n=new Map,this.#o=new Map,this.#s=0}mount(){this.#s++,this.#s===1&&(this.#i=X.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#a=U.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#s--,this.#s===0&&(this.#i?.(),this.#i=void 0,this.#a?.(),this.#a=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#e.build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(he(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:r})=>{let n=r.data;return[t,n]})}setQueryData(e,t,r){let n=this.defaultQueryOptions({queryKey:e}),o=this.#e.get(n.queryHash)?.state.data,c=Me(t,o);if(c!==void 0)return this.#e.build(this,n).setData(c,{...r,manual:!0})}setQueriesData(e,t,r){return T.batch(()=>this.#e.findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;T.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){let r=this.#e,n={type:"active",...e};return T.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries(n,t)))}cancelQueries(e,t={}){let r={revert:!0,...t},n=T.batch(()=>this.#e.findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(v).catch(v)}invalidateQueries(e,t={}){return T.batch(()=>{if(this.#e.findAll(e).forEach(n=>{n.invalidate()}),e?.refetchType==="none")return Promise.resolve();let r={...e,type:e?.refetchType??e?.type??"active"};return this.refetchQueries(r,t)})}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0},n=T.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(v)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(v)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let r=this.#e.build(this,t);return r.isStaleByTime(he(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(v).catch(v)}fetchInfiniteQuery(e){return e.behavior=Re(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(v).catch(v)}ensureInfiniteQueryData(e){return e.behavior=Re(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return U.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(e){this.#r=e}setQueryDefaults(e,t){this.#n.set(M(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#n.values()],r={};return t.forEach(n=>{L(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){this.#o.set(M(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#o.values()],r={};return t.forEach(n=>{L(e,n.mutationKey)&&(r={...r,...n.defaultOptions})}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#r.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=x(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===q&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#r.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};var tr=new me({defaultOptions:{queries:{staleTime:3e4}},queryCache:new K({onError:(e,t)=>{}}),mutationCache:new G}),$e=tr;var H,b="https://api.dtect.io/security",ee=`${b}/client/check`,w="",P="",We="0.0.17",pe,ze,Xe,rr="20000000-aaaa-bbbb-cccc-000000000002",te,I={isLoading:!1,token:"",visitorId:"",projectId:"",questionData:null,clientData:null,aiCheckData:null,tokens:null};var nr=Ne,B;async function ir({clientId:e,apiKey:t,endpoint:r}){return await $e.fetchQuery({queryKey:["getClientConfig",e,t],queryFn:()=>ue({url:`${r}/client/config`,headers:{"client-id":w,"x-api-key":P}})})}function ye(e){if(e instanceof Error){if(e?.message?.includes("maintenance_mode"))throw new Error(R.MAINTENANCE_MODE);if(e?.message?.includes("rate-limited"))throw new Error(R.RATE_LIMIT_REACHED);switch(e?.message){case k.ERROR_RATE_LIMIT:throw new Error(R.RATE_LIMIT_REACHED);default:throw new Error(R.INTERNAL_SERVER_ERROR)}}throw new Error(R.FAILED_TO_GET_SECURITY_TOKEN)}function F(){let e=window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///"),t=document.querySelector("#dtect-h-captcha");return!!(H&&(t||e))}function Je(){return!!(w&&P)}function sr(){return new Promise(e=>{let t=()=>{window?.hcaptcha?e():requestAnimationFrame(t)};t()})}var Ze=()=>window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///");async function or({behaviorKey:e}){if(H=await k.load({apiKey:e,endpoint:["https://fp.dtect.io",k.defaultEndpoint],scriptUrlPattern:["https://fp.dtect.io/web/v<version>/<apiKey>/loader_v<loaderVersion>.js",k.defaultScriptUrlPattern]}),Ze()||(await sr(),await window.hcaptcha.render("dtect-h-captcha",{sitekey:pe,size:"invisible"})),!H)throw new Error(R.SDK_INIT_ERROR)}async function ar(){if(I.tokens)return I.tokens;let e=new Promise(i=>{let o=H?.get();i(o)}),t=new Promise(async i=>{Ze()&&i({response:rr});let c=await window?.hcaptcha?.execute({async:!0});i(c)}),[r,n]=await Promise.all([t,e]);return I.tokens={behaviorRequestId:n?.requestId,behaviorToken:n?.sealedResult,automationToken:r?.response},I.tokens}async function He(e,t){if(!F())throw new Error(R.NOT_INITIALIZED);if(!Je())throw new Error(R.MISSING_CREDENTIALS);let{projectId:r,visitorId:n}=cr(e);if(!e||!r?.trim())throw new Error(R.FAILED_TO_GET_SECURITY_RESULT);try{let i=await ar();if(i?.behaviorToken&&i?.behaviorRequestId&&i?.automationToken){let o={behaviorToken:i.behaviorToken,automationToken:i.automationToken,behaviorRequestId:i.behaviorRequestId,entryLink:window?.location?.href,securitySettings:e.securitySettings,metaData:e.metaData};I.clientData=o;let c={...e,projectId:r?.trim(),visitorId:n?.trim()||C(),clientData:o,version:"0.0.17",token:I.token,questionData:I.questionData,aiCheckData:I.aiCheckData};Xe=performance.now();let s=(Xe-ze).toFixed(),a=await Y({url:`${t}?clientId=${w}&diff=${s}`,body:{...c},headers:{"client-id":w,"x-api-key":P}});if("token"in a||"results"in a)return a}throw new Error(R.INTERNAL_SERVER_ERROR)}catch(i){if(i instanceof Error){if(i?.message?.includes("maintenance_mode"))throw new Error(R.MAINTENANCE_MODE);if(i?.message?.includes("rate-limited")||i?.message?.includes("429"))throw new Error(R.RATE_LIMIT_REACHED);switch(i?.message){case k.ERROR_RATE_LIMIT:throw new Error(R.RATE_LIMIT_REACHED);default:throw new Error(R.INTERNAL_SERVER_ERROR)}}throw new Error(R.FAILED_TO_GET_SECURITY_RESULT)}}async function et(e){return await He(e,`${b}/client/check/result`)}async function tt(e){return await He(e,`${b}/client/check`)}function cr(e){let t=e?.projectId,r=e?.visitorId;return(typeof e?.projectId=="number"||typeof e?.visitorId=="number")&&(t=`${e?.projectId}`,r=`${e?.visitorId}`),{visitorId:r,projectId:t}}async function rt(e){if(!F())throw new Error(R.NOT_INITIALIZED);let{respondentType:t,language:r}=e;try{let n=await ue({url:`${b}/client/quality-questions/${t}/${r}`,headers:{"client-id":w,"x-api-key":P}});if(n)return n;throw new Error(R.INTERNAL_SERVER_ERROR)}catch(n){ye(n)}}async function nt(e){if(!F())throw new Error(R.NOT_INITIALIZED);I.questionData={questions:e.questions};try{let t=await Y({url:ee,headers:{"client-id":w,"x-api-key":P},body:{token:I.token,visitorId:e.visitorId,projectId:e.projectId,version:We,questionData:I.questionData,aiCheckData:I.aiCheckData,clientData:I.clientData}});if(t)return t;throw new Error(R.INTERNAL_SERVER_ERROR)}catch(t){ye(t)}}async function it(e){if(!F())throw new Error(R.NOT_INITIALIZED);I.aiCheckData={timeTakenSeconds:e.timeTakenSeconds,qbc:e.qbc||B.qbc,mas:e.mas||B.mas,scb:e.scb||B.scb,apd:e.apd||B.apd};try{let t=await Y({url:ee,headers:{"client-id":w,"x-api-key":P},body:{token:I.token,visitorId:e.visitorId,projectId:e.projectId,version:We,clientData:I.clientData,questionData:I.questionData,aiCheckData:I.aiCheckData}});if(t)return t;throw new Error(R.INTERNAL_SERVER_ERROR)}catch(t){ye(t)}}async function ur(){return C()}function lr(){let e=document.querySelector("head"),t=document.querySelector("body");if(!(window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///"))){t?.insertAdjacentHTML("beforeend",'<div id="dtect-h-captcha" ></div>');let n=document.createElement("script");n.setAttribute("src","https://js.hcaptcha.com/1/api.js"),n.setAttribute("async","true"),n.setAttribute("defer","true"),e?.append(n)}}function hr(){return!!pe}function fr(e){return e?.automationKey&&e?.behaviorKey}async function dr(e){if(!e?.clientId||!e?.apiKey)throw new Error(R.MISSING_CREDENTIALS);ze=performance.now();let{clientId:t,apiKey:r,endpoint:n="https://api.dtect.io/security",includeResults:i}=e;b=n,ee=`${b}/client/check`;let o=await ur();if(I.isLoading){if(F())return te;throw new Error(R.DUPLICATE_INITIALIZATION)}if(B=Pe(),w=t,P=r,i&&(ee=`${b}/client/check/result`),I={...I,isLoading:!0,token:o||""},!Je())throw new Error(R.MISSING_CREDENTIALS);if(F())return te;lr();try{let c=await ir({clientId:t,apiKey:r,endpoint:n});if(!fr(c)||hr())throw new Error;return pe=c.automationKey,or({behaviorKey:c.behaviorKey}).then(()=>({getSecurityResult:et,getSecurityToken:tt,SecurityAPIError:nr,isAIUsageDetected:it,checkQualityQuestions:nt,getQualityQuestions:rt,LanguageCodes:V,QualityQuestionsRespondentTypes:Q})).catch(s=>{throw new Error(s.message)})}catch(c){if(c instanceof Error){if(c?.message?.includes("maintenance_mode"))throw new Error(R.MAINTENANCE_MODE);if([R.INVALID_API_KEY,R.UNAUTHORIZED].includes(c?.message))throw new Error(R.INVALID_CREDENTIALS)}throw new Error(R.SDK_INIT_ERROR)}finally{I={...I,isLoading:!1,token:o}}}te={init:dr,getSecurityResult:et,getSecurityToken:tt,isAIUsageDetected:it,checkQualityQuestions:nt,getQualityQuestions:rt,QualityQuestionsRespondentTypes:Q,LanguageCodes:V};var pi=te;export{V as LanguageCodes,Q as QualityQuestionsRespondentTypes,nr as SecurityAPIError,nt as checkQualityQuestions,pi as default,rt as getQualityQuestions,et as getSecurityResult,tt as getSecurityToken,dr as init,it as isAIUsageDetected};
|
|
1
|
+
function mt(e,t){return function(r,n){return Object.prototype.hasOwnProperty.call(r,n)}(e,t)?e[t]:void 0}function Rt(e,t,r,n){let i=document,o="securitypolicyviolation",c,s=p=>{let l=new URL(e,location.href),{blockedURI:h}=p;h!==l.href&&h!==l.protocol.slice(0,-1)&&h!==l.origin||(c=p,a())};i.addEventListener(o,s);let a=()=>i.removeEventListener(o,s);return n?.then(a,a),Promise.resolve().then(t).then(p=>(a(),p),p=>new Promise(l=>{let h=new MessageChannel;h.port1.onmessage=()=>l(),h.port2.postMessage(null)}).then(()=>{if(a(),c)return r(c);throw p}))}function w(e){let t="";for(let r=0;r<e.length;++r)if(r>0){let n=e[r].toLowerCase();n!==e[r]?t+=` ${n}`:t+=e[r]}else t+=e[r].toUpperCase();return t}var yt={default:"endpoint"},It={default:"tlsEndpoint"},Tt="Client timeout",Ot="Network connection error",gt="Network request aborted",vt="Response cannot be parsed",ue="Blocked by CSP",le="The endpoint parameter is not a valid URL",_t="Handle on demand agent data error",At=w("WrongRegion"),Dt=w("SubscriptionNotActive"),wt=w("UnsupportedVersion"),Nt=w("InstallationMethodRestricted"),bt=w("HostnameRestricted"),Pt=w("IntegrationFailed"),kt=w("NetworkRestricted"),St=w("InvalidProxyIntegrationSecret"),Mt=w("InvalidProxyIntegrationHeaders"),Lt=w("ProxyIntegrationSecretEnvironmentMismatch"),he="API key required",ke="API key not found",Se="API key expired",Ft="Request cannot be parsed",xt="Request failed",Ut="Request failed to process",qt="Too many requests, rate limit exceeded",Kt="Not available for this origin",Gt="Not available with restricted header",Bt=he,Qt=ke,Ct=Se,jt="3.12.0",W="Failed to load the JS script of the agent",fe="9319";function Vt(e,t){let r=[],[n,i]=function(s){let a=function(h){let R=[...h];return{current:()=>R[0],postpone(){let y=R.shift();y!==void 0&&R.push(y)},exclude(){R.shift()}}}(s),p=function(h,R){let y=0;return()=>Math.random()*Math.min(R,h*Math.pow(2,y++))}(100,3e3),l=new Set;return[a.current(),(h,R)=>{let y,m=R instanceof Error?R.message:"";if(m===ue||m===le)a.exclude(),y=0;else if(m===fe)a.exclude();else if(m===W){let g=Date.now()-h.getTime()<50,f=a.current();f&&g&&!l.has(f)&&(l.add(f),y=0),a.postpone()}else a.postpone();let d=a.current();return d===void 0?void 0:[d,y??h.getTime()+p()-Date.now()]}]}(e),o;if(n===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));let c=s=>{let a=new Date,p=h=>r.push({url:s,startedAt:a,finishedAt:new Date,error:h}),l=t(s);return l.then(()=>p(),p),l.catch(h=>{if(o!=null||(o=h),r.length>=5)throw o;let R=i(a,h);if(!R)throw o;let[y,m]=R;return(d=m,new Promise(g=>setTimeout(g,d))).then(()=>c(y));var d})};return c(n).then(s=>[s,r])}var Me="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",Yt=Me;function $t(e){var t,r;let{picked:n,rest:i}=function(l,h){let R={},y={};for(let[m,d]of Object.entries(l))h.includes(m)?R[m]=d:y[m]=d;return{picked:R,rest:y}}(e,["scriptUrlPattern","token","apiKey"]),o=n.token,c=(t=n.apiKey)!==null&&t!==void 0?t:o,s=(r=mt(e,"scriptUrlPattern"))!==null&&r!==void 0?r:Me,[a,p]=function(){let l=[],h=()=>{l.push({time:new Date,state:document.visibilityState})},R=function(y,m,d,g){return y.addEventListener(m,d,g),()=>y.removeEventListener(m,d,g)}(document,"visibilitychange",h);return h(),[l,R]}();return Promise.resolve().then(()=>{if(!c||typeof c!="string")throw new Error(he);let l=function(h,R){return(Array.isArray(h)?h:[h]).map(y=>function(m,d){let g=encodeURIComponent;return m.replace(/<[^<>]+>/g,f=>f==="<version>"?"3":f==="<apiKey>"?g(d):f==="<loaderVersion>"?g(jt):f)}(String(y),R))}(s,c);return Vt(l,Xt)}).catch(l=>{throw p(),function(h){return h instanceof Error&&h.message===fe?new Error(W):h}(l)}).then(([l,h])=>(p(),l.load({...i,ldi:{attempts:h,visibilityStates:a}})))}function Xt(e){return Rt(e,()=>function(t){return new Promise((r,n)=>{if(function(s){if(URL.prototype)try{return new URL(s,location.href),!1}catch(a){if(a instanceof Error&&a.name==="TypeError")return!0;throw a}}(t))throw new Error(le);let i=document.createElement("script"),o=()=>{var s;return(s=i.parentNode)===null||s===void 0?void 0:s.removeChild(i)},c=document.head||document.getElementsByTagName("head")[0];i.onload=()=>{o(),r()},i.onerror=()=>{o(),n(new Error(W))},i.async=!0,i.src=t,c.appendChild(i)})}(e),()=>{throw new Error(ue)}).then(Wt)}function Wt(){let e=window,t="__fpjs_p_l_b",r=e[t];if(function(n,i){var o;let c=(o=Object.getOwnPropertyDescriptor)===null||o===void 0?void 0:o.call(Object,n,i);c?.configurable?delete n[i]:c&&!c.writable||(n[i]=void 0)}(e,t),typeof r?.load!="function")throw new Error(fe);return r}var U={load:$t,defaultScriptUrlPattern:Yt,ERROR_SCRIPT_LOAD_FAIL:W,ERROR_API_KEY_EXPIRED:Se,ERROR_API_KEY_INVALID:ke,ERROR_API_KEY_MISSING:he,ERROR_BAD_REQUEST_FORMAT:Ft,ERROR_BAD_RESPONSE_FORMAT:vt,ERROR_CLIENT_TIMEOUT:Tt,ERROR_CSP_BLOCK:ue,ERROR_FORBIDDEN_ENDPOINT:bt,ERROR_FORBIDDEN_HEADER:Gt,ERROR_FORBIDDEN_ORIGIN:Kt,ERROR_GENERAL_SERVER_FAILURE:xt,ERROR_HANDLE_AGENT_DATA:_t,ERROR_INSTALLATION_METHOD_RESTRICTED:Nt,ERROR_INTEGRATION_FAILURE:Pt,ERROR_INVALID_ENDPOINT:le,ERROR_INVALID_PROXY_INTEGRATION_HEADERS:Mt,ERROR_INVALID_PROXY_INTEGRATION_SECRET:St,ERROR_NETWORK_ABORT:gt,ERROR_NETWORK_CONNECTION:Ot,ERROR_NETWORK_RESTRICTED:kt,ERROR_PROXY_INTEGRATION_SECRET_ENVIRONMENT_MISMATCH:Lt,ERROR_RATE_LIMIT:qt,ERROR_SERVER_TIMEOUT:Ut,ERROR_SUBSCRIPTION_NOT_ACTIVE:Dt,ERROR_TOKEN_EXPIRED:Ct,ERROR_TOKEN_INVALID:Qt,ERROR_TOKEN_MISSING:Bt,ERROR_UNSUPPORTED_VERSION:wt,ERROR_WRONG_REGION:At,defaultEndpoint:yt,defaultTlsEndpoint:It};var v=[];for(let e=0;e<256;++e)v.push((e+256).toString(16).slice(1));function Le(e,t=0){return(v[e[t+0]]+v[e[t+1]]+v[e[t+2]]+v[e[t+3]]+"-"+v[e[t+4]]+v[e[t+5]]+"-"+v[e[t+6]]+v[e[t+7]]+"-"+v[e[t+8]]+v[e[t+9]]+"-"+v[e[t+10]]+v[e[t+11]]+v[e[t+12]]+v[e[t+13]]+v[e[t+14]]+v[e[t+15]]).toLowerCase()}var de,Jt=new Uint8Array(16);function pe(){if(!de){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");de=crypto.getRandomValues.bind(crypto)}return de(Jt)}var zt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Ee={randomUUID:zt};function Zt(e,t,r){if(Ee.randomUUID&&!t&&!e)return Ee.randomUUID();e=e||{};let n=e.random??e.rng?.()??pe();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Le(n)}var B=Zt;var Ht={UNAUTHORIZED:"Unauthorized"},er={EXPIRED:"EXPIRED_TOKEN",INVALID_API_KEY:"INVALID_API_KEY",MISSING_AUTHENTICATION_TOKEN:"MISSING_AUTHENTICATION_TOKEN"},Fe={INTERNAL_SERVER_ERROR:"Internal Server Error during API Request",MISSING_CREDENTIALS:"Missing Public Client ID or Public API Key",MAINTENANCE_MODE:"API Under Maintenance",RATE_LIMIT_REACHED:"Too many requests. Rate limit exceeded"},xe={SDK_INIT_ERROR:"Internal Server Error during SDK Initialization",DUPLICATE_INITIALIZATION:"Multiple SDK Initializations Detected",NOT_INITIALIZED:"SDK Not Initialized"},Ue={INVALID_CREDENTIALS:"Invalid Public Client ID or Public API Key"},qe={FAILED_TO_GET_SECURITY_RESULT:"Failed to Retrieve Security Result"},Ke={FAILED_TO_GET_SECURITY_TOKEN:" Failed to Generate Security Token"},E={...Ht,...er,...Fe,...xe,...Ue,...qe,...Ke},Ge={...Fe,...xe,...Ue,...qe,...Ke};var Q=(f=>(f.AR="ar",f.BN="bn",f.DE="de",f.EN="en",f.ES="es",f.FR="fr",f.HI="hi",f.ID="id",f.IT="it",f.JA="ja",f.KO="ko",f.MS="ms",f.NL="nl",f.PT="pt",f.RU="ru",f.YU="yu",f.ZH="zh",f))(Q||{}),C=(I=>(I.GeneralConsumer="general-consumer",I.HRManagerDirector="hr-manager-director",I.WebDeveloper="web-developer",I.SoftwareEngineer="software-engineer",I.ITDirector="it-director",I.BusinessAdministrator="business-administrator",I.AccountsPayableManager="accounts-payable-manager",I.Accountant="accountant",I.FinanceDirector="finance-director",I.SmallBusinessOwner="small-business-owner",I.GeneralContractor="general-contractor",I.MarketingManagerDirector="marketing-manager-director",I.ConsumerShopper="consumer-shopper",I.Travel="travel",I.Entertainment="entertainment",I.FinanceAndBanking="finance-and-banking",I.General="general",I.B2BWhiteCollar="b2b-white-collar",I.B2BBlueCollar="b2b-blue-collar",I.Lawyer="lawyer",I))(C||{});var tr=(e,t={})=>({"Content-Type":"application/json",...e?.accessToken&&{Authorization:`Bearer ${e?.accessToken}`},...t}),rr=async(e,t)=>{if(!e.ok){let r=await e.text();throw new Error(r)}return t==="file"?e.blob():t==="json"?e.json():t==="text"?e.text():null},Be=async({url:e,auth:t,body:r,method:n="GET",headers:i={},responseType:o="json"})=>{let c={method:n,headers:tr(t,i),...r?{body:r instanceof FormData?r:JSON.stringify(r)}:{}},s=await fetch(e,c);return rr(s,o)},me=e=>Be({...e,method:"GET"}),J=e=>Be({...e,method:"POST"});function Qe(e){let t=e?.qbc||!1,r=e?.mas||!1,n=e?.apd||!1,i=e?.scb||null,o=0,c=()=>{t=!1,r=!1,n=!1,i=void 0,o=0},s=()=>{let h=window?.getSelection()?.toString();h&&h.length>0&&(o=Date.now(),t=!0)},a=l=>{let h=l.clipboardData?.getData("text"),R=l.target instanceof HTMLInputElement||l.target instanceof HTMLTextAreaElement;h&&R&&(n=!0)},p=()=>{r=!0;let l=Date.now();if(o){let h=(l-o)/1e3;(i===void 0||h<i)&&(i=h)}};return document?.addEventListener("copy",s),document?.addEventListener("paste",a),window?.addEventListener("blur",p),{get qbc(){return t},get mas(){return r},get apd(){return n},get scb(){return i},reset:c,destroy(){document?.removeEventListener("copy",s),document?.removeEventListener("paste",a),window?.removeEventListener("blur",p)}}}var b=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var P=typeof window>"u"||"Deno"in globalThis;function A(){}function Ve(e,t){return typeof e=="function"?e(t):e}function Ye(e){return typeof e=="number"&&e>=0&&e!==1/0}function $e(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ye(e,t){return typeof e=="function"?e(t):e}function Xe(e,t){return typeof e=="function"?e(t):e}function Ie(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:o,queryKey:c,stale:s}=e;if(c){if(n){if(t.queryHash!==j(c,t.options))return!1}else if(!K(t.queryKey,c))return!1}if(r!=="all"){let a=t.isActive();if(r==="active"&&!a||r==="inactive"&&a)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||i&&i!==t.state.fetchStatus||o&&!o(t))}function Te(e,t){let{exact:r,status:n,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(q(t.options.mutationKey)!==q(o))return!1}else if(!K(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||i&&!i(t))}function j(e,t){return(t?.queryKeyHashFn||q)(e)}function q(e){return JSON.stringify(e,(t,r)=>Re(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function K(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(r=>!K(e[r],t[r])):!1}function We(e,t){if(e===t)return e;let r=Ce(e)&&Ce(t);if(r||Re(e)&&Re(t)){let n=r?e:Object.keys(e),i=n.length,o=r?t:Object.keys(t),c=o.length,s=r?[]:{},a=0;for(let p=0;p<c;p++){let l=r?p:o[p];(!r&&n.includes(l)||r)&&e[l]===void 0&&t[l]===void 0?(s[l]=void 0,a++):(s[l]=We(e[l],t[l]),s[l]===e[l]&&e[l]!==void 0&&a++)}return i===c&&a===i?e:s}return t}function Ce(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Re(e){if(!je(e))return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(!je(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function je(e){return Object.prototype.toString.call(e)==="[object Object]"}function Je(e){return new Promise(t=>{setTimeout(t,e)})}function ze(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?We(e,t):t}function Ze(e,t,r=0){let n=[...e,t];return r&&n.length>r?n.slice(1):n}function He(e,t,r=0){let n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var V=Symbol();function z(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===V?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var nr=class extends b{#e;#t;#r;constructor(){super(),this.#r=e=>{if(!P&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Z=new nr;var ir=class extends b{#e=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!P&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#e}},G=new ir;function et(){let e,t,r=new Promise((i,o)=>{e=i,t=o});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),e(i)},r.reject=i=>{n({status:"rejected",reason:i}),t(i)},r}function sr(e){return Math.min(1e3*2**e,3e4)}function Oe(e){return(e??"online")==="online"?G.isOnline():!0}var tt=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function H(e){return e instanceof tt}function ee(e){let t=!1,r=0,n=!1,i,o=et(),c=d=>{n||(R(new tt(d)),e.abort?.())},s=()=>{t=!0},a=()=>{t=!1},p=()=>Z.isFocused()&&(e.networkMode==="always"||G.isOnline())&&e.canRun(),l=()=>Oe(e.networkMode)&&e.canRun(),h=d=>{n||(n=!0,e.onSuccess?.(d),i?.(),o.resolve(d))},R=d=>{n||(n=!0,e.onError?.(d),i?.(),o.reject(d))},y=()=>new Promise(d=>{i=g=>{(n||p())&&d(g)},e.onPause?.()}).then(()=>{i=void 0,n||e.onContinue?.()}),m=()=>{if(n)return;let d,g=r===0?e.initialPromise:void 0;try{d=g??e.fn()}catch(f){d=Promise.reject(f)}Promise.resolve(d).then(h).catch(f=>{if(n)return;let k=e.retry??(P?0:3),x=e.retryDelay??sr,I=typeof x=="function"?x(r,f):x,Et=k===!0||typeof k=="number"&&r<k||typeof k=="function"&&k(r,f);if(t||!Et){R(f);return}r++,e.onFail?.(r,f),Je(I).then(()=>p()?void 0:y()).then(()=>{t?R(f):m()})})};return{promise:o,cancel:c,continue:()=>(i?.(),o),cancelRetry:s,continueRetry:a,canStart:l,start:()=>(l()?m():y().then(m),o)}}function or(){let e=[],t=0,r=s=>{s()},n=s=>{s()},i=s=>setTimeout(s,0),o=s=>{t?e.push(s):i(()=>{r(s)})},c=()=>{let s=e;e=[],s.length&&i(()=>{n(()=>{s.forEach(a=>{r(a)})})})};return{batch:s=>{let a;t++;try{a=s()}finally{t--,t||c()}return a},batchCalls:s=>(...a)=>{o(()=>{s(...a)})},schedule:o,setNotifyFunction:s=>{r=s},setBatchNotifyFunction:s=>{n=s},setScheduler:s=>{i=s}}}var O=or();var te=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ye(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(P?1/0:5*60*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}};var rt=class extends te{#e;#t;#r;#n;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=cr(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(e){this.options={...this.#o,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,t){let r=ze(this.state.data,e,this.options);return this.#i({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){let t=this.#n?.promise;return this.#n?.cancel(e),t?t.then(A).catch(A):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>Xe(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===V||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!$e(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#n&&(this.#s?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(e,t){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){let s=this.observers.find(a=>a.options.queryFn);s&&this.setOptions(s.options)}let r=new AbortController,n=s=>{Object.defineProperty(s,"signal",{enumerable:!0,get:()=>(this.#s=!0,r.signal)})},i=()=>{let s=z(this.options,t),a={queryKey:this.queryKey,meta:this.meta};return n(a),this.#s=!1,this.options.persister?this.options.persister(s,a,this):s(a)},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};n(o),this.options.behavior?.onFetch(o,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#i({type:"fetch",meta:o.fetchOptions?.meta});let c=s=>{H(s)&&s.silent||this.#i({type:"error",error:s}),H(s)||(this.#r.config.onError?.(s,this),this.#r.config.onSettled?.(this.state.data,s,this)),this.scheduleGc()};return this.#n=ee({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:r.abort.bind(r),onSuccess:s=>{if(s===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(s)}catch(a){c(a);return}this.#r.config.onSuccess?.(s,this),this.#r.config.onSettled?.(s,this.state.error,this),this.scheduleGc()},onError:c,onFail:(s,a)=>{this.#i({type:"failed",failureCount:s,error:a})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#n.start()}#i(e){let t=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...ar(r.data,this.options),fetchMeta:e.meta??null};case"success":return{...r,data:e.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":let n=e.error;return H(n)&&n.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...r,error:n,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=t(this.state),O.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function ar(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Oe(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function cr(e){let t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Y=class extends b{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,r){let n=t.queryKey,i=t.queryHash??j(n,t),o=this.get(i);return o||(o=new rt({cache:this,queryKey:n,queryHash:i,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(n)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){O.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(r=>Ie(t,r))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(r=>Ie(e,r)):t}notify(e){O.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){O.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){O.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}};var nt=class extends te{#e;#t;#r;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||ur(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){this.#r=ee({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(n,i)=>{this.#n({type:"failed",failureCount:n,error:i})},onPause:()=>{this.#n({type:"pause"})},onContinue:()=>{this.#n({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});let t=this.state.status==="pending",r=!this.#r.canStart();try{if(!t){this.#n({type:"pending",variables:e,isPaused:r}),await this.#t.config.onMutate?.(e,this);let i=await this.options.onMutate?.(e);i!==this.state.context&&this.#n({type:"pending",context:i,variables:e,isPaused:r})}let n=await this.#r.start();return await this.#t.config.onSuccess?.(n,e,this.state.context,this),await this.options.onSuccess?.(n,e,this.state.context),await this.#t.config.onSettled?.(n,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(n,null,e,this.state.context),this.#n({type:"success",data:n}),n}catch(n){try{throw await this.#t.config.onError?.(n,e,this.state.context,this),await this.options.onError?.(n,e,this.state.context),await this.#t.config.onSettled?.(void 0,n,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,n,e,this.state.context),n}finally{this.#n({type:"error",error:n})}}finally{this.#t.runNext(this)}}#n(e){let t=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),O.batch(()=>{this.#e.forEach(r=>{r.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function ur(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var $=class extends b{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#r=0}#e;#t;#r;build(e,t,r){let n=new nt({mutationCache:this,mutationId:++this.#r,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#e.add(e);let t=re(e);if(typeof t=="string"){let r=this.#t.get(t);r?r.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){let t=re(e);if(typeof t=="string"){let r=this.#t.get(t);if(r)if(r.length>1){let n=r.indexOf(e);n!==-1&&r.splice(n,1)}else r[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=re(e);if(typeof t=="string"){let n=this.#t.get(t)?.find(i=>i.state.status==="pending");return!n||n===e}else return!0}runNext(e){let t=re(e);return typeof t=="string"?this.#t.get(t)?.find(n=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){O.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(r=>Te(t,r))}findAll(e={}){return this.getAll().filter(t=>Te(e,t))}notify(e){O.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(t=>t.state.isPaused);return O.batch(()=>Promise.all(e.map(t=>t.continue().catch(A))))}};function re(e){return e.options.scope?.id}function ge(e){return{onFetch:(t,r)=>{let n=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],c=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},a=0,p=async()=>{let l=!1,h=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(t.signal.aborted?l=!0:t.signal.addEventListener("abort",()=>{l=!0}),t.signal)})},R=z(t.options,t.fetchOptions),y=async(m,d,g)=>{if(l)return Promise.reject();if(d==null&&m.pages.length)return Promise.resolve(m);let f={queryKey:t.queryKey,pageParam:d,direction:g?"backward":"forward",meta:t.options.meta};h(f);let k=await R(f),{maxPages:x}=t.options,I=g?He:Ze;return{pages:I(m.pages,k,x),pageParams:I(m.pageParams,d,x)}};if(i&&o.length){let m=i==="backward",d=m?lr:it,g={pages:o,pageParams:c},f=d(n,g);s=await y(g,f,m)}else{let m=e??o.length;do{let d=a===0?c[0]??n.initialPageParam:it(n,s);if(a>0&&d==null)break;s=await y(s,d),a++}while(a<m)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(p,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=p}}}function it(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function lr(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}var ve=class{#e;#t;#r;#n;#o;#s;#i;#a;constructor(e={}){this.#e=e.queryCache||new Y,this.#t=e.mutationCache||new $,this.#r=e.defaultOptions||{},this.#n=new Map,this.#o=new Map,this.#s=0}mount(){this.#s++,this.#s===1&&(this.#i=Z.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#a=G.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#s--,this.#s===0&&(this.#i?.(),this.#i=void 0,this.#a?.(),this.#a=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#e.build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(ye(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:r})=>{let n=r.data;return[t,n]})}setQueryData(e,t,r){let n=this.defaultQueryOptions({queryKey:e}),o=this.#e.get(n.queryHash)?.state.data,c=Ve(t,o);if(c!==void 0)return this.#e.build(this,n).setData(c,{...r,manual:!0})}setQueriesData(e,t,r){return O.batch(()=>this.#e.findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;O.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){let r=this.#e,n={type:"active",...e};return O.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries(n,t)))}cancelQueries(e,t={}){let r={revert:!0,...t},n=O.batch(()=>this.#e.findAll(e).map(i=>i.cancel(r)));return Promise.all(n).then(A).catch(A)}invalidateQueries(e,t={}){return O.batch(()=>{if(this.#e.findAll(e).forEach(n=>{n.invalidate()}),e?.refetchType==="none")return Promise.resolve();let r={...e,type:e?.refetchType??e?.type??"active"};return this.refetchQueries(r,t)})}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0},n=O.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()).map(i=>{let o=i.fetch(void 0,r);return r.throwOnError||(o=o.catch(A)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(A)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let r=this.#e.build(this,t);return r.isStaleByTime(ye(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(A).catch(A)}fetchInfiniteQuery(e){return e.behavior=ge(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(A).catch(A)}ensureInfiniteQueryData(e){return e.behavior=ge(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return G.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(e){this.#r=e}setQueryDefaults(e,t){this.#n.set(q(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#n.values()],r={};return t.forEach(n=>{K(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){this.#o.set(q(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#o.values()],r={};return t.forEach(n=>{K(e,n.mutationKey)&&(r={...r,...n.defaultOptions})}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#r.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=j(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===V&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#r.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};var hr=new ve({defaultOptions:{queries:{staleTime:3e4}},queryCache:new Y({onError:(e,t)=>{}}),mutationCache:new $}),st=hr;var ot="dtect_security_sdk_state",at=typeof window<"u",ct={isLoading:!1,token:"",visitorId:"",projectId:"",questionData:null,clientData:null,aiCheckData:null,tokens:null},ne={state:{...ct},securityKeys:{behaviorKey:"",automationKey:""}};function ut(){if(!at)return ne;try{let e=sessionStorage.getItem(ot);if(!e)return ne;let t=JSON.parse(e);return t.expiresAt&&t.expiresAt<Date.now()?ne:{state:{...ct,...t.state},securityKeys:t.securityKeys||{behaviorKey:"",automationKey:""}}}catch{return ne}}function S(e){if(at)try{let t=Date.now()+864e5,r={...e,expiresAt:t};sessionStorage.setItem(ot,JSON.stringify(r))}catch{}}function lt(e){return e.token||B()}async function _(e,t="info",r={}){let n=`${r.endpoint??"https://api.dtect.io/security"}/log`,i={message:e,type:t,payload:r};navigator.sendBeacon(n,JSON.stringify(i))}var ie,T="https://api.dtect.io/security",se=`${T}/client/check`,L="",F="",ht="0.0.19";var fr="20000000-aaaa-bbbb-cccc-000000000002",oe;var{state:u,securityKeys:{automationKey:D,behaviorKey:N}}=ut(),dr=Ge,X;async function pr({clientId:e,apiKey:t,endpoint:r}){if(ae({automationKey:D,behaviorKey:N}))return{automationKey:D,behaviorKey:N};let n=await st.fetchQuery({queryKey:["getClientConfig",e,t],queryFn:()=>me({url:`${r}/client/config`,headers:{"client-id":L,"x-api-key":F}})});if(!ae(n))throw new Error;return D=n.automationKey,N=n.behaviorKey,S({state:u,securityKeys:n}),n}function be(e){if(e instanceof Error){if(e?.message?.includes("maintenance_mode"))throw new Error(E.MAINTENANCE_MODE);if(e?.message?.includes("rate-limited"))throw new Error(E.RATE_LIMIT_REACHED);switch(e?.message){case U.ERROR_RATE_LIMIT:throw new Error(E.RATE_LIMIT_REACHED);default:throw new Error(E.INTERNAL_SERVER_ERROR)}}throw new Error(E.FAILED_TO_GET_SECURITY_TOKEN)}function M(){if(pt(u)&&ae({automationKey:D,behaviorKey:N}))return!0;let e=ce(),t=document.querySelector("#dtect-h-captcha");return!!ie&&!!(t||e)}function ft(){return!!(L&&F)}function Er(){return new Promise(e=>{let t=()=>{window?.hcaptcha?e():requestAnimationFrame(t)};t()})}var ce=()=>window?.location?.href?.includes("localhost")||window?.location?.href?.includes("file:///");async function mr({behaviorKey:e}){if(ie=await U.load({apiKey:e,endpoint:["https://fp.dtect.io",U.defaultEndpoint],scriptUrlPattern:["https://fp.dtect.io/web/v<version>/<apiKey>/loader_v<loaderVersion>.js",U.defaultScriptUrlPattern]}),ce()||(await Er(),await window.hcaptcha.render("dtect-h-captcha",{sitekey:D,size:"invisible"})),!ie)throw new Error(E.SDK_INIT_ERROR)}async function Rr(){let e=performance.now();if(u.tokens){let a=(performance.now()-e).toFixed();return _(`getTokens finishes in ${a}ms`,"info",{function:"getTokens",endpoint:T,diff:a,token:u.token}),u.tokens}let t=new Promise(s=>{let a=ie?.get();s(a)}),r=new Promise(async s=>{ce()&&s({response:fr});let p=await window?.hcaptcha?.execute({async:!0});s(p)}),[n,i]=await Promise.all([r,t]);u.tokens={behaviorRequestId:i?.requestId,behaviorToken:i?.sealedResult,automationToken:n?.response};let c=(performance.now()-e).toFixed();return _(`getTokens finishes in ${c}ms`,"info",{function:"getTokens",endpoint:T,diff:c,token:u.token}),u.tokens}function yr(e){let t=e?.projectId,r=e?.visitorId||B();return(typeof e?.projectId=="number"||typeof e?.visitorId=="number")&&(t=`${e?.projectId}`,r=`${e?.visitorId}`),{visitorId:r,projectId:t}}function Pe(e){if(u.projectId&&u.visitorId)return{visitorId:u.visitorId,projectId:u.projectId};let{projectId:t,visitorId:r}=yr(e);return{projectId:t,visitorId:r}}async function dt(e,t){let r=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);if(!ft())throw new Error(E.MISSING_CREDENTIALS);let{projectId:n,visitorId:i}=Pe(e);if(u.projectId=n,u.visitorId=i,!e||!n?.trim())throw new Error(E.FAILED_TO_GET_SECURITY_RESULT);try{let o=await Rr();if(o?.behaviorToken&&o?.behaviorRequestId&&o?.automationToken){let c={behaviorToken:o.behaviorToken,automationToken:o.automationToken,behaviorRequestId:o.behaviorRequestId,entryLink:window?.location?.href,securitySettings:e.securitySettings,metaData:e.metaData};u.clientData=c;let s={...e,projectId:n,visitorId:i,clientData:c,version:"0.0.19",token:u.token,questionData:u.questionData,aiCheckData:u.aiCheckData},a=await J({url:`${t}`,body:{...s},headers:{"client-id":L,"x-api-key":F}});if("token"in a||"results"in a){S({state:u,securityKeys:{automationKey:D,behaviorKey:N}});let l=(performance.now()-r).toFixed();return _(`getResultBase finishes in ${l}ms`,"info",{function:"getResultBase",endpoint:T,diff:l,token:u.token}),a}}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(o){let s=(performance.now()-r).toFixed();if(_("getResultBase error","error",{function:"getResultBase",endpoint:T,error:o,diff:s,token:u.token}),o instanceof Error){if(o?.message?.includes("maintenance_mode"))throw new Error(E.MAINTENANCE_MODE);if(o?.message?.includes("rate-limited")||o?.message?.includes("429"))throw new Error(E.RATE_LIMIT_REACHED);switch(o?.message){case U.ERROR_RATE_LIMIT:throw new Error(E.RATE_LIMIT_REACHED);default:throw new Error(E.INTERNAL_SERVER_ERROR)}}throw new Error(E.FAILED_TO_GET_SECURITY_RESULT)}}async function _e(e){return await dt(e,`${T}/client/check/result`)}async function Ae(e){return await dt(e,`${T}/client/check`)}async function De(e){let t=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);let{respondentType:r,language:n}=e;try{let i=await me({url:`${T}/client/quality-questions/${r}/${n}`,headers:{"client-id":L,"x-api-key":F}});if(i){let c=(performance.now()-t).toFixed();return _(`getQualityQuestions finishes in ${c}ms`,"info",{function:"getQualityQuestions",endpoint:T,diff:c,token:u.token}),i}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(i){let c=(performance.now()-t).toFixed();_("getQualityQuestions error","error",{endpoint:T,error:i,diff:c,token:u.token}),be(i)}}async function we(e){let t=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);u.questionData||(u.questionData={questions:e.questions});let{visitorId:r,projectId:n}=Pe(e);u.visitorId=r,u.projectId=n;try{let i=await J({url:se,headers:{"client-id":L,"x-api-key":F},body:{token:u.token,visitorId:r,projectId:n,version:ht,questionData:u.questionData,aiCheckData:u.aiCheckData,clientData:u.clientData}});if(i){S({state:u,securityKeys:{automationKey:D,behaviorKey:N}});let c=(performance.now()-t).toFixed();return _(`checkQualityQuestions finishes in ${c}ms`,"info",{function:"checkQualityQuestions",endpoint:T,diff:c,token:u.token}),i}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(i){let c=(performance.now()-t).toFixed();_("checkQualityQuestions error","error",{endpoint:T,error:i,diff:c,token:u.token}),be(i)}}async function Ne(e){let t=performance.now();if(!M())throw new Error(E.NOT_INITIALIZED);u.aiCheckData={timeTakenSeconds:e.timeTakenSeconds,qbc:e.qbc||X.qbc,mas:e.mas||X.mas,scb:e.scb||X.scb,apd:e.apd||X.apd};let{visitorId:r,projectId:n}=Pe(e);u.visitorId=r,u.projectId=n;try{let i=await J({url:se,headers:{"client-id":L,"x-api-key":F},body:{token:u.token,visitorId:r,projectId:n,version:ht,clientData:u.clientData,questionData:u.questionData,aiCheckData:u.aiCheckData}});if(i){S({state:u,securityKeys:{automationKey:D,behaviorKey:N}});let c=(performance.now()-t).toFixed();return _(`isAIUsageDetected finishes in ${c}ms`,"info",{function:"isAIUsageDetected",endpoint:T,diff:c,token:u.token}),i}throw new Error(E.INTERNAL_SERVER_ERROR)}catch(i){let c=(performance.now()-t).toFixed();_("isAIUsageDetected error","error",{endpoint:T,error:i,diff:c,token:u.token}),be(i)}}function Ir(){let e=performance.now(),t=document.querySelector("head"),r=document.querySelector("body");if(!ce()){r?.insertAdjacentHTML("beforeend",'<div id="dtect-h-captcha" ></div>');let i=document.createElement("script");i.setAttribute("src","https://js.hcaptcha.com/1/api.js"),i.setAttribute("async","true"),i.setAttribute("defer","true"),t?.append(i);let c=(performance.now()-e).toFixed();_(`loadHCaptcha finishes in ${c}ms`,"info",{function:"loadHCaptcha",endpoint:T,diff:c,token:u.token})}}function ae(e){return e?.automationKey&&e?.behaviorKey}function pt(e){let t=e.tokens;return!!(t&&t.behaviorToken&&t.behaviorRequestId&&t.automationToken)}async function Tr(e){let t=performance.now();if(!e?.clientId||!e?.apiKey)throw _(E.MISSING_CREDENTIALS,"error",{endpoint:T,...e}),new Error(E.MISSING_CREDENTIALS);let{clientId:r,apiKey:n,endpoint:i="https://api.dtect.io/security",includeResults:o}=e;T=i,se=`${T}/client/check`;let c=lt(u);if(u.isLoading){if(M())return oe;throw _(E.DUPLICATE_INITIALIZATION,"error",{endpoint:T,clientId:r,apiKey:n,token:u.token}),new Error(E.DUPLICATE_INITIALIZATION)}if(X=Qe(u.aiCheckData),L=r,F=n,o&&(se=`${T}/client/check/result`),u={...u,isLoading:!0,token:c||""},pt(u)&&ae({automationKey:D,behaviorKey:N}))return u={...u,isLoading:!1,token:c},S({state:u,securityKeys:{automationKey:D,behaviorKey:N}}),{getSecurityResult:_e,getSecurityToken:Ae,isAIUsageDetected:Ne,checkQualityQuestions:we,getQualityQuestions:De,LanguageCodes:Q,QualityQuestionsRespondentTypes:C};if(!ft())throw _(E.MISSING_CREDENTIALS,"error",{endpoint:T,...e}),new Error(E.MISSING_CREDENTIALS);if(M())return oe;Ir();try{let a=await pr({clientId:r,apiKey:n,endpoint:i});if(M())throw new Error;return mr({behaviorKey:a.behaviorKey}).then(()=>{let l=(performance.now()-t).toFixed();return _(`init() finishes ${l}ms`,"info",{endpoint:T,function:"init",diff:l,token:u.token}),{getSecurityResult:_e,getSecurityToken:Ae,SecurityAPIError:dr,isAIUsageDetected:Ne,checkQualityQuestions:we,getQualityQuestions:De,LanguageCodes:Q,QualityQuestionsRespondentTypes:C}}).catch(p=>{throw new Error(p.message)})}catch(a){if(a instanceof Error){if(_(a.message,"error",{function:"init",endpoint:T,error:a,token:u.token}),a?.message?.includes("maintenance_mode"))throw new Error(E.MAINTENANCE_MODE);if([E.INVALID_API_KEY,E.UNAUTHORIZED].includes(a?.message))throw new Error(E.INVALID_CREDENTIALS)}throw new Error(E.SDK_INIT_ERROR)}finally{u={...u,isLoading:!1,token:c},S({state:u,securityKeys:{automationKey:D,behaviorKey:N}})}}oe={init:Tr,getSecurityResult:_e,getSecurityToken:Ae,isAIUsageDetected:Ne,checkQualityQuestions:we,getQualityQuestions:De,QualityQuestionsRespondentTypes:C,LanguageCodes:Q};var Si=oe;export{Q as LanguageCodes,C as QualityQuestionsRespondentTypes,dr as SecurityAPIError,we as checkQualityQuestions,Si as default,De as getQualityQuestions,_e as getSecurityResult,Ae as getSecurityToken,Tr as init,Ne as isAIUsageDetected};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dtect/security-sdk-js",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,15 +21,16 @@
|
|
|
21
21
|
"@eslint/js": "^9.17.0",
|
|
22
22
|
"@hcaptcha/types": "^1.0.4",
|
|
23
23
|
"@types/uuid": "^10.0.0",
|
|
24
|
-
"@vitest/
|
|
25
|
-
"@vitest/
|
|
24
|
+
"@vitest/coverage-v8": "^4.0.14",
|
|
25
|
+
"@vitest/expect": "^4.0.14",
|
|
26
|
+
"@vitest/ui": "^4.0.14",
|
|
26
27
|
"eslint": "^9.17.0",
|
|
27
28
|
"jsdom": "^26.1.0",
|
|
28
29
|
"tsup": "^8.3.5",
|
|
29
30
|
"tsx": "^4.19.4",
|
|
30
31
|
"typescript": "^5.7.2",
|
|
31
32
|
"typescript-eslint": "^8.19.0",
|
|
32
|
-
"vitest": "
|
|
33
|
+
"vitest": "4.0.14"
|
|
33
34
|
},
|
|
34
35
|
"author": "dtect",
|
|
35
36
|
"license": "MIT",
|